laura is hosted by Hepforge, IPPP Durham
Laura++  v3r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauRhoOmegaMix.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2004 - 2016.
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_RHO_OMEGA_MIX
23 #define LAU_RHO_OMEGA_MIX
24 
25 #include "TString.h"
26 
27 #include "LauAbsResonance.hh"
28 #include "LauComplex.hh"
29 
30 #include <vector>
31 
32 class LauResonanceInfo;
33 class LauDaughters;
34 class LauParameter;
35 
37 
38 public:
40 
47  const Int_t resPairAmpInt, const LauDaughters* daughters);
48 
50  virtual ~LauRhoOmegaMix();
51 
53  virtual void initialise();
54 
56  void initialiseRho();
57 
59  void initialiseOmega();
60 
62 
66  virtual LauComplex amplitude(const LauKinematics* kinematics);
67 
69 
73 
75 
79  virtual void setResonanceParameter(const TString& name, const Double_t value);
80 
82 
85  virtual void floatResonanceParameter(const TString& name);
86 
88 
92  virtual LauParameter* getResonanceParameter(const TString& name);
93 
95 
98  virtual const std::vector<LauParameter*>& getFloatingParameters();
99 
100 protected:
101 
103 
106  void setmOmegaValue(const Double_t mOmega);
107 
109 
112  Double_t getmOmegaValue() const { return (mOmega_!=0) ? mOmega_->unblindValue() : 0.0; }
113 
115 
118  Bool_t fixmOmegaValue() const { return (mOmega_!=0) ? mOmega_->fixed() : 0.0; }
119 
120 
122 
125  void setwOmegaValue(const Double_t wOmega);
126 
128 
131  Double_t getwOmegaValue() const { return (wOmega_!=0) ? wOmega_->unblindValue() : 0.0; }
132 
134 
137  Bool_t fixwOmegaValue() const { return (wOmega_!=0) ? wOmega_->fixed() : 0.0; }
138 
139 
141 
144  void setmagBValue(const Double_t magB);
145 
147 
150  Double_t getmagBValue() const { return (magB_!=0) ? magB_->unblindValue() : 0.0; }
151 
153 
156  Bool_t fixmagBValue() const { return (magB_!=0) ? magB_->fixed() : 0.0; }
157 
158 
160 
163  void setphiBValue(const Double_t phiB);
164 
166 
169  Double_t getphiBValue() const { return (phiB_!=0) ? phiB_->unblindValue() : 0.0; }
170 
172 
175  Bool_t fixphiBValue() const { return (phiB_!=0) ? phiB_->fixed() : 0.0; }
176 
177 
179 
182  void setdeltaValue(const Double_t delta);
183 
185 
188  Double_t getdeltaValue() const { return (delta_!=0) ? delta_->unblindValue() : 0.0; }
189 
191 
194  Bool_t fixdeltaValue() const { return (delta_!=0) ? delta_->fixed() : 0.0; }
195 
197  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
198 
200  void checkDaughterTypes() const;
201 
202 private:
203 
205  LauRhoOmegaMix(const LauRhoOmegaMix& rhs);
206 
209 
212 
214  Double_t rhoMass_;
215 
217  Double_t rhoResRadius_;
218 
220  Double_t rhoParRadius_;
221 
224 
226  Double_t mOmega0_;
227 
229  Double_t mOmegaCur_;
230 
233 
235  Double_t wOmega0_;
236 
238  Double_t wOmegaCur_;
239 
242 
245 
248 
250  Bool_t useDenom_;
251 
254 
257 
260 
261  ClassDef(LauRhoOmegaMix,0) // Rho-omega mixing model
262 
263 };
264 
265 #endif
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
This is not called, amplitude is used directly instead.
Bool_t fixed() const
Check whether the parameter is fixed or floated.
void initialiseOmega()
Initialise the omega resonance.
Double_t mOmega0_
Initial default value of the omega pole mass from LauResonanceMaker.
Bool_t fixwOmegaValue() const
Fix the omega pole width parameter value.
Bool_t fixmOmegaValue() const
Fix the omega pole mass parameter value.
Class for defining the properties of a resonant particle.
void checkDaughterTypes() const
Check that both daughters are the same type of particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
LauParameter * delta_
delta parameter of the omega mixing contribution
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
void setwOmegaValue(const Double_t wOmega)
Set the omega pole width parameter.
LauParameter * wOmega_
Pole width of the omega contribution.
Double_t rhoParRadius_
Previous value of the parents barrier radius of the rho resonance.
LauParameter * mOmega_
Pole mass of the omega contribution.
void setmagBValue(const Double_t magB)
Set the omega B magnitude mixing parameter.
Double_t mOmegaCur_
Current value of the omega pole mass (floating or fixed)
Bool_t fixdeltaValue() const
Fix the omega mixing parameter delta value.
Double_t rhoMass_
Previous value of the pole mass of the rho resonance.
Bool_t fixmagBValue() const
Fix the omega B magnitude mixing parameter value.
LauRhoOmegaMix & operator=(const LauRhoOmegaMix &rhs)
Copy assignment operator (not implemented)
LauParameter * phiB_
B phase parameter of the omega mixing contribution.
Double_t rhoResRadius_
Previous value of the barrier radius of the rho resonance.
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
LauAbsResonance::LauResonanceModel model_
The model to use.
Bool_t fixphiBValue() const
Fix the omega B phase mixing parameter value.
Double_t getdeltaValue() const
Get the omega mixing parameter delta.
Double_t wOmegaCur_
Current value of the omega pole mass (floating or fixed)
Double_t getwOmegaValue() const
Get the omega pole width parameter value.
virtual LauComplex amplitude(const LauKinematics *kinematics)
Get the complex dynamical amplitude.
File containing declaration of LauComplex class.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:35
virtual ~LauRhoOmegaMix()
Destructor.
Class for defining the rho-omega resonance mixing model.
Double_t getmOmegaValue() const
Get the omega pole mass parameter value.
void setdeltaValue(const Double_t delta)
Set the omega mixing parameter delta.
LauAbsResonance * omegaRes_
Pointer to the omega (second) resonance lineshape.
LauResonanceModel
Define the allowed resonance types.
Bool_t useDenom_
Boolean to specify if we want to use the denominator factor.
void initialiseRho()
Initialise the rho resonance.
void setmOmegaValue(const Double_t mOmega)
Set the omega pole mass parameter.
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of the various parameters.
Bool_t doneFirstInit_
Boolean to specify if we have performed the first initialisation.
LauParameter * magB_
B magnitude parameter of the omega mixing contribution.
File containing declaration of LauAbsResonance class.
LauAbsResonance * rhoRes_
Pointer to the rho (or first) resonance lineshape.
Double_t unblindValue() const
The unblinded value of the parameter.
void setphiBValue(const Double_t phiB)
Set the omega B phase mixing parameter.
Class for defining a complex number.
Definition: LauComplex.hh:47
LauRhoOmegaMix(LauResonanceInfo *resInfo, const LauAbsResonance::LauResonanceModel resType, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Class for calculating 3-body kinematic quantities.
Double_t wOmega0_
Initial default value of the omega pole width from LauResonanceMaker.
Double_t getmagBValue() const
Get the omega B magnitude mixing parameter.
virtual void initialise()
Initialise the model.
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Double_t getphiBValue() const
Get the omega B phase mixing parameter.