laura is hosted by Hepforge, IPPP Durham
Laura++  v3r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauLASSRes.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_LASS_RES
23 #define LAU_LASS_RES
24 
25 #include "TString.h"
26 
27 #include "LauComplex.hh"
28 #include "LauAbsResonance.hh"
29 
30 
31 class LauLASSRes : public LauAbsResonance {
32 
33  public:
35 
40  LauLASSRes(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters);
41 
43  virtual ~LauLASSRes();
44 
46  virtual void initialise();
47 
49 
53 
55 
58  Double_t getCutOff() const {return cutOff_;}
59 
61 
64  void setCutOff(const Double_t cutOff) {cutOff_ = cutOff;}
65 
67 
71  virtual void setResonanceParameter(const TString& name, const Double_t value);
72 
74 
77  virtual void floatResonanceParameter(const TString& name);
78 
80 
84  virtual LauParameter* getResonanceParameter(const TString& name);
85 
87 
90  virtual const std::vector<LauParameter*>& getFloatingParameters();
91 
92  protected:
94 
97  void setEffectiveRange(const Double_t r);
98 
100 
103  void setScatteringLength(const Double_t a);
104 
106 
109  Double_t getEffectiveRange() const {return (r_!=0) ? r_->value() : 0.0;}
110 
112 
115  Double_t getScatteringLength() const {return (a_!=0) ? a_->value() : 0.0;}
116 
118 
121  Bool_t fixEffectiveRange() const {return (r_!=0) ? r_->fixed() : kTRUE;}
122 
124 
127  Bool_t fixScatteringLength() const {return (a_!=0) ? a_->fixed() : kTRUE;}
128 
130  void calcQ0();
131 
133 
137  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
138 
139  private:
141  LauLASSRes(const LauLASSRes& rhs);
142 
144  LauLASSRes& operator=(const LauLASSRes& rhs);
145 
147  Double_t q0_;
149  Double_t mDaugSum_;
151  Double_t mDaugSumSq_;
153  Double_t mDaugDiff_;
155  Double_t mDaugDiffSq_;
157  Double_t resMass_;
159  Double_t resMassSq_;
160 
165 
167  Double_t cutOff_;
168 
169  ClassDef(LauLASSRes,0)
170 };
171 
172 #endif
Bool_t fixed() const
Check whether the parameter is fixed or floated.
Class for defining the LASS resonance model.
Definition: LauLASSRes.hh:31
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Definition: LauLASSRes.cc:217
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauLASSRes.hh:52
Class for defining the properties of a resonant particle.
Double_t getCutOff() const
Get the cut off parameter.
Definition: LauLASSRes.hh:58
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
Double_t getScatteringLength() const
Get the scattering length range parameter.
Definition: LauLASSRes.hh:115
Double_t mDaugDiffSq_
Square of mDaugDiff.
Definition: LauLASSRes.hh:155
Bool_t fixScatteringLength() const
See if the scattering length parameter is fixed or floating.
Definition: LauLASSRes.hh:127
Double_t q0_
Decay momentum of either daughter in the resonance rest frame.
Definition: LauLASSRes.hh:147
Double_t resMassSq_
Square of the resonance mass.
Definition: LauLASSRes.hh:159
virtual void initialise()
Initialise the model.
Definition: LauLASSRes.cc:68
LauParameter * a_
LASS scattering length parameter.
Definition: LauLASSRes.hh:164
Bool_t fixEffectiveRange() const
See if the effective range parameter is fixed or floating.
Definition: LauLASSRes.hh:121
Double_t mDaugDiff_
Difference between the daughter masses.
Definition: LauLASSRes.hh:153
Double_t getEffectiveRange() const
Get the effective range parameter.
Definition: LauLASSRes.hh:109
File containing declaration of LauComplex class.
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Definition: LauLASSRes.cc:101
Class for defining the fit parameter objects.
Definition: LauParameter.hh:34
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of a resonance parameter.
Definition: LauLASSRes.cc:203
Double_t mDaugSum_
Sum of the daughter masses.
Definition: LauLASSRes.hh:149
LauResonanceModel
Define the allowed resonance types.
void setScatteringLength(const Double_t a)
Set the scattering length parameter value.
Definition: LauLASSRes.cc:257
LauParameter * r_
LASS effective range parameter.
Definition: LauLASSRes.hh:162
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
Double_t cutOff_
LASS cut off.
Definition: LauLASSRes.hh:167
Double_t resMass_
The resonance mass.
Definition: LauLASSRes.hh:157
File containing declaration of LauAbsResonance class.
Class for defining a complex number.
Definition: LauComplex.hh:47
void setEffectiveRange(const Double_t r)
Set the effective range parameter value.
Definition: LauLASSRes.cc:250
void setCutOff(const Double_t cutOff)
Set the cut off parameter.
Definition: LauLASSRes.hh:64
Double_t value() const
The value of the parameter.
LauLASSRes(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauLASSRes.cc:24
LauLASSRes & operator=(const LauLASSRes &rhs)
Copy assignment operator (not implemented)
Double_t mDaugSumSq_
Square of mDaugSum.
Definition: LauLASSRes.hh:151
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Definition: LauLASSRes.cc:180
void calcQ0()
Utility function to calculate the q0 value.
Definition: LauLASSRes.cc:90
virtual ~LauLASSRes()
Destructor.
Definition: LauLASSRes.cc:62
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Definition: LauLASSRes.cc:238