laura is hosted by Hepforge, IPPP Durham
Laura++  v3r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.

Class for defining a model independent partial wave component. More...

#include <LauModIndPartWave.hh>

Inheritance diagram for LauModIndPartWave:
LauAbsResonance

Public Member Functions

 LauModIndPartWave (LauResonanceInfo *resInfo, Int_t resPairAmpInt, const LauDaughters *daughters)
 Constructor. More...
 
virtual ~LauModIndPartWave ()
 Destructor. More...
 
virtual void initialise ()
 Initialise the model. More...
 
void addKnot (Double_t mass, Double_t magVal, Double_t phaseVal, Bool_t fixMag=kFALSE, Bool_t fixPhase=kFALSE)
 Add a knot to the magnitude and phase splines. More...
 
void setKnotAmp (Int_t knot, Double_t magVal, Double_t phaseVal, Bool_t fixMag, Bool_t fixPhase)
 Set the magnitude and phase at a given knot. More...
 
virtual
LauAbsResonance::LauResonanceModel 
getResonanceModel () const
 Get the resonance model type. More...
 
virtual const std::vector
< LauParameter * > & 
getFloatingParameters ()
 Retrieve the resonance parameters, e.g. so that they can be loaded into a fit. More...
 
- Public Member Functions inherited from LauAbsResonance
 LauAbsResonance (LauResonanceInfo *resInfo, const Int_t resPairAmpInt, const LauDaughters *daughters)
 Constructor (for use by standard resonances) More...
 
 LauAbsResonance (const TString &resName, const Int_t resPairAmpInt, const LauDaughters *daughters)
 Constructor (for use by K-matrix components) More...
 
virtual ~LauAbsResonance ()
 Destructor. More...
 
virtual LauComplex amplitude (const LauKinematics *kinematics)
 Calculate the complex amplitude. More...
 
const TString & getResonanceName () const
 Get the name of the resonance. More...
 
const TString & getSanitisedName () const
 Get the name of the resonance. More...
 
Int_t getPairInt () const
 Get the integer to identify which DP axis the resonance belongs to. More...
 
Int_t getSpin () const
 Get the spin of the resonance. More...
 
Int_t getCharge () const
 Get the charge of the resonance. More...
 
Double_t getMass () const
 Get the mass of the resonance. More...
 
Double_t getWidth () const
 Get the width of the resonance. More...
 
LauParametergetMassPar ()
 Get the mass parameter of the resonance. More...
 
LauParametergetWidthPar ()
 Get the width parameter of the resonance. More...
 
Bool_t flipHelicity () const
 Get the helicity flip flag. More...
 
void flipHelicity (const Bool_t boolean)
 Set the helicity flip flag. More...
 
Bool_t ignoreMomenta () const
 Get the ignore momenta flag. More...
 
void ignoreMomenta (const Bool_t boolean)
 Set the ignore p_ and q_ flag. More...
 
void changeResonance (const Double_t newMass, const Double_t newWidth, const Int_t newSpin)
 Allow the mass, width and spin of the resonance to be changed. More...
 
void changeBWBarrierRadii (const Double_t resRadius, const Double_t parRadius)
 Allow the Blatt-Weisskopf radius for the resonance and parent factors to be changed. More...
 
virtual void setResonanceParameter (const TString &name, const Double_t value)
 Set value of the various parameters. More...
 
virtual void floatResonanceParameter (const TString &name)
 Allow the various parameters to float in the fit. More...
 
virtual LauParametergetResonanceParameter (const TString &name)
 Access the given resonance parameter. More...
 
void fixMass (const Bool_t parFixed)
 Fix or release the resonance mass. More...
 
void fixWidth (const Bool_t parFixed)
 Fix or release the resonance width. More...
 
Bool_t fixMass () const
 Get the status of resonance mass (fixed or released) More...
 
Bool_t fixWidth () const
 Get the status of resonance width (fixed or released) More...
 
void setBarrierRadii (LauBlattWeisskopfFactor *resFactor, LauBlattWeisskopfFactor *parFactor)
 Set the form factor model and parameters. More...
 
void fixBarrierRadii (const Bool_t fixResRadius, const Bool_t fixParRadius)
 Fix or release the Blatt-Weisskopf barrier radii. More...
 
Bool_t fixResRadius () const
 Get the status of resonance barrier radius (fixed or released) More...
 
Bool_t fixParRadius () const
 Get the status of parent barrier radius (fixed or released) More...
 
Double_t getResRadius () const
 Get the radius of the resonance barrier factor. More...
 
Double_t getParRadius () const
 Get the radius of the parent barrier factor. More...
 

Protected Member Functions

virtual LauComplex resAmp (Double_t mass, Double_t spinTerm)
 Complex resonant amplitude. More...
 
- Protected Member Functions inherited from LauAbsResonance
TString getNameParent () const
 Get the name of the parent particle. More...
 
TString getNameDaug1 () const
 Get the name of the first daughter of the resonance. More...
 
TString getNameDaug2 () const
 Get the name of the second daughter of the resonance. More...
 
TString getNameBachelor () const
 Get the name of the daughter that does not originate form the resonance. More...
 
Double_t getMassParent () const
 Get the parent particle mass. More...
 
Double_t getMassDaug1 () const
 Get the mass of daughter 1. More...
 
Double_t getMassDaug2 () const
 Get the mass of daughter 2. More...
 
Double_t getMassBachelor () const
 Get the mass of the bachelor daughter. More...
 
Int_t getChargeParent () const
 Get the Charge of the parent particle. More...
 
Int_t getChargeDaug1 () const
 Get the charge of daughter 1. More...
 
Int_t getChargeDaug2 () const
 Get the charge of daughter 2. More...
 
Int_t getChargeBachelor () const
 Get the charge of the bachelor daughter. More...
 
Double_t getQ () const
 Get the current value of the daughter momentum in the resonance rest frame. More...
 
Double_t getP () const
 Get the current value of the bachelor momentum in the resonance rest frame. More...
 
Double_t getPstar () const
 Get the current value of the bachelor momentum in the parent rest frame. More...
 
LauBlattWeisskopfFactorgetParBWFactor ()
 Get the centrifugal barrier for the parent decay. More...
 
const LauBlattWeisskopfFactorgetParBWFactor () const
 
LauBlattWeisskopfFactorgetResBWFactor ()
 Get the centrifugal barrier for the resonance decay. More...
 
const LauBlattWeisskopfFactorgetResBWFactor () const
 
LauResonanceInfogetResInfo () const
 Access the resonance info object. More...
 
const LauDaughtersgetDaughters () const
 Access the daughters object. More...
 
void clearFloatingParameters ()
 Clear list of floating parameters. More...
 
void addFloatingParameter (LauParameter *param)
 Add parameter to the list of floating parameters. More...
 
std::vector< LauParameter * > & getParameters ()
 Access the list of floating parameters. More...
 

Private Attributes

TSpline3 * magSpline_
 The spline used to calculate the magnitude at a given mass. More...
 
TSpline3 * phaseSpline_
 The spline used to calculate the phase at a given mass. More...
 
Int_t nKnots_
 The number of knots in the magnitude and phase splines. More...
 
std::vector< Double_t > masses_
 The masses at which knots are defined in the magnitude and phase splines. More...
 
std::vector< Double_t > magnitudes_
 The values of the magnitude spline at the knots. More...
 
std::vector< Double_t > phases_
 The values of the phase spline at the knots. More...
 
std::vector< LauParameter * > magnitudePars_
 The parameters for the values at the knots in the magnitude spline. More...
 
std::vector< LauParameter * > phasePars_
 The parameters for the values at the knots in the phase spline. More...
 
Bool_t initialised_
 Flag to identify whether the model has been intialised yet. More...
 
Double_t upperThresholdMag_
 Magnitude for the knot at the upper kinematic threshold. More...
 
Double_t upperThresholdPhase_
 Phase for the knot at the upper kinematic threshold. More...
 
Bool_t fixUpperThresholdMag_
 Whether the magnitude should be fixed for the knot at the upper kinematic threshold. More...
 
Bool_t fixUpperThresholdPhase_
 Whether the phase should be fixed for the knot at the upper kinematic threshold. More...
 

Additional Inherited Members

- Public Types inherited from LauAbsResonance
enum  LauResonanceModel {
  BW, RelBW, GS, Flatte,
  Sigma, Kappa, Dabba, LASS,
  LASS_BW, LASS_NR, KMatrix, FlatNR,
  NRModel, BelleNR, PowerLawNR, BelleSymNR,
  TaylorNR, PolNR, MIPW, GaussIncoh
}
 Define the allowed resonance types. More...
 

Detailed Description

Class for defining a model independent partial wave component.

Class for defining a model independent partial wave component. This model uses splines to produce a partial wave from a set of masses and amplitudes. The magnitude and phase at each point can be floated in the fit and the amplitudes at the kinematic limits are fixed to zero.

Definition at line 32 of file LauModIndPartWave.hh.

Constructor & Destructor Documentation

LauModIndPartWave::LauModIndPartWave ( LauResonanceInfo resInfo,
Int_t  resPairAmpInt,
const LauDaughters daughters 
)

Constructor.

Parameters
[in]resInfothe object containing information on the resonance name, mass, width, spin, charge, etc.
[in]resPairAmpIntthe number of the daughter not produced by the resonance
[in]daughtersthe daughter particles

Definition at line 35 of file LauModIndPartWave.cc.

LauModIndPartWave::~LauModIndPartWave ( )
virtual

Destructor.

Definition at line 47 of file LauModIndPartWave.cc.

Member Function Documentation

void LauModIndPartWave::addKnot ( Double_t  mass,
Double_t  magVal,
Double_t  phaseVal,
Bool_t  fixMag = kFALSE,
Bool_t  fixPhase = kFALSE 
)

Add a knot to the magnitude and phase splines.

Knots must be added in ascending order and two knots cannot be placed at the same mass. Knots are added automatically at the upper and lower kinematic thesholds and can be updated using LauModIndPartWave::setKnotAmp.

Parameters
[in]massthe mass at which the knot is placed
[in]magValthe value of the magnitude at the knot
[in]phaseValthe value of the phase at the knot
[in]fixMagwhether the magnitude parameter should be fixed at the knot (default is false)
[in]fixPhasewhether the phase parameter should be fixed at the knot (default is false)

Definition at line 96 of file LauModIndPartWave.cc.

const std::vector< LauParameter * > & LauModIndPartWave::getFloatingParameters ( )
virtual

Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.

Returns
floating parameters of the resonance

Reimplemented from LauAbsResonance.

Definition at line 231 of file LauModIndPartWave.cc.

virtual LauAbsResonance::LauResonanceModel LauModIndPartWave::getResonanceModel ( ) const
inlinevirtual

Get the resonance model type.

Returns
the resonance model type

Implements LauAbsResonance.

Definition at line 76 of file LauModIndPartWave.hh.

void LauModIndPartWave::initialise ( )
virtual

Initialise the model.

Implements LauAbsResonance.

Definition at line 67 of file LauModIndPartWave.cc.

LauComplex LauModIndPartWave::resAmp ( Double_t  mass,
Double_t  spinTerm 
)
protectedvirtual

Complex resonant amplitude.

Parameters
[in]massappropriate invariant mass for the resonance
[in]spinTermZemach spin term

Implements LauAbsResonance.

Definition at line 197 of file LauModIndPartWave.cc.

void LauModIndPartWave::setKnotAmp ( Int_t  knot,
Double_t  magVal,
Double_t  phaseVal,
Bool_t  fixMag,
Bool_t  fixPhase 
)

Set the magnitude and phase at a given knot.

The knot at the upper (lower) kinematic threshold can be accessed as knot -1 (0)

Parameters
[in]knotthe knot to be updated
[in]magValthe value of the magnitude at the knot
[in]phaseValthe value of the phase at the knot
[in]fixMagwhether the magnitude parameter should be fixed at the knot
[in]fixPhasewhether the phase parameter should be fixed at the knot

Definition at line 152 of file LauModIndPartWave.cc.

Member Data Documentation

Bool_t LauModIndPartWave::fixUpperThresholdMag_
private

Whether the magnitude should be fixed for the knot at the upper kinematic threshold.

Definition at line 121 of file LauModIndPartWave.hh.

Bool_t LauModIndPartWave::fixUpperThresholdPhase_
private

Whether the phase should be fixed for the knot at the upper kinematic threshold.

Definition at line 123 of file LauModIndPartWave.hh.

Bool_t LauModIndPartWave::initialised_
private

Flag to identify whether the model has been intialised yet.

Definition at line 114 of file LauModIndPartWave.hh.

std::vector<LauParameter*> LauModIndPartWave::magnitudePars_
private

The parameters for the values at the knots in the magnitude spline.

Definition at line 109 of file LauModIndPartWave.hh.

std::vector<Double_t> LauModIndPartWave::magnitudes_
private

The values of the magnitude spline at the knots.

Definition at line 104 of file LauModIndPartWave.hh.

TSpline3* LauModIndPartWave::magSpline_
private

The spline used to calculate the magnitude at a given mass.

Definition at line 94 of file LauModIndPartWave.hh.

std::vector<Double_t> LauModIndPartWave::masses_
private

The masses at which knots are defined in the magnitude and phase splines.

Definition at line 102 of file LauModIndPartWave.hh.

Int_t LauModIndPartWave::nKnots_
private

The number of knots in the magnitude and phase splines.

Definition at line 99 of file LauModIndPartWave.hh.

std::vector<LauParameter*> LauModIndPartWave::phasePars_
private

The parameters for the values at the knots in the phase spline.

Definition at line 111 of file LauModIndPartWave.hh.

std::vector<Double_t> LauModIndPartWave::phases_
private

The values of the phase spline at the knots.

Definition at line 106 of file LauModIndPartWave.hh.

TSpline3* LauModIndPartWave::phaseSpline_
private

The spline used to calculate the phase at a given mass.

Definition at line 96 of file LauModIndPartWave.hh.

Double_t LauModIndPartWave::upperThresholdMag_
private

Magnitude for the knot at the upper kinematic threshold.

Definition at line 117 of file LauModIndPartWave.hh.

Double_t LauModIndPartWave::upperThresholdPhase_
private

Phase for the knot at the upper kinematic threshold.

Definition at line 119 of file LauModIndPartWave.hh.


The documentation for this class was generated from the following files: