laura is hosted by Hepforge, IPPP Durham
Laura++  v3r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauBreitWignerRes.cc
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2004 - 2014.
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 
15 #include "LauBreitWignerRes.hh"
16 
18 
19 
20 LauBreitWignerRes::LauBreitWignerRes(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters) :
21  LauAbsResonance(resInfo, resPairAmpInt, daughters)
22 {
23 }
24 
26 {
27 }
28 
30 {
31 }
32 
33 LauComplex LauBreitWignerRes::resAmp(Double_t mass, Double_t spinTerm)
34 {
35  // This function returns the complex dynamical amplitude for a Breit-Wigner resonance,
36  // given the invariant mass and cos(helicity) values.
37 
38  Double_t resMass = this->getMass();
39  Double_t deltaM = mass - resMass;
40 
41  Double_t resWidthO2 = 0.5 * this->getWidth();
42  Double_t resWidthO2Sq = resWidthO2*resWidthO2;
43 
44  LauComplex resAmplitude(deltaM, resWidthO2);
45 
46  resAmplitude.rescale(spinTerm/(deltaM*deltaM + resWidthO2Sq));
47 
48  return resAmplitude;
49 }
50 
51 const std::vector<LauParameter*>& LauBreitWignerRes::getFloatingParameters()
52 {
54 
55  if ( ! this->fixMass() ) {
56  this->addFloatingParameter( this->getMassPar() );
57  }
58  if ( ! this->fixWidth() ) {
59  this->addFloatingParameter( this->getWidthPar() );
60  }
61 
62  return this->getParameters();
63 }
64 
LauParameter * getMassPar()
Get the mass parameter of the resonance.
Bool_t fixWidth() const
Get the status of resonance width (fixed or released)
virtual ~LauBreitWignerRes()
Destructor.
Double_t getMass() const
Get the mass of the resonance.
ClassImp(LauAbsCoeffSet)
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
File containing declaration of LauBreitWignerRes class.
Bool_t fixMass() const
Get the status of resonance mass (fixed or released)
void addFloatingParameter(LauParameter *param)
Add parameter to the list of floating parameters.
virtual void initialise()
Initialise the model.
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
Class for defining the simple Breit-Wigner resonance model.
std::vector< LauParameter * > & getParameters()
Access the list of floating parameters.
LauParameter * getWidthPar()
Get the width parameter of the resonance.
Double_t getWidth() const
Get the width of the resonance.
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
void rescale(Double_t scaleVal)
Scale this by a factor.
Definition: LauComplex.hh:285
Class for defining a complex number.
Definition: LauComplex.hh:47
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
void clearFloatingParameters()
Clear list of floating parameters.