laura is hosted by Hepforge, IPPP Durham
Laura++  v3r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauLASSBWRes.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2008 - 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_BW_RES
23 #define LAU_LASS_BW_RES
24 
25 #include "TString.h"
26 
27 #include "LauComplex.hh"
28 #include "LauAbsResonance.hh"
29 
30 
31 class LauLASSBWRes : public LauAbsResonance {
32 
33  public:
35 
40  LauLASSBWRes(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters);
41 
42  // Destructor
43  virtual ~LauLASSBWRes();
44 
46  virtual void initialise();
47 
49 
53 
55 
59  virtual void setResonanceParameter(const TString& name, const Double_t value);
60 
62 
65  virtual void floatResonanceParameter(const TString& name);
66 
68 
72  virtual LauParameter* getResonanceParameter(const TString& name);
73 
75 
78  virtual const std::vector<LauParameter*>& getFloatingParameters();
79 
80  protected:
82 
85  void setEffectiveRange(const Double_t r);
86 
88 
91  void setScatteringLength(const Double_t a);
92 
94 
97  Double_t getEffectiveRange() const {return (r_!=0) ? r_->unblindValue() : 0.0;}
98 
100 
103  Double_t getScatteringLength() const {return (a_!=0) ? a_->unblindValue() : 0.0;}
104 
106 
109  Bool_t fixEffectiveRange() const {return (r_!=0) ? r_->fixed() : kTRUE;}
110 
112 
115  Bool_t fixScatteringLength() const {return (a_!=0) ? a_->fixed() : kTRUE;}
116 
118  void calcQ0();
119 
121 
125  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
126 
127  private:
129  LauLASSBWRes(const LauLASSBWRes& rhs);
130 
132  LauLASSBWRes& operator=(const LauLASSBWRes& rhs);
133 
135  Double_t q0_;
137  Double_t mDaugSum_;
139  Double_t mDaugSumSq_;
141  Double_t mDaugDiff_;
143  Double_t mDaugDiffSq_;
145  Double_t resMass_;
147  Double_t resMassSq_;
148 
153 
154  ClassDef(LauLASSBWRes,0)
155 };
156 
157 #endif
Bool_t fixed() const
Check whether the parameter is fixed or floated.
virtual ~LauLASSBWRes()
Definition: LauLASSBWRes.cc:60
Double_t mDaugDiff_
Difference between the daughter masses.
LauLASSBWRes(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauLASSBWRes.cc:24
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of a resonance parameter.
Double_t getScatteringLength() const
Get the scattering length range parameter.
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
LauParameter * r_
LASS effective range parameter.
void setEffectiveRange(const Double_t r)
Set the effective range parameter value.
Double_t resMassSq_
Square of the resonance mass.
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Double_t mDaugDiffSq_
Square of mDaugDiff.
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
LauLASSBWRes & operator=(const LauLASSBWRes &rhs)
Copy assignment operator (not implemented)
LauParameter * a_
LASS scattering length parameter.
virtual void initialise()
Initialise the model.
Definition: LauLASSBWRes.cc:64
Bool_t fixScatteringLength() const
See if the scattering length parameter is fixed or floating.
File containing declaration of LauComplex class.
Double_t q0_
Decay momentum of either daughter in the resonance rest frame.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:35
Bool_t fixEffectiveRange() const
See if the effective range parameter is fixed or floating.
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Definition: LauLASSBWRes.cc:97
LauResonanceModel
Define the allowed resonance types.
Double_t resMass_
The resonance mass.
void setScatteringLength(const Double_t a)
Set the scattering length parameter value.
Double_t mDaugSum_
Sum of the daughter masses.
Double_t mDaugSumSq_
Square of mDaugSum.
Class for defining the resonant part of the LASS model.
Definition: LauLASSBWRes.hh:31
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauLASSBWRes.hh:52
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
Double_t getEffectiveRange() const
Get the effective range parameter.
Definition: LauLASSBWRes.hh:97
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
void calcQ0()
Utility function to calculate the q0 value.
Definition: LauLASSBWRes.cc:86