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

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

#include <EWSMThreeLoopEW.h>

Detailed Description

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

Author
HEPfit Collaboration

This class handles three-loop EW contributions of \(O(\alpha^3)\) 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()),

where only \(\Delta\alpha_{\mathrm{lept}}(M_Z^2)\) and \(\Delta\rho\) are non-zero in the current class. See also the description of EWSM class for their definitions.

Definition at line 35 of file EWSMThreeLoopEW.h.

Public Member Functions

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

Private Attributes

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

Constructor & Destructor Documentation

◆ EWSMThreeLoopEW()

EWSMThreeLoopEW::EWSMThreeLoopEW ( const EWSMcache cache_i)

Constructor.

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

Definition at line 11 of file EWSMThreeLoopEW.cpp.

12: cache(cache_i)
13{
14}
const EWSMcache & cache
A reference to an object of type EWSMcache.

Member Function Documentation

◆ DeltaAlpha_l()

double EWSMThreeLoopEW::DeltaAlpha_l ( const double  s) const

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

The expressions used here can be found in [Steinhauser:1998rq].

Parameters
[in]sinvariant mass squared
Returns
\(\Delta\alpha_{\mathrm{lept}}^{\alpha^3}(s)\)
Attention
This function is valid in the limit of \(s\gg m_l^2\).

Definition at line 19 of file EWSMThreeLoopEW.cpp.

20{
21 double log_l[3];
22 if (s == cache.getSM().getMz() * cache.getSM().getMz()) {
23 log_l[0] = 2.0 * cache.logMZtoME();
24 log_l[1] = 2.0 * cache.logMZtoMMU();
25 log_l[2] = 2.0 * cache.logMZtoMTAU();
26 } else {
30 }
31
32 double threeLoop[3];
33 for (int i = 0; i < 3; i++) {
34 threeLoop[i] = -121.0 / 48.0 + (-5.0 + 8.0 * cache.getLog2()) * cache.getZeta2()
35 - 99.0 / 16.0 * cache.getZeta3() + 10.0 * cache.getZeta5()
36 + log_l[i] / 8.0;
37 for (int j = 0; j < 3; j++) {
38 if (i > j) { /* Pi^{(2)}_l */
39 threeLoop[i] += -116.0 / 27.0 + 4.0 / 3.0 * cache.getZeta2()
40 + 38.0 / 9.0 * cache.getZeta3() + 14.0 / 9.0 * log_l[i]
41 + (5.0 / 18.0 - 4.0 / 3.0 * cache.getZeta3()) * log_l[j]
42 + log_l[i] * log_l[i] / 6.0
43 - log_l[i] * log_l[j] / 3.0;
44 threeLoop[i] += M_PI * M_PI / 6.0;
45 } else if (i == j) { /* Pi^{(2)}_F */
46 threeLoop[i] += -307.0 / 216.0 - 8.0 / 3.0 * cache.getZeta2()
47 + 545.0 / 144.0 * cache.getZeta3()
48 + (11.0 / 6.0 - 4.0 / 3.0 * cache.getZeta3()) * log_l[i]
49 - log_l[i] * log_l[i] / 6.0;
50 threeLoop[i] += M_PI * M_PI / 6.0;
51 } else { /* Pi^{(2)}_h */
52 threeLoop[i] += -37.0 / 6.0 + 38.0 / 9.0 * cache.getZeta3()
53 + (11.0 / 6.0 - 4.0 / 3.0 * cache.getZeta3()) * log_l[j]
54 - log_l[j] * log_l[j] / 6.0;
55 threeLoop[i] += M_PI * M_PI / 6.0;
56 }
57 }
58 threeLoop[i] /= -4.0;
59 }
60
61 return ( pow(cache.getSM().getAle() / M_PI, 3.0)
62 *(threeLoop[0] + threeLoop[1] + threeLoop[2]));
63}
double logMZtoMTAU() const
A cache method.
Definition: EWSMcache.cpp:106
double logMZtoME() const
A cache method.
Definition: EWSMcache.cpp:78
double logMZtoMMU() const
A cache method.
Definition: EWSMcache.cpp:92
double getZeta5() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:164
double getZeta3() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:146
double getLog2() const
A get method to access the constant .
Definition: EWSMcache.h:223
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
double getZeta2() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:137
const StandardModel & getSM() const
Definition: EWSMcache.h:56
@ MU
Definition: QCD.h:314
@ ELECTRON
Definition: QCD.h:312
@ TAU
Definition: QCD.h:316
const Particle & getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
const double getMz() const
A get method to access the mass of the boson .
const double getAle() const
A get method to retrieve the fine-structure constant .
Test Observable.

◆ DeltaAlpha_t()

double EWSMThreeLoopEW::DeltaAlpha_t ( const double  s) const

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

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

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

Definition at line 65 of file EWSMThreeLoopEW.cpp.

66{
67 return (0.0);
68}

◆ deltaKappa_rem_f()

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

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

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\kappa_{\mathrm{rem}}^{f,\, \alpha^3}=0\)

Definition at line 120 of file EWSMThreeLoopEW.cpp.

121{
122 if (f.is("TOP")) return ( gslpp::complex(0.0, 0.0, false));
123 return ( gslpp::complex(0.0, 0.0, false));
124}
bool is(std::string name_i) const
Definition: Particle.cpp:23

◆ DeltaR_rem()

double EWSMThreeLoopEW::DeltaR_rem ( const double  Mw_i) const

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

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

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

Definition at line 109 of file EWSMThreeLoopEW.cpp.

110{
111 return (0.0);
112}

◆ DeltaRho()

double EWSMThreeLoopEW::DeltaRho ( const double  Mw_i) const

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

This function handles the leading three-loop EW contribution of \(O(\alpha^3 m_t^6/M_Z^6)\) to \(\Delta\rho\). Expressions are available for \(m_h=0\) in [vanderBij:2000cg] and for \(m_h\approx m_t\) and \(m_h\gg m_t\) in [Faisst:2003px].

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

Definition at line 70 of file EWSMThreeLoopEW.cpp.

71{
72 double Mw = Mw_i;
73 double mh = cache.getSM().getMHl();
74 double Mt = cache.getSM().getMtpole();
75 double DeltaRho;
76 if (mh == 0.0) {
77 DeltaRho = 3.0 * (68.0 + 729.0 * cache.getS2() + 36.0 * cache.getD3()
78 + 96.0 * cache.getZeta2() * cache.getLog2()
79 + 6.0 * cache.getZeta2() - 612.0 * cache.getZeta3()
80 + 324.0 * cache.getZeta4() - 72.0 * cache.getB4()
81 + 3.0 * (-6572.0 / 15.0 - 4374.0 / 5.0 * cache.getS2()
82 + 1472.0 / 15.0 * cache.getZeta2()
83 + 440.0 * cache.getZeta3()));
84 } else if (mh > 0.0 && mh <= 2.5 * Mt) {
85 double delta = mh / Mt - 1.0;
86 DeltaRho = 95.92 - 111.98 * delta + 8.099 * delta * delta
87 + 9.36 * pow(delta, 3.0) + 7.27 * pow(delta, 4.0)
88 - 15.60 * pow(delta, 5.0);
89 } else if (mh > 2.5 * Mt) {
90 double Y = 4.0 * pow(Mt / mh, 2.0);
91 double logY = 2.0 * (cache.getLog2() + cache.logMTOPtoMH());
92 double logY2 = logY*logY;
93 double logY3 = logY2*logY;
94 DeltaRho = 1.0 / Y * (-3.17 - 83.25 * logY)
95 - 189.93 - 231.48 * logY - 142.06 * logY2 + 2.75 * logY3
96 + Y * (-332.34 + 77.71 * logY - 68.67 * logY2 + 51.79 * logY3)
97 + Y * Y * (227.55 - 510.55 * logY + 87.77 * logY2 + 6.41 * logY3)
98 + Y * Y * Y * (-58.40 - 329.18 * logY + 20.42 * logY2 + 14.54 * logY3)
99 + Y * Y * Y * Y * (-36.14 - 381.88 * logY + 18.63 * logY2 + 15.04 * logY3)
100 + Y * Y * Y * Y * Y * (-39.08 - 416.36 * logY + 13.76 * logY2 + 17.19 * logY3);
101 } else {
102 throw std::runtime_error("Higgs mass is out of range in EWSMThreeLoopEW::DeltaRho()");
103
104 }
105 DeltaRho *= pow(cache.Xt_alpha(Mw), 3.0);
106 return DeltaRho;
107}
double DeltaRho(const double Mw_i) const
Leading three-loop contribution of to , denoted as .
double Xt_alpha(const double Mw_i) const
The quantity with the coupling .
Definition: EWSMcache.h:355
double logMTOPtoMH() const
A cache method.
Definition: EWSMcache.cpp:134
double getD3() const
A get method to access the constant .
Definition: EWSMcache.h:197
double getZeta4() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:155
double getB4() const
A get method to access the constant .
Definition: EWSMcache.h:214
double getS2() const
A get method to access the constant .
Definition: EWSMcache.h:180
An observable class for the -boson mass.
Definition: Mw.h:22
const double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:600
virtual const double getMHl() const
A get method to retrieve the Higgs mass .

◆ deltaRho_rem_f()

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

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

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^3}=0\)

Definition at line 114 of file EWSMThreeLoopEW.cpp.

115{
116 if (f.is("TOP")) return ( gslpp::complex(0.0, 0.0, false));
117 return ( gslpp::complex(0.0, 0.0, false));
118}

Member Data Documentation

◆ cache

const EWSMcache& EWSMThreeLoopEW::cache
private

A reference to an object of type EWSMcache.

Definition at line 116 of file EWSMThreeLoopEW.h.


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