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

Class for defining a model independent partial wave component where the amplitudes are parameterised in terms of magnitude and phase. More...

#include <LauModIndPartWaveMagPhase.hh>

Inheritance diagram for LauModIndPartWaveMagPhase:
LauAbsModIndPartWave LauAbsResonance

Public Member Functions

 LauModIndPartWaveMagPhase (LauResonanceInfo *resInfo, Int_t resPairAmpInt, const LauDaughters *daughters)
 Constructor. More...
 
virtual ~LauModIndPartWaveMagPhase ()
 Destructor.
 
virtual void setKnotAmp (const UInt_t knot, const Double_t magVal, const Double_t phaseVal, const Bool_t fixMagnitude, const Bool_t fixPhase)
 Set the values of the two real parameters that define the amplitude at a given knot. More...
 
void setType (Lau1DCubicSpline::LauSplineType magType, Lau1DCubicSpline::LauSplineType phaseType)
 Method to set the type of interpolation used for the splines. More...
 
void setBoundaryConditions (Lau1DCubicSpline::LauSplineBoundaryType magLeftBound, Lau1DCubicSpline::LauSplineBoundaryType magRightBound, Lau1DCubicSpline::LauSplineBoundaryType phaseLeftBound, Lau1DCubicSpline::LauSplineBoundaryType phaseRightBound, Double_t magLeftGrad=0.0, Double_t magRightGrad=0.0, Double_t phaseLeftGrad=0.0, Double_t phaseRightGrad=0.0)
 Method to set the boundary conditions of the splines. More...
 
virtual LauAbsResonance::LauResonanceModel getResonanceModel () const
 Get the resonance model type. More...
 
- Public Member Functions inherited from LauAbsModIndPartWave
 LauAbsModIndPartWave (LauResonanceInfo *resInfo, Int_t resPairAmpInt, const LauDaughters *daughters)
 Constructor. More...
 
virtual ~LauAbsModIndPartWave ()
 Destructor.
 
virtual void initialise ()
 Initialise the model.
 
void defineKnots (const std::set< Double_t > &masses)
 Define the knot positions. More...
 
UInt_t nKnots () const
 Return the number of knots that have been defined (including those at the upper and lower kinematic limits) More...
 
void floatKnotsSecondStage (const Bool_t secondStage)
 Set whether the parameters should be floated only in the second-stage of a two-stage fit. More...
 
Bool_t floatKnotsSecondStage () const
 Retrieve the value of the second stage flag.
 
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, const Int_t resSpin)
 Constructor (for use by K-matrix components) More...
 
virtual ~LauAbsResonance ()
 Destructor.
 
virtual LauComplex amplitude (const LauKinematics *kinematics)
 Calculate the complex amplitude. More...
 
LauSpinType getSpinType () const
 Get the spin type. 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...
 
virtual Bool_t preSymmetrised () const
 Is the amplitude pre-symmetrised? 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 momenta flag. More...
 
Bool_t ignoreSpin () const
 Get the ignore spin flag. More...
 
void ignoreSpin (const Bool_t boolean)
 Set the ignore spin flag. More...
 
Bool_t ignoreBarrierScaling () const
 Get the ignore barrier factor scaling flag. More...
 
void ignoreBarrierScaling (const Bool_t boolean)
 Set the ignore barrier factor scaling 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 setSpinType (const LauSpinType spinType)
 Set the spin formalism to be used. 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.
 
Bool_t fixResRadius () const
 Get the status of resonance barrier radius (fixed or released)
 
Bool_t fixParRadius () const
 Get the status of parent barrier radius (fixed or released)
 
Double_t getResRadius () const
 Get the radius of the resonance barrier factor.
 
Double_t getParRadius () const
 Get the radius of the parent barrier factor.
 

Protected Member Functions

virtual void evaluateAmplitude (const Double_t mass)
 Evaluate the amplitude at the given point from the splines. More...
 
virtual void createAmpParameters (const UInt_t iKnot)
 Method to create the parameter objects for the given knot. More...
 
- Protected Member Functions inherited from LauAbsModIndPartWave
virtual LauComplex resAmp (Double_t mass, Double_t spinTerm)
 Complex resonant amplitude. More...
 
virtual std::set< Double_t > checkKnots (const std::set< Double_t > &masses)
 Method to check that the supplied knot positions are valid. More...
 
void setSplineType (Lau1DCubicSpline::LauSplineType type1, Lau1DCubicSpline::LauSplineType type2)
 Method to set the type of interpolation used for the splines. More...
 
void setSplineBoundaryConditions (Lau1DCubicSpline::LauSplineBoundaryType leftBound1, Lau1DCubicSpline::LauSplineBoundaryType rightBound1, Lau1DCubicSpline::LauSplineBoundaryType leftBound2, Lau1DCubicSpline::LauSplineBoundaryType rightBound2, Double_t leftGrad1=0.0, Double_t rightGrad1=0.0, Double_t leftGrad2=0.0, Double_t rightGrad2=0.0)
 Method to set the boundary conditions of the splines. More...
 
void setAmp (const Double_t realPart, const Double_t imagPart)
 Helper function to set the current amplitude value. More...
 
const std::vector< Double_t > & getMasses ()
 Helper function to access the masses.
 
std::vector< Double_t > & getAmp1Vals ()
 Helper function to access the 1st parameter set.
 
std::vector< Double_t > & getAmp2Vals ()
 Helper function to access the 2nd parameter set.
 
std::vector< LauParameter * > & getAmp1Pars ()
 Helper function to access the 1st parameter set.
 
std::vector< LauParameter * > & getAmp2Pars ()
 Helper function to access the 2nd parameter set.
 
const Lau1DCubicSplinegetSpline1 () const
 Helper function to access the 1st spline.
 
const Lau1DCubicSplinegetSpline2 () const
 Helper function to access the 1st spline.
 
- Protected Member Functions inherited from LauAbsResonance
TString getNameParent () const
 Get the name of the parent particle.
 
TString getNameDaug1 () const
 Get the name of the first daughter of the resonance.
 
TString getNameDaug2 () const
 Get the name of the second daughter of the resonance.
 
TString getNameBachelor () const
 Get the name of the daughter that does not originate form the resonance.
 
Double_t getMassParent () const
 Get the parent particle mass.
 
Double_t getMassDaug1 () const
 Get the mass of daughter 1.
 
Double_t getMassDaug2 () const
 Get the mass of daughter 2.
 
Double_t getMassBachelor () const
 Get the mass of the bachelor daughter.
 
Int_t getChargeParent () const
 Get the Charge of the parent particle.
 
Int_t getChargeDaug1 () const
 Get the charge of daughter 1.
 
Int_t getChargeDaug2 () const
 Get the charge of daughter 2.
 
Int_t getChargeBachelor () const
 Get the charge of the bachelor daughter.
 
Double_t getQ () const
 Get the current value of the daughter momentum in the resonance rest frame.
 
Double_t getP () const
 Get the current value of the bachelor momentum in the resonance rest frame.
 
Double_t getPstar () const
 Get the current value of the bachelor momentum in the parent rest frame.
 
Double_t getCovFactor () const
 Get the current value of the full spin-dependent covariant factor.
 
LauBlattWeisskopfFactorgetParBWFactor ()
 Get the centrifugal barrier for the parent decay.
 
const LauBlattWeisskopfFactorgetParBWFactor () const
 Get the centrifugal barrier for the parent decay.
 
LauBlattWeisskopfFactorgetResBWFactor ()
 Get the centrifugal barrier for the resonance decay.
 
const LauBlattWeisskopfFactorgetResBWFactor () const
 Get the centrifugal barrier for the resonance decay.
 
LauResonanceInfogetResInfo () const
 Access the resonance info object.
 
const LauDaughtersgetDaughters () const
 Access the daughters object.
 
Double_t calcZemachSpinFactor (const Double_t pProd) const
 Calculate the amplitude spin term using the Zemach tensor formalism. More...
 
Double_t calcCovSpinFactor (const Double_t pProd)
 Calculate the amplitude spin term using the covariant tensor formalism. More...
 
void calcCovFactor (const Double_t erm)
 Calculate the spin-dependent covariant factor. More...
 
Double_t calcLegendrePoly () const
 Calculate the Legendre polynomial for the spin factor. More...
 
Double_t calcLegendrePoly (const Double_t cosHel)
 Calculate the Legendre polynomial for the spin factor (specifying the cosHel value) More...
 
void clearFloatingParameters ()
 Clear list of floating parameters.
 
void addFloatingParameter (LauParameter *param)
 Add parameter to the list of floating parameters. More...
 
std::vector< LauParameter * > & getParameters ()
 Access the list of floating parameters.
 

Additional Inherited Members

- Public Types inherited from LauAbsResonance
enum  LauResonanceModel {
  BW, RelBW, GS, Flatte,
  Sigma, Kappa, Dabba, LASS,
  LASS_BW, LASS_NR, EFKLLM, KMatrix,
  FlatNR, NRModel, BelleNR, PowerLawNR,
  BelleSymNR, BelleSymNRNoInter, TaylorNR, PolNR,
  Pole, PolarFFNR, PolarFFSymNR, PolarFFSymNRNoInter,
  Rescattering, Rescattering2, RescatteringNoInter, MIPW_MagPhase,
  MIPW_RealImag, GaussIncoh, RhoOmegaMix_GS, RhoOmegaMix_RBW,
  RhoOmegaMix_GS_1, RhoOmegaMix_RBW_1
}
 Define the allowed resonance types. More...
 
enum  LauSpinType { Zemach_P, Zemach_Pstar, Covariant, Legendre }
 Define the allowed spin formalisms. More...
 
- Static Public Member Functions inherited from LauAbsResonance
static bool isIncoherentModel (LauResonanceModel model)
 Is the resonance model incoherent? More...
 

Detailed Description

Class for defining a model independent partial wave component where the amplitudes are parameterised in terms of magnitude and phase.

This model uses splines to produce a partial wave from the magnitude and phase values of the amplitude at a series of points in the phase space. The magnitude and phase at each point can be floated in the fit.

Definition at line 44 of file LauModIndPartWaveMagPhase.hh.

Constructor & Destructor Documentation

◆ LauModIndPartWaveMagPhase()

LauModIndPartWaveMagPhase::LauModIndPartWaveMagPhase ( 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 39 of file LauModIndPartWaveMagPhase.cc.

Member Function Documentation

◆ createAmpParameters()

void LauModIndPartWaveMagPhase::createAmpParameters ( const UInt_t  iKnot)
protectedvirtual

Method to create the parameter objects for the given knot.

Parameters
[in]iKnotthe index of the knot

Implements LauAbsModIndPartWave.

Definition at line 50 of file LauModIndPartWaveMagPhase.cc.

◆ evaluateAmplitude()

void LauModIndPartWaveMagPhase::evaluateAmplitude ( const Double_t  mass)
protectedvirtual

Evaluate the amplitude at the given point from the splines.

Parameters
[in]massappropriate invariant mass for the resonance

Implements LauAbsModIndPartWave.

Definition at line 148 of file LauModIndPartWaveMagPhase.cc.

◆ getResonanceModel()

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

Get the resonance model type.

Returns
the resonance model type

Implements LauAbsResonance.

Definition at line 118 of file LauModIndPartWaveMagPhase.hh.

◆ setBoundaryConditions()

void LauModIndPartWaveMagPhase::setBoundaryConditions ( Lau1DCubicSpline::LauSplineBoundaryType  magLeftBound,
Lau1DCubicSpline::LauSplineBoundaryType  magRightBound,
Lau1DCubicSpline::LauSplineBoundaryType  phaseLeftBound,
Lau1DCubicSpline::LauSplineBoundaryType  phaseRightBound,
Double_t  magLeftGrad = 0.0,
Double_t  magRightGrad = 0.0,
Double_t  phaseLeftGrad = 0.0,
Double_t  phaseRightGrad = 0.0 
)
inline

Method to set the boundary conditions of the splines.

Parameters
[in]magLeftBoundthe type of boundary condition for the left edge of the magnitude spline
[in]magRightBoundthe type of boundary condition for the right edge of the magnitude spline
[in]phaseLeftBoundthe type of boundary condition for the left edge of the phase spline
[in]phaseRightBoundthe type of boundary condition for the right edge of the phase spline
[in]magLeftGradthe gradient at the left edge of the magnitude spline if clamped
[in]magRightGradthe gradient at the right edge of the magnitude spline if clamped
[in]phaseLeftGradthe gradient at the left edge of the phase spline if clamped
[in]phaseRightGradthe gradient at the right edge of the phase spline if clamped

Definition at line 95 of file LauModIndPartWaveMagPhase.hh.

◆ setKnotAmp()

void LauModIndPartWaveMagPhase::setKnotAmp ( const UInt_t  knot,
const Double_t  magVal,
const Double_t  phaseVal,
const Bool_t  fixMagnitude,
const Bool_t  fixPhase 
)
virtual

Set the values of the two real parameters that define the amplitude at a given knot.

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]fixMagnitudewhether the magnitude should be fixed
[in]fixPhasewhether the phase should be fixed

Implements LauAbsModIndPartWave.

Definition at line 82 of file LauModIndPartWaveMagPhase.cc.

◆ setType()

void LauModIndPartWaveMagPhase::setType ( Lau1DCubicSpline::LauSplineType  magType,
Lau1DCubicSpline::LauSplineType  phaseType 
)
inline

Method to set the type of interpolation used for the splines.

Parameters
[in]magTypethe type of interpolation for the magnitude spline
[in]phaseTypethe type of interpolation for the phase spline

Definition at line 79 of file LauModIndPartWaveMagPhase.hh.


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