laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauLASSNRRes.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2008 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_LASS_NR_RES
37 #define LAU_LASS_NR_RES
38 
39 #include "TString.h"
40 
41 #include "LauComplex.hh"
42 #include "LauAbsResonance.hh"
43 
44 
45 class LauLASSNRRes : public LauAbsResonance {
46 
47  public:
49 
54  LauLASSNRRes(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters);
55 
57  virtual ~LauLASSNRRes();
58 
60  virtual void initialise();
61 
63 
67 
69 
72  Double_t getCutOff() const {return cutOff_;}
73 
75 
78  void setCutOff(const Double_t cutOff) {cutOff_ = cutOff;}
79 
81 
85  virtual void setResonanceParameter(const TString& name, const Double_t value);
86 
88 
91  virtual void floatResonanceParameter(const TString& name);
92 
94 
98  virtual LauParameter* getResonanceParameter(const TString& name);
99 
101 
104  virtual const std::vector<LauParameter*>& getFloatingParameters();
105 
106  protected:
108 
111  void setEffectiveRange(const Double_t r);
112 
114 
117  void setScatteringLength(const Double_t a);
118 
120 
123  Double_t getEffectiveRange() const {return (r_!=0) ? r_->unblindValue() : 0.0;}
124 
126 
129  Double_t getScatteringLength() const {return (a_!=0) ? a_->unblindValue() : 0.0;}
130 
132 
135  Bool_t fixEffectiveRange() const {return (r_!=0) ? r_->fixed() : kTRUE;}
136 
138 
141  Bool_t fixScatteringLength() const {return (a_!=0) ? a_->fixed() : kTRUE;}
142 
144 
148  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
149 
150  private:
152  LauLASSNRRes(const LauLASSNRRes& rhs);
153 
155  LauLASSNRRes& operator=(const LauLASSNRRes& rhs);
156 
161 
163  Double_t cutOff_;
164 
165  ClassDef(LauLASSNRRes,0)
166 };
167 
168 #endif
Double_t getCutOff() const
Get the cut off parameter.
Definition: LauLASSNRRes.hh:72
Bool_t fixed() const
Check whether the parameter is fixed or floated.
Double_t getEffectiveRange() const
Get the effective range parameter.
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Double_t getScatteringLength() const
Get the scattering length range parameter.
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
void setCutOff(const Double_t cutOff)
Set the cut off parameter.
Definition: LauLASSNRRes.hh:78
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Definition: LauLASSNRRes.cc:84
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
void setScatteringLength(const Double_t a)
Set the scattering length parameter value.
Class for defining the non resonant part of the LASS model.
Definition: LauLASSNRRes.hh:45
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of a resonance parameter.
LauParameter * r_
LASS effective range parameter.
LauLASSNRRes & operator=(const LauLASSNRRes &rhs)
Copy assignment operator (not implemented)
File containing declaration of LauComplex class.
Bool_t fixEffectiveRange() const
See if the effective range parameter is fixed or floating.
Bool_t fixScatteringLength() const
See if the scattering length parameter is fixed or floating.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual ~LauLASSNRRes()
Destructor.
Definition: LauLASSNRRes.cc:70
Double_t cutOff_
LASS cut off.
LauResonanceModel
Define the allowed resonance types.
LauParameter * a_
LASS scattering length parameter.
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
virtual void initialise()
Initialise the model.
Definition: LauLASSNRRes.cc:74
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
void setEffectiveRange(const Double_t r)
Set the effective range parameter value.
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauLASSNRRes.hh:66
LauLASSNRRes(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauLASSNRRes.cc:38
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.