Changeset View
Changeset View
Standalone View
Standalone View
inc/LauAbsResonance.hh
Show First 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | enum LauResonanceModel { | ||||
Flatte, /*!< Flatte or coupled-channel Breit-Wigner */ | Flatte, /*!< Flatte or coupled-channel Breit-Wigner */ | ||||
Sigma, /*!< special shape for the sigma or f_0(600) */ | Sigma, /*!< special shape for the sigma or f_0(600) */ | ||||
Kappa, /*!< special shape for the kappa, a low-mass Kpi scalar */ | Kappa, /*!< special shape for the kappa, a low-mass Kpi scalar */ | ||||
Dabba, /*!< special shape for the dabba, a low-mass Dpi scalar */ | Dabba, /*!< special shape for the dabba, a low-mass Dpi scalar */ | ||||
LASS, /*!< the LASS amplitude to describe the Kpi S-wave */ | LASS, /*!< the LASS amplitude to describe the Kpi S-wave */ | ||||
LASS_BW, /*!< the resonant part of the LASS amplitude */ | LASS_BW, /*!< the resonant part of the LASS amplitude */ | ||||
LASS_NR, /*!< the nonresonant part of the LASS amplitude */ | LASS_NR, /*!< the nonresonant part of the LASS amplitude */ | ||||
EFKLLM, /*!< a form-factor-based description of the Kpi S-wave */ | EFKLLM, /*!< a form-factor-based description of the Kpi S-wave */ | ||||
KMatrix, /*!< S-wave description using K-matrix and P-vector */ | KMatrix, /*!< description using K-matrix and P-vector */ | ||||
FlatNR, /*!< a uniform nonresonant amplitude */ | FlatNR, /*!< a uniform nonresonant amplitude */ | ||||
NRModel, /*!< a theoretical model nonresonant amplitude */ | NRModel, /*!< a theoretical model nonresonant amplitude */ | ||||
BelleNR, /*!< an empirical exponential nonresonant amplitude */ | BelleNR, /*!< an empirical exponential nonresonant amplitude */ | ||||
RescatterThreshold, /*!< a theoretical model to account for rescattering from a nearby-threshold channel */ | |||||
PowerLawNR, /*!< an empirical power law nonresonant amplitude */ | PowerLawNR, /*!< an empirical power law nonresonant amplitude */ | ||||
BelleSymNR, /*!< an empirical exponential nonresonant amplitude for symmetrised DPs */ | BelleSymNR, /*!< an empirical exponential nonresonant amplitude for symmetrised DPs */ | ||||
BelleSymNRNoInter, /*!< an empirical exponential nonresonant amplitude for symmetrised DPs without interference */ | BelleSymNRNoInter, /*!< an empirical exponential nonresonant amplitude for symmetrised DPs without interference */ | ||||
TaylorNR, /*!< an empirical Taylor expansion nonresonant amplitude for symmetrised DPs */ | TaylorNR, /*!< an empirical Taylor expansion nonresonant amplitude for symmetrised DPs */ | ||||
PolNR, /*!< an empirical polynomial nonresonant amplitude */ | PolNR, /*!< an empirical polynomial nonresonant amplitude */ | ||||
Pole, /*!< scalar Pole lineshape */ | Pole, /*!< scalar Pole lineshape */ | ||||
PolarFFNR, /*!< Polar Form Factor nonresonant amplitude */ | PolarFFNR, /*!< Polar Form Factor nonresonant amplitude */ | ||||
PolarFFSymNR, /*!< Polar Form Factor nonresonant amplitude for symmetrised DPs */ | PolarFFSymNR, /*!< Polar Form Factor nonresonant amplitude for symmetrised DPs */ | ||||
Show All 33 Lines | public: | ||||
*/ | */ | ||||
LauAbsResonance(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters); | LauAbsResonance(LauResonanceInfo* resInfo, const Int_t resPairAmpInt, const LauDaughters* daughters); | ||||
//! Constructor (for use by K-matrix components) | //! Constructor (for use by K-matrix components) | ||||
/*! | /*! | ||||
\param [in] resName the name of the component | \param [in] resName the name of the component | ||||
\param [in] resPairAmpInt the number of the daughter not produced by the resonance | \param [in] resPairAmpInt the number of the daughter not produced by the resonance | ||||
\param [in] daughters the daughter particles | \param [in] daughters the daughter particles | ||||
\param [in] resSpin the spin of the final channel into which the K-matrix scatters | |||||
*/ | */ | ||||
LauAbsResonance(const TString& resName, const Int_t resPairAmpInt, const LauDaughters* daughters); | LauAbsResonance(const TString& resName, const Int_t resPairAmpInt, const LauDaughters* daughters, const Int_t resSpin); | ||||
//! Destructor | //! Destructor | ||||
virtual ~LauAbsResonance(); | virtual ~LauAbsResonance(); | ||||
//! Initialise the model | //! Initialise the model | ||||
virtual void initialise() = 0; | virtual void initialise() = 0; | ||||
//! Calculate the complex amplitude | //! Calculate the complex amplitude | ||||
▲ Show 20 Lines • Show All 338 Lines • ▼ Show 20 Lines | class LauAbsResonance { | ||||
private: | private: | ||||
//! Copy constructor (not implemented) | //! Copy constructor (not implemented) | ||||
LauAbsResonance(const LauAbsResonance& rhs); | LauAbsResonance(const LauAbsResonance& rhs); | ||||
//! Copy assignment operator (not implemented) | //! Copy assignment operator (not implemented) | ||||
LauAbsResonance& operator=(const LauAbsResonance& rhs); | LauAbsResonance& operator=(const LauAbsResonance& rhs); | ||||
//! Information on the resonance | //! Information on the resonance | ||||
LauResonanceInfo* resInfo_; | LauResonanceInfo* resInfo_{0}; | ||||
//! Information on the particles | //! Information on the particles | ||||
const LauDaughters* daughters_; | const LauDaughters* daughters_; | ||||
//! Parent name | //! Parent name | ||||
TString nameParent_; | TString nameParent_{""}; | ||||
//! Daughter 1 name | //! Daughter 1 name | ||||
TString nameDaug1_; | TString nameDaug1_{""}; | ||||
//! Daughter 2 name | //! Daughter 2 name | ||||
TString nameDaug2_; | TString nameDaug2_{""}; | ||||
//! Bachelor name | //! Bachelor name | ||||
TString nameBachelor_; | TString nameBachelor_{""}; | ||||
//! Parent charge | //! Parent charge | ||||
Int_t chargeParent_; | Int_t chargeParent_{0}; | ||||
//! Daughter 1 charge | //! Daughter 1 charge | ||||
Int_t chargeDaug1_; | Int_t chargeDaug1_{0}; | ||||
//! Daughter 2 charge | //! Daughter 2 charge | ||||
Int_t chargeDaug2_; | Int_t chargeDaug2_{0}; | ||||
//! Bachelor charge | //! Bachelor charge | ||||
Int_t chargeBachelor_; | Int_t chargeBachelor_{0}; | ||||
//! Parent mass | //! Parent mass | ||||
Double_t massParent_; | Double_t massParent_{0.0}; | ||||
//! Daughter 1 mass | //! Daughter 1 mass | ||||
Double_t massDaug1_; | Double_t massDaug1_{0.0}; | ||||
//! Daughter 2 mass | //! Daughter 2 mass | ||||
Double_t massDaug2_; | Double_t massDaug2_{0.0}; | ||||
// Bachelor mass | // Bachelor mass | ||||
Double_t massBachelor_; | Double_t massBachelor_{0.0}; | ||||
//! Resonance name | //! Resonance name | ||||
TString resName_; | TString resName_; | ||||
//! Resonance name with illegal characters removed | //! Resonance name with illegal characters removed | ||||
TString sanitisedName_; | TString sanitisedName_; | ||||
//! Resonance mass | //! Resonance mass | ||||
LauParameter* resMass_; | LauParameter* resMass_{0}; | ||||
//! Resonance width | //! Resonance width | ||||
LauParameter* resWidth_; | LauParameter* resWidth_{0}; | ||||
//! All parameters of the resonance | //! All parameters of the resonance | ||||
std::vector<LauParameter*> resParameters_; | std::vector<LauParameter*> resParameters_; | ||||
//! Resonance spin | //! Resonance spin | ||||
Int_t resSpin_; | Int_t resSpin_; | ||||
//! Resonance charge | //! Resonance charge | ||||
Int_t resCharge_; | Int_t resCharge_{0}; | ||||
//! DP axis identifier | //! DP axis identifier | ||||
Int_t resPairAmpInt_; | Int_t resPairAmpInt_; | ||||
//! Blatt Weisskopf barrier for parent decay | //! Blatt Weisskopf barrier for parent decay | ||||
LauBlattWeisskopfFactor* parBWFactor_; | LauBlattWeisskopfFactor* parBWFactor_{0}; | ||||
//! Blatt Weisskopf barrier for resonance decay | //! Blatt Weisskopf barrier for resonance decay | ||||
LauBlattWeisskopfFactor* resBWFactor_; | LauBlattWeisskopfFactor* resBWFactor_{0}; | ||||
//! Spin formalism | //! Spin formalism | ||||
LauSpinType spinType_; | LauSpinType spinType_{Zemach_P}; | ||||
//! Boolean to flip helicity | //! Boolean to flip helicity | ||||
Bool_t flipHelicity_; | Bool_t flipHelicity_{kFALSE}; | ||||
//! Boolean to ignore the momentum factors in both the spin factor and the mass-dependent width | //! Boolean to ignore the momentum factors in both the spin factor and the mass-dependent width | ||||
Bool_t ignoreMomenta_; | Bool_t ignoreMomenta_{kFALSE}; | ||||
//! Boolean to set the spinTerm to unity always | //! Boolean to set the spinTerm to unity always | ||||
Bool_t ignoreSpin_; | Bool_t ignoreSpin_{kFALSE}; | ||||
//! Boolean to ignore barrier factor scaling in the amplitude numerator, they are still used for the mass-dependent width | //! Boolean to ignore barrier factor scaling in the amplitude numerator, they are still used for the mass-dependent width | ||||
Bool_t ignoreBarrierScaling_; | Bool_t ignoreBarrierScaling_{kFALSE}; | ||||
// Event kinematics information | // Event kinematics information | ||||
//! Invariant mass | //! Invariant mass | ||||
Double_t mass_; | Double_t mass_{0.0}; | ||||
//! Helicity angle cosine | //! Helicity angle cosine | ||||
Double_t cosHel_; | Double_t cosHel_{0.0}; | ||||
//! Daughter momentum in resonance rest frame | //! Daughter momentum in resonance rest frame | ||||
Double_t q_; | Double_t q_{0.0}; | ||||
//! Bachelor momentum in resonance rest frame | //! Bachelor momentum in resonance rest frame | ||||
Double_t p_; | Double_t p_{0.0}; | ||||
//! Bachelor momentum in parent rest frame | //! Bachelor momentum in parent rest frame | ||||
Double_t pstar_; | Double_t pstar_{0.0}; | ||||
//! Covariant factor | //! Covariant factor | ||||
/*! | /*! | ||||
sqrt(1 + z*z), where z = p / mParent | sqrt(1 + z*z), where z = p / mParent | ||||
Can also be expressed as E_ij in the parent rest-frame divided by m_ij - indeed this is how LauKinematics calculates it. | Can also be expressed as E_ij in the parent rest-frame divided by m_ij - indeed this is how LauKinematics calculates it. | ||||
\see LauKinematics::getcov12 | \see LauKinematics::getcov12 | ||||
\see LauKinematics::getcov13 | \see LauKinematics::getcov13 | ||||
\see LauKinematics::getcov23 | \see LauKinematics::getcov23 | ||||
*/ | */ | ||||
Double_t erm_; | Double_t erm_{1.0}; | ||||
//! Covariant factor (full spin-dependent expression) | //! Covariant factor (full spin-dependent expression) | ||||
Double_t covFactor_; | Double_t covFactor_{1.0}; | ||||
ClassDef(LauAbsResonance,0) // Abstract resonance class | ClassDef(LauAbsResonance,0) // Abstract resonance class | ||||
}; | }; | ||||
#endif | #endif |