laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauNRAmplitude.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_NR_AMPLITUDE
37 #define LAU_NR_AMPLITUDE
38 
39 #include "TString.h"
40 
41 #include "LauAbsResonance.hh"
42 #include "LauComplex.hh"
43 
44 class LauKinematics;
45 
46 
48 
49  public:
51 
56  LauNRAmplitude(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters);
57 
59  virtual ~LauNRAmplitude();
60 
62  virtual void initialise();
63 
65 
69  virtual LauComplex amplitude(const LauKinematics* kinematics);
70 
72 
76 
78 
82  virtual void setResonanceParameter(const TString& name, const Double_t value);
83 
85 
88  virtual void floatResonanceParameter(const TString& name);
89 
91 
95  virtual LauParameter* getResonanceParameter(const TString& name);
96 
98 
101  virtual const std::vector<LauParameter*>& getFloatingParameters();
102 
103  protected:
105  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
106 
108 
114  Double_t f(const Double_t s, const Double_t c, const Double_t p) const;
115 
117 
120  void setdParameter(const Double_t d);
121 
123 
126  void setc1Parameter(const Double_t c1);
127 
129 
132  void setc2Parameter(const Double_t c2);
133 
135 
138  void setp1Parameter(const Double_t p1);
139 
141 
144  void setp2Parameter(const Double_t p2);
145 
147 
150  Double_t getdParameter() const {return (d_!=0) ? d_->unblindValue() : 0.0;}
151 
153 
156  Double_t getc1Parameter() const {return (c1_!=0) ? c1_->unblindValue() : 0.0;}
157 
159 
162  Double_t getc2Parameter() const {return (c2_!=0) ? c2_->unblindValue() : 0.0;}
163 
165 
168  Double_t getp1Parameter() const {return (p1_!=0) ? p1_->unblindValue() : 0.0;}
169 
171 
174  Double_t getp2Parameter() const {return (p2_!=0) ? p2_->unblindValue() : 0.0;}
175 
177 
180  Bool_t fixdParameter() const {return (d_!=0) ? d_->fixed() : kTRUE;}
181 
183 
186  Bool_t fixc1Parameter() const {return (c1_!=0) ? c1_->fixed() : kTRUE;}
187 
189 
192  Bool_t fixc2Parameter() const {return (c2_!=0) ? c2_->fixed() : kTRUE;}
193 
195 
198  Bool_t fixp1Parameter() const {return (p1_!=0) ? p1_->fixed() : kTRUE;}
199 
201 
204  Bool_t fixp2Parameter() const {return (p2_!=0) ? p2_->fixed() : kTRUE;}
205 
206  private:
208  LauNRAmplitude(const LauNRAmplitude& rhs);
209 
212 
223 
224  ClassDef(LauNRAmplitude,0) // Non-resonant amplitude model
225 };
226 
227 #endif
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Double_t getc1Parameter() const
Get the c1 parameter value.
Bool_t fixed() const
Check whether the parameter is fixed or floated.
static double p1(double t, double a, double b)
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
This is not meant to be called.
virtual ~LauNRAmplitude()
Destructor.
Bool_t fixc1Parameter() const
See if the c1 parameter is fixed or floating.
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of a resonance parameter.
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
void setc1Parameter(const Double_t c1)
Set the c1 parameter value.
LauParameter * p2_
Parameter from arXiv:0709.0075v1 [hep-ph].
Double_t getp2Parameter() const
Get the p2 parameter value.
void setp1Parameter(const Double_t p1)
Set the p1 parameter value.
void setc2Parameter(const Double_t c2)
Set the c2 parameter value.
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
void setp2Parameter(const Double_t p2)
Set the p2 parameter value.
Class for defining the NR amplitude model.
LauParameter * c2_
Parameter from arXiv:0709.0075v1 [hep-ph].
Bool_t fixdParameter() const
See if the d parameter is fixed or floating.
File containing declaration of LauComplex class.
Double_t f(const Double_t s, const Double_t c, const Double_t p) const
Evaluate the expression 1.0 / (1.0 + TMath::Exp( c * (s-p) ))
Bool_t fixc2Parameter() const
See if the c2 parameter is fixed or floating.
virtual void initialise()
Initialise the model.
LauParameter * c1_
Parameter from arXiv:0709.0075v1 [hep-ph].
static double p2(double t, double a, double b, double c)
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
Double_t getdParameter() const
Get the d parameter value.
Bool_t fixp1Parameter() const
See if the p1 parameter is fixed or floating.
LauResonanceModel
Define the allowed resonance types.
LauParameter * d_
Parameter from arXiv:0709.0075v1 [hep-ph].
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
LauNRAmplitude(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
LauNRAmplitude & operator=(const LauNRAmplitude &rhs)
Copy assignment operator (not implemented)
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
Class for calculating 3-body kinematic quantities.
Bool_t fixp2Parameter() const
See if the p2 parameter is fixed or floating.
LauParameter * p1_
Parameter from arXiv:0709.0075v1 [hep-ph].
Double_t getc2Parameter() const
Get the c2 parameter value.
void setdParameter(const Double_t d)
Set the d parameter value.
virtual LauComplex amplitude(const LauKinematics *kinematics)
Complex resonant amplitude.
Double_t getp1Parameter() const
Get the p1 parameter value.