laura is hosted by Hepforge, IPPP Durham
Laura++  v3r3
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauNRAmplitude.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2004 - 2014.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 // Authors:
7 // Thomas Latham
8 // John Back
9 // Paul Harrison
10 
22 #ifndef LAU_NR_AMPLITUDE
23 #define LAU_NR_AMPLITUDE
24 
25 #include "TString.h"
26 
27 #include "LauAbsResonance.hh"
28 #include "LauComplex.hh"
29 
30 class LauKinematics;
31 
32 
34 
35  public:
37 
42  LauNRAmplitude(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters);
43 
45  virtual ~LauNRAmplitude();
46 
48  virtual void initialise();
49 
51 
55  virtual LauComplex amplitude(const LauKinematics* kinematics);
56 
58 
62 
64 
68  virtual void setResonanceParameter(const TString& name, const Double_t value);
69 
71 
74  virtual void floatResonanceParameter(const TString& name);
75 
77 
81  virtual LauParameter* getResonanceParameter(const TString& name);
82 
84 
87  virtual const std::vector<LauParameter*>& getFloatingParameters();
88 
89  protected:
91  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
92 
94 
100  Double_t f(const Double_t s, const Double_t c, const Double_t p) const;
101 
103 
106  void setdParameter(const Double_t d);
107 
109 
112  void setc1Parameter(const Double_t c1);
113 
115 
118  void setc2Parameter(const Double_t c2);
119 
121 
124  void setp1Parameter(const Double_t p1);
125 
127 
130  void setp2Parameter(const Double_t p2);
131 
133 
136  Double_t getdParameter() const {return (d_!=0) ? d_->unblindValue() : 0.0;}
137 
139 
142  Double_t getc1Parameter() const {return (c1_!=0) ? c1_->unblindValue() : 0.0;}
143 
145 
148  Double_t getc2Parameter() const {return (c2_!=0) ? c2_->unblindValue() : 0.0;}
149 
151 
154  Double_t getp1Parameter() const {return (p1_!=0) ? p1_->unblindValue() : 0.0;}
155 
157 
160  Double_t getp2Parameter() const {return (p2_!=0) ? p2_->unblindValue() : 0.0;}
161 
163 
166  Bool_t fixdParameter() const {return (d_!=0) ? d_->fixed() : kTRUE;}
167 
169 
172  Bool_t fixc1Parameter() const {return (c1_!=0) ? c1_->fixed() : kTRUE;}
173 
175 
178  Bool_t fixc2Parameter() const {return (c2_!=0) ? c2_->fixed() : kTRUE;}
179 
181 
184  Bool_t fixp1Parameter() const {return (p1_!=0) ? p1_->fixed() : kTRUE;}
185 
187 
190  Bool_t fixp2Parameter() const {return (p2_!=0) ? p2_->fixed() : kTRUE;}
191 
192  private:
194  LauNRAmplitude(const LauNRAmplitude& rhs);
195 
198 
209 
210  ClassDef(LauNRAmplitude,0) // Non-resonant amplitude model
211 };
212 
213 #endif
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Double_t getc1Parameter() const
Get the c1 parameter value.
Bool_t fixed() const
Check whether the parameter is fixed or floated.
static double p1(double t, double a, double b)
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
This is not meant to be called.
virtual ~LauNRAmplitude()
Destructor.
Bool_t fixc1Parameter() const
See if the c1 parameter is fixed or floating.
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of a resonance parameter.
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
void setc1Parameter(const Double_t c1)
Set the c1 parameter value.
LauParameter * p2_
Parameter from arXiv:0709.0075v1 [hep-ph].
Double_t getp2Parameter() const
Get the p2 parameter value.
void setp1Parameter(const Double_t p1)
Set the p1 parameter value.
void setc2Parameter(const Double_t c2)
Set the c2 parameter value.
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
void setp2Parameter(const Double_t p2)
Set the p2 parameter value.
Class for defining the NR amplitude model.
LauParameter * c2_
Parameter from arXiv:0709.0075v1 [hep-ph].
Bool_t fixdParameter() const
See if the d parameter is fixed or floating.
File containing declaration of LauComplex class.
Double_t f(const Double_t s, const Double_t c, const Double_t p) const
Evaluate the expression 1.0 / (1.0 + TMath::Exp( c * (s-p) ))
Bool_t fixc2Parameter() const
See if the c2 parameter is fixed or floating.
virtual void initialise()
Initialise the model.
LauParameter * c1_
Parameter from arXiv:0709.0075v1 [hep-ph].
static double p2(double t, double a, double b, double c)
Class for defining the fit parameter objects.
Definition: LauParameter.hh:35
Double_t getdParameter() const
Get the d parameter value.
Bool_t fixp1Parameter() const
See if the p1 parameter is fixed or floating.
LauResonanceModel
Define the allowed resonance types.
LauParameter * d_
Parameter from arXiv:0709.0075v1 [hep-ph].
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
LauNRAmplitude(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
LauNRAmplitude & operator=(const LauNRAmplitude &rhs)
Copy assignment operator (not implemented)
File containing declaration of LauAbsResonance class.
Double_t unblindValue() const
The unblinded value of the parameter.
Class for defining a complex number.
Definition: LauComplex.hh:47
Class for calculating 3-body kinematic quantities.
Bool_t fixp2Parameter() const
See if the p2 parameter is fixed or floating.
LauParameter * p1_
Parameter from arXiv:0709.0075v1 [hep-ph].
Double_t getc2Parameter() const
Get the c2 parameter value.
void setdParameter(const Double_t d)
Set the d parameter value.
virtual LauComplex amplitude(const LauKinematics *kinematics)
Complex resonant amplitude.
Double_t getp1Parameter() const
Get the p1 parameter value.