laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauBelleNR.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_BELLE_NR
37 #define LAU_BELLE_NR
38 
39 #include "TString.h"
40 
41 #include "LauComplex.hh"
42 #include "LauAbsResonance.hh"
43 
44 class LauKinematics;
45 class LauParameter;
46 
47 
48 class LauBelleNR : public LauAbsResonance {
49 
50  public:
52 
59  const Int_t resPairAmpInt, const LauDaughters* daughters);
60 
62  virtual ~LauBelleNR();
63 
65 
73  void enforceLegendreSpinFactors( const Bool_t forceLegendre ) { forceLegendre_ = forceLegendre; }
74 
76  virtual void initialise();
77 
79 
83 
85 
89  virtual void setResonanceParameter(const TString& name, const Double_t value);
90 
92 
95  virtual void floatResonanceParameter(const TString& name);
96 
98 
102  virtual LauParameter* getResonanceParameter(const TString& name);
103 
105 
108  virtual const std::vector<LauParameter*>& getFloatingParameters();
109 
110  protected:
112 
115  void setAlpha(const Double_t alpha);
116 
118 
121  Double_t getAlpha() const {return (alpha_!=0) ? alpha_->unblindValue() : 0.0;}
122 
124 
127  Bool_t fixAlpha() const {return (alpha_!=0) ? alpha_->fixed() : kTRUE;}
128 
130 
134  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
135 
136  private:
138  LauBelleNR(const LauBelleNR& rhs);
139 
141  LauBelleNR& operator=(const LauBelleNR& rhs);
142 
145 
148 
151 
152  ClassDef(LauBelleNR,0)
153 };
154 
155 #endif
LauParameter * alpha_
The range parameter.
Definition: LauBelleNR.hh:144
Bool_t fixed() const
Check whether the parameter is fixed or floated.
virtual ~LauBelleNR()
Destructor.
Definition: LauBelleNR.cc:58
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauBelleNR.hh:82
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
Bool_t forceLegendre_
Force use of Legendre spin factors.
Definition: LauBelleNR.hh:150
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Definition: LauBelleNR.cc:120
Double_t getAlpha() const
Get the effective range parameter.
Definition: LauBelleNR.hh:121
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Definition: LauBelleNR.cc:81
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Definition: LauBelleNR.cc:98
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of the various parameters.
Definition: LauBelleNR.cc:109
virtual void initialise()
Initialise the model.
Definition: LauBelleNR.cc:62
Class for defining the Belle nonresonant model.
Definition: LauBelleNR.hh:48
File containing declaration of LauComplex class.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
Bool_t fixAlpha() const
See if the alpha parameter is fixed or floating.
Definition: LauBelleNR.hh:127
LauResonanceModel
Define the allowed resonance types.
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Definition: LauBelleNR.cc:134
void enforceLegendreSpinFactors(const Bool_t forceLegendre)
Override the enforcement of pure Legendre polynomial spin factors.
Definition: LauBelleNR.hh:73
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
void setAlpha(const Double_t alpha)
Set the parameter alpha, the effective range.
Definition: LauBelleNR.cc:144
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
LauAbsResonance::LauResonanceModel model_
The model to use.
Definition: LauBelleNR.hh:147
Class for calculating 3-body kinematic quantities.
LauBelleNR & operator=(const LauBelleNR &rhs)
Copy assignment operator (not implemented)
LauBelleNR(LauResonanceInfo *resInfo, const LauAbsResonance::LauResonanceModel resType, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauBelleNR.cc:41