laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauLASSRes.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2004 University of Warwick
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 */
17 
18 /*
19 Laura++ package authors:
20 John Back
21 Paul Harrison
22 Thomas Latham
23 */
24 
36 #ifndef LAU_LASS_RES
37 #define LAU_LASS_RES
38 
39 #include "TString.h"
40 
41 #include "LauComplex.hh"
42 #include "LauAbsResonance.hh"
43 
44 
45 class LauLASSRes : public LauAbsResonance {
46 
47  public:
49 
54  LauLASSRes(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters);
55 
57  virtual ~LauLASSRes();
58 
60  virtual void initialise();
61 
63 
67 
69 
72  Double_t getCutOff() const {return cutOff_;}
73 
75 
78  void setCutOff(const Double_t cutOff) {cutOff_ = cutOff;}
79 
81 
85  virtual void setResonanceParameter(const TString& name, const Double_t value);
86 
88 
91  virtual void floatResonanceParameter(const TString& name);
92 
94 
98  virtual LauParameter* getResonanceParameter(const TString& name);
99 
101 
104  virtual const std::vector<LauParameter*>& getFloatingParameters();
105 
106  protected:
108 
111  void setEffectiveRange(const Double_t r);
112 
114 
117  void setScatteringLength(const Double_t a);
118 
120 
123  Double_t getEffectiveRange() const {return (r_!=0) ? r_->unblindValue() : 0.0;}
124 
126 
129  Double_t getScatteringLength() const {return (a_!=0) ? a_->unblindValue() : 0.0;}
130 
132 
135  Bool_t fixEffectiveRange() const {return (r_!=0) ? r_->fixed() : kTRUE;}
136 
138 
141  Bool_t fixScatteringLength() const {return (a_!=0) ? a_->fixed() : kTRUE;}
142 
144  void calcQ0();
145 
147 
151  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
152 
153  private:
155  LauLASSRes(const LauLASSRes& rhs);
156 
158  LauLASSRes& operator=(const LauLASSRes& rhs);
159 
161  Double_t q0_;
163  Double_t mDaugSum_;
165  Double_t mDaugSumSq_;
167  Double_t mDaugDiff_;
169  Double_t mDaugDiffSq_;
171  Double_t resMass_;
173  Double_t resMassSq_;
174 
179 
181  Double_t cutOff_;
182 
183  ClassDef(LauLASSRes,0)
184 };
185 
186 #endif
Bool_t fixed() const
Check whether the parameter is fixed or floated.
Class for defining the LASS resonance model.
Definition: LauLASSRes.hh:45
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Definition: LauLASSRes.cc:229
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauLASSRes.hh:66
Class for defining the properties of a resonant particle.
Double_t getCutOff() const
Get the cut off parameter.
Definition: LauLASSRes.hh:72
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
Double_t getScatteringLength() const
Get the scattering length range parameter.
Definition: LauLASSRes.hh:129
Double_t mDaugDiffSq_
Square of mDaugDiff.
Definition: LauLASSRes.hh:169
Bool_t fixScatteringLength() const
See if the scattering length parameter is fixed or floating.
Definition: LauLASSRes.hh:141
Double_t q0_
Decay momentum of either daughter in the resonance rest frame.
Definition: LauLASSRes.hh:161
Double_t resMassSq_
Square of the resonance mass.
Definition: LauLASSRes.hh:173
virtual void initialise()
Initialise the model.
Definition: LauLASSRes.cc:80
LauParameter * a_
LASS scattering length parameter.
Definition: LauLASSRes.hh:178
Bool_t fixEffectiveRange() const
See if the effective range parameter is fixed or floating.
Definition: LauLASSRes.hh:135
Double_t mDaugDiff_
Difference between the daughter masses.
Definition: LauLASSRes.hh:167
Double_t getEffectiveRange() const
Get the effective range parameter.
Definition: LauLASSRes.hh:123
File containing declaration of LauComplex class.
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Definition: LauLASSRes.cc:113
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of a resonance parameter.
Definition: LauLASSRes.cc:215
Double_t mDaugSum_
Sum of the daughter masses.
Definition: LauLASSRes.hh:163
LauResonanceModel
Define the allowed resonance types.
void setScatteringLength(const Double_t a)
Set the scattering length parameter value.
Definition: LauLASSRes.cc:269
LauParameter * r_
LASS effective range parameter.
Definition: LauLASSRes.hh:176
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
Double_t cutOff_
LASS cut off.
Definition: LauLASSRes.hh:181
Double_t resMass_
The resonance mass.
Definition: LauLASSRes.hh:171
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:61
void setEffectiveRange(const Double_t r)
Set the effective range parameter value.
Definition: LauLASSRes.cc:262
void setCutOff(const Double_t cutOff)
Set the cut off parameter.
Definition: LauLASSRes.hh:78
LauLASSRes(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauLASSRes.cc:38
LauLASSRes & operator=(const LauLASSRes &rhs)
Copy assignment operator (not implemented)
Double_t mDaugSumSq_
Square of mDaugSum.
Definition: LauLASSRes.hh:165
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Definition: LauLASSRes.cc:192
void calcQ0()
Utility function to calculate the q0 value.
Definition: LauLASSRes.cc:102
virtual ~LauLASSRes()
Destructor.
Definition: LauLASSRes.cc:76
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Definition: LauLASSRes.cc:250