(Generated on Fri Feb 19 2016 13:25:11 by 1.8.9.1)
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.

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_i a 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] s invariant 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] s invariant 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] f a lepton or quark [in] Mw_i the $$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_i the $$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_i the $$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] f a lepton or quark [in] Mw_i the $$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: