laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
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 "LauAbsResonance.hh"
40 #include "LauComplex.hh"
41 
42 #include "TString.h"
43 
44 class LauLASSNRRes : public LauAbsResonance {
45 
46  public:
48 
53  LauLASSNRRes( LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters );
54 
56  virtual ~LauLASSNRRes();
57 
59  virtual void initialise();
60 
62 
66  {
68  }
69 
71 
74  Double_t getCutOff() const { return cutOff_; }
75 
77 
80  void setCutOff( const Double_t cutOff ) { cutOff_ = cutOff; }
81 
83 
87  virtual void setResonanceParameter( const TString& name, const Double_t value );
88 
90 
93  virtual void floatResonanceParameter( const TString& name );
94 
96 
100  virtual LauParameter* getResonanceParameter( const TString& name );
101 
103 
106  virtual const std::vector<LauParameter*>& getFloatingParameters();
107 
108  protected:
110 
113  void setEffectiveRange( const Double_t r );
114 
116 
119  void setScatteringLength( const Double_t a );
120 
122 
125  Double_t getEffectiveRange() const { return ( r_ != 0 ) ? r_->unblindValue() : 0.0; }
126 
128 
131  Double_t getScatteringLength() const { return ( a_ != 0 ) ? a_->unblindValue() : 0.0; }
132 
134 
137  Bool_t fixEffectiveRange() const { return ( r_ != 0 ) ? r_->fixed() : kTRUE; }
138 
140 
143  Bool_t fixScatteringLength() const { return ( a_ != 0 ) ? a_->fixed() : kTRUE; }
144 
146 
150  virtual LauComplex resAmp( Double_t mass, Double_t spinTerm );
151 
152  private:
154  LauLASSNRRes( const LauLASSNRRes& rhs );
155 
158 
163 
165  Double_t cutOff_;
166 
167  ClassDef( LauLASSNRRes, 0 )
168 };
169 
170 #endif
virtual ~LauLASSNRRes()
Destructor.
Definition: LauLASSNRRes.cc:70
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
Double_t unblindValue() const
The unblinded value of the parameter.
Double_t getScatteringLength() const
Get the scattering length range parameter.
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Definition: LauLASSNRRes.cc:86
File containing declaration of LauAbsResonance class.
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauLASSNRRes.hh:65
LauParameter * r_
LASS effective range parameter.
Double_t getEffectiveRange() const
Get the effective range parameter.
void setEffectiveRange(const Double_t r)
Set the effective range parameter value.
Class for defining a complex number.
Definition: LauComplex.hh:61
void setCutOff(const Double_t cutOff)
Set the cut off parameter.
Definition: LauLASSNRRes.hh:80
Class for defining the non resonant part of the LASS model.
Definition: LauLASSNRRes.hh:44
File containing declaration of LauComplex class.
Bool_t fixEffectiveRange() const
See if the effective range parameter is fixed or floating.
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Double_t cutOff_
LASS cut off.
void setScatteringLength(const Double_t a)
Set the scattering length parameter value.
Bool_t fixed() const
Check whether the parameter is fixed or floated.
Class for defining the properties of a resonant particle.
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
virtual void initialise()
Initialise the model.
Definition: LauLASSNRRes.cc:74
LauLASSNRRes(LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauLASSNRRes.cc:36
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of a resonance parameter.
Bool_t fixScatteringLength() const
See if the scattering length parameter is fixed or floating.
LauLASSNRRes & operator=(const LauLASSNRRes &rhs)
Copy assignment operator (not implemented)
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc....
Double_t getCutOff() const
Get the cut off parameter.
Definition: LauLASSNRRes.hh:74
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
LauLASSNRRes(const LauLASSNRRes &rhs)
Copy constructor (not implemented)
LauParameter * a_
LASS scattering length parameter.
LauResonanceModel
Define the allowed resonance types.