a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
EWSMThreeLoopQCD Class Reference

A class for \(O(\alpha\alpha_s^2)\) three-loop corrections to the EW precision observables. More...

#include <EWSMThreeLoopQCD.h>

Detailed Description

A class for \(O(\alpha\alpha_s^2)\) three-loop corrections to the EW precision observables.

Author
HEPfit Collaboration

This class handles three-loop QCD contributions of \(O(\alpha\alpha_s^2)\) to the following quantities, which are relevant to the EW precision observables:

  • \(\Delta\alpha_{\mathrm{lept}}(M_Z^2)\)   (with DeltaAlpha_l()),
  • \(\Delta\alpha_{\mathrm{top}}(M_Z^2)\)   (with DeltaAlpha_t()),
  • \(\Delta\rho\)       (with DeltaRho()),
  • \(\Delta r_{\mathrm{rem}}\)   (with DeltaR_rem()),
  • \(\delta\rho_{\mathrm{rem}}^{f}\)   (with deltaRho_rem_l() and deltaRho_rem_q()),
  • \(\delta\kappa_{\mathrm{rem}}^{f}\)   (with deltaKappa_rem_l() and deltaKappa_rem_q()).

See also the description of EWSM class for their definitions.

Definition at line 33 of file EWSMThreeLoopQCD.h.

Public Member Functions

double DeltaAlpha_l (const double s) const
 Leptonic contribution of \(O(\alpha\alpha_s^2)\) to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{lept}}^{\alpha\alpha_s^2}(s)\). More...
 
double DeltaAlpha_t (const double s) const
 Top-quark contribution of \(O(\alpha\alpha_s^2)\) to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{top}}^{\alpha\alpha_s^2}(s)\). More...
 
gslpp::complex deltaKappa_rem_f (const Particle f, const double Mw_i) const
 Remainder contribution of \(O(\alpha\alpha_s^2)\) to the effective couplings \(\kappa_Z^f\), denoted as \(\delta\kappa_{\mathrm{rem}}^{f,\, \alpha\alpha_s^2}\). More...
 
double DeltaR_rem (const double Mw_i) const
 Remainder contribution of \(O(\alpha\alpha_s^2)\) to \(\Delta r\), denoted as \(\Delta r_{\mathrm{rem}}^{\alpha\alpha_s^2}\). More...
 
double DeltaRho (const double Mw_i) const
 Leading three-loop QCD contribution of \(O(\alpha\alpha_s^2)\) to \(\Delta\rho\), denoted as \(\Delta\rho^{\alpha\alpha_s^2}\). More...
 
gslpp::complex deltaRho_rem_f (const Particle f, const double Mw_i) const
 Remainder contribution of \(O(\alpha\alpha_s^2)\) to the effective couplings \(\rho_Z^f\), denoted as \(\delta\rho_{\mathrm{rem}}^{f,\, \alpha\alpha_s^2}\). More...
 
 EWSMThreeLoopQCD (const EWSMcache &cache_i)
 Constructor. More...
 

Private Member Functions

double deltaQCD_3 (const double Mw_i) const
 The function \(\delta^{\mathrm{QCD}}_3\). More...
 
gslpp::complex deltaQCD_kappa3 (const double Mw_i) const
 The function \(\delta^{\mathrm{QCD}}_{\kappa, 3}\). More...
 

Private Attributes

const EWSMcachecache
 A reference to an object of type EWSMcache. More...
 

Constructor & Destructor Documentation

◆ EWSMThreeLoopQCD()

EWSMThreeLoopQCD::EWSMThreeLoopQCD ( const EWSMcache cache_i)

Constructor.

Parameters
[in]cache_ia reference to an object of type EWSMcache

Definition at line 10 of file EWSMThreeLoopQCD.cpp.

11 : cache(cache_i)
12 {
13 }

Member Function Documentation

◆ DeltaAlpha_l()

double EWSMThreeLoopQCD::DeltaAlpha_l ( const double  s) const

Leptonic contribution of \(O(\alpha\alpha_s^2)\) to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{lept}}^{\alpha\alpha_s^2}(s)\).

This contribution vanishes at \(O(\alpha\alpha_s^2)\).

Parameters
[in]sinvariant mass squared
Returns
\(\Delta\alpha_{\mathrm{lept}}^{\alpha\alpha_s^2}(s)=0\)

Definition at line 18 of file EWSMThreeLoopQCD.cpp.

19 {
20  return (0.0);
21 }

◆ DeltaAlpha_t()

double EWSMThreeLoopQCD::DeltaAlpha_t ( const double  s) const

Top-quark contribution of \(O(\alpha\alpha_s^2)\) to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{top}}^{\alpha\alpha_s^2}(s)\).

A simple numerical formula presented in [157] has been employed. See also [54], [62] and [61].

Parameters
[in]sinvariant mass squared
Returns
\(\Delta\alpha_{\mathrm{top}}^{\alpha\alpha_s^2}(s)\)

Definition at line 23 of file EWSMThreeLoopQCD.cpp.

24 {
25  double xt = s / cache.getSM().getMtpole() / cache.getSM().getMtpole();
26  double log_t, als;
27  if (s == cache.getSM().getMz() * cache.getSM().getMz()) {
28  log_t = 2.0 * cache.logMZtoMTOP();
29  als = cache.getSM().getAlsMz();
30  } else {
31  double mu = sqrt(s);
32  log_t = log(s / pow(cache.mf(cache.getSM().getQuarks(QCD::TOP), mu), 2.0));
33  als = cache.Als(sqrt(s), FULLNNLO);
34  }
35  double tmp = ((28.220 + 9.702 * log_t)
36  + xt * (6.924 + 1.594 * log_t))
37  * pow(als / M_PI, 2.0);
38  tmp *= -4.0 / 45.0 * cache.getSM().getAle() / M_PI*xt;
39  return tmp;
40 }

◆ deltaKappa_rem_f()

gslpp::complex EWSMThreeLoopQCD::deltaKappa_rem_f ( const Particle  f,
const double  Mw_i 
) const

Remainder contribution of \(O(\alpha\alpha_s^2)\) to the effective couplings \(\kappa_Z^f\), denoted as \(\delta\kappa_{\mathrm{rem}}^{f,\, \alpha\alpha_s^2}\).

The formula used here is given by

\[ \delta\kappa_{\mathrm{rem}}^{f,\alpha\alpha_s^2} = - 3\,X_t^\alpha \frac{c_W^2}{s_W^2} \biggl(\frac{\alpha_s(m_t^2)}{\pi}\biggr)^2 \bigl( \delta^{\mathrm{QCD}}_3 + \mathrm{Re}\,[\delta^{\mathrm{QCD}}_{\kappa,\,3}]\bigr), \]

where \(\delta^{\mathrm{QCD}}_3\) and \(\delta^{\mathrm{QCD}}_3\) are computed via deltaQCD_3() and deltaQCD_kappa3(), respectively. See [20], [57] and [60].

Parameters
[in]fa lepton or quark
[in]Mw_ithe \(W\)-boson mass
Returns
\(\delta\kappa_{\mathrm{rem}}^{f,\, \alpha\alpha_s^2}\)

Definition at line 72 of file EWSMThreeLoopQCD.cpp.

73 {
74  if (f.is("TOP"))
75  return ( gslpp::complex(0.0, 0.0, false));
76  else {
77  double Mw = Mw_i;
78  return ( -3.0 * cache.Xt_alpha(Mw) * cache.getSM().cW2(Mw) / cache.getSM().sW2(Mw)
79  * pow(cache.alsMt() / M_PI, 2.0)
81  }
82 }

◆ deltaQCD_3()

double EWSMThreeLoopQCD::deltaQCD_3 ( const double  Mw_i) const
private

The function \(\delta^{\mathrm{QCD}}_3\).

This function is associated with the leading three-loop QCD contribution of \(O(\alpha\alpha_s^2(m_t^2/M_Z^2+1+M_Z^2/m_t^2))\) to \(\Delta\rho\), as explained in the description of DeltaRho(). See [20], [57], [60] and Chapter 8 of [33].

Parameters
[in]Mw_ithe \(W\)-boson mass
Returns
\(\delta^{\mathrm{QCD}}_3\)

Definition at line 87 of file EWSMThreeLoopQCD.cpp.

88 {
89  double dQCD3;
90  double lZ = 2.0 * cache.logMZtoMTOP();
91  double Mw = Mw_i;
92  double sW2 = cache.getSM().sW2(Mw);
93  double log2 = cache.getLog2();
94  double zeta2 = cache.getZeta2();
95  double zeta3 = cache.getZeta3();
96  double zeta4 = cache.getZeta4();
97  double S2 = cache.getS2(), D3 = cache.getD3(), B4 = cache.getB4();
98  double MZtoMT = cache.getSM().getMz() / cache.getSM().getMtpole();
99  double nf = 6.0;
100  dQCD3 = 157.0 / 648.0 - 3313.0 / 162.0 * zeta2 - 308.0 / 27.0 * zeta3
101  + 143.0 / 18.0 * zeta4 - 4.0 / 3.0 * zeta2 * log2
102  + 441.0 / 8.0 * S2 - B4 / 9.0 - D3 / 18.0
103  - (1.0 / 18.0 - 13.0 / 9.0 * zeta2 + 4.0 / 9.0 * zeta3) * nf
104  + pow(MZtoMT, 2.0)
105  *(-17.224 + 0.08829 * lZ + 0.4722 * lZ * lZ
106  + (22.6367 + 1.2527 * lZ - 0.8519 * lZ * lZ) * sW2)
107  + pow(MZtoMT, 4.0)
108  *(-7.7781 - 0.07226 * lZ + 0.004938 * lZ * lZ
109  + (21.497 + 0.05794 * lZ - 0.006584 * lZ * lZ) * sW2
110  - 21.0799 * sW2 * sW2);
111  return dQCD3;
112 }

◆ deltaQCD_kappa3()

gslpp::complex EWSMThreeLoopQCD::deltaQCD_kappa3 ( const double  Mw_i) const
private

The function \(\delta^{\mathrm{QCD}}_{\kappa, 3}\).

The sum \(\delta^{\mathrm{QCD}}_3 + \delta^{\mathrm{QCD}}_{\kappa, 3}\) corresponds to the \(O(\alpha\alpha_s^2(m_t^2/M_Z^2+1+M_Z^2/m_t^2))\) contribution to \(\delta\kappa_{\mathrm{rem}}^{f}\). See the arXiv version of [60] (and also [20], [57] and Chapter 8 of [33]).

Parameters
[in]Mw_ithe \(W\)-boson mass
Returns
\(\delta^{\mathrm{QCD}}_{\kappa,3}\)

Definition at line 114 of file EWSMThreeLoopQCD.cpp.

115 {
116  gslpp::complex dQCDk3;
117  double lZ = 2.0 * cache.logMZtoMTOP();
118  double Mw = Mw_i;
119  double sW2 = cache.getSM().sW2(Mw);
120  double MZtoMT = cache.getSM().getMz() / cache.getSM().getMtpole();
121  dQCDk3.real() = -deltaQCD_3(Mw)
122  + pow(MZtoMT, 2.0)
123  *((22.6367 + 1.2527 * lZ - 0.8519 * lZ * lZ) * sW2
124  + (-11.3184 - 0.6263 * lZ + 0.4259 * lZ * lZ) * sW2)
125  + pow(MZtoMT, 4.0)
126  *((21.497 + 0.05794 * lZ - 0.006584 * lZ * lZ) * sW2
127  + (-16.0186 - 0.02897 * lZ + 0.003292 * lZ * lZ) * sW2
128  - 21.0799 * sW2 * sW2 + 10.54 * sW2 * sW2);
129  dQCDk3.imag() = pow(MZtoMT, 2.0)
130  *((-1.968 + 2.676 * lZ) * sW2
131  + (2.6235 - 3.5682 * lZ) * sW2 * sW2)
132  + pow(MZtoMT, 4.0)
133  *((-0.09102 + 0.02069 * lZ) * sW2
134  + (0.1214 - 0.02758 * lZ) * sW2 * sW2);
135  return dQCDk3;
136 }

◆ DeltaR_rem()

double EWSMThreeLoopQCD::DeltaR_rem ( const double  Mw_i) const

Remainder contribution of \(O(\alpha\alpha_s^2)\) to \(\Delta r\), denoted as \(\Delta r_{\mathrm{rem}}^{\alpha\alpha_s^2}\).

The three-loop remainder contribution of \(O(\alpha\alpha_s^2)\) is obtained from the \(O(\alpha)\) remainder contribution [135] :

\[ \Delta r_{\mathrm{rem},ud}^{\alpha} \biggl[1+\frac{\alpha_s(M_Z^2)}{\pi} + 1.4097\, \biggl(\frac{\alpha_s(M_Z^2)}{\pi}\biggr)^2\biggr] = \Delta r_{\mathrm{rem},ud}^{\alpha} + \Delta r_{\mathrm{rem}}^{\alpha\alpha_s} + \Delta r_{\mathrm{rem}}^{\alpha\alpha_s^2}, \]

where \(\Delta r_{\mathrm{rem},ud}^{\alpha}\) is the one-loop light-quark contribution to \(\Delta r_{\mathrm{rem}}^{\alpha}\) and given by

\[ \Delta r_{\mathrm{rem},ud}^{\alpha} = - \frac{\alpha}{\pi} \frac{c_W^2 - s_W^2}{4s_W^4}\,\ln c_W^2, \]

and the QCD corrections are associated with the \(R\) ratio (see, e.g., [27]):

\[ R = \frac{11}{3}\biggl[ 1 + \frac{\alpha_s(M_Z^2)}{\pi} + 1.4097\, \biggl(\frac{\alpha_s(M_Z^2)}{\pi}\biggr)^2 + \cdots \biggr]. \]

Parameters
[in]Mw_ithe \(W\)-boson mass
Returns
\(\Delta r_{\mathrm{rem}}^{\alpha\alpha_s^2}\)

Definition at line 48 of file EWSMThreeLoopQCD.cpp.

49 {
50  double Mw = Mw_i;
51  double sW2 = cache.getSM().sW2(Mw);
52  double cW2 = cache.getSM().cW2(Mw);
53 
54  /* Logarithm */
55  double log_cW2 = cache.log_cW2(Mw);
56 
57  // O(alpha_s) correction to Delta r^{ud} of O(alpha alpha_s).
58  double DeltaR;
59  DeltaR = -log_cW2;
60  DeltaR *= (cW2 - sW2) / 4.0 / sW2 / sW2;
61  DeltaR *= cache.getSM().getAle() * cache.getSM().getAlsMz() / M_PI / M_PI;
62  DeltaR *= 1.4097 * cache.getSM().getAlsMz() / M_PI;
63  return DeltaR;
64 }

◆ DeltaRho()

double EWSMThreeLoopQCD::DeltaRho ( const double  Mw_i) const

Leading three-loop QCD contribution of \(O(\alpha\alpha_s^2)\) to \(\Delta\rho\), denoted as \(\Delta\rho^{\alpha\alpha_s^2}\).

The formula used here is given by

\[ \Delta\rho^{\alpha\alpha_s^2} = 3\,X_t^\alpha\biggl(\frac{\alpha_s(m_t^2)}{\pi}\biggr)^2 \delta^{\mathrm{QCD}}_3, \]

where \(X_t^\alpha = \alpha\, m_t^2/(16\pi s_W^2 M_W^2)\), and \(\delta^{\mathrm{QCD}}_3\) is computed via deltaQCD_3(). See [20], [57], [60] and Chapter 8 of [33]. This quantity contributes to \(\Delta r\) and the \(Zf\bar{f}\) effective couplings \(\rho_Z^f\) and \(\kappa_Z^f\). See also the description of EWSM class.

Parameters
[in]Mw_ithe \(W\)-boson mass
Returns
\(\Delta\rho^{\alpha\alpha_s^2}\)

Definition at line 42 of file EWSMThreeLoopQCD.cpp.

43 {
44  double Mw = Mw_i;
45  return ( 3.0 * cache.Xt_alpha(Mw) * pow(cache.alsMt() / M_PI, 2.0) * deltaQCD_3(Mw));
46 }

◆ deltaRho_rem_f()

gslpp::complex EWSMThreeLoopQCD::deltaRho_rem_f ( const Particle  f,
const double  Mw_i 
) const

Remainder contribution of \(O(\alpha\alpha_s^2)\) to the effective couplings \(\rho_Z^f\), denoted as \(\delta\rho_{\mathrm{rem}}^{f,\, \alpha\alpha_s^2}\).

This contribution is not implemented, since it is tiny and negligible.

Parameters
[in]fa lepton or quark
[in]Mw_ithe \(W\)-boson mass
Returns
\(\delta\rho_{\mathrm{rem}}^{f,\, \alpha\alpha_s^2}=0\)

Definition at line 66 of file EWSMThreeLoopQCD.cpp.

67 {
68  if (f.is("TOP")) return ( gslpp::complex(0.0, 0.0, false));
69  return ( gslpp::complex(0.0, 0.0, false));
70 }

Member Data Documentation

◆ cache

const EWSMcache& EWSMThreeLoopQCD::cache
private

A reference to an object of type EWSMcache.

Definition at line 153 of file EWSMThreeLoopQCD.h.


The documentation for this class was generated from the following files:
StandardModel::cW2
virtual double cW2(const double Mw_i) const
The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as .
Definition: StandardModel.cpp:989
Particle::is
bool is(std::string name_i) const
Definition: Particle.cpp:23
StandardModel::getAlsMz
double getAlsMz() const
A get method to access the value of .
Definition: StandardModel.h:727
EWSMcache::getZeta3
double getZeta3() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:146
EWSMThreeLoopQCD::deltaQCD_kappa3
gslpp::complex deltaQCD_kappa3(const double Mw_i) const
The function .
Definition: EWSMThreeLoopQCD.cpp:114
EWSMThreeLoopQCD::cache
const EWSMcache & cache
A reference to an object of type EWSMcache.
Definition: EWSMThreeLoopQCD.h:153
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
EWSMcache::getZeta4
double getZeta4() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:155
EWSMcache::getB4
double getB4() const
A get method to access the constant .
Definition: EWSMcache.h:214
StandardModel::sW2
virtual double sW2(const double Mw_i) const
The square of the sine of the weak mixing angle in the on-shell scheme, denoted as .
Definition: StandardModel.cpp:1000
EWSMcache::getSM
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex::imag
const double & imag() const
Definition: gslpp_complex.cpp:59
QCD::TOP
Definition: QCD.h:328
EWSMcache::mf
double mf(const Particle f, const double mu=0.0, const orders order=FULLNNLO) const
The mass of an SM fermion.
Definition: EWSMcache.cpp:49
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
QCD::getMtpole
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:588
QCD::getQuarks
Particle getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:534
EWSMcache::Als
double Als(const double mu, const orders order) const
The strong coupling .
Definition: EWSMcache.h:366
EWSMcache::logMZtoMTOP
double logMZtoMTOP() const
A cache method.
Definition: EWSMcache.cpp:112
EWSMcache::getZeta2
double getZeta2() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:137
EWSMcache::log_cW2
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
StandardModel::getMz
double getMz() const
A get method to access the mass of the boson .
Definition: StandardModel.h:718
Mw
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex::real
const double & real() const
Definition: gslpp_complex.cpp:53
EWSMcache::getS2
double getS2() const
A get method to access the constant .
Definition: EWSMcache.h:180
EWSMcache::getD3
double getD3() const
A get method to access the constant .
Definition: EWSMcache.h:197
EWSMThreeLoopQCD::deltaQCD_3
double deltaQCD_3(const double Mw_i) const
The function .
Definition: EWSMThreeLoopQCD.cpp:87
EWSMcache::alsMt
double alsMt() const
The strong coupling at NNLO.
Definition: EWSMcache.h:378
FULLNNLO
Definition: OrderScheme.h:38
EWSMcache::getLog2
double getLog2() const
A get method to access the constant .
Definition: EWSMcache.h:223
EWSMcache::Xt_alpha
double Xt_alpha(const double Mw_i) const
The quantity with the coupling .
Definition: EWSMcache.h:355
StandardModel::getAle
double getAle() const
A get method to retrieve the fine-structure constant .
Definition: StandardModel.h:745