laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauRescattering2Res.hh
Go to the documentation of this file.
1 /*
2 Copyright 2018 University of Warwick
3 
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7 
8  http://www.apache.org/licenses/LICENSE-2.0
9 
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15 */
16 
17 /*
18 Laura++ package authors:
19 John Back
20 Paul Harrison
21 Thomas Latham
22 */
23 
35 #ifndef LAU_RESCATTERING2_RES
36 #define LAU_RESCATTERING2_RES
37 
38 #include "TString.h"
39 
40 #include "LauAbsResonance.hh"
41 #include "LauComplex.hh"
42 
43 class LauKinematics;
44 
45 
47 
48  public:
50 
55  LauRescattering2Res(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters);
56 
58  virtual ~LauRescattering2Res();
59 
61  virtual void initialise();
62 
63 
65 
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  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
99 
100  Double_t pn(const Double_t x, const Double_t n) const;
101  Double_t x(const Double_t sqr_t, const Int_t i) const;
102  Double_t phi00(const Double_t sqr_t, const Int_t i) const;
103  Double_t g00(const Double_t sqr_t, const Int_t i) const;
104 
105  void setB1Parameter(const Double_t B1);
106  void setB2Parameter(const Double_t B2);
107  void setB3Parameter(const Double_t B3);
108  void setC1Parameter(const Double_t C1);
109  void setC2Parameter(const Double_t C2);
110  void setC3Parameter(const Double_t C3);
111  void setC4Parameter(const Double_t C4);
112  void setC5Parameter(const Double_t C5);
113  void setD0Parameter(const Double_t D0);
114  void setD1Parameter(const Double_t D1);
115  void setD2Parameter(const Double_t D2);
116  void setD3Parameter(const Double_t D3);
117  void setF1Parameter(const Double_t F1);
118  void setF2Parameter(const Double_t F2);
119  void setF3Parameter(const Double_t F3);
120  void setF4Parameter(const Double_t F4);
121 
122  Double_t getB1Parameter() const {return (B1_!=0) ? B1_->value() : 0.0;}
123  Bool_t fixB1Parameter() const {return (B1_!=0) ? B1_->fixed() : kTRUE;}
124  Double_t getB2Parameter() const {return (B2_!=0) ? B2_->value() : 0.0;}
125  Bool_t fixB2Parameter() const {return (B2_!=0) ? B2_->fixed() : kTRUE;}
126  Double_t getB3Parameter() const {return (B3_!=0) ? B3_->value() : 0.0;}
127  Bool_t fixB3Parameter() const {return (B3_!=0) ? B3_->fixed() : kTRUE;}
128  Double_t getC1Parameter() const {return (C1_!=0)? C1_->value() : 0.0;}
129  Bool_t fixC1Parameter() const {return (C1_!=0) ?C1_->fixed() : kTRUE;}
130  Double_t getC2Parameter() const {return (C2_!=0)? C2_->value() : 0.0;}
131  Bool_t fixC2Parameter() const {return (C2_!=0) ?C2_->fixed() : kTRUE;}
132  Double_t getC3Parameter() const {return (C3_!=0)? C3_->value() : 0.0;}
133  Bool_t fixC3Parameter() const {return (C3_!=0) ?C3_->fixed() : kTRUE;}
134  Double_t getC4Parameter() const {return (C4_!=0)? C4_->value() : 0.0;}
135  Bool_t fixC4Parameter() const {return (C4_!=0) ?C4_->fixed() : kTRUE;}
136  Double_t getC5Parameter() const {return (C5_!=0)? C5_->value() : 0.0;}
137  Bool_t fixC5Parameter() const {return (C5_!=0) ?C5_->fixed() : kTRUE;}
138  Double_t getD0Parameter() const {return (D0_!=0) ? D0_->value() : 0.0;}
139  Bool_t fixD0Parameter() const {return (D0_!=0) ? D0_->fixed() : kTRUE;}
140  Double_t getD1Parameter() const {return (D1_!=0) ? D1_->value() : 0.0;}
141  Bool_t fixD1Parameter() const {return (D1_!=0) ? D1_->fixed() : kTRUE;}
142  Double_t getD2Parameter() const {return (D2_!=0) ? D2_->value() : 0.0;}
143  Bool_t fixD2Parameter() const {return (D2_!=0) ? D2_->fixed() : kTRUE;}
144  Double_t getD3Parameter() const {return (D3_!=0) ? D3_->value() : 0.0;}
145  Bool_t fixD3Parameter() const {return (D3_!=0) ? D3_->fixed() : kTRUE;}
146  Double_t getF1Parameter() const {return (F1_!=0) ? F1_->value() : 0.0;}
147  Bool_t fixF1Parameter() const {return (F1_!=0) ? F1_->fixed() : kTRUE;}
148  Double_t getF2Parameter() const {return (F2_!=0) ? F2_->value() : 0.0;}
149  Bool_t fixF2Parameter() const {return (F2_!=0) ? F2_->fixed() : kTRUE;}
150  Double_t getF3Parameter() const {return (F3_!=0) ? F3_->value() : 0.0;}
151  Bool_t fixF3Parameter() const {return (F3_!=0) ? F3_->fixed() : kTRUE;}
152  Double_t getF4Parameter() const {return (F4_!=0) ? F4_->value() : 0.0;}
153  Bool_t fixF4Parameter() const {return (F4_!=0) ? F4_->fixed() : kTRUE;}
154 
155 
156  private:
159 
162 
180 
181  Double_t sqr_tmin[3], sqr_tmax[3];
182  Double_t B0_, C0_, F0_;
183 
184  ClassDef(LauRescattering2Res,0) // pipi S wave model by Schechter amplitude model
185 };
186 
187 #endif
Bool_t fixed() const
Check whether the parameter is fixed or floated.
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Double_t getF1Parameter() const
void setB2Parameter(const Double_t B2)
LauParameter * B1_
Parameter.
Double_t getC1Parameter() const
Double_t getC4Parameter() const
Double_t getC3Parameter() const
void setF4Parameter(const Double_t F4)
Class for defining the properties of a resonant particle.
Double_t getF2Parameter() const
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
Double_t getF4Parameter() const
Bool_t fixD0Parameter() const
void setD1Parameter(const Double_t D1)
Double_t getC5Parameter() const
void setC4Parameter(const Double_t C4)
Bool_t fixF1Parameter() const
Double_t x(const Double_t sqr_t, const Int_t i) const
void setC2Parameter(const Double_t C2)
virtual void initialise()
Initialise the model.
Double_t getC2Parameter() const
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
This is not meant to be called.
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Bool_t fixF3Parameter() const
void setD0Parameter(const Double_t D0)
Bool_t fixF4Parameter() const
LauRescattering2Res(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Double_t getB2Parameter() const
Bool_t fixF2Parameter() const
Bool_t fixC2Parameter() const
Bool_t fixC5Parameter() const
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
void setC1Parameter(const Double_t C1)
Double_t getB3Parameter() const
void setC5Parameter(const Double_t C5)
void setD2Parameter(const Double_t D2)
File containing declaration of LauComplex class.
Bool_t fixC4Parameter() const
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
Bool_t fixC3Parameter() const
Double_t g00(const Double_t sqr_t, const Int_t i) const
Double_t getD2Parameter() const
void setF3Parameter(const Double_t F3)
LauResonanceModel
Define the allowed resonance types.
Double_t getB1Parameter() const
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Bool_t fixD3Parameter() const
Double_t getD3Parameter() const
Bool_t fixD2Parameter() const
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
void setC3Parameter(const Double_t C3)
Double_t phi00(const Double_t sqr_t, const Int_t i) const
void setD3Parameter(const Double_t D3)
Bool_t fixB3Parameter() const
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of a resonance parameter.
Double_t pn(const Double_t x, const Double_t n) const
Bool_t fixC1Parameter() const
Double_t getF3Parameter() const
File containing declaration of LauAbsResonance class.
Bool_t fixB1Parameter() const
void setF2Parameter(const Double_t F2)
LauRescattering2Res & operator=(const LauRescattering2Res &rhs)
Copy assignment operator (not implemented)
virtual ~LauRescattering2Res()
Destructor.
Class for defining a complex number.
Definition: LauComplex.hh:61
void setB3Parameter(const Double_t B3)
void setB1Parameter(const Double_t B1)
Class for defining an alternative rescattering model.
Class for calculating 3-body kinematic quantities.
Double_t value() const
The value of the parameter.
void setF1Parameter(const Double_t F1)
Double_t getD0Parameter() const
Double_t getD1Parameter() const
Bool_t fixD1Parameter() const
Bool_t fixB2Parameter() const