laura is hosted by Hepforge, IPPP Durham
Laura++  v3r3
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. More...
 
virtual void initialise ()
 Initialise the model. More...
 
void initialiseRho ()
 Initialise the rho resonance. More...
 
void initialiseOmega ()
 Initialise the omega resonance. More...
 
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...
 
- 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...
 
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. 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

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. More...
 
void checkDaughterTypes () const
 Check that both daughters are the same type of particle. 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...
 
Double_t getCovFactor () const
 Get the current value of the full spin-dependent covariant factor. 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...
 
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. 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 Member Functions

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

Private Attributes

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

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,
  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 36 of file LauRhoOmegaMix.hh.

Constructor & Destructor Documentation

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 28 of file LauRhoOmegaMix.cc.

LauRhoOmegaMix::~LauRhoOmegaMix ( )
virtual

Destructor.

Definition at line 146 of file LauRhoOmegaMix.cc.

LauRhoOmegaMix::LauRhoOmegaMix ( const LauRhoOmegaMix rhs)
private

Copy constructor (not implemented)

Member Function Documentation

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 240 of file LauRhoOmegaMix.cc.

void LauRhoOmegaMix::checkDaughterTypes ( ) const
protected

Check that both daughters are the same type of particle.

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 194 of file LauRhoOmegaMix.hh.

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 156 of file LauRhoOmegaMix.hh.

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 118 of file LauRhoOmegaMix.hh.

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 175 of file LauRhoOmegaMix.hh.

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 137 of file LauRhoOmegaMix.hh.

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 391 of file LauRhoOmegaMix.cc.

Double_t LauRhoOmegaMix::getdeltaValue ( ) const
inlineprotected

Get the omega mixing parameter delta.

Returns
value of the omega mixing parameter delta

Definition at line 188 of file LauRhoOmegaMix.hh.

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 324 of file LauRhoOmegaMix.cc.

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 150 of file LauRhoOmegaMix.hh.

Double_t LauRhoOmegaMix::getmOmegaValue ( ) const
inlineprotected

Get the omega pole mass parameter value.

Returns
value of the omega pole mass parameter

Definition at line 112 of file LauRhoOmegaMix.hh.

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 169 of file LauRhoOmegaMix.hh.

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

Get the resonance model type.

Returns
the resonance model type

Implements LauAbsResonance.

Definition at line 72 of file LauRhoOmegaMix.hh.

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 432 of file LauRhoOmegaMix.cc.

Double_t LauRhoOmegaMix::getwOmegaValue ( ) const
inlineprotected

Get the omega pole width parameter value.

Returns
value of the omega pole width parameter

Definition at line 131 of file LauRhoOmegaMix.hh.

void LauRhoOmegaMix::initialise ( )
virtual

Initialise the model.

Implements LauAbsResonance.

Definition at line 150 of file LauRhoOmegaMix.cc.

void LauRhoOmegaMix::initialiseOmega ( )

Initialise the omega resonance.

Definition at line 174 of file LauRhoOmegaMix.cc.

void LauRhoOmegaMix::initialiseRho ( )

Initialise the rho resonance.

Definition at line 162 of file LauRhoOmegaMix.cc.

LauRhoOmegaMix& LauRhoOmegaMix::operator= ( const LauRhoOmegaMix rhs)
private

Copy assignment operator (not implemented)

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

This is not called, amplitude is used directly instead.

Implements LauAbsResonance.

Definition at line 317 of file LauRhoOmegaMix.cc.

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 474 of file LauRhoOmegaMix.cc.

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 462 of file LauRhoOmegaMix.cc.

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 450 of file LauRhoOmegaMix.cc.

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 468 of file LauRhoOmegaMix.cc.

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 367 of file LauRhoOmegaMix.cc.

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 456 of file LauRhoOmegaMix.cc.

Member Data Documentation

LauParameter* LauRhoOmegaMix::delta_
private

delta parameter of the omega mixing contribution

Definition at line 247 of file LauRhoOmegaMix.hh.

Bool_t LauRhoOmegaMix::doneFirstInit_
private

Boolean to specify if we have performed the first initialisation.

Definition at line 253 of file LauRhoOmegaMix.hh.

LauParameter* LauRhoOmegaMix::magB_
private

B magnitude parameter of the omega mixing contribution.

Definition at line 241 of file LauRhoOmegaMix.hh.

LauAbsResonance::LauResonanceModel LauRhoOmegaMix::model_
private

The model to use.

Definition at line 211 of file LauRhoOmegaMix.hh.

Double_t LauRhoOmegaMix::mOmega0_
private

Initial default value of the omega pole mass from LauResonanceMaker.

Definition at line 226 of file LauRhoOmegaMix.hh.

LauParameter* LauRhoOmegaMix::mOmega_
private

Pole mass of the omega contribution.

Definition at line 223 of file LauRhoOmegaMix.hh.

Double_t LauRhoOmegaMix::mOmegaCur_
private

Current value of the omega pole mass (floating or fixed)

Definition at line 229 of file LauRhoOmegaMix.hh.

LauAbsResonance* LauRhoOmegaMix::omegaRes_
private

Pointer to the omega (second) resonance lineshape.

Definition at line 259 of file LauRhoOmegaMix.hh.

LauParameter* LauRhoOmegaMix::phiB_
private

B phase parameter of the omega mixing contribution.

Definition at line 244 of file LauRhoOmegaMix.hh.

Double_t LauRhoOmegaMix::rhoMass_
private

Previous value of the pole mass of the rho resonance.

Definition at line 214 of file LauRhoOmegaMix.hh.

Double_t LauRhoOmegaMix::rhoParRadius_
private

Previous value of the parents barrier radius of the rho resonance.

Definition at line 220 of file LauRhoOmegaMix.hh.

LauAbsResonance* LauRhoOmegaMix::rhoRes_
private

Pointer to the rho (or first) resonance lineshape.

Definition at line 256 of file LauRhoOmegaMix.hh.

Double_t LauRhoOmegaMix::rhoResRadius_
private

Previous value of the barrier radius of the rho resonance.

Definition at line 217 of file LauRhoOmegaMix.hh.

Bool_t LauRhoOmegaMix::useDenom_
private

Boolean to specify if we want to use the denominator factor.

Definition at line 250 of file LauRhoOmegaMix.hh.

Double_t LauRhoOmegaMix::wOmega0_
private

Initial default value of the omega pole width from LauResonanceMaker.

Definition at line 235 of file LauRhoOmegaMix.hh.

LauParameter* LauRhoOmegaMix::wOmega_
private

Pole width of the omega contribution.

Definition at line 232 of file LauRhoOmegaMix.hh.

Double_t LauRhoOmegaMix::wOmegaCur_
private

Current value of the omega pole mass (floating or fixed)

Definition at line 238 of file LauRhoOmegaMix.hh.


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