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

Class for defining the rho-omega resonance mixing model. More...

#include <LauRhoOmegaMix.hh>

Inheritance diagram for LauRhoOmegaMix:
LauAbsResonance

Public Member Functions

 LauRhoOmegaMix (LauResonanceInfo *resInfo, const LauAbsResonance::LauResonanceModel resType, const Int_t resPairAmpInt, const LauDaughters *daughters)
 Constructor. More...
 
virtual ~LauRhoOmegaMix ()
 Destructor.
 
virtual void initialise ()
 Initialise the model.
 
void initialiseRho ()
 Initialise the rho resonance.
 
void initialiseOmega ()
 Initialise the omega resonance.
 
virtual LauComplex amplitude (const LauKinematics *kinematics)
 Get the complex dynamical amplitude. More...
 
virtual LauAbsResonance::LauResonanceModel getResonanceModel () const
 Get the resonance model type. 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...
 
virtual const std::vector< LauParameter * > & getFloatingParameters ()
 Retrieve the resonance parameters, e.g. so that they can be loaded into a fit. More...
 
void setWhichAmpSq (Int_t which)
 Set which rho/omega amplitude to calculate for FF.
 
- 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.
 
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...
 
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

void setmOmegaValue (const Double_t mOmega)
 Set the omega pole mass parameter. More...
 
Double_t getmOmegaValue () const
 Get the omega pole mass parameter value. More...
 
Bool_t fixmOmegaValue () const
 Fix the omega pole mass parameter value. More...
 
void setwOmegaValue (const Double_t wOmega)
 Set the omega pole width parameter. More...
 
Double_t getwOmegaValue () const
 Get the omega pole width parameter value. More...
 
Bool_t fixwOmegaValue () const
 Fix the omega pole width parameter value. More...
 
void setmagBValue (const Double_t magB)
 Set the omega B magnitude mixing parameter. More...
 
Double_t getmagBValue () const
 Get the omega B magnitude mixing parameter. More...
 
Bool_t fixmagBValue () const
 Fix the omega B magnitude mixing parameter value. More...
 
void setphiBValue (const Double_t phiB)
 Set the omega B phase mixing parameter. More...
 
Double_t getphiBValue () const
 Get the omega B phase mixing parameter. More...
 
Bool_t fixphiBValue () const
 Fix the omega B phase mixing parameter value. More...
 
void setdeltaValue (const Double_t delta)
 Set the omega mixing parameter delta. More...
 
Double_t getdeltaValue () const
 Get the omega mixing parameter delta. More...
 
Bool_t fixdeltaValue () const
 Fix the omega mixing parameter delta value. More...
 
virtual LauComplex resAmp (Double_t mass, Double_t spinTerm)
 This is not called, amplitude is used directly instead.
 
void checkDaughterTypes () const
 Check that both daughters are the same type of particle.
 
- 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.
 

Private Member Functions

 LauRhoOmegaMix (const LauRhoOmegaMix &rhs)
 Copy constructor (not implemented)
 
LauRhoOmegaMixoperator= (const LauRhoOmegaMix &rhs)
 Copy assignment operator (not implemented)
 

Private Attributes

LauAbsResonance::LauResonanceModel model_
 The model to use.
 
Double_t rhoMass_
 Previous value of the pole mass of the rho resonance.
 
Double_t rhoResRadius_
 Previous value of the barrier radius of the rho resonance.
 
Double_t rhoParRadius_
 Previous value of the parents barrier radius of the rho resonance.
 
LauParametermOmega_
 Pole mass of the omega contribution.
 
Double_t mOmega0_
 Initial default value of the omega pole mass from LauResonanceMaker.
 
Double_t mOmegaCur_
 Current value of the omega pole mass (floating or fixed)
 
LauParameterwOmega_
 Pole width of the omega contribution.
 
Double_t wOmega0_
 Initial default value of the omega pole width from LauResonanceMaker.
 
Double_t wOmegaCur_
 Current value of the omega pole mass (floating or fixed)
 
LauParametermagB_
 B magnitude parameter of the omega mixing contribution.
 
LauParameterphiB_
 B phase parameter of the omega mixing contribution.
 
LauParameterdelta_
 delta parameter of the omega mixing contribution
 
Bool_t useDenom_
 Boolean to specify if we want to use the denominator factor.
 
Bool_t doneFirstInit_
 Boolean to specify if we have performed the first initialisation.
 
LauAbsResonancerhoRes_
 Pointer to the rho (or first) resonance lineshape.
 
LauAbsResonanceomegaRes_
 Pointer to the omega (second) resonance lineshape.
 
Int_t whichAmpSq_
 Which amplitude to calculate for rho/omega fit fractions.
 

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 the rho-omega resonance mixing model.

Formulae from Paul Rensing thesis, SLAC Report 421 and Bill Dunwoodie's note http://www.slac.stanford.edu/~wmd/omega-rho_mixing/omega-rho_mixing.note

Definition at line 50 of file LauRhoOmegaMix.hh.

Constructor & Destructor Documentation

◆ LauRhoOmegaMix()

LauRhoOmegaMix::LauRhoOmegaMix ( LauResonanceInfo resInfo,
const LauAbsResonance::LauResonanceModel  resType,
const Int_t  resPairAmpInt,
const LauDaughters daughters 
)

Constructor.

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

Definition at line 40 of file LauRhoOmegaMix.cc.

Member Function Documentation

◆ amplitude()

LauComplex LauRhoOmegaMix::amplitude ( const LauKinematics kinematics)
virtual

Get the complex dynamical amplitude.

Parameters
[in]kinematicsthe kinematic variables of the current event
Returns
the complex amplitude

Reimplemented from LauAbsResonance.

Definition at line 275 of file LauRhoOmegaMix.cc.

◆ fixdeltaValue()

Bool_t LauRhoOmegaMix::fixdeltaValue ( ) const
inlineprotected

Fix the omega mixing parameter delta value.

Returns
kTRUE if the omega mixing parameter delta is fixed, kFALSE otherwise

Definition at line 208 of file LauRhoOmegaMix.hh.

◆ fixmagBValue()

Bool_t LauRhoOmegaMix::fixmagBValue ( ) const
inlineprotected

Fix the omega B magnitude mixing parameter value.

Returns
kTRUE if the omega B magnitude mixing parameter is fixed, kFALSE otherwise

Definition at line 172 of file LauRhoOmegaMix.hh.

◆ fixmOmegaValue()

Bool_t LauRhoOmegaMix::fixmOmegaValue ( ) const
inlineprotected

Fix the omega pole mass parameter value.

Returns
kTRUE if the omega pole mass parameter is fixed, kFALSE otherwise

Definition at line 136 of file LauRhoOmegaMix.hh.

◆ fixphiBValue()

Bool_t LauRhoOmegaMix::fixphiBValue ( ) const
inlineprotected

Fix the omega B phase mixing parameter value.

Returns
kTRUE if the omega B phase mixing parameter is fixed, kFALSE otherwise

Definition at line 190 of file LauRhoOmegaMix.hh.

◆ fixwOmegaValue()

Bool_t LauRhoOmegaMix::fixwOmegaValue ( ) const
inlineprotected

Fix the omega pole width parameter value.

Returns
kTRUE if the omega pole width parameter is fixed, kFALSE otherwise

Definition at line 154 of file LauRhoOmegaMix.hh.

◆ floatResonanceParameter()

void LauRhoOmegaMix::floatResonanceParameter ( const TString &  name)
virtual

Allow the various parameters to float in the fit.

Parameters
[in]namethe name of the parameter to be floated

Reimplemented from LauAbsResonance.

Definition at line 440 of file LauRhoOmegaMix.cc.

◆ getdeltaValue()

Double_t LauRhoOmegaMix::getdeltaValue ( ) const
inlineprotected

Get the omega mixing parameter delta.

Returns
value of the omega mixing parameter delta

Definition at line 202 of file LauRhoOmegaMix.hh.

◆ getFloatingParameters()

const std::vector< LauParameter * > & LauRhoOmegaMix::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 366 of file LauRhoOmegaMix.cc.

◆ getmagBValue()

Double_t LauRhoOmegaMix::getmagBValue ( ) const
inlineprotected

Get the omega B magnitude mixing parameter.

Returns
value of the omega B magnitude mixing parameter

Definition at line 166 of file LauRhoOmegaMix.hh.

◆ getmOmegaValue()

Double_t LauRhoOmegaMix::getmOmegaValue ( ) const
inlineprotected

Get the omega pole mass parameter value.

Returns
value of the omega pole mass parameter

Definition at line 130 of file LauRhoOmegaMix.hh.

◆ getphiBValue()

Double_t LauRhoOmegaMix::getphiBValue ( ) const
inlineprotected

Get the omega B phase mixing parameter.

Returns
value of the omega B phase mixing parameter

Definition at line 184 of file LauRhoOmegaMix.hh.

◆ getResonanceModel()

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

Get the resonance model type.

Returns
the resonance model type

Implements LauAbsResonance.

Definition at line 88 of file LauRhoOmegaMix.hh.

◆ getResonanceParameter()

LauParameter * LauRhoOmegaMix::getResonanceParameter ( const TString &  name)
virtual

Access the given resonance parameter.

Parameters
[in]namethe name of the parameter
Returns
the corresponding parameter

Reimplemented from LauAbsResonance.

Definition at line 486 of file LauRhoOmegaMix.cc.

◆ getwOmegaValue()

Double_t LauRhoOmegaMix::getwOmegaValue ( ) const
inlineprotected

Get the omega pole width parameter value.

Returns
value of the omega pole width parameter

Definition at line 148 of file LauRhoOmegaMix.hh.

◆ setdeltaValue()

void LauRhoOmegaMix::setdeltaValue ( const Double_t  delta)
protected

Set the omega mixing parameter delta.

Parameters
[in]deltanew value for the omega mixing parameter delta

Definition at line 534 of file LauRhoOmegaMix.cc.

◆ setmagBValue()

void LauRhoOmegaMix::setmagBValue ( const Double_t  magB)
protected

Set the omega B magnitude mixing parameter.

Parameters
[in]magBnew value for the omega B magnitude mixing parameter

Definition at line 520 of file LauRhoOmegaMix.cc.

◆ setmOmegaValue()

void LauRhoOmegaMix::setmOmegaValue ( const Double_t  mOmega)
protected

Set the omega pole mass parameter.

Parameters
[in]mOmeganew value for the omega mass parameter

Definition at line 506 of file LauRhoOmegaMix.cc.

◆ setphiBValue()

void LauRhoOmegaMix::setphiBValue ( const Double_t  phiB)
protected

Set the omega B phase mixing parameter.

Parameters
[in]phiBnew value for the omega B phase mixing parameter

Definition at line 527 of file LauRhoOmegaMix.cc.

◆ setResonanceParameter()

void LauRhoOmegaMix::setResonanceParameter ( const TString &  name,
const Double_t  value 
)
virtual

Set value of the various parameters.

Parameters
[in]namethe name of the parameter to be changed
[in]valuethe new parameter value

Reimplemented from LauAbsResonance.

Definition at line 410 of file LauRhoOmegaMix.cc.

◆ setwOmegaValue()

void LauRhoOmegaMix::setwOmegaValue ( const Double_t  wOmega)
protected

Set the omega pole width parameter.

Parameters
[in]wOmeganew value for the omega width parameter

Definition at line 513 of file LauRhoOmegaMix.cc.


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