EWSMThreeLoopEW Class Reference

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

#include <EWSMThreeLoopEW.h>

Collaboration diagram for EWSMThreeLoopEW:
[legend]

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 ( 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

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 [115].

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 }
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
double getLog2() const
A get method to access the constant .
Definition: EWSMcache.h:223
double getZeta3() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:146
complex pow(const complex &z1, const complex &z2)
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 logMZtoMMU() const
A cache method.
Definition: EWSMcache.cpp:84
double logMZtoME() const
A cache method.
Definition: EWSMcache.cpp:70
double getZeta5() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:164
double getZeta2() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:137
double getAle() const
A get method to retrieve the fine-structure constant .
complex log(const complex &z)
const EWSMcache & cache
A reference to an object of type EWSMcache.
double getMz() const
A get method to access the mass of the boson .
double logMZtoMTAU() const
A cache method.
Definition: EWSMcache.cpp:98
const StandardModel & getSM() const
Definition: EWSMcache.h:56
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 }
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
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
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 }
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 [117] and for \(m_h\approx m_t\) and \(m_h\gg m_t\) in [74].

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 getLog2() const
A get method to access the constant .
Definition: EWSMcache.h:223
double getB4() const
A get method to access the constant .
Definition: EWSMcache.h:214
double getZeta3() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:146
double Xt_alpha(const double Mw_i) const
The quantity with the coupling .
Definition: EWSMcache.h:355
complex pow(const complex &z1, const complex &z2)
double getZeta2() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:137
double getZeta4() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:155
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
An observable class for the -boson mass.
Definition: Mw.h:22
double logMTOPtoMH() const
A cache method.
Definition: EWSMcache.cpp:126
double getD3() const
A get method to access the constant .
Definition: EWSMcache.h:197
const EWSMcache & cache
A reference to an object of type EWSMcache.
double getS2() const
A get method to access the constant .
Definition: EWSMcache.h:180
double getMHl() const
A get method to retrieve the Higgs mass .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
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 }
bool is(std::string name_i) const
Definition: Particle.cpp:23
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35

Member Data Documentation

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: