laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauLASSBWRes.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2008 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_BW_RES
37 #define LAU_LASS_BW_RES
38 
39 #include "LauAbsResonance.hh"
40 #include "LauComplex.hh"
41 
42 #include "TString.h"
43 
44 class LauLASSBWRes : public LauAbsResonance {
45 
46  public:
48 
53  LauLASSBWRes( LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters );
54 
55  // Destructor
56  virtual ~LauLASSBWRes();
57 
59  virtual void initialise();
60 
62 
66  {
68  }
69 
71 
75  virtual void setResonanceParameter( const TString& name, const Double_t value );
76 
78 
81  virtual void floatResonanceParameter( const TString& name );
82 
84 
88  virtual LauParameter* getResonanceParameter( const TString& name );
89 
91 
94  virtual const std::vector<LauParameter*>& getFloatingParameters();
95 
96  protected:
98 
101  void setEffectiveRange( const Double_t r );
102 
104 
107  void setScatteringLength( const Double_t a );
108 
110 
113  Double_t getEffectiveRange() const { return ( r_ != 0 ) ? r_->unblindValue() : 0.0; }
114 
116 
119  Double_t getScatteringLength() const { return ( a_ != 0 ) ? a_->unblindValue() : 0.0; }
120 
122 
125  Bool_t fixEffectiveRange() const { return ( r_ != 0 ) ? r_->fixed() : kTRUE; }
126 
128 
131  Bool_t fixScatteringLength() const { return ( a_ != 0 ) ? a_->fixed() : kTRUE; }
132 
134  void calcQ0();
135 
137 
141  virtual LauComplex resAmp( Double_t mass, Double_t spinTerm );
142 
143  private:
145  LauLASSBWRes( const LauLASSBWRes& rhs );
146 
149 
151  Double_t q0_;
153  Double_t mDaugSum_;
155  Double_t mDaugSumSq_;
157  Double_t mDaugDiff_;
159  Double_t mDaugDiffSq_;
161  Double_t resMass_;
163  Double_t resMassSq_;
164 
169 
170  ClassDef( LauLASSBWRes, 0 )
171 };
172 
173 #endif
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Double_t mDaugDiff_
Difference between the daughter masses.
LauLASSBWRes(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauLASSBWRes.cc:36
Double_t q0_
Decay momentum of either daughter in the resonance rest frame.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
Double_t unblindValue() const
The unblinded value of the parameter.
LauParameter * r_
LASS effective range parameter.
void setScatteringLength(const Double_t a)
Set the scattering length parameter value.
Bool_t fixEffectiveRange() const
See if the effective range parameter is fixed or floating.
Double_t getScatteringLength() const
Get the scattering length range parameter.
File containing declaration of LauAbsResonance class.
Double_t getEffectiveRange() const
Get the effective range parameter.
Bool_t fixScatteringLength() const
See if the scattering length parameter is fixed or floating.
LauLASSBWRes(const LauLASSBWRes &rhs)
Copy constructor (not implemented)
void setEffectiveRange(const Double_t r)
Set the effective range parameter value.
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
void calcQ0()
Utility function to calculate the q0 value.
Class for defining a complex number.
Definition: LauComplex.hh:61
LauParameter * a_
LASS scattering length parameter.
File containing declaration of LauComplex class.
Class for defining the resonant part of the LASS model.
Definition: LauLASSBWRes.hh:44
Double_t resMass_
The resonance mass.
Bool_t fixed() const
Check whether the parameter is fixed or floated.
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of a resonance parameter.
Class for defining the properties of a resonant particle.
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Double_t resMassSq_
Square of the resonance mass.
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc....
Double_t mDaugSumSq_
Square of mDaugSum.
Double_t mDaugSum_
Sum of the daughter masses.
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauLASSBWRes.hh:65
Double_t mDaugDiffSq_
Square of mDaugDiff.
LauResonanceModel
Define the allowed resonance types.
virtual void initialise()
Initialise the model.
Definition: LauLASSBWRes.cc:78
LauLASSBWRes & operator=(const LauLASSBWRes &rhs)
Copy assignment operator (not implemented)