laura is hosted by Hepforge, IPPP Durham
Laura++  v3r0p1
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauSigmaRes.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_SIGMA_RES
23 #define LAU_SIGMA_RES
24 
25 #include "TString.h"
26 
27 #include "LauAbsResonance.hh"
28 #include "LauComplex.hh"
29 
30 
31 class LauSigmaRes : public LauAbsResonance {
32 
33  public:
35 
40  LauSigmaRes(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters);
41 
43  virtual ~LauSigmaRes();
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 setB1Value(const Double_t b1);
86 
88 
91  void setB2Value(const Double_t b2);
92 
94 
97  void setAValue(const Double_t A);
98 
100 
103  void setM0Value(const Double_t m0);
104 
106 
109  Double_t getB1Value() const { return (b1_!=0) ? b1_->value() : 0.0; }
110 
112 
115  Double_t getB2Value() const { return (b2_!=0) ? b2_->value() : 0.0; }
116 
118 
121  Double_t getAValue() const { return (a_!=0) ? a_->value() : 0.0; }
122 
124 
127  Double_t getM0Value() const { return (m0_!=0) ? m0_->value() : 0.0; }
128 
130 
133  Bool_t fixB1Value() const { return (b1_!=0) ? b1_->fixed() : 0.0; }
134 
136 
139  Bool_t fixB2Value() const { return (b2_!=0) ? b2_->fixed() : 0.0; }
140 
142 
145  Bool_t fixAValue() const { return (a_!=0) ? a_->fixed() : 0.0; }
146 
148 
151  Bool_t fixM0Value() const { return (m0_!=0) ? m0_->fixed() : 0.0; }
152 
154 
158  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
159 
161  void checkDaughterTypes() const;
162 
163  private:
165  LauSigmaRes(const LauSigmaRes& rhs);
166 
168  LauSigmaRes& operator=(const LauSigmaRes& rhs);
169 
171  Double_t mPiSq4_;
173  Double_t sAdler_;
174 
183 
184  ClassDef(LauSigmaRes,0) // Sigma resonance model
185 
186 };
187 
188 #endif
virtual ~LauSigmaRes()
Destructor.
Definition: LauSigmaRes.cc:82
Bool_t fixed() const
Check whether the parameter is fixed or floated.
void setAValue(const Double_t A)
Set the A parameter.
Definition: LauSigmaRes.cc:279
Bool_t fixB2Value() const
Fix the b2 parameter value.
Definition: LauSigmaRes.hh:139
Bool_t fixB1Value() const
Fix the b1 parameter value.
Definition: LauSigmaRes.hh:133
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
Double_t getAValue() const
Get the A parameter value.
Definition: LauSigmaRes.hh:121
Double_t getB2Value() const
Get the b2 parameter value.
Definition: LauSigmaRes.hh:115
Bool_t fixM0Value() const
Fix the m0 parameter value.
Definition: LauSigmaRes.hh:151
virtual void initialise()
Initialise the model.
Definition: LauSigmaRes.cc:86
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Definition: LauSigmaRes.cc:214
Double_t sAdler_
Defined as 0.5*mPi*mPi.
Definition: LauSigmaRes.hh:173
Class for defining the Sigma resonance model.
Definition: LauSigmaRes.hh:31
Double_t getB1Value() const
Get the b1 parameter value.
Definition: LauSigmaRes.hh:109
LauSigmaRes(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauSigmaRes.cc:24
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of the various parameters.
Definition: LauSigmaRes.cc:190
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Definition: LauSigmaRes.cc:249
File containing declaration of LauComplex class.
LauParameter * b2_
Factor from BES data.
Definition: LauSigmaRes.hh:178
LauParameter * a_
Factor from BES data.
Definition: LauSigmaRes.hh:180
LauSigmaRes & operator=(const LauSigmaRes &rhs)
Copy assignment operator (not implemented)
Class for defining the fit parameter objects.
Definition: LauParameter.hh:34
void checkDaughterTypes() const
Check that both daughters are the same type of particle.
Definition: LauSigmaRes.cc:98
void setB2Value(const Double_t b2)
Set the b2 parameter.
Definition: LauSigmaRes.cc:272
LauResonanceModel
Define the allowed resonance types.
void setB1Value(const Double_t b1)
Set the b1 parameter.
Definition: LauSigmaRes.cc:265
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant ampltiude.
Definition: LauSigmaRes.cc:118
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
LauParameter * m0_
Factor from BES data.
Definition: LauSigmaRes.hh:182
File containing declaration of LauAbsResonance class.
Class for defining a complex number.
Definition: LauComplex.hh:47
Double_t value() const
The value of the parameter.
Double_t getM0Value() const
Get the m0 parameter value.
Definition: LauSigmaRes.hh:127
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Definition: LauSigmaRes.cc:167
void setM0Value(const Double_t m0)
Set the m0 parameter.
Definition: LauSigmaRes.cc:286
Bool_t fixAValue() const
Fix the A parameter value.
Definition: LauSigmaRes.hh:145
Double_t mPiSq4_
Defined as 4*mPi*mPi.
Definition: LauSigmaRes.hh:171
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauSigmaRes.hh:52
LauParameter * b1_
Factor from BES data.
Definition: LauSigmaRes.hh:176