laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauRescatteringRes.hh
Go to the documentation of this file.
1 /*
2 Copyright 2018 University of Warwick
3 
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7 
8  http://www.apache.org/licenses/LICENSE-2.0
9 
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15 */
16 
17 /*
18 Laura++ package authors:
19 John Back
20 Paul Harrison
21 Thomas Latham
22 */
23 
37 #ifndef LAU_RESCATTERING_RES
38 #define LAU_RESCATTERING_RES
39 
40 #include "TString.h"
41 
42 #include "LauComplex.hh"
43 #include "LauAbsResonance.hh"
44 
45 class LauKinematics;
46 class LauParameter;
47 
48 
50 
51  public:
53 
60  const Int_t resPairAmpInt, const LauDaughters* daughters);
61 
63  virtual ~LauRescatteringRes();
64 
66  virtual void initialise();
67 
69 
73  virtual LauComplex amplitude(const LauKinematics* kinematics);
74 
75 
77 
82 
84 
88  virtual void setResonanceParameter(const TString& name, const Double_t value);
89 
91 
94  virtual void floatResonanceParameter(const TString& name);
95 
97 
101  virtual LauParameter* getResonanceParameter(const TString& name);
102 
104 
107  virtual const std::vector<LauParameter*>& getFloatingParameters();
108 
109  protected:
111 
114  void setLambdaPiPi(const Double_t lambda);
115 
117 
120  Double_t getLambdaPiPi() const {return (lambdaPiPi_!=0) ? lambdaPiPi_->value() : 0.0;}
121 
123 
126  Bool_t fixLambdaPiPi() const {return (lambdaPiPi_!=0) ? lambdaPiPi_->fixed() : kTRUE;}
127 
129 
132  void setLambdaKK(const Double_t lambda);
133 
135 
138  Double_t getLambdaKK() const {return (lambdaKK_!=0) ? lambdaKK_->value() : 0.0;}
139 
141 
144  Bool_t fixLambdaKK() const {return (lambdaKK_!=0) ? lambdaKK_->fixed() : kTRUE;}
145 
147 
150  void setMs(const Double_t Ms);
151 
153 
156  Double_t getMs() const {return (Ms_!=0) ? Ms_->value() : 0.0;}
157 
159 
162  Bool_t fixMs() const {return (Ms_!=0) ? Ms_->fixed() : kTRUE;}
163 
164 
166 
169  void setMf(const Double_t Mf);
170 
172 
175  Double_t getMf() const {return (Mf_!=0) ? Mf_->value() : 0.0;}
176 
178 
181  Bool_t fixMf() const {return (Mf_!=0) ? Mf_->fixed() : kTRUE;}
182 
183 
185 
188  void setMprime(const Double_t Mprime);
189 
191 
194  Double_t getMprime() const {return (Mprime_!=0) ? Mprime_->value() : 0.0;}
195 
197 
200  Bool_t fixMprime() const {return (Mprime_!=0) ? Mprime_->fixed() : kTRUE;}
201 
202 
204 
207  void setEps1(const Double_t Eps1);
208 
210 
213  Double_t getEps1() const {return (Eps1_!=0) ? Eps1_->value() : 0.0;}
214 
216 
219  Bool_t fixEps1() const {return (Eps1_!=0) ? Eps1_->fixed() : kTRUE;}
220 
221 
223 
226  void setEps2(const Double_t Eps2);
227 
229 
232  Double_t getEps2() const {return (Eps2_!=0) ? Eps2_->value() : 0.0;}
233 
235 
238  Bool_t fixEps2() const {return (Eps2_!=0) ? Eps2_->fixed() : kTRUE;}
239 
240 
242 
245  void setC0(const Double_t C0);
246 
248 
251  Double_t getC0() const {return (C0_!=0) ? C0_->value() : 0.0;}
252 
254 
257  Bool_t fixC0() const {return (C0_!=0) ? C0_->fixed() : kTRUE;}
258 
259 
261 
265  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
266 
267  private:
270 
273 
276 
279 
282 
285 
288 
291 
294 
297 
300 
301  ClassDef(LauRescatteringRes,0)
302 };
303 
304 #endif
Bool_t fixEps2() const
See if the Eps2 parameter is fixed or floating.
Double_t getEps2() const
Get the Eps2.
Double_t getMf() const
Get the Mf.
Bool_t fixed() const
Check whether the parameter is fixed or floated.
virtual void initialise()
Initialise the model.
void setLambdaPiPi(const Double_t lambda)
Set the parameter lambdaPiPi, the term for the PiPi.
LauAbsResonance::LauResonanceModel model_
The model to use.
LauParameter * Eps1_
the term for the Eps1
Double_t getEps1() const
Get the Eps1.
Bool_t fixLambdaKK() const
See if the lambdaKK parameter is fixed or floating.
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Double_t getMs() const
Get the Ms.
void setEps2(const Double_t Eps2)
Set the parameter Eps2.
void setMs(const Double_t Ms)
Set the parameter Ms.
LauParameter * lambdaKK_
the term for the KK
Bool_t fixMprime() const
See if the Mprime parameter is fixed or floating.
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of the various parameters.
Bool_t fixMs() const
See if the Ms parameter is fixed or floating.
LauParameter * lambdaPiPi_
the term for the PiPi
void setLambdaKK(const Double_t lambda)
Set the parameter lambdaKK, the term for the KK.
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Double_t getC0() const
Get the C0.
Double_t getLambdaKK() const
Get the lambdaKK, the term for the KK.
Double_t getLambdaPiPi() const
Get the lambdaPiPi, the term for the PiPi.
LauParameter * Ms_
the term for the Ms
LauRescatteringRes & operator=(const LauRescatteringRes &rhs)
Copy assignment operator (not implemented)
File containing declaration of LauComplex class.
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Bool_t fixMf() const
See if the Mf parameter is fixed or floating.
LauParameter * Mf_
the term for the Mf_
void setMprime(const Double_t Mprime)
Set the parameter Mprime.
void setC0(const Double_t C0)
Set the parameter C0.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual LauComplex amplitude(const LauKinematics *kinematics)
Get the complex dynamical amplitude.
Double_t getMprime() const
Get the Mprime.
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
void setMf(const Double_t Mf)
Set the parameter Mf.
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Bool_t fixLambdaPiPi() const
See if the lambdaPiPi parameter is fixed or floating.
Bool_t fixEps1() const
See if the Eps1 parameter is fixed or floating.
LauRescatteringRes(LauResonanceInfo *resInfo, const LauAbsResonance::LauResonanceModel resType, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
LauResonanceModel
Define the allowed resonance types.
Class for defining the rescattering model.
virtual ~LauRescatteringRes()
Destructor.
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
LauParameter * Eps2_
the term for the Eps2
LauParameter * C0_
the term for the C0
File containing declaration of LauAbsResonance class.
Class for defining a complex number.
Definition: LauComplex.hh:61
LauParameter * Mprime_
the term for the Mprime
Class for calculating 3-body kinematic quantities.
Double_t value() const
The value of the parameter.
void setEps1(const Double_t Eps1)
Set the parameter Eps1.
Bool_t fixC0() const
See if the C0 parameter is fixed or floating.