File indexing completed on 2026-08-06 09:20:08
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVTWILSONCOEFICIENTS_HH
0022 #define EVTWILSONCOEFICIENTS_HH
0023
0024 #include "EvtGenBase/EvtComplex.hh"
0025
0026
0027
0028
0029
0030
0031
0032
0033 class EvtWilsonCoefficients {
0034 public:
0035 EvtWilsonCoefficients();
0036
0037
0038
0039 double alphaS( double mu, int n_f, double Lambda );
0040
0041 double Lambda( double alpha, int n_f, double mu, double epsilon, int maxstep );
0042
0043 double eta( double mu, int n_f, double Lambda, double M_W );
0044
0045
0046 EvtComplex C1( double mu, int n_f, double Lambda, double M_W );
0047 EvtComplex C2( double mu, int n_f, double Lambda, double M_W );
0048 EvtComplex C3( double mu, int n_f, double Lambda, double M_W );
0049 EvtComplex C4( double mu, int n_f, double Lambda, double M_W );
0050 EvtComplex C5( double mu, int n_f, double Lambda, double M_W );
0051 EvtComplex C6( double mu, int n_f, double Lambda, double M_W );
0052
0053 EvtComplex C7( double M_t, double M_W );
0054 EvtComplex C8( double M_t, double M_W );
0055 EvtComplex C7eff0( double mu, int n_f, double Lambda, double M_t, double M_W );
0056 EvtComplex C8eff0( double mu, int n_f, double Lambda, double M_t, double M_W );
0057
0058 EvtComplex C10tilda( double sin2W, double M_t, double M_W );
0059 EvtComplex C10( double sin2W, double M_t, double M_W, double ialpha );
0060
0061 double PE( double mu, int n_f, double Lambda, double M_W );
0062 EvtComplex P0( int ksi, double mu, int n_f, double Lambda, double M_W );
0063 EvtComplex C9tilda( int ksi, double mu, int n_f, double Lambda,
0064 double sin2W, double M_t, double M_W );
0065 EvtComplex C9( int ksi, double mu, int n_f, double Lambda, double sin2W,
0066 double M_t, double M_W, double ialpha );
0067
0068
0069 double A( double x );
0070 double B( double x );
0071 double C( double x );
0072 double D( double x );
0073 double E( double x );
0074 double F( double x );
0075 double Y( double x );
0076 double Z( double x );
0077
0078
0079 EvtComplex hzs( double z, double shat, double mu, double M_b );
0080 double fz( double z );
0081 double kappa( double z, double alpha_S );
0082 double etatilda( double shat, double alpha_S );
0083 double omega( double shat );
0084 EvtComplex C9efftilda( double z, double shat, double alpha_S, EvtComplex c1,
0085 EvtComplex c2, EvtComplex c3, EvtComplex c4,
0086 EvtComplex c5, EvtComplex c6, EvtComplex c9tilda,
0087 int ksi );
0088 EvtComplex C7b2sg( double alpha_S, double et, EvtComplex c2, double M_t,
0089 double M_W );
0090 EvtComplex Yld( double q2, double ki[], double Gi[], double Mi[], int ni,
0091 EvtComplex c1, EvtComplex c2, EvtComplex c3, EvtComplex c4,
0092 EvtComplex c5, EvtComplex c6, double ialpha );
0093
0094
0095 void CalculateAllCoefficients();
0096
0097 void SetLambda( double lambda ) { m_Lambda = lambda; }
0098 void CalculateLambda( double epsilon, int maxstep )
0099 {
0100 m_Lambda = Lambda( m_alphaMZ, m_n_f, m_mu, epsilon, maxstep );
0101 }
0102 void SetStrongCouplingAtZMass( double alphaMZ ) { m_alphaMZ = alphaMZ; }
0103 void SetScale( double mu ) { m_mu = mu; }
0104 void SetNumberOfFlavours( int n_f ) { m_n_f = n_f; }
0105 void SetZMass( double M_Z ) { m_M_Z = M_Z; }
0106 void SetWMass( double M_W ) { m_M_W = M_W; }
0107 void SetTopMass( double M_t ) { m_M_t = M_t; }
0108 void SetSin2WeinbergAngle( double sin2W ) { m_sin2W = sin2W; }
0109 void SetInvElMagCoupling( double ialpha ) { m_ialpha = ialpha; }
0110 void SetRenormalizationScheme( std::string scheme );
0111
0112 double GetLambda() { return m_Lambda; }
0113 double GetStrongCouplingAtZMass() { return m_alphaMZ; }
0114 double GetStrongCouplingConst() { return m_alphaS; }
0115 double GetScale() { return m_mu; }
0116 int GetNumberOfFlavours() { return m_n_f; }
0117 int GetRenormSchemePar() { return m_ksi; }
0118 double GetZMass() { return m_M_Z; }
0119 double GetWMass() { return m_M_W; }
0120 double GetTopMass() { return m_M_t; }
0121 double GetSin2WeinbergAngle() { return m_sin2W; }
0122 double GetInvElMagCoupling() { return m_ialpha; }
0123 double GetEta() { return m_eta; }
0124
0125 double GetA() { return m_A; }
0126 double GetB() { return m_B; }
0127 double GetC() { return m_C; }
0128 double GetD() { return m_D; }
0129 double GetE() { return m_E; }
0130 double GetF() { return m_F; }
0131 double GetY() { return m_Y; }
0132 double GetZ() { return m_Z; }
0133 EvtComplex GetC1() { return m_C1; }
0134 EvtComplex GetC2() { return m_C2; }
0135 EvtComplex GetC3() { return m_C3; }
0136 EvtComplex GetC4() { return m_C4; }
0137 EvtComplex GetC5() { return m_C5; }
0138 EvtComplex GetC6() { return m_C6; }
0139 EvtComplex GetC7() { return m_C7; }
0140 EvtComplex GetC8() { return m_C8; }
0141 EvtComplex GetC9() { return m_C9; }
0142 EvtComplex GetC10() { return m_C10; }
0143 EvtComplex GetC7eff0() { return m_C7eff0; }
0144 EvtComplex GetC8eff0() { return m_C8eff0; }
0145 EvtComplex GetC9tilda() { return m_C9tilda; }
0146 EvtComplex GetC10tilda() { return m_C10tilda; }
0147 EvtComplex GetP0() { return m_P0; }
0148 double GetPE() { return m_PE; }
0149
0150 private:
0151 int m_n_f, m_ksi;
0152 double m_Lambda, m_alphaMZ, m_mu, m_M_Z, m_M_t, m_M_W, m_alphaS, m_eta,
0153 m_sin2W, m_ialpha;
0154 EvtComplex m_C1, m_C2, m_C3, m_C4, m_C5, m_C6, m_C7, m_C7eff0, m_C8,
0155 m_C8eff0, m_C9, m_C9tilda, m_C10, m_C10tilda, m_P0;
0156 double m_A, m_B, m_C, m_D, m_E, m_F, m_Y, m_Z, m_PE;
0157
0158 double k[6][8], a[8], h[8], p[8], r[2][8], s[8], q[8], g[8];
0159 };
0160
0161 #endif