laura is hosted by Hepforge, IPPP Durham
Laura++  v3r4
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauDabbaRes.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2010 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_DABBA_RES
37 #define LAU_DABBA_RES
38 
39 #include "TString.h"
40 
41 #include "LauAbsResonance.hh"
42 #include "LauComplex.hh"
43 
44 
45 class LauDabbaRes : public LauAbsResonance {
46 
47  public:
49 
54  LauDabbaRes(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters);
55 
57  virtual ~LauDabbaRes();
58 
60  virtual void initialise();
61 
63 
67 
69 
73  virtual void setResonanceParameter(const TString& name, const Double_t value);
74 
76 
79  virtual void floatResonanceParameter(const TString& name);
80 
82 
86  virtual LauParameter* getResonanceParameter(const TString& name);
87 
89 
92  virtual const std::vector<LauParameter*>& getFloatingParameters();
93 
94  protected:
96 
99  void setBValue(const Double_t b);
100 
102 
105  void setAlphaValue(const Double_t alpha);
106 
108 
111  void setBetaValue(const Double_t beta);
112 
114 
117  Double_t getBValue() const { return (b_!=0) ? b_->unblindValue() : 0.0; }
118 
120 
123  Double_t getAlphaValue() const { return (alpha_!=0) ? alpha_->unblindValue() : 0.0; }
124 
126 
129  Double_t getBetaValue() const { return (beta_!=0) ? beta_->unblindValue() : 0.0; }
130 
132 
135  Bool_t fixBValue() const { return (b_!=0) ? b_->fixed() : 0.0; }
136 
138 
141  Bool_t fixAlphaValue() const { return (alpha_!=0) ? alpha_->fixed() : 0.0; }
142 
144 
147  Bool_t fixBetaValue() const { return (beta_!=0) ? beta_->fixed() : 0.0; }
148 
150 
154  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
155 
157  void checkDaughterTypes() const;
158 
159  private:
161  LauDabbaRes(const LauDabbaRes& rhs);
162 
164  LauDabbaRes& operator=(const LauDabbaRes& rhs);
165 
167  Double_t mSumSq_;
169  Double_t sAdler_;
170 
177 
178  ClassDef(LauDabbaRes,0) // Dabba resonance model
179 
180 };
181 
182 #endif
void setBValue(const Double_t b)
Set the b parameter.
Definition: LauDabbaRes.cc:247
Bool_t fixed() const
Check whether the parameter is fixed or floated.
Double_t getBetaValue() const
Get the beta parameter value.
Definition: LauDabbaRes.hh:129
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Definition: LauDabbaRes.cc:166
Double_t getAlphaValue() const
Get the alpha parameter value.
Definition: LauDabbaRes.hh:123
Bool_t fixBetaValue() const
Fix the beta parameter value.
Definition: LauDabbaRes.hh:147
LauParameter * beta_
Constant factor.
Definition: LauDabbaRes.hh:176
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauDabbaRes.hh:66
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Definition: LauDabbaRes.cc:127
Double_t mSumSq_
Defined as mD + mPi all squared.
Definition: LauDabbaRes.hh:167
LauDabbaRes & operator=(const LauDabbaRes &rhs)
Copy assignment operator (not implemented)
Bool_t fixBValue() const
Fix the b parameter value.
Definition: LauDabbaRes.hh:135
LauParameter * b_
Constant factor.
Definition: LauDabbaRes.hh:172
virtual void initialise()
Initialise the model.
Definition: LauDabbaRes.cc:86
File containing declaration of LauComplex class.
const Double_t beta
Angle beta of the unitarity triangle.
Definition: LauConstants.hh:98
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of the various parameters.
Definition: LauDabbaRes.cc:185
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Definition: LauDabbaRes.cc:233
virtual ~LauDabbaRes()
Destructor.
Definition: LauDabbaRes.cc:82
LauResonanceModel
Define the allowed resonance types.
void setAlphaValue(const Double_t alpha)
Set the alpha parameter.
Definition: LauDabbaRes.cc:254
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
Class for defining the Dabba resonance model.
Definition: LauDabbaRes.hh:45
LauParameter * alpha_
Constant factor.
Definition: LauDabbaRes.hh:174
void checkDaughterTypes() const
Check that the daughter particles are D and pi.
Definition: LauDabbaRes.cc:108
File containing declaration of LauAbsResonance class.
Double_t unblindValue() const
The unblinded value of the parameter.
Bool_t fixAlphaValue() const
Fix the alpha parameter value.
Definition: LauDabbaRes.hh:141
Double_t sAdler_
Defined as mD*mD - 0.5*mPi*mPi.
Definition: LauDabbaRes.hh:169
Class for defining a complex number.
Definition: LauComplex.hh:61
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Definition: LauDabbaRes.cc:205
void setBetaValue(const Double_t beta)
Set the beta parameter.
Definition: LauDabbaRes.cc:261
Double_t getBValue() const
Get the b parameter value.
Definition: LauDabbaRes.hh:117
LauDabbaRes(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauDabbaRes.cc:39