File indexing completed on 2026-08-06 09:20:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVT_ETALLPIPI_HH
0022 #define EVT_ETALLPIPI_HH
0023
0024 #include "EvtGenBase/EvtConst.hh"
0025 #include "EvtGenBase/EvtDecayProb.hh"
0026
0027 #include <string>
0028
0029 class EvtParticle;
0030
0031
0032
0033
0034 class EvtEtaLLPiPi : public EvtDecayProb {
0035 public:
0036 EvtEtaLLPiPi() = default;
0037
0038 void init() override;
0039 void initProbMax() override;
0040
0041 std::string getName() override;
0042 EvtDecayBase* clone() override;
0043
0044 void decay( EvtParticle* p ) override;
0045
0046 private:
0047 void updateMassPars( double mLep, double mPi );
0048
0049 double rhoWidth( double s, double m ) const;
0050
0051 double F0( double sLL, double sPiPi ) const;
0052
0053 double lambda( double a, double b, double c ) const;
0054
0055 double ampSquared( EvtParticle* p ) const;
0056
0057 double m_alpha{ 1.0 / 137.0 };
0058 double m_eSq{ 4.0 * EvtConst::pi * m_alpha };
0059 double m_fPi{ 0.0924 };
0060 double m_f8{ 1.3 * m_fPi };
0061 double m_f0{ 1.04 * m_fPi };
0062 double m_thetaMix{ 20.0 * EvtConst::pi / 180.0 };
0063 double m_mixSq{ 0.0 };
0064 double m_c1{ 1.0 };
0065 double m_c2{ 0.0 };
0066 double m_c3{ m_c1 - m_c2 };
0067 double m_par1{ 1.0 - ( 3.0 * ( m_c1 - m_c2 + m_c3 ) / 4.0 ) };
0068 double m_parLL{ 3.0 * ( m_c1 - m_c2 - m_c3 ) / 4.0 };
0069 double m_parPiPi{ 3.0 * m_c3 / 2.0 };
0070 double m_rhoMass{ 0.775 };
0071 double m_rhoMassSq{ m_rhoMass * m_rhoMass };
0072 double m_rhoGamma{ 0.149 };
0073 double m_lepMass{ 0.106 };
0074 double m_lepMassSq{ m_lepMass * m_lepMass };
0075 double m_piMass{ 0.140 };
0076 double m_piMassSq{ m_piMass * m_piMass };
0077 double m_4LepMassSq{ 4.0 * m_lepMassSq };
0078 double m_4PiMassSq{ 4.0 * m_piMassSq };
0079 };
0080
0081 #endif