|
Laura++
3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
|
Abstract base class for defining a model independent partial wave component.
More...
#include <LauAbsModIndPartWave.hh>
|
| 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...
|
|
virtual void | setKnotAmp (const UInt_t knot, const Double_t ampVal1, const Double_t ampVal2, const Bool_t fixAmpVal1, const Bool_t fixAmpVal2)=0 |
| Set the values of the two real parameters that define the amplitude at a given knot. 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...
|
|
| 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...
|
|
virtual LauResonanceModel | getResonanceModel () const =0 |
| Get the resonance model type. 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...
|
|
LauParameter * | getMassPar () |
| Get the mass parameter of the resonance. More...
|
|
LauParameter * | getWidthPar () |
| 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 LauParameter * | getResonanceParameter (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.
|
|
|
virtual LauComplex | resAmp (Double_t mass, Double_t spinTerm) |
| Complex resonant amplitude. More...
|
|
virtual void | evaluateAmplitude (const Double_t mass)=0 |
| Evaluate the amplitude at the given point from the splines. More...
|
|
virtual std::set< Double_t > | checkKnots (const std::set< Double_t > &masses) |
| Method to check that the supplied knot positions are valid. More...
|
|
virtual void | createAmpParameters (const UInt_t iKnot)=0 |
| Method to create the parameter objects for the given knot. 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 Lau1DCubicSpline * | getSpline1 () const |
| Helper function to access the 1st spline.
|
|
const Lau1DCubicSpline * | getSpline2 () const |
| Helper function to access the 1st spline.
|
|
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.
|
|
LauBlattWeisskopfFactor * | getParBWFactor () |
| Get the centrifugal barrier for the parent decay.
|
|
const LauBlattWeisskopfFactor * | getParBWFactor () const |
| Get the centrifugal barrier for the parent decay.
|
|
LauBlattWeisskopfFactor * | getResBWFactor () |
| Get the centrifugal barrier for the resonance decay.
|
|
const LauBlattWeisskopfFactor * | getResBWFactor () const |
| Get the centrifugal barrier for the resonance decay.
|
|
LauResonanceInfo * | getResInfo () const |
| Access the resonance info object.
|
|
const LauDaughters * | getDaughters () 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.
|
|
|
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 bool | isIncoherentModel (LauResonanceModel model) |
| Is the resonance model incoherent? More...
|
|
Abstract base class for defining a model independent partial wave component.
Abstract base class for defining a model independent partial wave component. This model uses splines to produce a partial wave from two sets of real numbers that represent the amplitude at a series of points in the phase space. These real numbers at each point can be floated in the fit. Classes inheriting from this define whether these real numbers are e.g. the magnitude and phase or e.g. the real and imaginary part of the amplitude.
Definition at line 47 of file LauAbsModIndPartWave.hh.
◆ LauAbsModIndPartWave()
Constructor.
- Parameters
-
[in] | resInfo | the object containing information on the resonance name, mass, width, spin, charge, etc. |
[in] | resPairAmpInt | the number of the daughter not produced by the resonance |
[in] | daughters | the daughter particles |
Definition at line 38 of file LauAbsModIndPartWave.cc.
◆ checkKnots()
std::set< Double_t > LauAbsModIndPartWave::checkKnots |
( |
const std::set< Double_t > & |
masses | ) |
|
|
protectedvirtual |
Method to check that the supplied knot positions are valid.
- Parameters
-
[in] | masses | the mass values at which the knots are placed |
Definition at line 81 of file LauAbsModIndPartWave.cc.
◆ createAmpParameters()
virtual void LauAbsModIndPartWave::createAmpParameters |
( |
const UInt_t |
iKnot | ) |
|
|
protectedpure virtual |
◆ defineKnots()
void LauAbsModIndPartWave::defineKnots |
( |
const std::set< Double_t > & |
masses | ) |
|
Define the knot positions.
If absent from the set provided, knots are added automatically at the upper and lower kinematic limits
- Parameters
-
[in] | masses | the mass values at which the knots are placed |
Definition at line 124 of file LauAbsModIndPartWave.cc.
◆ evaluateAmplitude()
virtual void LauAbsModIndPartWave::evaluateAmplitude |
( |
const Double_t |
mass | ) |
|
|
protectedpure virtual |
◆ floatKnotsSecondStage()
void LauAbsModIndPartWave::floatKnotsSecondStage |
( |
const Bool_t |
secondStage | ) |
|
Set whether the parameters should be floated only in the second-stage of a two-stage fit.
By default, the parameters describing the amplitude at each knot will float from the outset of a fit. If, however, a good estimate of these is already known, it can be more efficient to initially fix them and then to float them only in a second stage (as is done for other resonance lineshape parameters). This function allows the toggling of this behaviour.
- Parameters
-
secondStage | whether the parameters should float only in the second stage |
Definition at line 65 of file LauAbsModIndPartWave.cc.
◆ getFloatingParameters()
const std::vector< LauParameter * > & LauAbsModIndPartWave::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 258 of file LauAbsModIndPartWave.cc.
◆ nKnots()
UInt_t LauAbsModIndPartWave::nKnots |
( |
| ) |
const |
|
inline |
Return the number of knots that have been defined (including those at the upper and lower kinematic limits)
- Returns
- the number of knots
Definition at line 78 of file LauAbsModIndPartWave.hh.
◆ resAmp()
LauComplex LauAbsModIndPartWave::resAmp |
( |
Double_t |
mass, |
|
|
Double_t |
spinTerm |
|
) |
| |
|
protectedvirtual |
◆ setAmp()
void LauAbsModIndPartWave::setAmp |
( |
const Double_t |
realPart, |
|
|
const Double_t |
imagPart |
|
) |
| |
|
inlineprotected |
Helper function to set the current amplitude value.
- Parameters
-
[in] | realPart | the real part of the amplitude |
[in] | imagPart | the imaginary part of the amplitude |
Definition at line 175 of file LauAbsModIndPartWave.hh.
◆ setKnotAmp()
virtual void LauAbsModIndPartWave::setKnotAmp |
( |
const UInt_t |
knot, |
|
|
const Double_t |
ampVal1, |
|
|
const Double_t |
ampVal2, |
|
|
const Bool_t |
fixAmpVal1, |
|
|
const Bool_t |
fixAmpVal2 |
|
) |
| |
|
pure virtual |
Set the values of the two real parameters that define the amplitude at a given knot.
- Parameters
-
[in] | knot | the knot to be updated |
[in] | ampVal1 | the value of first real parameter representing the amplitude at the knot |
[in] | ampVal2 | the value of second real parameter representing the amplitude at the knot |
[in] | fixAmpVal1 | whether the first real parameter should be fixed |
[in] | fixAmpVal2 | whether the second real parameter should be fixed |
Implemented in LauModIndPartWaveRealImag, and LauModIndPartWaveMagPhase.
◆ setSplineBoundaryConditions()
Method to set the boundary conditions of the splines.
- Parameters
-
[in] | leftBound1 | the type of boundary condition for the left edge of the first spline |
[in] | rightBound1 | the type of boundary condition for the right edge of the first spline |
[in] | leftBound2 | the type of boundary condition for the left edge of the second spline |
[in] | rightBound2 | the type of boundary condition for the right edge of the second spline |
[in] | leftGrad1 | the gradient at the left edge of the first spline if clamped |
[in] | rightGrad1 | the gradient at the right edge of the first spline if clamped |
[in] | leftGrad2 | the gradient at the left edge of the second spline if clamped |
[in] | rightGrad2 | the gradient at the right edge of the second spline if clamped |
Definition at line 238 of file LauAbsModIndPartWave.cc.
◆ setSplineType()
Method to set the type of interpolation used for the splines.
- Parameters
-
[in] | type1 | the type of interpolation for the first spline |
[in] | type2 | the type of interpolation for the second spline |
Definition at line 231 of file LauAbsModIndPartWave.cc.
The documentation for this class was generated from the following files:
|