EWSMOneLoopEW Class Reference

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

#include <EWSMOneLoopEW.h>

Collaboration diagram for EWSMOneLoopEW:
[legend]

Detailed Description

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

Author
HEPfit Collaboration

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

See also the description of EWSM class for their definitions.

The above quantities are computed with the help of the auxiliary member functions defined in the current class. It is noted that gauge-dependent quantities in the current class are given in the Unitary gauge. For example, the functions SigmabarWW_bos(), SigmabarWW_bos(), etc. represent the self-energies of the gauge bosons. The following table shows the comparisons of the definitions of the self-energies in the current class to those in [31] and [91] :

Current class Bardin & Passarino [31] Hollik [91]
\(\displaystyle\Sigma_{WW}(s)=\frac{\alpha}{4\pi s_W^2 } \overline{\Sigma}_{WW}(s)\) \(\displaystyle\frac{\alpha}{4\pi s_W^2 } \Sigma_{WW}(s)\) \(\displaystyle\Sigma^W(s)\)
\(\displaystyle\Sigma_{ZZ}(s)=\frac{\alpha}{4\pi s_W^2 c_W^2 } \overline{\Sigma}_{ZZ}(s)\) \(\displaystyle\frac{\alpha}{4\pi s_W^2 c_W^2 } \Sigma_{ZZ}(s)\) \(\displaystyle\Sigma^Z(s)\)
\(\displaystyle\Pi_{\gamma\gamma}(s)=\frac{\alpha}{4\pi}\,\overline{\Pi}_{\gamma\gamma}(s)\) \(\displaystyle\frac{\alpha}{4\pi}\,\left[ -\Pi_{\gamma\gamma}(s) \right]\) \(\displaystyle\Pi^\gamma(s)=\frac{\partial\Sigma^\gamma(s)}{\partial s}\)
\(\displaystyle\Pi_{Z\gamma}(s) = \frac{\alpha}{4\pi s_W c_W}\overline{\Pi}_{Z\gamma}(s)\) \(\displaystyle\frac{\alpha}{4\pi s_W c_W}\left[ - \Pi_{ZA}(s)\right]\)
\(\displaystyle\overline{\Sigma}^{\prime}_{WW}(s) = \frac{\partial\,\overline{\Sigma}_{WW}(s)}{\partial s}\) \(\displaystyle- \frac{\alpha}{4\pi s_W^2 } {\cal W}(s)\)
\(\displaystyle\overline{\Sigma}^{\prime}_{ZZ}(s) =\frac{\partial\,\overline{\Sigma}_{ZZ}(s)}{\partial s}\) \(\displaystyle- \frac{\alpha}{4\pi s_W^2 c_W^2 } c_W^2 {\cal Z}(s)\)

These self-energies are decomposed into the sum of bosonic and fermionic contributions:

\begin{align*} \overline{\Sigma}_{WW}(s) = \overline{\Sigma}^{\rm bos}_{WW}(s) + \overline{\Sigma}^{\rm fer}_{WW}(s)\,, \\ \overline{\Sigma}_{ZZ}(s) = \overline{\Sigma}^{\rm bos}_{ZZ}(s) + \overline{\Sigma}^{\rm fer}_{ZZ}(s)\,, \\ \overline{\Pi}_{\gamma\gamma}(s) = \overline{\Pi}_{\gamma\gamma}^{\rm bos}(s) + \overline{\Pi}_{\gamma\gamma}^{\rm fer}(s)\,, \\ \overline{\Pi}_{Z\gamma}(s) = \overline{\Pi}_{Z\gamma}^{\rm bos}(s) + \overline{\Pi}_{Z\gamma}^{\rm fer}(s)\,. \end{align*}

Most of the formulae used in the current class have been copied or derived from from those in Bardin and Passarino's book [31] as well as from [114], [106], [33], [8], [34] and [36].

Definition at line 105 of file EWSMOneLoopEW.h.

Public Member Functions

double DeltaAlpha_l (const double s) const
 Leptonic contribution of \(O(\alpha)\) to the electromagnetic coupling \(\alpha(s)\), denoted as \(\Delta\alpha_{\mathrm{lept}}^{\alpha}\). More...
 
double DeltaAlpha_t (const double s) const
 Top-quark contribution of \(O(\alpha)\) to the electromagnetic coupling \(\alpha(s)\), denoted as \(\Delta\alpha_{\mathrm{top}}^{\alpha}\). More...
 
gslpp::complex deltaKappa_rem_f (const Particle f, const double Mw_i) const
 Remainder contribution of \(O(\alpha)\) to the effective couplings \(\kappa_Z^f\), denoted as \(\delta\kappa_{\mathrm{rem}}^{f,\, \alpha}\). More...
 
gslpp::complex deltaKappa_rem_tmp (const double deltaf, const gslpp::complex uf, const double Mw_i) const
 Remainder contribution of \(O(\alpha)\) to the effective couplings \(\kappa_Z^f\), denoted as \(\delta\kappa_{\rm rem}^{f,\,\alpha}\). More...
 
double DeltaR_rem (const double Mw_i) const
 Remainder contribution of \(O(\alpha)\) to \(\Delta r\), denoted as \(\Delta r_{\rm rem}^{\alpha}\). More...
 
double DeltaRbar_rem (const double Mw_i) const
 \(\Delta \bar{r}_{\rm rem}^{\alpha}\). More...
 
double DeltaRho (const double Mw_i) const
 Leading one-loop contribution of \(O(\alpha)\) to \(\Delta\rho\), denoted as \(\Delta\rho^{\alpha}\). More...
 
gslpp::complex deltaRho_rem_f (const Particle f, const double Mw_i) const
 Remainder contribution of \(O(\alpha)\) to the effective couplings \(\rho_Z^f\), denoted as \(\delta\rho_{\mathrm{rem}}^{f,\, \alpha}\). More...
 
gslpp::complex deltaRho_rem_tmp (const gslpp::complex u_f, const double Mw_i) const
 Remainder contribution of \(O(\alpha)\) to the effective couplings \(\rho_Z^f\), denoted as \(\delta\rho_{\rm rem}^{f,\alpha}\). More...
 
double DeltaRhobar (const double mu, const double Mw_i) const
 \(\Delta\overline{\rho}\). More...
 
double DeltaRhobarW (const double mu, const double Mw_i) const
 \(\Delta\overline{\rho}_W\). More...
 
 EWSMOneLoopEW (const EWSMcache &cache_i)
 Constructor. More...
 
gslpp::complex FbarWa_0 (const double s) const
 The form factor \(\overline{\mathcal{F}}_{Wa}^0\). More...
 
gslpp::complex FbarWa_t (const double s, const double Mw_i) const
 The form factor \(\overline{\mathcal{F}}_{Wa}^t\). More...
 
gslpp::complex FW (const double s, const Particle f, const double Mw_i) const
 The unified form factor \(\mathcal{F}_W\) for \(Z\to f\bar{f}\). More...
 
gslpp::complex FWa_0 (const double s, const double Mw_i) const
 The form factor \(\mathcal{F}_{Wa}^0\). More...
 
gslpp::complex FWa_t (const double s, const double Mw_i) const
 The form factor \(\mathcal{F}_{Wa}^t\). More...
 
gslpp::complex FWn_0 (const double s, const double Mw_i) const
 The form factor \(\mathcal{F}_{Wn}^0\). More...
 
gslpp::complex FWn_t (const double s, const double Mw_i) const
 The form factor \(\mathcal{F}_{Wn}^t\). More...
 
gslpp::complex FZ (const double s, const double Mw_i) const
 The unified form factor \(\mathcal{F}_Z\). More...
 
gslpp::complex FZa_0 (const double s, const double Mw_i) const
 The form factor \(\mathcal{F}_{Za}^0\). More...
 
gslpp::complex PibarGammaGamma_bos (const double mu, const double s, const double Mw_i) const
 The bosonic contribution to the self-energy of the photon in the Unitary gauge, \(\overline{\Pi}^{\mathrm{bos}}_{\gamma\gamma}(s)\). More...
 
gslpp::complex PibarGammaGamma_fer (const double mu, const double s, const Particle f) const
 The fermionic contribution to the self-energy of the photon in the Unitary gauge, associated with loops of a lepton or quark. \(\overline{\Pi}^{\mathrm{fer},f}_{\gamma\gamma}(s)\). More...
 
gslpp::complex PibarGammaGamma_fer (const double mu, const double s) const
 The fermionic contribution to the self-energy of the photon in the Unitary gauge, \(\overline{\Pi}^{\mathrm{fer}}_{\gamma\gamma}(s)\). More...
 
gslpp::complex PibarZgamma_bos (const double mu, const double s, const double Mw_i) const
 The bosonic contribution to the self-energy of the \(Z\)- \(\gamma\) mixing in the Unitary gauge, \(\overline{\Pi}^{\mathrm{bos}}_{Z\gamma}(s)\). More...
 
gslpp::complex PibarZgamma_fer (const double mu, const double s, const double Mw_i) const
 The fermionic contribution to the self-energy of the \(Z\)- \(\gamma\) mixing in the Unitary gauge, \(\overline{\Pi}^{\mathrm{fer}}_{Z\gamma}(s)\). More...
 
double rho_GammaW (const Particle fi, const Particle fj, const double Mw_i) const
 EW radiative corrections to the width of \(W \to f_i \bar{f}_j\), denoted as \(\rho^W_{ij}\). More...
 
double rho_GammaW_tmp (const double Qi, const double Qj, const double Mw_i) const
 EW radiative corrections to the widths of \(W \to f_i \bar{f}_j\), denoted as \(\rho^W_{ij}\). More...
 
gslpp::complex SigmabarPrime_WW_bos_Mw2 (const double mu, const double Mw_i) const
 The derivative of the bosonic contribution to the self-energy of the \(W\) boson for \(s=M_W^2\) in the Unitary gauge, \(\overline{\Sigma}^{\prime,\mathrm{bos}}_{WW}(M_W^2)\). More...
 
gslpp::complex SigmabarPrime_WW_fer_Mw2 (const double mu, const double Mw_i) const
 The derivative of the fermionic contribution to the self-energy of the \(W\) boson for \(s=M_W^2\) in the Unitary gauge, \(\overline{\Sigma}^{\prime,\mathrm{fer}}_{WW}(M_W^2)\). More...
 
gslpp::complex SigmabarPrime_ZZ_bos_Mz2 (const double mu, const double Mw_i) const
 The derivative of the bosonic contribution to the self-energy of the \(Z\) boson for \(s=M_Z^2\) in the Unitary gauge, \(\overline{\Sigma}^{\prime,\mathrm{bos}}_{ZZ}(M_Z^2)\). More...
 
gslpp::complex SigmabarPrime_ZZ_fer_Mz2 (const double mu, const double Mw_i) const
 The derivative of the fermionic contribution to the self-energy of the \(Z\) boson for \(s=M_Z^2\) in the Unitary gauge, \(\overline{\Sigma}^{\prime,\mathrm{fer}}_{ZZ}(M_Z^2)\). More...
 
gslpp::complex SigmabarWW_bos (const double mu, const double s, const double Mw_i) const
 The bosonic contribution to the self-energy of the \(W\) boson in the Unitary gauge, \(\overline{\Sigma}^{\mathrm{bos}}_{WW}(s)\). More...
 
gslpp::complex SigmabarWW_fer (const double mu, const double s, const double Mw_i) const
 The fermionic contribution to the self-energy of the \(W\) boson in the Unitary gauge, \(\overline{\Sigma}^{\mathrm{fer}}_{WW}(s)\). More...
 
gslpp::complex SigmabarZZ_bos (const double mu, const double s, const double Mw_i) const
 The bosonic contribution to the self-energy of the \(Z\) boson in the Unitary gauge, \(\overline{\Sigma}^{\mathrm{bos}}_{ZZ}(s)\). More...
 
gslpp::complex SigmabarZZ_fer (const double mu, const double s, const double Mw_i) const
 The fermionic contribution to the self-energy of the \(Z\) boson in the Unitary gauge, \(\overline{\Sigma}^{\mathrm{fer}}_{ZZ}(s)\). More...
 
double TEST_DeltaRhobar_bos (const double Mw_i) const
 A test function. More...
 
double TEST_DeltaRhobarW_bos (const double Mw_i) const
 A test function. More...
 
gslpp::complex TEST_FWn (const double s, const double mf, const double Mw_i) const
 A test function for \(\mathcal{F}_{Wn}\) with a finite fermion mass. More...
 

Private Attributes

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

Constructor & Destructor Documentation

EWSMOneLoopEW::EWSMOneLoopEW ( const EWSMcache cache_i)

Constructor.

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

Definition at line 11 of file EWSMOneLoopEW.cpp.

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

Member Function Documentation

double EWSMOneLoopEW::DeltaAlpha_l ( const double  s) const

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

This function uses the function PiGammaGamma_fer_l() for the fermionic contribution to the photon self-energy.

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

Definition at line 19 of file EWSMOneLoopEW.cpp.

20 {
21  double Mz = cache.getSM().getMz();
22 
23  double oneLoop[3];
24  oneLoop[0] = -PibarGammaGamma_fer(Mz, s, cache.getSM().getLeptons(StandardModel::ELECTRON)).real()
26  oneLoop[1] = -PibarGammaGamma_fer(Mz, s, cache.getSM().getLeptons(StandardModel::MU)).real()
28  oneLoop[2] = -PibarGammaGamma_fer(Mz, s, cache.getSM().getLeptons(StandardModel::TAU)).real()
30 
31  return ( cache.getSM().getAle() / 4.0 / M_PI
32  * (oneLoop[0] + oneLoop[1] + oneLoop[2]));
33 }
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
const EWSMcache & cache
A reference to an object of type EWSMcache.
double getAle() const
A get method to retrieve the fine-structure constant .
gslpp::complex PibarGammaGamma_fer(const double mu, const double s, const Particle f) const
The fermionic contribution to the self-energy of the photon in the Unitary gauge, associated with loo...
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
double EWSMOneLoopEW::DeltaAlpha_t ( const double  s) const

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

A simple numerical formula presented in [105] has been employed.

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

Definition at line 35 of file EWSMOneLoopEW.cpp.

36 {
37  double xt = s / cache.getSM().getMtpole() / cache.getSM().getMtpole();
38  double tmp = 1.0 + xt * 0.1071;
39  tmp *= -4.0 / 45.0 * cache.getSM().getAle() / M_PI*xt;
40  return tmp;
41 }
const EWSMcache & cache
A reference to an object of type EWSMcache.
double getAle() const
A get method to retrieve the fine-structure constant .
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::deltaKappa_rem_f ( const Particle  f,
const double  Mw_i 
) const

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

This function handles the remainder contribution \(\delta\kappa_{\mathrm{rem}}^{f,\, \alpha}\) for \(Z\to f\bar{f}\).

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

Definition at line 143 of file EWSMOneLoopEW.cpp.

144 {
145  if (f.is("TOP")) return ( gslpp::complex(0.0, 0.0, false));
146 
147  double Mz = cache.getSM().getMz();
148  double Mw = Mw_i;
149  gslpp::complex uf = (3.0 * cache.v_f(f, Mw) * cache.v_f(f, Mw) + cache.a_f(f) * cache.a_f(f))
150  / 4.0 / cache.getSM().cW2(Mw) * FZ(Mz*Mz, Mw) + FW(Mz*Mz, f, Mw);
151 
152  return ( deltaKappa_rem_tmp(cache.delta_f(f, Mw), uf, Mw));
153 }
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex deltaKappa_rem_tmp(const double deltaf, const gslpp::complex uf, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
double a_f(const Particle f) const
The tree-level axial-vector coupling for , denoted as .
Definition: EWSMcache.h:301
bool is(std::string name_i) const
Definition: Particle.cpp:23
double delta_f(const Particle f, const double Mw_i) const
.
Definition: EWSMcache.h:323
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex FZ(const double s, const double Mw_i) const
The unified form factor .
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 ...
double v_f(const Particle f, const double Mw_i) const
The tree-level vector coupling for , denoted as .
Definition: EWSMcache.h:290
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex FW(const double s, const Particle f, const double Mw_i) const
The unified form factor for .
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::deltaKappa_rem_tmp ( const double  deltaf,
const gslpp::complex  uf,
const double  Mw_i 
) const

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

This function represents \(\delta\kappa_{\rm rem}^{f,\,\alpha}\), given in terms of the flavour-dependent quantities \(\delta_f\) and \(u_f\):

\[ \delta\kappa_{\rm rem}^{f,\alpha} = \frac{\alpha}{4\pi s_W^2} \left[ \overline{\Pi}_{Z\gamma}(M_Z^2)\big|_{\mu=M_Z} + \frac{\delta_f^2}{4 c_W^2}{\cal F}_Z(M_Z^2) - u_f + \left( \frac{1}{12 c_W^2} + \frac{4}{3} \right)\ln c_W^2 \right] \]

where \(\delta_f\) and \(u_f\) are defined as

\begin{align} \delta_f &= v_f - a_f = -2Q_f s_W^2\,, \\ u_f &= \frac{3v_f^2+a_f^2}{4 c_W^2}{\cal F}_Z(M_Z^2) + {\cal F}_W(M_Z^2) \end{align}

with the so-called unified form factors \({\cal F}_Z(M_Z^2)\) and \({\cal F}_W(M_Z^2)\).

Parameters
[in]deltafthe quantity \(\delta_f\)
[in]ufthe quantity \(u_f\)
[in]Mw_ithe \(W\)-boson mass
Returns
\(\delta\kappa_{\rm rem}^{f,\,\alpha}\)
See also
deltaKappa_rem_l() and deltaKappa_rem_q() as well as FZ(), FW_l() and FW_q()

Definition at line 124 of file EWSMOneLoopEW.cpp.

126 {
127  double Mz = cache.getSM().getMz();
128  double Mw = Mw_i;
129  double sW2 = cache.getSM().sW2(Mw);
130  double cW2 = cache.getSM().cW2(Mw);
131 
132  /* Logarithm */
133  double log_cW2 = cache.log_cW2(Mw);
134 
135  gslpp::complex dKappa_rem(0.0, 0.0, false);
136  dKappa_rem = (PibarZgamma_bos(Mz, Mz*Mz, Mw) + PibarZgamma_fer(Mz, Mz*Mz, Mw))
137  + deltaf * deltaf / 4.0 / cW2 * FZ(Mz*Mz, Mw) - uf
138  + (1.0 / 12.0 / cW2 + 4.0 / 3.0) * log_cW2;
139  dKappa_rem *= cache.getSM().getAle() / 4.0 / M_PI / sW2;
140  return dKappa_rem;
141 }
gslpp::complex PibarZgamma_bos(const double mu, const double s, const double Mw_i) const
The bosonic contribution to the self-energy of the - mixing in the Unitary gauge, .
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 ...
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex PibarZgamma_fer(const double mu, const double s, const double Mw_i) const
The fermionic contribution to the self-energy of the - mixing in the Unitary gauge, .
double getAle() const
A get method to retrieve the fine-structure constant .
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex FZ(const double s, const double Mw_i) const
The unified form factor .
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
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 ...
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
double EWSMOneLoopEW::DeltaR_rem ( const double  Mw_i) const

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

The \(O(\alpha)\) remainder contribution \(\Delta r_{\mathrm{rem}}^{\alpha}\) is given by

\[ \Delta r_{\rm rem}^\alpha = \frac{\alpha}{4\pi s_W^2} \bigg[ - \frac{2}{3} s_W^2 + s_W^2\overline{\Pi}_{\gamma\gamma}^{t}(0)\big|_{\mu=M_Z} + s_W^2{\rm Re}\Big[\overline{\Pi}_{\gamma\gamma}^{\ell+5q}(M_Z^2)\big|_{\mu=M_Z}\Big] + \Delta\overline{\rho}_W\big|_{\mu=M_Z} + \left( 4 - \frac{25}{4}c_W^2 + \frac{3}{4} c_W^4 + \frac{9 c_W^2}{4 s_W^2} \right)\ln c_W^2 + \frac{11}{2} - \frac{5}{8} c_W^2 (1 + c_W^2) \bigg]. \]

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

Definition at line 49 of file EWSMOneLoopEW.cpp.

50 {
51  double Mz = cache.getSM().getMz();
52  double Mz2 = Mz*Mz;
53  double Mw = Mw_i;
54  double sW2 = cache.getSM().sW2(Mw);
55  double cW2 = cache.getSM().cW2(Mw);
56 
57  /* Logarithm */
58  double log_cW2 = cache.log_cW2(Mw);
59 
60  double PiGammaGamma_t_0 = PibarGammaGamma_fer(Mz, 0.0, cache.getSM().getQuarks(QCD::TOP)).real();
61  double PiGammaGamma_l5q_Mz2 = PibarGammaGamma_fer(Mz, Mz2).real()
62  - PibarGammaGamma_fer(Mz, Mz2, cache.getSM().getQuarks(QCD::TOP)).real();
63 
64  double DR_rem = -2.0 / 3.0 * sW2 + sW2 * PiGammaGamma_t_0
65  + sW2 * PiGammaGamma_l5q_Mz2 + DeltaRhobarW(Mz, Mw)
66  + (4.0 - 25.0 / 4.0 * cW2 + 3.0 / 4.0 * cW2 * cW2 + 9.0 * cW2 / 4.0 / sW2)
67  * log_cW2
68  + 11.0 / 2.0 - 5.0 / 8.0 * cW2 * (1.0 + cW2);
69  DR_rem *= cache.getSM().getAle() / 4.0 / M_PI / sW2;
70  return DR_rem;
71 }
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 ...
double DeltaRhobarW(const double mu, const double Mw_i) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
const double & real() const
Definition: QCD.h:735
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
double getAle() const
A get method to retrieve the fine-structure constant .
An observable class for the -boson mass.
Definition: Mw.h:22
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
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 ...
gslpp::complex PibarGammaGamma_fer(const double mu, const double s, const Particle f) const
The fermionic contribution to the self-energy of the photon in the Unitary gauge, associated with loo...
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
double EWSMOneLoopEW::DeltaRbar_rem ( const double  Mw_i) const

\(\Delta \bar{r}_{\rm rem}^{\alpha}\).

The quantity \(\Delta \bar{r}_{\rm rem}^{\alpha}\), which contributes to \(\rho_Z^f\) and \(\kappa_Z^f\), is given by

\[ \Delta \bar{r}_{\rm rem}^{\alpha} = \bigg[ \Delta r_{\rm rem}^\alpha - \frac{\alpha}{4\pi} \overline{\Pi}_{\gamma\gamma}^{t}(0)\big|_{\mu=M_Z} - \frac{\alpha}{4\pi} {\rm Re}\left[ \overline{\Pi}_{\gamma\gamma}^{\ell+5q}(M_Z^2)\big|_{\mu=M_Z} \right] \bigg], \]

where the definition of \(\Delta r_{\rm rem}^\alpha\) is given in DeltaR_rem().

Parameters
[in]Mw_ithe \(W\)-boson mass
Returns
\(\Delta \bar{r}_{\rm rem}^{\alpha}\)

Definition at line 73 of file EWSMOneLoopEW.cpp.

74 {
75  double Mz = cache.getSM().getMz();
76  double Mw = Mw_i;
77  double sW2 = cache.getSM().sW2(Mw);
78  double cW2 = cache.getSM().cW2(Mw);
79 
80  /* Logarithm */
81  double log_cW2 = cache.log_cW2(Mw);
82 
83  double DRbar_rem = -2.0 / 3.0 * sW2 + DeltaRhobarW(Mz, Mw)
84  + (4.0 - 25.0 / 4.0 * cW2 + 3.0 / 4.0 * cW2 * cW2 + 9.0 * cW2 / 4.0 / sW2)
85  * log_cW2
86  + 11.0 / 2.0 - 5.0 / 8.0 * cW2 * (1.0 + cW2);
87  DRbar_rem *= cache.getSM().getAle() / 4.0 / M_PI / sW2;
88  return DRbar_rem;
89 }
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 ...
double DeltaRhobarW(const double mu, const double Mw_i) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
double getAle() const
A get method to retrieve the fine-structure constant .
An observable class for the -boson mass.
Definition: Mw.h:22
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
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 ...
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
double EWSMOneLoopEW::DeltaRho ( const double  Mw_i) const

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

The leading one-loop contribution is written in terms of the quantity \(\Delta\overline{\rho}\):

\[ \Delta\rho^{\alpha} = - \frac{\alpha}{4\pi s_W^2}\Delta\overline{\rho}\big|_{\mu=M_Z}, \]

where \(\Delta\overline{\rho}\) is renormalized at the scale \(M_Z\), and computed with the function DeltaRhobar().

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

Definition at line 43 of file EWSMOneLoopEW.cpp.

44 {
45 
46  return ( -cache.getSM().getAle() / 4.0 / M_PI / cache.getSM().sW2(Mw_i) * DeltaRhobar(cache.getSM().getMz(), Mw_i));
47 }
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 ...
const EWSMcache & cache
A reference to an object of type EWSMcache.
double DeltaRhobar(const double mu, const double Mw_i) const
.
double getAle() const
A get method to retrieve the fine-structure constant .
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::deltaRho_rem_f ( const Particle  f,
const double  Mw_i 
) const

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

This function handles the remainder contribution \(\delta\rho_{\mathrm{rem}}^{f,\, \alpha}\) for \(Z\to f\bar{f}\).

Parameters
[in]fa lepton or quark
[in]Mw_ithe \(W\)-boson mass
Returns
\(\delta\rho_{\mathrm{rem}}^{f,\, \alpha}\)
See also
deltaRho_rem_tmp()

Definition at line 113 of file EWSMOneLoopEW.cpp.

114 {
115  if (f.is("TOP")) return ( gslpp::complex(0.0, 0.0, false));
116 
117  double Mz = cache.getSM().getMz();
118  double Mw = Mw_i;
119  gslpp::complex uf = (3.0 * cache.v_f(f, Mw) * cache.v_f(f, Mw) + cache.a_f(f) * cache.a_f(f))
120  / 4.0 / cache.getSM().cW2(Mw) * FZ(Mz*Mz, Mw) + FW(Mz*Mz, f, Mw);
121  return ( deltaRho_rem_tmp(uf, Mw));
122 }
gslpp::complex deltaRho_rem_tmp(const gslpp::complex u_f, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
const EWSMcache & cache
A reference to an object of type EWSMcache.
double a_f(const Particle f) const
The tree-level axial-vector coupling for , denoted as .
Definition: EWSMcache.h:301
bool is(std::string name_i) const
Definition: Particle.cpp:23
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex FZ(const double s, const double Mw_i) const
The unified form factor .
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 ...
double v_f(const Particle f, const double Mw_i) const
The tree-level vector coupling for , denoted as .
Definition: EWSMcache.h:290
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex FW(const double s, const Particle f, const double Mw_i) const
The unified form factor for .
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::deltaRho_rem_tmp ( const gslpp::complex  u_f,
const double  Mw_i 
) const

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

This function represents \(\delta\rho_{\rm rem}^{f,\alpha}\), given in terms of the flavour-dependent quantity \(u_f\):

\[ \delta\rho_{\rm rem}^{f,\alpha} = \frac{\alpha}{4\pi s_W^2} \left\{ - \frac{1}{ c_W^2} {\rm Re}\big[\overline{\Sigma}^{\prime}_{ZZ}(M_Z^2)\big|_{\mu=M_Z} \big] - \Delta\overline{\rho}_W\big|_{\mu=M_Z} + 2u_f - \left[ \frac{1}{6 c_W^2} - \frac{1}{3} + \frac{3}{4} c_W^2 (1+ c_W^2) + \frac{9 c_W^2}{4 s_W^2} \right]\ln c_W^2 - \frac{11}{2} + \frac{5}{8} c_W^2(1+ c_W^2) \right\}, \]

where \(u_f\) is defined as

\[ u_f = \frac{3v_f^2+a_f^2}{4 c_W^2}{\cal F}_Z(M_Z^2) + {\cal F}_W(M_Z^2) \]

with the so-called unified form factors \({\cal F}_Z(M_Z^2)\) and \({\cal F}_W(M_Z^2)\).

Parameters
[in]u_fthe quantity \(u_f\)
[in]Mw_ithe \(W\)-boson mass
Returns
\(\delta\rho_{\rm rem}^{f,\alpha}\)
See also
deltaRho_rem_l() and deltaRho_rem_q() as well as FZ(), FW_l() and FW_q()

Definition at line 91 of file EWSMOneLoopEW.cpp.

93 {
94  double Mz = cache.getSM().getMz();
95  double Mw = Mw_i;
96  double sW2 = cache.getSM().sW2(Mw);
97  double cW2 = cache.getSM().cW2(Mw);
98 
99  /* Logarithm */
100  double log_cW2 = cache.log_cW2(Mw);
101 
102  gslpp::complex dRho_rem(0.0, 0.0, false);
103  dRho_rem = -(SigmabarPrime_ZZ_bos_Mz2(Mz, Mw).real()
104  + SigmabarPrime_ZZ_fer_Mz2(Mz, Mw).real()) / cW2
105  - DeltaRhobarW(Mz, Mw) + 2.0 * uf
106  - (1.0 / 6.0 / cW2 - 1.0 / 3.0 + 3.0 / 4.0 * cW2 * (1.0 + cW2) + 9.0 * cW2 / 4.0 / sW2)
107  * log_cW2
108  - 11.0 / 2.0 + 5.0 / 8.0 * cW2 * (1.0 + cW2);
109  dRho_rem *= cache.getSM().getAle() / 4.0 / M_PI / sW2;
110  return dRho_rem;
111 }
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 ...
double DeltaRhobarW(const double mu, const double Mw_i) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
const double & real() const
gslpp::complex SigmabarPrime_ZZ_fer_Mz2(const double mu, const double Mw_i) const
The derivative of the fermionic contribution to the self-energy of the boson for in the Unitary gau...
gslpp::complex SigmabarPrime_ZZ_bos_Mz2(const double mu, const double Mw_i) const
The derivative of the bosonic contribution to the self-energy of the boson for in the Unitary gauge...
double getAle() const
A get method to retrieve the fine-structure constant .
An observable class for the -boson mass.
Definition: Mw.h:22
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
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 ...
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
double EWSMOneLoopEW::DeltaRhobar ( const double  mu,
const double  Mw_i 
) const

\(\Delta\overline{\rho}\).

The quantity \(\Delta\overline{\rho}\), which is associated with \(\Delta\rho\) as explained in the description of DeltaRho(), is defined as

\[ \Delta\overline{\rho}\big|_{\mu} = \frac{1}{M_W^2}\left[ {\rm Re}\,\overline{\Sigma}_{WW}(M_W^2)\big|_{\mu} - {\rm Re}\,\overline{\Sigma}_{ZZ}(M_Z^2)\big|_{\mu} \right], \]

where \(\mu\) denotes the renormalization scale.

Parameters
[in]murenormalization scale \(\mu\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\Delta\overline{\rho}\big|_{\mu}\)

Definition at line 803 of file EWSMOneLoopEW.cpp.

804 {
805  double Mw = Mw_i;
806  double Mz = cache.getSM().getMz();
807  return ( (SigmabarWW_bos(mu, Mw*Mw, Mw).real() + SigmabarWW_fer(mu, Mw*Mw, Mw).real()
808  - SigmabarZZ_bos(mu, Mz*Mz, Mw).real() - SigmabarZZ_fer(mu, Mz*Mz, Mw).real())
809  / Mw / Mw);
810 }
gslpp::complex SigmabarWW_fer(const double mu, const double s, const double Mw_i) const
The fermionic contribution to the self-energy of the boson in the Unitary gauge, ...
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex SigmabarWW_bos(const double mu, const double s, const double Mw_i) const
The bosonic contribution to the self-energy of the boson in the Unitary gauge, . ...
gslpp::complex SigmabarZZ_bos(const double mu, const double s, const double Mw_i) const
The bosonic contribution to the self-energy of the boson in the Unitary gauge, . ...
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex SigmabarZZ_fer(const double mu, const double s, const double Mw_i) const
The fermionic contribution to the self-energy of the boson in the Unitary gauge, ...
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
double EWSMOneLoopEW::DeltaRhobarW ( const double  mu,
const double  Mw_i 
) const

\(\Delta\overline{\rho}_W\).

The quantity \(\Delta\overline{\rho}_W\) is defined as

\[ \Delta\overline{\rho}_W\big|_{\mu} = \frac{1}{M_W^2}\left[ \overline{\Sigma}_{WW}(0)\big|_{\mu} - {\rm Re}\,\overline{\Sigma}_{WW}(M_W^2)\big|_{\mu} \right], \]

where \(\mu\) denotes the renormalization scale.

Parameters
[in]murenormalization scale \(\mu\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\Delta\overline{\rho}_W\big|_{\mu}\)

Definition at line 812 of file EWSMOneLoopEW.cpp.

813 {
814  double Mw = Mw_i;
815  return ( (SigmabarWW_bos(mu, 0.0, Mw).real() + SigmabarWW_fer(mu, 0.0, Mw).real()
816  - SigmabarWW_bos(mu, Mw*Mw, Mw).real() - SigmabarWW_fer(mu, Mw*Mw, Mw).real())
817  / Mw / Mw);
818 }
gslpp::complex SigmabarWW_fer(const double mu, const double s, const double Mw_i) const
The fermionic contribution to the self-energy of the boson in the Unitary gauge, ...
gslpp::complex SigmabarWW_bos(const double mu, const double s, const double Mw_i) const
The bosonic contribution to the self-energy of the boson in the Unitary gauge, . ...
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex EWSMOneLoopEW::FbarWa_0 ( const double  s) const

The form factor \(\overline{\mathcal{F}}_{Wa}^0\).

The form factor \(\overline{\mathcal{F}}_{Wa}^0\), associated with abelian-type diagrams of \(Z\to f\bar{f}\) with a virtual \(W\) boson, is given in the chiral limit by

\[ \overline{{\cal F}}_{Wa}^0(s) = 0\,. \]

See [31].

Parameters
[in]smomentum squared \(s\)
Returns
\(\overline{\mathcal{F}}_{Wa}^0\)

Definition at line 932 of file EWSMOneLoopEW.cpp.

933 {
934  return ( gslpp::complex(0.0, 0.0, false));
935 }
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex EWSMOneLoopEW::FbarWa_t ( const double  s,
const double  Mw_i 
) const

The form factor \(\overline{\mathcal{F}}_{Wa}^t\).

The form factor \(\overline{\mathcal{F}}_{Wa}^t\), associated with abelian-type diagrams of \(Z\to f\bar{f}\) with a virtual \(W\) boson and the heavy top quark, is given by

\[ \overline{{\cal F}}_{Wa}^t(s) = - w_t \Bigg\{ \left[ R_W + 2 - w_t(2 - w_t)R_W \right] M_W^2C_0(s;M_t,M_W,M_t) - \left( \frac{1}{2} - R_W + w_t R_W \right) \left[ - B_0(s;M_t,M_t)\big|_{\mu=M_W} + 1 \right] + w_t R_W \ln w_t \Bigg\}\,, \]

where the definitions of the symbols can be read from the codes below.

See [31].

Parameters
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\mathcal{F}}_{Wa}^t\)

Definition at line 1000 of file EWSMOneLoopEW.cpp.

1001 {
1002  double Mw = Mw_i;
1003  double Mw2 = Mw*Mw;
1004  double Mz = cache.getSM().getMz();
1005  double Rw = Mw * Mw / s;
1006  double Mt = cache.getSM().getMtpole();
1007  double Mt2 = Mt*Mt;
1008  double wt = Mt2 / Mw2;
1009 
1010  /* Logarithm and two- and three-point one-loop functions */
1011  double log_wt = -2.0 * cache.logMZtoMTOP() - cache.log_cW2(Mw);
1012  gslpp::complex B0_Mw2_s_Mt2_Mt2;
1013  gslpp::complex C0_s_Mt2_Mw2_Mt2;
1014  if (s == Mz * Mz) {
1015  B0_Mw2_s_Mt2_Mt2 = cache.B0_Mw2_Mz2_Mt2_Mt2(Mw);
1016  C0_s_Mt2_Mw2_Mt2 = cache.C0_Mz2_Mt2_Mw2_Mt2(Mw);
1017  } else {
1018  B0_Mw2_s_Mt2_Mt2 = cache.getPV().B0(Mw2, s, Mt2, Mt2);
1019  C0_s_Mt2_Mw2_Mt2 = cache.getPV().C0(s, Mt2, Mw2, Mt2);
1020  }
1021 
1022  gslpp::complex FbarWa(0.0, 0.0, false);
1023  FbarWa = -wt * ((Rw + 2.0 - wt * (2.0 - wt) * Rw) * Mw * Mw * C0_s_Mt2_Mw2_Mt2
1024  - (1.0 / 2.0 - Rw + wt * Rw)*(-B0_Mw2_s_Mt2_Mt2 + 1.0)
1025  + wt * Rw * log_wt);
1026  return FbarWa;
1027 }
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
double logMZtoMTOP() const
A cache method.
Definition: EWSMcache.cpp:112
gslpp::complex C0_Mz2_Mt2_Mw2_Mt2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:942
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
gslpp::complex B0_Mw2_Mz2_Mt2_Mt2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:311
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 log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::FW ( const double  s,
const Particle  f,
const double  Mw_i 
) const

The unified form factor \(\mathcal{F}_W\) for \(Z\to f\bar{f}\).

The so-called unified form factor \(\mathcal{F}_W\), associated with radiative corrections to the \(Z\to f\bar{f}\) vertex with a virtual \(W\) boson as well as with virtual \(W\) bosons, is given by

\[ {\cal F}_W(s) = c_W^2 {\cal F}_{Wn}^0(s) - \frac{1}{2}\sigma_{l'}^a {\cal F}_{Wa}^0(s) - \frac{1}{2}\overline{{\cal F}}_{Wa}^0(s)\,, \]

where the suprescripts "0" denote the chiral limit, \(\sigma_{f'}^a = |v_{f'} + a_{f'}| = 1 - 2|Q_{f'}|s_W^2 = 2c_W^2 - 1 + 2|Q_{f}| s_W^2\) with \(f'\) being the partner of \(f\) in the \(SU(2)_L\) doublet, and \({\cal F}_{Wn}^0(s)\), \({\cal F}_{Wa}^0(s)\) and \(\overline{{\cal F}}_{Wa}^0(s)\) correspond to the functions FWn_0(), FWa_0() and FbarWa_0(), respectively.

See [31].

Parameters
[in]smomentum squared \(s\)
[in]fa lepton or quark
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\mathcal{F}_W\)

Definition at line 1070 of file EWSMOneLoopEW.cpp.

1071 {
1072  double Mw = Mw_i;
1073  double cW2 = cache.getSM().cW2(Mw);
1074 
1075  if (f.is("LEPTON")) {
1076  StandardModel::lepton lprime;
1077  if (f.is("NEUTRINO_1"))
1078  lprime = StandardModel::ELECTRON;
1079  else if (f.is("NEUTRINO_2"))
1080  lprime = StandardModel::MU;
1081  else if (f.is("NEUTRINO_3"))
1082  lprime = StandardModel::TAU;
1083  else if (f.is("ELECTRON"))
1084  lprime = StandardModel::NEUTRINO_1;
1085  else if (f.is("MU"))
1086  lprime = StandardModel::NEUTRINO_2;
1087  else if (f.is("TAU"))
1088  lprime = StandardModel::NEUTRINO_3;
1089  else
1090  throw std::runtime_error("EWSMOneLoopEW::FW(): " + f.getName() + " is not allowed");
1091  return ( cW2 * FWn_0(s, Mw) - cache.sigma_f(cache.getSM().getLeptons(lprime), Mw) / 2.0 * FWa_0(s, Mw)
1092  - FbarWa_0(s) / 2.0);
1093  } else if (f.is("QUARK")) {
1094  QCD::quark qprime;
1095  if (f.is("UP"))
1096  qprime = QCD::DOWN;
1097  else if (f.is("DOWN"))
1098  qprime = QCD::UP;
1099  else if (f.is("CHARM"))
1100  qprime = QCD::STRANGE;
1101  else if (f.is("STRANGE"))
1102  qprime = QCD::CHARM;
1103  else if (f.is("BOTTOM"))
1104  qprime = QCD::TOP;
1105  else
1106  throw std::runtime_error("EWSMOneLoopEW::FW(): TOP is not allowed");
1107  gslpp::complex FW(0.0, 0.0, false);
1108  FW = cW2 * FWn_0(s, Mw) - cache.sigma_f(cache.getSM().getQuarks(qprime), Mw) / 2.0 * FWa_0(s, Mw)
1109  - FbarWa_0(s) / 2.0;
1110  if (f.is("BOTTOM"))
1111  FW += cW2 * FWn_t(s, Mw) - cache.sigma_f(cache.getSM().getQuarks(qprime), Mw) / 2.0 * FWa_t(s, Mw)
1112  - FbarWa_t(s, Mw) / 2.0;
1113  return FW;
1114  } else
1115  throw std::runtime_error("EWSMOneLoopEW::FW_q(): Wrong argument");
1116 }
quark
An enum type for quarks.
Definition: QCD.h:730
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
const EWSMcache & cache
A reference to an object of type EWSMcache.
Definition: QCD.h:731
gslpp::complex FWn_t(const double s, const double Mw_i) const
The form factor .
gslpp::complex FWa_0(const double s, const double Mw_i) const
The form factor .
gslpp::complex FWa_t(const double s, const double Mw_i) const
The form factor .
Definition: QCD.h:735
gslpp::complex FbarWa_t(const double s, const double Mw_i) const
The form factor .
bool is(std::string name_i) const
Definition: Particle.cpp:23
double sigma_f(const Particle f, const double Mw_i) const
.
Definition: EWSMcache.h:312
gslpp::complex FbarWa_0(const double s) const
The form factor .
Definition: QCD.h:732
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
std::string getName() const
Definition: Particle.h:147
gslpp::complex FWn_0(const double s, const double Mw_i) const
The form factor .
An observable class for the -boson mass.
Definition: Mw.h:22
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 ...
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex FW(const double s, const Particle f, const double Mw_i) const
The unified form factor for .
lepton
An enum type for leptons.
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::FWa_0 ( const double  s,
const double  Mw_i 
) const

The form factor \(\mathcal{F}_{Wa}^0\).

The form factor \(\mathcal{F}_{Wa}^0\), associated with abelian-type diagrams of \(Z\to f\bar{f}\) with a virtual \(W\) boson, is given in the chiral limit by

\[ {\cal F}_{Wa}^0(s) = 2(R_W + 1)^2 s\, C_0(s;0,(\widetilde{M}_W^2)^{1/2},0) - (2R_W+3) \ln\left(-\frac{\widetilde{M}_W^2}{s}\right) - 2R_W - \frac{7}{2}\,, \]

where \(\widetilde{M}_W^2 \equiv M_W^2 - i\, M_W\Gamma_W\approx M_W^2-i\epsilon\), and the definitions of the other symbols can be read from the codes below.

See [31].

Parameters
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\mathcal{F}_{Wa}^0\)

Definition at line 909 of file EWSMOneLoopEW.cpp.

910 {
911  double Mw = Mw_i;
912  double Mz = cache.getSM().getMz();
913  double Rw = Mw * Mw / s;
914 
915  /* Logarithm and three-point one-loop functions */
916  double log_Rw;
917  gslpp::complex C0_s_0_Mw2_0;
918  if (s == Mz * Mz) {
919  log_Rw = cache.log_cW2(Mw);
920  C0_s_0_Mw2_0 = cache.C0_Mz2_0_Mw2_0(Mw);
921  } else {
922  log_Rw = log(Rw);
923  C0_s_0_Mw2_0 = cache.getPV().C0(s, 0.0, Mw*Mw, 0.0);
924  }
925 
926  gslpp::complex FWa(0.0, 0.0, false);
927  FWa = 2.0 * pow((Rw + 1.0), 2.0) * s * C0_s_0_Mw2_0
928  - (2.0 * Rw + 3.0)*(log_Rw + M_PI * gslpp::complex::i()) - 2.0 * Rw - 7.0 / 2.0;
929  return FWa;
930 }
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex C0_Mz2_0_Mw2_0(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:957
complex pow(const complex &z1, const complex &z2)
static const complex & i()
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
An observable class for the -boson mass.
Definition: Mw.h:22
complex log(const complex &z)
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::FWa_t ( const double  s,
const double  Mw_i 
) const

The form factor \(\mathcal{F}_{Wa}^t\).

The form factor \(\mathcal{F}_{Wa}^t\), associated with abelian-type diagrams of \(Z\to f\bar{f}\) with a virtual \(W\) boson and the heavy top quark, is given by

\begin{align} {\cal F}_{Wa}^t(s) &= 2(R_W +1)^2 s \left[ C_0(s;M_t,M_W,M_t) - C_0(s;0,(\widetilde{M}_W^2)^{1/2},0) \right] + (2R_W + 3) \left[ - B_0(s;M_t,M_t)\big|_{\mu=M_W} + \ln\left(-\frac{\widetilde{M}_W^2}{s}\right) + 2 \right] \\ &\quad - w_t \Bigg\{ \left( 3R_W +2-w_t - w_t^2 R_W \right) M_W^2 C_0(s;M_t,M_W,M_t) + \left( R_W + \frac{1}{2} + w_t R_W \right) \left[ 1 - B_0(s;M_t,M_t)\big|_{\mu=M_W} \right] \\ &\qquad\qquad - \left( 2 R_W + \frac{1}{2} - \frac{2}{w_t - 1} + \frac{3}{2}\frac{1}{(w_t - 1)^2} + w_t R_W \right) \ln w_t + \frac{3}{2}\frac{1}{w_t - 1} + \frac{3}{4} \Bigg\}\,, \end{align}

where \(\widetilde{M}_W^2 \equiv M_W^2 - i\, M_W\Gamma_W\approx M_W^2-i\epsilon\), and the definitions of the other symbols can be read from the codes below.

See [31].

Parameters
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\mathcal{F}_{Wa}^t\)

Definition at line 962 of file EWSMOneLoopEW.cpp.

963 {
964  double Mw = Mw_i;
965  double Mw2 = Mw*Mw;
966  double Mz = cache.getSM().getMz();
967  double Rw = Mw * Mw / s;
968  double Mt = cache.getSM().getMtpole();
969  double Mt2 = Mt*Mt;
970  double wt = Mt2 / Mw2;
971 
972  /* Logarithm and two- and three-point one-loop functions */
973  double log_wt = -2.0 * cache.logMZtoMTOP() - cache.log_cW2(Mw);
974  double log_Rw;
975  gslpp::complex B0_Mw2_s_Mt2_Mt2;
976  gslpp::complex C0_s_Mt2_Mw2_Mt2, C0_s_0_Mw2_0;
977  if (s == Mz * Mz) {
978  log_Rw = cache.log_cW2(Mw);
979  B0_Mw2_s_Mt2_Mt2 = cache.B0_Mw2_Mz2_Mt2_Mt2(Mw);
980  C0_s_Mt2_Mw2_Mt2 = cache.C0_Mz2_Mt2_Mw2_Mt2(Mw);
981  C0_s_0_Mw2_0 = cache.C0_Mz2_0_Mw2_0(Mw);
982  } else {
983  log_Rw = log(Rw);
984  B0_Mw2_s_Mt2_Mt2 = cache.getPV().B0(Mw2, s, Mt2, Mt2);
985  C0_s_Mt2_Mw2_Mt2 = cache.getPV().C0(s, Mt2, Mw2, Mt2);
986  C0_s_0_Mw2_0 = cache.getPV().C0(s, 0.0, Mw2, 0.0);
987  }
988 
989  gslpp::complex FWa(0.0, 0.0, false);
990  FWa = 2.0 * (Rw + 1.0)*(Rw + 1.0) * s * (C0_s_Mt2_Mw2_Mt2 - C0_s_0_Mw2_0)
991  + (2.0 * Rw + 3.0)*(-B0_Mw2_s_Mt2_Mt2 + log_Rw + M_PI * gslpp::complex::i() + 2.0)
992  - wt * ((3.0 * Rw + 2.0 - wt - wt * wt * Rw) * Mw * Mw * C0_s_Mt2_Mw2_Mt2
993  + (Rw + 1.0 / 2.0 + wt * Rw)*(1.0 - B0_Mw2_s_Mt2_Mt2)
994  - (2.0 * Rw + 1.0 / 2.0 - 2.0 / (wt - 1.0)
995  + 3.0 / 2.0 / (wt - 1.0) / (wt - 1.0) + wt * Rw) * log_wt
996  + 3.0 / 2.0 / (wt - 1.0) + 3.0 / 4.0);
997  return FWa;
998 }
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex C0_Mz2_0_Mw2_0(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:957
static const complex & i()
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
double logMZtoMTOP() const
A cache method.
Definition: EWSMcache.cpp:112
gslpp::complex C0_Mz2_Mt2_Mw2_Mt2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:942
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
gslpp::complex B0_Mw2_Mz2_Mt2_Mt2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:311
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
complex log(const complex &z)
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::FWn_0 ( const double  s,
const double  Mw_i 
) const

The form factor \(\mathcal{F}_{Wn}^0\).

The form factor \(\mathcal{F}_{Wn}^0\), associated with nonabelian-type diagrams of \(Z\to f\bar{f}\) with virtual \(W\) bosons, is given in the chiral limit by

\[ {\cal F}_{Wn}^0(s) = - 2 (R_W + 2) M_W^2 C_0(s;M_W,0,M_W) - \left( 2R_W + \frac{7}{3} - \frac{3}{2R_W} - \frac{1}{12R_W^2} \right) B_0(s; M_W, M_W)\big|_{\mu=M_W} + 2R_W + \frac{9}{2} - \frac{11}{18R_W} + \frac{1}{18R_W^2}\,, \]

where the definitions of the symbols can be read from the codes below.

See [31].

Parameters
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\mathcal{F}_{Wn}^0\)

Definition at line 937 of file EWSMOneLoopEW.cpp.

938 {
939  double Mw = Mw_i;
940  double Mw2 = Mw*Mw;
941  double Mz = cache.getSM().getMz();
942  double Rw = Mw * Mw / s;
943 
944  /* Two- and three-point one-loop functions */
945  gslpp::complex B0_Mw_s_Mw2_Mw2;
946  gslpp::complex C0_s_Mw2_0_Mw2;
947  if (s == Mz * Mz) {
948  B0_Mw_s_Mw2_Mw2 = cache.B0_Mw2_Mz2_Mw2_Mw2(Mw);
949  C0_s_Mw2_0_Mw2 = cache.C0_Mz2_Mw2_0_Mw2(Mw);
950  } else {
951  B0_Mw_s_Mw2_Mw2 = cache.getPV().B0(Mw2, s, Mw2, Mw2);
952  C0_s_Mw2_0_Mw2 = cache.getPV().C0(s, Mw2, 0.0, Mw2);
953  }
954 
955  gslpp::complex FWn(0.0, 0.0, false);
956  FWn = -2.0 * (Rw + 2.0) * Mw * Mw * C0_s_Mw2_0_Mw2
957  - (2.0 * Rw + 7.0 / 3.0 - 3.0 / 2.0 / Rw - 1.0 / 12.0 / Rw / Rw) * B0_Mw_s_Mw2_Mw2
958  + 2.0 * Rw + 9.0 / 2.0 - 11.0 / 18.0 / Rw + 1.0 / 18.0 / Rw / Rw;
959  return FWn;
960 }
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex C0_Mz2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:972
gslpp::complex B0_Mw2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:416
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::FWn_t ( const double  s,
const double  Mw_i 
) const

The form factor \(\mathcal{F}_{Wn}^t\).

The form factor \(\mathcal{F}_{Wn}^t\), associated with nonabelian-type diagrams of \(Z\to f\bar{f}\) with virtual \(W\) bosons and the heavy top quark, is given by

\begin{align} {\cal F}_{Wn}^t(s) &= -2 (R_W +2) M_W^2 \left[ C_0(s;M_W,M_t,M_W) - C_0(s;M_W,0,M_W) \right] \\ &\quad + w_t \Bigg\{ \Bigg[ 3 R_W + \frac{5}{2} - \frac{2}{R_W } - w_t \left( 2 - \frac{1}{2R_W} \right) + w_t ^2 \left( \frac{1}{2} - R_W \right) \Bigg] M_W^2 C_0(s;M_W,M_t,M_W) \\ &\qquad\qquad +\left[ R_W + 1 - \frac{1}{4 R_W} - w_t \left( \frac{1}{2} - R_W \right) \right] \left[ B_0(s;M_W,M_W)\big|_{\mu=M_W} - 1 \right] \\ &\qquad\qquad + \left[ 2 R_W + \frac{1}{2} - \frac{2}{w_t - 1} + \frac{3}{2}\frac{1}{(w_t - 1)^2} - w_t \left( \frac{1}{2} - R_W \right) \right] \ln w_t - \frac{3}{2}\frac{1}{w_t -1} + \frac{1}{4} - \frac{1}{2 R_W} \Bigg\}\,, \end{align}

where the definitions of the symbols can be read from the codes below.

See [31].

Parameters
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\mathcal{F}_{Wn}^0\)

Definition at line 1029 of file EWSMOneLoopEW.cpp.

1030 {
1031  double Mw = Mw_i;
1032  double Mw2 = Mw*Mw;
1033  double Mz = cache.getSM().getMz();
1034  double Rw = Mw * Mw / s;
1035  double Mt = cache.getSM().getMtpole();
1036  double Mt2 = Mt*Mt;
1037  double wt = Mt2 / Mw2;
1038 
1039  /* Logarithm and two- and three-point one-loop functions */
1040  double log_wt = -2.0 * cache.logMZtoMTOP() - cache.log_cW2(Mw);
1041  gslpp::complex B0_Mw2_s_Mw2_Mw2;
1042  gslpp::complex C0_s_Mw2_Mt2_Mw2, C0_s_Mw2_0_Mw2;
1043  if (s == Mz * Mz) {
1044  B0_Mw2_s_Mw2_Mw2 = cache.B0_Mw2_Mz2_Mw2_Mw2(Mw);
1045  C0_s_Mw2_Mt2_Mw2 = cache.C0_Mz2_Mw2_Mt2_Mw2(Mw);
1046  C0_s_Mw2_0_Mw2 = cache.C0_Mz2_Mw2_0_Mw2(Mw);
1047  } else {
1048  B0_Mw2_s_Mw2_Mw2 = cache.getPV().B0(Mw2, s, Mw2, Mw2);
1049  C0_s_Mw2_Mt2_Mw2 = cache.getPV().C0(s, Mw2, Mt2, Mw2);
1050  C0_s_Mw2_0_Mw2 = cache.getPV().C0(s, Mw2, 0.0, Mw2);
1051  }
1052 
1053  gslpp::complex FWn(0.0, 0.0, false);
1054  FWn = -2.0 * (Rw + 2.0) * Mw * Mw * (C0_s_Mw2_Mt2_Mw2 - C0_s_Mw2_0_Mw2)
1055  + wt * ((3.0 * Rw + 5.0 / 2.0 - 2.0 / Rw - wt * (2.0 - 1.0 / 2.0 / Rw)
1056  + wt * wt * (1.0 / 2.0 - Rw)) * Mw * Mw * C0_s_Mw2_Mt2_Mw2
1057  + (Rw + 1.0 - 1.0 / 4.0 / Rw - wt * (1.0 / 2.0 - Rw))*(B0_Mw2_s_Mw2_Mw2 - 1.0)
1058  + (2.0 * Rw + 1.0 / 2.0 - 2.0 / (wt - 1.0)
1059  + 3.0 / 2.0 / (wt - 1.0) / (wt - 1.0) - wt * (1.0 / 2.0 - Rw)) * log_wt
1060  - 3.0 / 2.0 / (wt - 1.0) + 1.0 / 4.0
1061  - 1.0 / 2.0 / Rw);
1062  return FWn;
1063 }
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
gslpp::complex C0_Mz2_Mw2_Mt2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:927
const EWSMcache & cache
A reference to an object of type EWSMcache.
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
double logMZtoMTOP() const
A cache method.
Definition: EWSMcache.cpp:112
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
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
gslpp::complex C0_Mz2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:972
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
gslpp::complex B0_Mw2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:416
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::FZ ( const double  s,
const double  Mw_i 
) const

The unified form factor \(\mathcal{F}_Z\).

The so-called unified form factor \(\mathcal{F}_Z\), associated with radiative corrections to the \(Z\to f\bar{f}\) vertex with a virtual \(Z\) boson, is given by

\[ {\cal F}_Z(s) = {\cal F}_{Za}^0(s)\,, \]

where \({\cal F}_{Za}^0(s)\) corresponds to the function FZa_0().

See [31].

Parameters
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\mathcal{F}_Z\)

Definition at line 1065 of file EWSMOneLoopEW.cpp.

1066 {
1067  return ( FZa_0(s, Mw_i));
1068 }
gslpp::complex FZa_0(const double s, const double Mw_i) const
The form factor .
gslpp::complex EWSMOneLoopEW::FZa_0 ( const double  s,
const double  Mw_i 
) const

The form factor \(\mathcal{F}_{Za}^0\).

The form factor \(\mathcal{F}_{Za}^0\), associated with abelian-type diagrams of \(Z\to f\bar{f}\) with a virtual \(Z\) boson, is given in the chiral limit by

\[ {\cal F}_{Za}^0(s) = 2(R_Z + 1)^2 s\, C_0(s;0,(\widetilde{M}_Z^2)^{1/2},0) - (2R_Z+3) \ln\left(-\frac{\widetilde{M}_Z^2}{s}\right) - 2R_Z - \frac{7}{2}\,, \]

where \(\widetilde{M}_Z^2 \equiv M_Z^2 - i\, M_Z\Gamma_Z\approx M_Z^2-i\epsilon\), and the definitions of the other symbols can be read from the codes below.

See [31].

Parameters
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\mathcal{F}_{Za}^0\)

Definition at line 883 of file EWSMOneLoopEW.cpp.

884 {
885  double Mw = Mw_i;
886  double Mz = cache.getSM().getMz();
887  double Rz = Mz * Mz / s;
888 
889  /* Logarithm and three-point one-loop functions */
890  double log_Rz;
891  gslpp::complex C0_s_0_Mz2_0;
892  if (s == Mz * Mz) {
893  log_Rz = 0.0;
894  C0_s_0_Mz2_0 = cache.C0_Mz2_0_Mz2_0();
895  } else if (s == Mw * Mw) {
896  log_Rz = -cache.log_cW2(Mw);
897  C0_s_0_Mz2_0 = cache.C0_Mw2_0_Mz2_0(Mw);
898  } else {
899  log_Rz = log(Rz);
900  C0_s_0_Mz2_0 = cache.getPV().C0(s, 0.0, Mz*Mz, 0.0);
901  }
902 
903  gslpp::complex FZa(0.0, 0.0, false);
904  FZa = 2.0 * pow((Rz + 1.0), 2.0) * s * C0_s_0_Mz2_0
905  - (2.0 * Rz + 3.0)*(log_Rz + M_PI * gslpp::complex::i()) - 2.0 * Rz - 7.0 / 2.0;
906  return FZa;
907 }
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
complex pow(const complex &z1, const complex &z2)
gslpp::complex C0_Mz2_0_Mz2_0() const
A cache method.
Definition: EWSMcache.cpp:1017
static const complex & i()
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex C0_Mw2_0_Mz2_0(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:1002
An observable class for the -boson mass.
Definition: Mw.h:22
complex log(const complex &z)
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::PibarGammaGamma_bos ( const double  mu,
const double  s,
const double  Mw_i 
) const

The bosonic contribution to the self-energy of the photon in the Unitary gauge, \(\overline{\Pi}^{\mathrm{bos}}_{\gamma\gamma}(s)\).

This function represents the \(O(\alpha)\) bosonic contribution to \(\overline{\Pi}_{\gamma\gamma}(s)\), whose definition is given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Pi}^{\mathrm{bos}}_{\gamma\gamma}(s)\)

Definition at line 452 of file EWSMOneLoopEW.cpp.

453 {
454  double mu2 = mu*mu;
455  double Mw = Mw_i;
456  double Mw2 = Mw*Mw;
457  double Mz = cache.getSM().getMz();
458  double Mz2 = Mz*Mz;
459  double RW = pow(Mw, 2.0) / s;
460  double RW2 = RW*RW;
461  double RW3 = RW2*RW;
462 
463  /* Loop functions */
464  double A0_Mw2;
465  gslpp::complex B0_s_Mw2_Mw2;
466  if (mu == Mz && s == Mz2) {
467  A0_Mw2 = cache.A0_Mz2_Mw2(Mw);
468  B0_s_Mw2_Mw2 = cache.B0_Mz2_Mz2_Mw2_Mw2(Mw);
469  } else {
470  A0_Mw2 = cache.getPV().A0(mu2, Mw2);
471  B0_s_Mw2_Mw2 = cache.getPV().B0(mu2, s, Mw2, Mw2);
472  }
473 
474  gslpp::complex Pi(0.0, 0.0, false);
475  if (s == 0.0) {
476  Pi = 7.0 * log(Mw2 / mu / mu) - 2.0 / 3.0;
477  } else {
478  Pi = -RW * ((4.0 + 17.0 / 3.0 / RW - 4.0 / 3.0 / RW2 - 1.0 / 12.0 / RW3) * B0_s_Mw2_Mw2
479  + (4.0 - 4.0 / 3.0 / RW - 1.0 / 6.0 / RW2)*(A0_Mw2 / Mw2 + 1.0)
480  - 1.0 / 18.0 / RW2 * (1.0 / RW - 13.0));
481  }
482  return Pi;
483 }
const EWSMcache & cache
A reference to an object of type EWSMcache.
complex pow(const complex &z1, const complex &z2)
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex B0_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:326
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
double A0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:197
An observable class for the -boson mass.
Definition: Mw.h:22
complex log(const complex &z)
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double A0(const double mu2, const double m2) const
.
Definition: PVfunctions.cpp:23
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::PibarGammaGamma_fer ( const double  mu,
const double  s,
const Particle  f 
) const

The fermionic contribution to the self-energy of the photon in the Unitary gauge, associated with loops of a lepton or quark. \(\overline{\Pi}^{\mathrm{fer},f}_{\gamma\gamma}(s)\).

This function represents the \(O(\alpha)\) fermionic contribution to \(\overline{\Pi}_{\gamma\gamma}(s)\), whose definition is given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]smomentum squared \(s\)
[in]fa lepton or quark
Returns
\(\overline{\Pi}^{\mathrm{fer},f}_{\gamma\gamma}(s)\)

Definition at line 485 of file EWSMOneLoopEW.cpp.

486 {
487  // Neutrinos do not contribute, since Qf=0.
488  if (f.is("NEUTRINO_1") || f.is("NEUTRINO_2")
489  || f.is("NEUTRINO_3"))
490  return 0.0;
491 
492  double mu2 = mu*mu;
493  double mf2 = cache.mf2(f, mu);
494  double Mz = cache.getSM().getMz();
495  double Mz2 = Mz*Mz;
496 
497  /* Loop functions */
498  gslpp::complex Bf_s_mf2_mf2;
499  if (mu == Mz && s == Mz2) {
500  if (mf2 == 0.0) {
501  Bf_s_mf2_mf2 = 0.0;
502  } else {
503  Bf_s_mf2_mf2 = cache.Bf_Mz2_Mz2_mf2_mf2(f);
504  }
505  } else if (mu == Mz && s == 0.0) {
506  if (mf2 == 0.0) {
507  Bf_s_mf2_mf2 = 0.0;
508  } else {
509  Bf_s_mf2_mf2 = cache.Bf_Mz2_0_mf2_mf2(f);
510  }
511  } else {
512  if (mf2 == 0.0) {
513  Bf_s_mf2_mf2 = 0.0;
514  } else {
515  Bf_s_mf2_mf2 = cache.getPV().Bf(mu2, s, mf2, mf2);
516  }
517  }
518 
519  double Qf = cache.Q_f(f);
520  double colorfactor = (f.is("QUARK") ? 3. : 1.);
521  return ( -4.0 * colorfactor * Qf * Qf * Bf_s_mf2_mf2);
522 }
gslpp::complex Bf_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:773
gslpp::complex Bf_Mz2_0_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:788
double mf2(const Particle f, const double mu=0.0, const orders order=FULLNNLO) const
The mass squared of an SM fermion.
Definition: EWSMcache.h:257
const EWSMcache & cache
A reference to an object of type EWSMcache.
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
double Q_f(const Particle f) const
The charge of an SM fermion .
Definition: EWSMcache.h:268
bool is(std::string name_i) const
Definition: Particle.cpp:23
gslpp::complex Bf(const double mu2, const double p2, const double m02, const double m12) const
.
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::PibarGammaGamma_fer ( const double  mu,
const double  s 
) const

The fermionic contribution to the self-energy of the photon in the Unitary gauge, \(\overline{\Pi}^{\mathrm{fer}}_{\gamma\gamma}(s)\).

This function represents the \(O(\alpha)\) fermionic contribution to \(\overline{\Pi}_{\gamma\gamma}(s)\), whose definition is given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]smomentum squared \(s\)
Returns
\(\overline{\Pi}^{\mathrm{fer}}_{\gamma\gamma}(s)\)

Definition at line 524 of file EWSMOneLoopEW.cpp.

525 {
526  gslpp::complex Pi(0.0, 0.0, false);
527  for (int i = 0; i < 6; i++) {
529  Pi += PibarGammaGamma_fer(mu, s, cache.getSM().getQuarks((QCD::quark) i));
530  }
531  return Pi;
532 }
quark
An enum type for quarks.
Definition: QCD.h:730
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
const EWSMcache & cache
A reference to an object of type EWSMcache.
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
gslpp::complex PibarGammaGamma_fer(const double mu, const double s, const Particle f) const
The fermionic contribution to the self-energy of the photon in the Unitary gauge, associated with loo...
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
lepton
An enum type for leptons.
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::PibarZgamma_bos ( const double  mu,
const double  s,
const double  Mw_i 
) const

The bosonic contribution to the self-energy of the \(Z\)- \(\gamma\) mixing in the Unitary gauge, \(\overline{\Pi}^{\mathrm{bos}}_{Z\gamma}(s)\).

This function represents the \(O(\alpha)\) bosonic contribution to \(\overline{\Pi}_{Z\gamma}(s)\), whose definition is given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Pi}^{\mathrm{bos}}_{Z\gamma}(s)\)

Definition at line 534 of file EWSMOneLoopEW.cpp.

535 {
536  double Mw = Mw_i;
537  double cW2 = cache.getSM().cW2(Mw);
538  return ( PibarGammaGamma_bos(mu, s, Mw) * cW2);
539 }
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex PibarGammaGamma_bos(const double mu, const double s, const double Mw_i) const
The bosonic contribution to the self-energy of the photon in the Unitary gauge, . ...
An observable class for the -boson mass.
Definition: Mw.h:22
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 ...
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::PibarZgamma_fer ( const double  mu,
const double  s,
const double  Mw_i 
) const

The fermionic contribution to the self-energy of the \(Z\)- \(\gamma\) mixing in the Unitary gauge, \(\overline{\Pi}^{\mathrm{fer}}_{Z\gamma}(s)\).

This function represents the \(O(\alpha)\) fermionic contribution to \(\overline{\Pi}_{Z\gamma}(s)\), whose definition is given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Pi}^{\mathrm{fer}}_{Z\gamma}(s)\)

Definition at line 541 of file EWSMOneLoopEW.cpp.

542 {
543  double ml2[6], mq2[6];
544  for (int i = 0; i < 6; i++) {
546  mq2[i] = cache.mf2(cache.getSM().getQuarks((QCD::quark) i), mu);
547  }
548  double mu2 = mu*mu;
549  double Mz = cache.getSM().getMz();
550  double Mz2 = Mz*Mz;
551  double Mw = Mw_i;
552  double sW2 = cache.getSM().sW2(Mw);
553 
554  /* Loop functions */
555  gslpp::complex Bf_s_ml2_ml2[6], Bf_s_mq2_mq2[6];
556  if (mu == Mz && s == Mz2) {
557  for (int i = 0; i < 6; i++) {
558  if (i == 0 || i == 2 || i == 4)
559  Bf_s_ml2_ml2[i] = 0.0; // Neutrinos do not contribute, since Ql=0.
560  else
562  Bf_s_mq2_mq2[i] = cache.Bf_Mz2_Mz2_mf2_mf2(cache.getSM().getQuarks((QCD::quark) i));
563  }
564  } else {
565  for (int i = 0; i < 6; i++) {
566  if (i == 0 || i == 2 || i == 4)
567  Bf_s_ml2_ml2[i] = 0.0; // Neutrinos do not contribute, since Ql=0.
568  else
569  Bf_s_ml2_ml2[i] = cache.getPV().Bf(mu2, s, ml2[i], ml2[i]);
570  Bf_s_mq2_mq2[i] = cache.getPV().Bf(mu2, s, mq2[i], mq2[i]);
571  }
572  }
573 
574  gslpp::complex Pi(0.0, 0.0, false);
575  double Ql, Qq;
576  for (int i = 0; i < 6; i++) {
578  Pi += -(fabs(Ql) - 4.0 * sW2 * Ql * Ql) * Bf_s_ml2_ml2[i];
579  //
580  Qq = cache.Q_f(cache.getSM().getQuarks((QCD::quark) i));
581  Pi += -3.0 * (fabs(Qq) - 4.0 * sW2 * Qq * Qq) * Bf_s_mq2_mq2[i];
582  }
583  return Pi;
584 }
gslpp::complex Bf_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:773
double mf2(const Particle f, const double mu=0.0, const orders order=FULLNNLO) const
The mass squared of an SM fermion.
Definition: EWSMcache.h:257
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 ...
quark
An enum type for quarks.
Definition: QCD.h:730
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
const EWSMcache & cache
A reference to an object of type EWSMcache.
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
double Q_f(const Particle f) const
The charge of an SM fermion .
Definition: EWSMcache.h:268
gslpp::complex Bf(const double mu2, const double p2, const double m02, const double m12) const
.
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
An observable class for the -boson mass.
Definition: Mw.h:22
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
lepton
An enum type for leptons.
const StandardModel & getSM() const
Definition: EWSMcache.h:56
double EWSMOneLoopEW::rho_GammaW ( const Particle  fi,
const Particle  fj,
const double  Mw_i 
) const

EW radiative corrections to the width of \(W \to f_i \bar{f}_j\), denoted as \(\rho^W_{ij}\).

Parameters
[in]fia lepton or quark
[in]fja lepton or quark
[in]Mw_ithe \(W\)-boson mass
Returns
\(\rho^W_{ij}\)
See also
rho_GammaW_tmp()

Definition at line 190 of file EWSMOneLoopEW.cpp.

191 {
192  if (!((fi.is("NEUTRINO_1") && fj.is("ELECTRON")) || (fi.is("NEUTRINO_2") && fj.is("MU"))
193  || (fi.is("NEUTRINO_3") && fj.is("TAU")) || (fi.is("UP") && fj.is("DOWN"))
194  || (fi.is("CHARM") && fj.is("STRANGE")) || (fi.is("TOP") && fj.is("BOTTOM"))))
195  throw std::runtime_error("EWSMOneLoopEW::rho_GammaW(): Wrong arguments");
196  double Mw = Mw_i;
197  return ( rho_GammaW_tmp(cache.Q_f(fi), cache.Q_f(fj), Mw));
198 }
const EWSMcache & cache
A reference to an object of type EWSMcache.
double rho_GammaW_tmp(const double Qi, const double Qj, const double Mw_i) const
EW radiative corrections to the widths of , denoted as .
double Q_f(const Particle f) const
The charge of an SM fermion .
Definition: EWSMcache.h:268
bool is(std::string name_i) const
Definition: Particle.cpp:23
An observable class for the -boson mass.
Definition: Mw.h:22
double EWSMOneLoopEW::rho_GammaW_tmp ( const double  Qi,
const double  Qj,
const double  Mw_i 
) const

EW radiative corrections to the widths of \(W \to f_i \bar{f}_j\), denoted as \(\rho^W_{ij}\).

The factor \(\rho^W_{ij}\) is decomposed as [34], [31]

\[ \rho^W_{ij} = 1 + \delta f^W_{ij} + \delta f^{\rm QED}_{ij}, \]

where \(\delta f^W_{ij}\) and \(\delta f^{\rm QED}_{ij}\) are given by

\begin{align} \delta f^W_{ij} &= \frac{\alpha}{4\pi s_W^2} \Bigg[ - \Delta\overline{\rho}_W \big|_{\mu=M_W} - {\rm Re}\big[\overline{\Sigma}^{\prime}_{WW}(M_W^2)\big]\big|_{\mu=M_W} + \frac{5}{8} c_W^2 (1 + c_W^2) - \frac{11}{2} - \frac{9}{4}\frac{c_W^2}{s_W^2}\ln c_W^2 \\ &\qquad\qquad\qquad + \left( -1 + \frac{1}{2\,c_W^2} + \frac{2 s_W^4}{c_W^2} Q_i Q_j \right) \left( V_1(M_W^2,M_Z^2) + \frac{3}{2} \right) + 2\,c_W^2 \left( V_2(M_W^2,M_W^2,M_Z^2) + \frac{3}{2} \right) \Bigg]\,, \\ \delta f^{\rm QED}_{ij} &= \frac{\alpha}{\pi} \left[ \frac{85}{18} - \frac{\pi^2}{3} + \frac{3}{4}\,Q_iQ_j \right]. \end{align}

The functions \(V_1\) and \(V_2\) are given in [33] :

\begin{align} V_1(M_W^2,M_Z^2) &= {\rm Re}\left[{\cal F}_{Za}^0(M_W^2)\right] - \frac{3}{2}\,, \\ V_2(M_W^2,M_W^2,M_Z^2) &= - 2(2 + c_W^2)M_Z^2\,{\rm Re}\left[C_0(M_W^2;\,M_W,0,M_Z)\right] - \left(\frac{1}{12 c_W^4} + \frac{5}{3 c_W^2} + 1 \right) {\rm Re}\left[B_0^F(M_W^2;\,M_Z,M_W)\Big|_{\mu=M_W}\right] \\ &\quad + \left( \frac{1}{12 c_W^4} + \frac{1}{c_W^2} + 1 \right)\log c_W^2 + \frac{1}{12 c_W^4} + \frac{13}{12 c_W^2} + \frac{59}{18}\,, \end{align}

where the imaginary parts have been neglected.

Parameters
[in]Qithe electric charge of f_i
[in]Qjthe electric charge of f_j
[in]Mw_ithe \(W\)-boson mass
Returns
\(\rho^W_{ij}\)
Attention
The masses of virtual fermions are neglected.

Definition at line 155 of file EWSMOneLoopEW.cpp.

157 {
158  double QiQj = Qi*Qj;
159  double Mz = cache.getSM().getMz();
160  double Mw = Mw_i;
161  double sW2 = cache.getSM().sW2(Mw);
162  double cW2 = cache.getSM().cW2(Mw);
163 
164  /* Logarithm and one-loop functions */
165  double log_cW2 = cache.log_cW2(Mw);
166  gslpp::complex B0_Mw2_Mw2_Mz2_Mw2 = cache.B0_Mw2_Mw2_Mz2_Mw2(Mw);
167  gslpp::complex C0_Mw2_Mw2_0_Mz2 = cache.C0_Mw2_Mw2_0_Mz2(Mw);
168 
169  double V1 = FZa_0(Mw*Mw, Mw).real() - 3.0 / 2.0;
170  double V2 = -2.0 * (2.0 + cW2) * Mz * Mz * C0_Mw2_Mw2_0_Mz2.real()
171  - (1.0 / 12.0 / cW2 / cW2 + 5.0 / 3.0 / cW2 + 1.0) * B0_Mw2_Mw2_Mz2_Mw2.real()
172  + (1.0 / 12.0 / cW2 / cW2 + 1.0 / cW2 + 1.0) * log_cW2
173  + 1.0 / 12.0 / cW2 / cW2 + 13.0 / 12.0 / cW2 + 59.0 / 18.0;
174 
175  double deltafij_W, deltafij_QED;
176  deltafij_W = -DeltaRhobarW(Mw, Mw)
177  - SigmabarPrime_WW_bos_Mw2(Mw, Mw).real()
178  - SigmabarPrime_WW_fer_Mw2(Mw, Mw).real()
179  + 5.0 / 8.0 * cW2 * (1.0 + cW2) - 11.0 / 2.0 - 9.0 * cW2 / 4.0 / sW2 * log_cW2
180  + (-1.0 + 1.0 / 2.0 / cW2 + 2.0 * sW2 * sW2 / cW2 * QiQj)*(V1 + 3.0 / 2.0)
181  + 2.0 * cW2 * (V2 + 3.0 / 2.0);
182  deltafij_W *= cache.getSM().getAle() / 4.0 / M_PI / sW2;
183 
184  deltafij_QED = 85.0 / 18.0 - M_PI * M_PI / 3.0 + 3.0 / 4.0 * QiQj;
185  deltafij_QED *= cache.getSM().getAle() / M_PI;
186 
187  return ( 1.0 + deltafij_W + deltafij_QED);
188 }
gslpp::complex SigmabarPrime_WW_bos_Mw2(const double mu, const double Mw_i) const
The derivative of the bosonic contribution to the self-energy of the boson for in the Unitary gauge...
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 ...
double DeltaRhobarW(const double mu, const double Mw_i) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex B0_Mw2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:431
const double & real() const
gslpp::complex SigmabarPrime_WW_fer_Mw2(const double mu, const double Mw_i) const
The derivative of the fermionic contribution to the self-energy of the boson for in the Unitary gau...
gslpp::complex C0_Mw2_Mw2_0_Mz2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:987
double getAle() const
A get method to retrieve the fine-structure constant .
An observable class for the -boson mass.
Definition: Mw.h:22
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
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 ...
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex FZa_0(const double s, const double Mw_i) const
The form factor .
gslpp::complex EWSMOneLoopEW::SigmabarPrime_WW_bos_Mw2 ( const double  mu,
const double  Mw_i 
) const

The derivative of the bosonic contribution to the self-energy of the \(W\) boson for \(s=M_W^2\) in the Unitary gauge, \(\overline{\Sigma}^{\prime,\mathrm{bos}}_{WW}(M_W^2)\).

See also the definition of the self-energy given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Sigma}^{\prime,\mathrm{bos}}_{WW}(M_W^2)\)

Definition at line 589 of file EWSMOneLoopEW.cpp.

590 {
591  double mu2 = mu*mu;
592  double Mw = Mw_i;
593  double Mw2 = Mw*Mw;
594  double Mz = cache.getSM().getMz();
595  double Mz2 = Mz*Mz;
596  double mh = cache.getSM().getMHl();
597  double mh2 = mh*mh;
598  double sW2 = cache.getSM().sW2(Mw_i);
599  double cW2 = cache.getSM().cW2(Mw_i);
600  double cW4 = cW2*cW2;
601  double rw = mh2 / Mw2;
602  //double rz = mh2/Mz2;
603 
604  /* Loop functions */
605  double A0_Mw2, A0_Mz2, A0_mh2;
606  gslpp::complex B0_Mw2_Mz2_Mw2, B0_Mw2_0_Mw2, B0_Mw2_mh2_Mw2;
607  gslpp::complex B0p_Mw2_Mz2_Mw2, B0p_Mw2_0_Mw2, B0p_Mw2_mh2_Mw2;
608  if (mu == Mw) {
609  A0_Mw2 = cache.A0_Mw2_Mw2(Mw);
610  A0_Mz2 = cache.A0_Mw2_Mz2(Mw);
611  A0_mh2 = cache.A0_Mw2_mh2(Mw);
612  B0_Mw2_Mz2_Mw2 = cache.B0_Mw2_Mw2_Mz2_Mw2(Mw);
613  B0_Mw2_0_Mw2 = cache.B0_Mw2_Mw2_0_Mw2(Mw);
614  B0_Mw2_mh2_Mw2 = cache.B0_Mw2_Mw2_mh2_Mw2(Mw);
615  B0p_Mw2_Mz2_Mw2 = cache.B0p_Mw2_Mw2_Mz2_Mw2(Mw);
616  B0p_Mw2_0_Mw2 = cache.B0p_Mw2_Mw2_0_Mw2(Mw);
617  B0p_Mw2_mh2_Mw2 = cache.B0p_Mw2_Mw2_mh2_Mw2(Mw);
618  } else {
619  A0_Mw2 = cache.getPV().A0(mu2, Mw2);
620  A0_Mz2 = cache.getPV().A0(mu2, Mz2);
621  A0_mh2 = cache.getPV().A0(mu2, mh2);
622  B0_Mw2_Mz2_Mw2 = cache.getPV().B0(mu2, Mw2, Mz2, Mw2);
623  B0_Mw2_0_Mw2 = cache.getPV().B0(mu2, Mw2, 0.0, Mw2);
624  B0_Mw2_mh2_Mw2 = cache.getPV().B0(mu2, Mw2, mh, Mw2);
625  B0p_Mw2_Mz2_Mw2 = cache.getPV().B0p(mu2, Mw2, Mz2, Mw2);
626  B0p_Mw2_0_Mw2 = cache.getPV().B0p(mu2, Mw2, 0.0, Mw2);
627  B0p_Mw2_mh2_Mw2 = cache.getPV().B0p(mu2, Mw2, mh2, Mw2);
628  }
629 
630  gslpp::complex Sigma(0.0, 0.0, false);
631  Sigma = -(1.0 / 12.0 / cW4 + 2.0 / 3.0 / cW2 + 2.0 * cW2) * B0_Mw2_Mz2_Mw2
632  + (1.0 / 12.0 / cW4 + 4.0 / 3.0 / cW2 - 17.0 / 3.0 - 4.0 * cW2) * Mw2 * B0p_Mw2_Mz2_Mw2
633  - 2.0 * sW2 * B0_Mw2_0_Mw2 - 4.0 * sW2 * Mw2 * B0p_Mw2_0_Mw2
634  + rw / 6.0 * (1.0 - rw / 2.0) * B0_Mw2_mh2_Mw2
635  + (1.0 - rw / 3.0 + rw * rw / 12.0) * Mw2 * B0p_Mw2_mh2_Mw2
636  + (1.0 / cW2 + 8.0 + rw) / 12.0 * A0_Mw2 / Mw2
637  - (1.0 / cW2 + 9.0 - 8.0 * cW2 - 12.0 * cW4) / 12.0 * A0_Mz2 / Mw2
638  - (rw - 1.0) / 12.0 * A0_mh2 / Mw2 + 4.0 / 9.0;
639  return Sigma;
640 }
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 ...
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex B0_Mw2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:431
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
double A0_Mw2_mh2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:239
double A0_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:267
double A0_Mw2_Mz2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:225
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex B0p_Mw2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:551
gslpp::complex B0p_Mw2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:566
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 ...
gslpp::complex B0p(const double muIR2, const double p2, const double m02, const double m12) const
.
gslpp::complex B0_Mw2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:461
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMHl() const
A get method to retrieve the Higgs mass .
double A0(const double mu2, const double m2) const
.
Definition: PVfunctions.cpp:23
double getMz() const
A get method to access the mass of the boson .
gslpp::complex B0_Mw2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:446
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex B0p_Mw2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:581
gslpp::complex EWSMOneLoopEW::SigmabarPrime_WW_fer_Mw2 ( const double  mu,
const double  Mw_i 
) const

The derivative of the fermionic contribution to the self-energy of the \(W\) boson for \(s=M_W^2\) in the Unitary gauge, \(\overline{\Sigma}^{\prime,\mathrm{fer}}_{WW}(M_W^2)\).

See also the definition of the self-energy given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Sigma}^{\prime,\mathrm{fer}}_{WW}(M_W^2)\)

Definition at line 642 of file EWSMOneLoopEW.cpp.

643 {
644  double ml2[6], mq2[6];
645  for (int i = 0; i < 6; i++) {
647  mq2[i] = cache.mf2(cache.getSM().getQuarks((QCD::quark) i), mu);
648  }
649  double mu2 = mu*mu;
650  double Mw = Mw_i;
651  double Mw2 = Mw*Mw;
652 
653  /* Loop functions */
654  gslpp::complex Bf_Mw2_mlprime2_ml2[3], Bf_Mw2_mqprime2_mq2[3];
655  gslpp::complex Bfp_Mw2_mlprime2_ml2[3], Bfp_Mw2_mqprime2_mq2[3];
656  gslpp::complex B1p_Mw2_mlprime2_ml2[3], B1p_Mw2_mqprime2_mq2[3];
657  gslpp::complex B1p_Mw2_ml2_mlprime2[3], B1p_Mw2_mq2_mqprime2[3];
658  if (mu == Mw) {
659  for (int gen = 0; gen < 3; gen++) {
660  Bf_Mw2_mlprime2_ml2[gen] = cache.Bf_Mw2_Mw2_mfprime2_mf2(gen, Mw);
661  Bf_Mw2_mqprime2_mq2[gen] = cache.Bf_Mw2_Mw2_mfprime2_mf2(gen + 3, Mw);
662  Bfp_Mw2_mlprime2_ml2[gen] = cache.Bfp_Mw2_Mw2_mfprime2_mf2(gen, Mw);
663  Bfp_Mw2_mqprime2_mq2[gen] = cache.Bfp_Mw2_Mw2_mfprime2_mf2(gen + 3, Mw);
664  B1p_Mw2_ml2_mlprime2[gen] = cache.B1p_Mw2_Mw2_mf2_mfprime2(gen, Mw);
665  B1p_Mw2_mq2_mqprime2[gen] = cache.B1p_Mw2_Mw2_mf2_mfprime2(gen + 3, Mw);
666  B1p_Mw2_mlprime2_ml2[gen] = cache.B1p_Mw2_Mw2_mfprime2_mf2(gen, Mw);
667  B1p_Mw2_mqprime2_mq2[gen] = cache.B1p_Mw2_Mw2_mfprime2_mf2(gen + 3, Mw);
668  }
669  } else {
670  for (int gen = 0; gen < 3; gen++) {
671  Bf_Mw2_mlprime2_ml2[gen] = cache.getPV().Bf(mu2, Mw2, ml2[2 * gen + 1], ml2[2 * gen]);
672  Bf_Mw2_mqprime2_mq2[gen] = cache.getPV().Bf(mu2, Mw2, mq2[2 * gen + 1], mq2[2 * gen]);
673  Bfp_Mw2_mlprime2_ml2[gen] = cache.getPV().Bfp(mu2, Mw2, ml2[2 * gen + 1], ml2[2 * gen]);
674  Bfp_Mw2_mqprime2_mq2[gen] = cache.getPV().Bfp(mu2, Mw2, mq2[2 * gen + 1], mq2[2 * gen]);
675  B1p_Mw2_ml2_mlprime2[gen] = cache.getPV().B1p(mu2, Mw2, ml2[2 * gen], ml2[2 * gen + 1]);
676  B1p_Mw2_mq2_mqprime2[gen] = cache.getPV().B1p(mu2, Mw2, mq2[2 * gen], mq2[2 * gen + 1]);
677  B1p_Mw2_mlprime2_ml2[gen] = cache.getPV().B1p(mu2, Mw2, ml2[2 * gen + 1], ml2[2 * gen]);
678  B1p_Mw2_mqprime2_mq2[gen] = cache.getPV().B1p(mu2, Mw2, mq2[2 * gen + 1], mq2[2 * gen]);
679  }
680  }
681 
682  gslpp::complex Sigma(0.0, 0.0, false);
683  double mf2, mfprime2;
684  for (int gen = 0; gen < 3; gen++) {
685  mf2 = ml2[2 * gen];
686  mfprime2 = ml2[2 * gen + 1];
687  Sigma += -(Bf_Mw2_mlprime2_ml2[gen] + Mw2 * Bfp_Mw2_mlprime2_ml2[gen]);
688  Sigma += mfprime2 * B1p_Mw2_ml2_mlprime2[gen] + mf2 * B1p_Mw2_mlprime2_ml2[gen];
689  //
690  mf2 = mq2[2 * gen];
691  mfprime2 = mq2[2 * gen + 1];
692  Sigma += -3.0 * (Bf_Mw2_mqprime2_mq2[gen] + Mw2 * Bfp_Mw2_mqprime2_mq2[gen]);
693  Sigma += 3.0 * (mfprime2 * B1p_Mw2_mq2_mqprime2[gen] + mf2 * B1p_Mw2_mqprime2_mq2[gen]);
694  }
695  return Sigma;
696 }
gslpp::complex Bfp(const double mu2, const double p2, const double m02, const double m12) const
.
double mf2(const Particle f, const double mu=0.0, const orders order=FULLNNLO) const
The mass squared of an SM fermion.
Definition: EWSMcache.h:257
quark
An enum type for quarks.
Definition: QCD.h:730
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
gslpp::complex Bfp_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:900
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex B1p_Mw2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:719
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex B1p_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:746
gslpp::complex B1p(const double mu2, const double p2, const double m02, const double m12) const
.
gslpp::complex Bf(const double mu2, const double p2, const double m02, const double m12) const
.
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
An observable class for the -boson mass.
Definition: Mw.h:22
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex Bf_Mw2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:858
lepton
An enum type for leptons.
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::SigmabarPrime_ZZ_bos_Mz2 ( const double  mu,
const double  Mw_i 
) const

The derivative of the bosonic contribution to the self-energy of the \(Z\) boson for \(s=M_Z^2\) in the Unitary gauge, \(\overline{\Sigma}^{\prime,\mathrm{bos}}_{ZZ}(M_Z^2)\).

See also the definition of the self-energy given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Sigma}^{\prime,\mathrm{bos}}_{ZZ}(M_Z^2)\)

Definition at line 698 of file EWSMOneLoopEW.cpp.

699 {
700  double mu2 = mu*mu;
701  double Mw = Mw_i;
702  double Mw2 = Mw*Mw;
703  double Mz = cache.getSM().getMz();
704  double Mz2 = Mz*Mz;
705  double mh = cache.getSM().getMHl();
706  double mh2 = mh*mh;
707  double cW2 = cache.getSM().cW2(Mw);
708  double cW4 = cW2*cW2;
709  double rw = mh2 / Mw2;
710  double rz = mh2 / Mz2;
711 
712  /* Loop functions */
713  double A0_Mw2, A0_Mz2, A0_mh2;
714  gslpp::complex B0_Mz2_Mw2_Mw2, B0_Mz2_mh2_Mz2;
715  gslpp::complex B0p_Mz2_Mw2_Mw2, B0p_Mz2_mh2_Mz2;
716  if (mu == Mz) {
717  A0_Mw2 = cache.A0_Mz2_Mw2(Mw);
718  A0_Mz2 = cache.A0_Mz2_Mz2();
719  A0_mh2 = cache.A0_Mz2_mh2();
720  B0_Mz2_Mw2_Mw2 = cache.B0_Mz2_Mz2_Mw2_Mw2(Mw);
721  B0_Mz2_mh2_Mz2 = cache.B0_Mz2_Mz2_mh2_Mz2();
722  B0p_Mz2_Mw2_Mw2 = cache.B0p_Mz2_Mz2_Mw2_Mw2(Mw);
723  B0p_Mz2_mh2_Mz2 = cache.B0p_Mz2_Mz2_mh2_Mz2();
724  } else {
725  A0_Mw2 = cache.getPV().A0(mu2, Mw2);
726  A0_Mz2 = cache.getPV().A0(mu2, Mz2);
727  A0_mh2 = cache.getPV().A0(mu2, mh2);
728  B0_Mz2_Mw2_Mw2 = cache.getPV().B0(mu2, Mz2, Mw2, Mw2);
729  B0_Mz2_mh2_Mz2 = cache.getPV().B0(mu2, Mz2, mh2, Mz2);
730  B0p_Mz2_Mw2_Mw2 = cache.getPV().B0p(mu2, Mz2, Mw2, Mw2);
731  B0p_Mz2_mh2_Mz2 = cache.getPV().B0p(mu2, Mz2, mh2, Mz2);
732  }
733 
734  gslpp::complex Sigma(0.0, 0.0, false);
735  Sigma = (1.0 / 4.0 / cW2 + 8.0 / 3.0 - 17.0 / 3.0 * cW2) * B0_Mz2_Mw2_Mw2
736  + (1.0 / 12.0 / cW2 + 4.0 / 3.0 - 17.0 / 3.0 * cW2 - 4.0 * cW4) * Mz2 * B0p_Mz2_Mw2_Mw2
737  + rw / 6.0 * (1.0 - rz / 2.0) * B0_Mz2_mh2_Mz2
738  + (1.0 - rz / 3.0 + rz * rz / 12.0) * Mz2 / cW2 * B0p_Mz2_mh2_Mz2
739  + (1.0 + 4.0 * cW2) / 3.0 / cW2 * A0_Mw2 / Mz2
740  - (1.0 - rz) / 12.0 / cW2 * (A0_Mz2 - A0_mh2) / Mz2
741  + 2.0 / 9.0 / cW2 - 10.0 / 9.0 + 4.0 / 3.0 * cW2;
742  Sigma *= cW2;
743  return Sigma;
744 }
double A0_Mz2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:253
double A0_Mz2_mh2() const
A cache method.
Definition: EWSMcache.cpp:211
gslpp::complex B0p_Mz2_Mz2_mh2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:506
const EWSMcache & cache
A reference to an object of type EWSMcache.
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex B0_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:326
gslpp::complex B0p_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:536
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
double A0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:197
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex B0_Mz2_Mz2_mh2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:341
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 ...
gslpp::complex B0p(const double muIR2, const double p2, const double m02, const double m12) const
.
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMHl() const
A get method to retrieve the Higgs mass .
double A0(const double mu2, const double m2) const
.
Definition: PVfunctions.cpp:23
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::SigmabarPrime_ZZ_fer_Mz2 ( const double  mu,
const double  Mw_i 
) const

The derivative of the fermionic contribution to the self-energy of the \(Z\) boson for \(s=M_Z^2\) in the Unitary gauge, \(\overline{\Sigma}^{\prime,\mathrm{fer}}_{ZZ}(M_Z^2)\).

See also the definition of the self-energy given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Sigma}^{\prime,\mathrm{fer}}_{ZZ}(M_Z^2)\)

Definition at line 746 of file EWSMOneLoopEW.cpp.

747 {
748  double ml2[6], mq2[6];
749  for (int i = 0; i < 6; i++) {
751  mq2[i] = cache.mf2(cache.getSM().getQuarks((QCD::quark) i), mu);
752  }
753  double mu2 = mu*mu;
754  double Mw = Mw_i;
755  double Mz = cache.getSM().getMz();
756  double Mz2 = Mz*Mz;
757 
758  /* Loop functions */
759  gslpp::complex Bf_Mz2_ml2_ml2[6], Bf_Mz2_mq2_mq2[6];
760  gslpp::complex Bfp_Mz2_ml2_ml2[6], Bfp_Mz2_mq2_mq2[6];
761  gslpp::complex B0p_Mz2_ml2_ml2[6], B0p_Mz2_mq2_mq2[6];
762  if (mu == Mz) {
763  for (int i = 0; i < 6; i++) {
765  Bf_Mz2_mq2_mq2[i] = cache.Bf_Mz2_Mz2_mf2_mf2(cache.getSM().getQuarks((QCD::quark) i));
767  Bfp_Mz2_mq2_mq2[i] = cache.Bfp_Mz2_Mz2_mf2_mf2(cache.getSM().getQuarks((QCD::quark) i));
769  B0p_Mz2_mq2_mq2[i] = cache.B0p_Mz2_Mz2_mf2_mf2(cache.getSM().getQuarks((QCD::quark) i));
770  }
771  } else {
772  for (int i = 0; i < 6; i++) {
773  Bf_Mz2_ml2_ml2[i] = cache.getPV().Bf(mu2, Mz2, ml2[i], ml2[i]);
774  Bf_Mz2_mq2_mq2[i] = cache.getPV().Bf(mu2, Mz2, mq2[i], mq2[i]);
775  Bfp_Mz2_ml2_ml2[i] = cache.getPV().Bfp(mu2, Mz2, ml2[i], ml2[i]);
776  Bfp_Mz2_mq2_mq2[i] = cache.getPV().Bfp(mu2, Mz2, mq2[i], mq2[i]);
777  B0p_Mz2_ml2_ml2[i] = cache.getPV().B0p(mu2, Mz2, ml2[i], ml2[i]);
778  B0p_Mz2_mq2_mq2[i] = cache.getPV().B0p(mu2, Mz2, mq2[i], mq2[i]);
779  }
780  }
781 
782  gslpp::complex Sigma(0.0, 0.0, false);
783  double mf2, vf2, af2;
784  for (int i = 0; i < 6; i++) {
785  mf2 = ml2[i];
786  vf2 = pow(cache.v_f(cache.getSM().getLeptons((StandardModel::lepton) i), Mw), 2.0);
788  Sigma += -(vf2 + af2)*(Bf_Mz2_ml2_ml2[i] + Mz2 * Bfp_Mz2_ml2_ml2[i])
789  - 2.0 * af2 * mf2 * B0p_Mz2_ml2_ml2[i];
790  //
791  mf2 = mq2[i];
792  vf2 = pow(cache.v_f(cache.getSM().getQuarks((QCD::quark) i), Mw), 2.0);
793  af2 = pow(cache.a_f(cache.getSM().getQuarks((QCD::quark) i)), 2.0);
794  Sigma += -3.0 * (vf2 + af2)*(Bf_Mz2_mq2_mq2[i] + Mz2 * Bfp_Mz2_mq2_mq2[i])
795  - 6.0 * af2 * mf2 * B0p_Mz2_mq2_mq2[i];
796  }
797  return Sigma;
798 }
gslpp::complex Bfp(const double mu2, const double p2, const double m02, const double m12) const
.
gslpp::complex Bf_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:773
double mf2(const Particle f, const double mu=0.0, const orders order=FULLNNLO) const
The mass squared of an SM fermion.
Definition: EWSMcache.h:257
quark
An enum type for quarks.
Definition: QCD.h:730
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
gslpp::complex B0p_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:596
const EWSMcache & cache
A reference to an object of type EWSMcache.
complex pow(const complex &z1, const complex &z2)
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
double a_f(const Particle f) const
The tree-level axial-vector coupling for , denoted as .
Definition: EWSMcache.h:301
gslpp::complex Bfp_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:885
gslpp::complex Bf(const double mu2, const double p2, const double m02, const double m12) const
.
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
An observable class for the -boson mass.
Definition: Mw.h:22
double v_f(const Particle f, const double Mw_i) const
The tree-level vector coupling for , denoted as .
Definition: EWSMcache.h:290
gslpp::complex B0p(const double muIR2, const double p2, const double m02, const double m12) const
.
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
lepton
An enum type for leptons.
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::SigmabarWW_bos ( const double  mu,
const double  s,
const double  Mw_i 
) const

The bosonic contribution to the self-energy of the \(W\) boson in the Unitary gauge, \(\overline{\Sigma}^{\mathrm{bos}}_{WW}(s)\).

This function represents the \(O(\alpha)\) bosonic contribution to \(\overline{\Sigma}_{WW}(s)\), whose definition is given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Sigma}^{\mathrm{bos}}_{WW}(s)\)

Definition at line 203 of file EWSMOneLoopEW.cpp.

204 {
205  double mu2 = mu*mu;
206  double Mw = Mw_i;
207  double Mw2 = Mw*Mw;
208  double Mz = cache.getSM().getMz();
209  double Mz2 = Mz*Mz;
210  double mh = cache.getSM().getMHl();
211  double mh2 = mh*mh;
212  double sW2 = cache.getSM().sW2(Mw);
213  double cW2 = cache.getSM().cW2(Mw);
214  double cW4 = cW2*cW2;
215  double RW = pow(Mw, 2.0) / s;
216  double RW2 = RW*RW;
217  double RW3 = RW2*RW;
218  double rw = pow(mh / Mw, 2.0);
219 
220  /* Loop functions */
221  double A0_Mw2, A0_Mz2, A0_mh2;
222  gslpp::complex B0_s_Mz2_Mw2, B0_s_0_Mw2, B0_s_mh2_Mw2;
223  gslpp::complex B0p_s_Mz2_Mw2, B0p_s_mh2_Mw2; /* for s==0.0 */
224  if (mu == Mz && s == 0.0) {
225  A0_Mw2 = cache.A0_Mz2_Mw2(Mw);
226  A0_Mz2 = cache.A0_Mz2_Mz2();
227  A0_mh2 = cache.A0_Mz2_mh2();
228  B0_s_Mz2_Mw2 = cache.B0_Mz2_0_Mz2_Mw2(Mw);
229  B0_s_0_Mw2 = cache.B0_Mz2_0_0_Mw2(Mw);
230  B0_s_mh2_Mw2 = cache.B0_Mz2_0_mh2_Mw2(Mw);
231  B0p_s_Mz2_Mw2 = cache.B0p_Mz2_0_Mz2_Mw2(Mw);
232  B0p_s_mh2_Mw2 = cache.B0p_Mz2_0_mh2_Mw2(Mw);
233  } else if (mu == Mz && s == Mw2) {
234  A0_Mw2 = cache.A0_Mz2_Mw2(Mw);
235  A0_Mz2 = cache.A0_Mz2_Mz2();
236  A0_mh2 = cache.A0_Mz2_mh2();
237  B0_s_Mz2_Mw2 = cache.B0_Mz2_Mw2_Mz2_Mw2(Mw);
238  B0_s_0_Mw2 = cache.B0_Mz2_Mw2_0_Mw2(Mw);
239  B0_s_mh2_Mw2 = cache.B0_Mz2_Mw2_mh2_Mw2(Mw);
240  } else {
241  A0_Mw2 = cache.getPV().A0(mu2, Mw2);
242  A0_Mz2 = cache.getPV().A0(mu2, Mz2);
243  A0_mh2 = cache.getPV().A0(mu2, mh2);
244  B0_s_Mz2_Mw2 = cache.getPV().B0(mu2, s, Mz2, Mw2);
245  B0_s_0_Mw2 = cache.getPV().B0(mu2, s, 0.0, Mw2);
246  B0_s_mh2_Mw2 = cache.getPV().B0(mu2, s, mh2, Mw2);
247  B0p_s_Mz2_Mw2 = cache.getPV().B0p(mu2, s, Mz2, Mw2);
248  B0p_s_mh2_Mw2 = cache.getPV().B0p(mu2, s, mh2, Mw2);
249  }
250 
251  gslpp::complex Sigma(0.0, 0.0, false);
252  if (s == 0.0) {
253  Sigma = Mw2 * (2.0 / 3.0 * (1.0 / cW2 - 4.0 - 4.0 * cW2 + cW4) * B0_s_Mz2_Mw2
254  + (1.0 / 12.0 / cW4 + 2.0 / 3.0 / cW2 - 3.0 / 2.0
255  + 2.0 / 3.0 * cW2 + 1.0 / 12.0 * cW4) * Mw2 * B0p_s_Mz2_Mw2
256  - 17.0 * sW2 / 6.0 * B0_s_0_Mw2 + 5.0 / 12.0 * sW2
257  - 1.0 / 12.0 * (-10.0 + 2.0 * rw) * B0_s_mh2_Mw2
258  + 1.0 / 12.0 * pow(1.0 - rw, 2.0) * Mw2 * B0p_s_mh2_Mw2
259  - 1.0 / 12.0 * (24.0 - 2.0 * cW2 + cW4) * A0_Mw2 / Mw2
260  - 1.0 / 6.0 * A0_mh2 / Mw2
261  - 1.0 / 12.0 * (1.0 + 14.0 * cW2 + 9.0 * cW4) * A0_Mz2 / Mw2
262  - 1.0 / 6.0 * (1.0 / cW2 + 22.0 + cW2 + cW4 + rw));
263  } else {
264  Sigma = Mw2 * (((1.0 / 12.0 / cW4 + 2.0 / 3.0 / cW2 - 3.0 / 2.0 + 2.0 / 3.0 * cW2
265  + 1.0 / 12.0 * cW4) * RW
266  + 2.0 / 3.0 * (1.0 / cW2 - 4.0 - 4.0 * cW2 + cW4)
267  - (3.0 / 2.0 + 8.0 / 3.0 * cW2 + 3.0 / 2.0 * cW4) / RW
268  + 2.0 / 3.0 * cW2 * (1.0 + cW2) / RW2 + 1.0 / 12.0 * cW4 / RW3) * B0_s_Mz2_Mw2
269  - sW2 / 6.0 * (-5.0 * RW + 17.0 + 17.0 / RW - 5.0 / RW2) * B0_s_0_Mw2
270  - 1.0 / 12.0 * (-pow(1.0 - rw, 2.0) * RW - 10.0 + 2.0 * rw - 1.0 / RW)
271  * B0_s_mh2_Mw2
272  - 1.0 / 12.0 * ((1.0 / cW2 - 2.0 + cW2 - cW4 + rw) * RW
273  + 24.0 - 2.0 * cW2 + cW4
274  + (-10.0 + cW2 + cW4) / RW - cW4 / RW2) * A0_Mw2 / Mw2
275  - 1.0 / 12.0 * (-(1.0 / cW2 + 9.0 - 9.0 * cW2 - cW4) * RW
276  + 1.0 + 14.0 * cW2 + 9.0 * cW4
277  + cW2 / RW * (1.0 - 9.0 * cW2) - cW4 / RW2) * A0_Mz2 / Mw2
278  + 1.0 / 12.0 * ((mh2 - Mw2) / s - 2.0) * A0_mh2 / Mw2
279  - 1.0 / 6.0 * (1.0 / cW2 + 22.0 + cW2 + cW4 + rw)
280  + 1.0 / 9.0 * ((6.0 + 3.0 * cW2 + 7.0 / 2.0 * cW4) / RW
281  - (1.0 + 3.0 / 2.0 * cW2 + 5.0 / 2.0 * cW4) / RW2
282  + cW4 / 2.0 / RW3));
283  }
284  return Sigma;
285 }
double A0_Mz2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:253
gslpp::complex B0p_Mz2_0_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:491
gslpp::complex B0_Mz2_Mw2_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:371
double A0_Mz2_mh2() const
A cache method.
Definition: EWSMcache.cpp:211
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 ...
gslpp::complex B0_Mz2_0_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:296
const EWSMcache & cache
A reference to an object of type EWSMcache.
complex pow(const complex &z1, const complex &z2)
gslpp::complex B0p_Mz2_0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:521
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex B0_Mz2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:281
gslpp::complex B0_Mz2_0_0_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:401
gslpp::complex B0_Mz2_0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:386
gslpp::complex B0_Mz2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:356
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
double A0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:197
An observable class for the -boson mass.
Definition: Mw.h:22
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 ...
gslpp::complex B0p(const double muIR2, const double p2, const double m02, const double m12) const
.
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMHl() const
A get method to retrieve the Higgs mass .
double A0(const double mu2, const double m2) const
.
Definition: PVfunctions.cpp:23
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::SigmabarWW_fer ( const double  mu,
const double  s,
const double  Mw_i 
) const

The fermionic contribution to the self-energy of the \(W\) boson in the Unitary gauge, \(\overline{\Sigma}^{\mathrm{fer}}_{WW}(s)\).

This function represents the \(O(\alpha)\) fermionic contribution to \(\overline{\Sigma}_{WW}(s)\), whose definition is given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Sigma}^{\mathrm{fer}}_{WW}(s)\)

Definition at line 287 of file EWSMOneLoopEW.cpp.

288 {
289  double ml2[6], mq2[6];
290  for (int i = 0; i < 6; i++) {
292  mq2[i] = cache.mf2(cache.getSM().getQuarks((QCD::quark) i), mu);
293  }
294  double mu2 = mu*mu;
295  double Mw = Mw_i;
296  double Mw2 = Mw*Mw;
297  double Mz = cache.getSM().getMz();
298 
299  /* Loop functions */
300  gslpp::complex B1_s_ml2_mlprime2[3], B1_s_mq2_mqprime2[3];
301  gslpp::complex B1_s_mlprime2_ml2[3], B1_s_mqprime2_mq2[3];
302  gslpp::complex Bf_s_mlprime2_ml2[3], Bf_s_mqprime2_mq2[3];
303  if (mu == Mz && s == 0.0) {
304  for (int gen = 0; gen < 3; gen++) {
305  B1_s_ml2_mlprime2[gen] = cache.B1_Mz2_0_mf2_mfprime2(gen);
306  B1_s_mq2_mqprime2[gen] = cache.B1_Mz2_0_mf2_mfprime2(gen + 3);
307  B1_s_mlprime2_ml2[gen] = cache.B1_Mz2_0_mfprime2_mf2(gen);
308  B1_s_mqprime2_mq2[gen] = cache.B1_Mz2_0_mfprime2_mf2(gen + 3);
309  Bf_s_mlprime2_ml2[gen] = cache.Bf_Mz2_0_mfprime2_mf2(gen);
310  Bf_s_mqprime2_mq2[gen] = cache.Bf_Mz2_0_mfprime2_mf2(gen + 3);
311  }
312  } else if (mu == Mz && s == Mw2) {
313  for (int gen = 0; gen < 3; gen++) {
314  B1_s_ml2_mlprime2[gen] = cache.B1_Mz2_Mw2_mf2_mfprime2(gen, Mw);
315  B1_s_mq2_mqprime2[gen] = cache.B1_Mz2_Mw2_mf2_mfprime2(gen + 3, Mw);
316  B1_s_mlprime2_ml2[gen] = cache.B1_Mz2_Mw2_mfprime2_mf2(gen, Mw);
317  B1_s_mqprime2_mq2[gen] = cache.B1_Mz2_Mw2_mfprime2_mf2(gen + 3, Mw);
318  Bf_s_mlprime2_ml2[gen] = cache.Bf_Mz2_Mw2_mfprime2_mf2(gen, Mw);
319  Bf_s_mqprime2_mq2[gen] = cache.Bf_Mz2_Mw2_mfprime2_mf2(gen + 3, Mw);
320  }
321  } else {
322  for (int gen = 0; gen < 3; gen++) {
323  B1_s_ml2_mlprime2[gen] = cache.getPV().B1(mu2, s, ml2[2 * gen], ml2[2 * gen + 1]);
324  B1_s_mq2_mqprime2[gen] = cache.getPV().B1(mu2, s, mq2[2 * gen], mq2[2 * gen + 1]);
325  B1_s_mlprime2_ml2[gen] = cache.getPV().B1(mu2, s, ml2[2 * gen + 1], ml2[2 * gen]);
326  B1_s_mqprime2_mq2[gen] = cache.getPV().B1(mu2, s, mq2[2 * gen + 1], mq2[2 * gen]);
327  Bf_s_mlprime2_ml2[gen] = cache.getPV().Bf(mu2, s, ml2[2 * gen + 1], ml2[2 * gen]);
328  Bf_s_mqprime2_mq2[gen] = cache.getPV().Bf(mu2, s, mq2[2 * gen + 1], mq2[2 * gen]);
329  }
330  }
331 
332  gslpp::complex Sigma(0.0, 0.0, false);
333  double mf2, mfprime2;
334  for (int gen = 0; gen < 3; gen++) {
335  mf2 = ml2[2 * gen];
336  mfprime2 = ml2[2 * gen + 1];
337  if (s != 0.0) Sigma += -s * Bf_s_mlprime2_ml2[gen];
338  Sigma += mfprime2 * B1_s_ml2_mlprime2[gen] + mf2 * B1_s_mlprime2_ml2[gen];
339  //
340  mf2 = mq2[2 * gen];
341  mfprime2 = mq2[2 * gen + 1];
342  if (s != 0.0) Sigma += 3.0 * (-s * Bf_s_mqprime2_mq2[gen]);
343  Sigma += 3.0 * (mfprime2 * B1_s_mq2_mqprime2[gen] + mf2 * B1_s_mqprime2_mq2[gen]);
344  }
345  return Sigma;
346 }
double mf2(const Particle f, const double mu=0.0, const orders order=FULLNNLO) const
The mass squared of an SM fermion.
Definition: EWSMcache.h:257
quark
An enum type for quarks.
Definition: QCD.h:730
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
const EWSMcache & cache
A reference to an object of type EWSMcache.
gslpp::complex B1_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:692
gslpp::complex B1_Mz2_Mw2_mf2_mfprime2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:665
gslpp::complex Bf_Mz2_0_mfprime2_mf2(const int gen) const
A cache method.
Definition: EWSMcache.cpp:831
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex Bf(const double mu2, const double p2, const double m02, const double m12) const
.
gslpp::complex B1(const double mu2, const double p2, const double m02, const double m12) const
.
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
gslpp::complex B1_Mz2_0_mf2_mfprime2(const int gen) const
A cache method.
Definition: EWSMcache.cpp:611
gslpp::complex B1_Mz2_0_mfprime2_mf2(const int gen) const
A cache method.
Definition: EWSMcache.cpp:638
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex Bf_Mz2_Mw2_mfprime2_mf2(const int gen, const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:805
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
lepton
An enum type for leptons.
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::SigmabarZZ_bos ( const double  mu,
const double  s,
const double  Mw_i 
) const

The bosonic contribution to the self-energy of the \(Z\) boson in the Unitary gauge, \(\overline{\Sigma}^{\mathrm{bos}}_{ZZ}(s)\).

This function represents the \(O(\alpha)\) bosonic contribution to \(\overline{\Sigma}_{ZZ}(s)\), whose definition is given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Sigma}^{\mathrm{bos}}_{ZZ}(s)\)

Definition at line 348 of file EWSMOneLoopEW.cpp.

349 {
350  double mu2 = mu*mu;
351  double Mw = Mw_i;
352  double Mw2 = Mw*Mw;
353  double Mz = cache.getSM().getMz();
354  double Mz2 = Mz*Mz;
355  double mh = cache.getSM().getMHl();
356  double mh2 = mh*mh;
357  double cW2 = cache.getSM().cW2(Mw);
358  double cW4 = cW2*cW2;
359  double RW = pow(Mw, 2.0) / s;
360  double RW2 = RW*RW;
361  double RW3 = RW2*RW;
362  double rw = pow(mh / Mw, 2.0);
363 
364  /* Loop functions */
365  double A0_Mw2, A0_Mz2, A0_mh2;
366  gslpp::complex B0_s_Mw2_Mw2, B0_s_mh2_Mz2;
367  if (mu == Mz && s == Mz2) {
368  A0_Mw2 = cache.A0_Mz2_Mw2(Mw);
369  A0_Mz2 = cache.A0_Mz2_Mz2();
370  A0_mh2 = cache.A0_Mz2_mh2();
371  B0_s_Mw2_Mw2 = cache.B0_Mz2_Mz2_Mw2_Mw2(Mw);
372  B0_s_mh2_Mz2 = cache.B0_Mz2_Mz2_mh2_Mz2();
373  } else {
374  A0_Mw2 = cache.getPV().A0(mu2, Mw2);
375  A0_Mz2 = cache.getPV().A0(mu2, Mz2);
376  A0_mh2 = cache.getPV().A0(mu2, mh2);
377  B0_s_Mw2_Mw2 = cache.getPV().B0(mu2, s, Mw2, Mw2);
378  B0_s_mh2_Mz2 = cache.getPV().B0(mu2, s, mh2, Mz2);
379  }
380 
381  gslpp::complex Sigma(0.0, 0.0, false);
382  if (s == 0.0) {
383  throw std::runtime_error("EWSMOneLoopEW::SigmabarZZ_bos(): Undefined for s=0.0");
384  } else {
385  Sigma = Mw2 * (-cW4 * (4.0 + 17.0 / 3.0 / RW - 4.0 / 3.0 / RW2 - 1.0 / 12.0 / RW3)
386  * B0_s_Mw2_Mw2
387  + 1.0 / 12.0 * ((1.0 / cW4 - 2.0 / cW2 * rw + rw * rw) * RW
388  + 10.0 / cW2 - 2.0 * rw + 1.0 / RW) * B0_s_mh2_Mz2
389  - cW2 * (4.0 - 4.0 / 3.0 / RW - 1.0 / 6.0 / RW2) * A0_Mw2 / Mz2
390  + 1.0 / 12.0 * ((Mz2 - mh2) / s + 1.0)*(A0_Mz2 - A0_mh2) / cW2 / Mz2
391  - 1.0 / 12.0 * A0_mh2 / cW2 / Mz2
392  - (1.0 / 6.0 / cW2 + 4.0 * cW4 + 1.0 / 6.0 * rw
393  - (1.0 / 18.0 + 4.0 / 3.0 * cW4) / RW
394  + 1.0 / 9.0 * cW4 * (5.0 - 1.0 / 2.0 / RW) / RW2));
395  }
396  return Sigma;
397 }
double A0_Mz2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:253
double A0_Mz2_mh2() const
A cache method.
Definition: EWSMcache.cpp:211
const EWSMcache & cache
A reference to an object of type EWSMcache.
complex pow(const complex &z1, const complex &z2)
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex B0_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:326
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
double A0_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:197
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex B0_Mz2_Mz2_mh2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:341
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 ...
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMHl() const
A get method to retrieve the Higgs mass .
double A0(const double mu2, const double m2) const
.
Definition: PVfunctions.cpp:23
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::SigmabarZZ_fer ( const double  mu,
const double  s,
const double  Mw_i 
) const

The fermionic contribution to the self-energy of the \(Z\) boson in the Unitary gauge, \(\overline{\Sigma}^{\mathrm{fer}}_{ZZ}(s)\).

This function represents the \(O(\alpha)\) fermionic contribution to \(\overline{\Sigma}_{ZZ}(s)\), whose definition is given in the detailed description of the current class.

Parameters
[in]murenormalization scale \(\mu\)
[in]smomentum squared \(s\)
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\overline{\Sigma}^{\mathrm{fer}}_{ZZ}(s)\)

Definition at line 399 of file EWSMOneLoopEW.cpp.

400 {
401  double ml2[6], mq2[6];
402  for (int i = 0; i < 6; i++) {
404  mq2[i] = cache.mf2(cache.getSM().getQuarks((QCD::quark) i), mu);
405  }
406  double mu2 = mu*mu;
407  double Mw = Mw_i;
408  double Mz = cache.getSM().getMz();
409  double Mz2 = Mz*Mz;
410 
411  /* Loop functions */
412  gslpp::complex Bf_s_ml2_ml2[6], Bf_s_mq2_mq2[6];
413  gslpp::complex B0_s_ml2_ml2[6], B0_s_mq2_mq2[6];
414  if (mu == Mz && s == Mz2) {
415  for (int i = 0; i < 6; i++) {
417  Bf_s_mq2_mq2[i] = cache.Bf_Mz2_Mz2_mf2_mf2(cache.getSM().getQuarks((QCD::quark) i));
419  B0_s_mq2_mq2[i] = cache.B0_Mz2_Mz2_mf2_mf2(cache.getSM().getQuarks((QCD::quark) i));
420  }
421  } else {
422  for (int i = 0; i < 6; i++) {
423  Bf_s_ml2_ml2[i] = cache.getPV().Bf(mu2, s, ml2[i], ml2[i]);
424  Bf_s_mq2_mq2[i] = cache.getPV().Bf(mu2, s, mq2[i], mq2[i]);
425  B0_s_ml2_ml2[i] = cache.getPV().B0(mu2, s, ml2[i], ml2[i]);
426  B0_s_mq2_mq2[i] = cache.getPV().B0(mu2, s, mq2[i], mq2[i]);
427  }
428  }
429 
430  gslpp::complex Sigma(0.0, 0.0, false);
431  if (s == 0.0) {
432  throw std::runtime_error("EWSMOneLoopEW::SigmaZZ_fer(): Undefined for s=0.0");
433  } else {
434  double mf2, vf2, af2;
435  for (int i = 0; i < 6; i++) {
436  mf2 = ml2[i];
437  vf2 = pow(cache.v_f(cache.getSM().getLeptons((StandardModel::lepton) i), Mw), 2.0);
439  if (s != 0.0) Sigma += -(vf2 + af2) * s * Bf_s_ml2_ml2[i];
440  Sigma += -2.0 * af2 * mf2 * B0_s_ml2_ml2[i];
441  //
442  mf2 = mq2[i];
443  vf2 = pow(cache.v_f(cache.getSM().getQuarks((QCD::quark) i), Mw), 2.0);
444  af2 = pow(cache.a_f(cache.getSM().getQuarks((QCD::quark) i)), 2.0);
445  if (s != 0.0) Sigma += -3.0 * (vf2 + af2) * s * Bf_s_mq2_mq2[i];
446  Sigma += -3.0 * 2.0 * af2 * mf2 * B0_s_mq2_mq2[i];
447  }
448  }
449  return Sigma;
450 }
gslpp::complex Bf_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:773
double mf2(const Particle f, const double mu=0.0, const orders order=FULLNNLO) const
The mass squared of an SM fermion.
Definition: EWSMcache.h:257
quark
An enum type for quarks.
Definition: QCD.h:730
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
const EWSMcache & cache
A reference to an object of type EWSMcache.
complex pow(const complex &z1, const complex &z2)
gslpp::complex B0_Mz2_Mz2_mf2_mf2(const Particle f) const
A cache method.
Definition: EWSMcache.cpp:476
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
double a_f(const Particle f) const
The tree-level axial-vector coupling for , denoted as .
Definition: EWSMcache.h:301
gslpp::complex Bf(const double mu2, const double p2, const double m02, const double m12) const
.
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
An observable class for the -boson mass.
Definition: Mw.h:22
double v_f(const Particle f, const double Mw_i) const
The tree-level vector coupling for , denoted as .
Definition: EWSMcache.h:290
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMz() const
A get method to access the mass of the boson .
lepton
An enum type for leptons.
const StandardModel & getSM() const
Definition: EWSMcache.h:56
double EWSMOneLoopEW::TEST_DeltaRhobar_bos ( const double  Mw_i) const

A test function.

\(\Delta\overline{\rho}^{\mathrm{bos}}\) is given without the use of the self-energies of the gauge bosons.

Parameters
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\Delta\overline{\rho}^{\mathrm{bos}}\)
Attention
The renormalization scale is fixed to be \(\mu=M_W\).

Definition at line 823 of file EWSMOneLoopEW.cpp.

824 {
825  double Mz = cache.getSM().getMz();
826  double mh = cache.getSM().getMHl();
827  double Mw = Mw_i;
828  double sW2 = cache.getSM().sW2(Mw);
829  double cW2 = cache.getSM().cW2(Mw);
830  double cW4 = cW2*cW2;
831  double rw = pow(mh / Mw, 2.0);
832  double rz = pow(mh / Mz, 2.0);
833 
834  /* Logarithm and one-loop functions */
835  double log_cW2 = cache.log_cW2(Mw);
836 
837  /* B0 functions for mu=Mw */
838  gslpp::complex B0_Mw2_Mz2_Mw2_Mw2 = cache.B0_Mz2_Mz2_Mw2_Mw2(Mw) + log_cW2;
839  gslpp::complex B0_Mw2_Mz2_mh2_Mz2 = cache.B0_Mz2_Mz2_mh2_Mz2() + log_cW2;
840  gslpp::complex B0_Mw2_Mw2_Mz2_Mw2 = cache.B0_Mz2_Mw2_Mz2_Mw2(Mw) + log_cW2;
841  gslpp::complex B0_Mw2_Mw2_mh2_Mw2 = cache.B0_Mz2_Mw2_mh2_Mw2(Mw) + log_cW2;
842 
843  double DRhobar;
844  DRhobar = -(1.0 / 12.0 / cW2 + 4.0 / 3.0 - 17.0 / 3.0 * cW2 - 4.0 * cW4)
845  *(B0_Mw2_Mz2_Mw2_Mw2.real() - 1.0 / cW2 * B0_Mw2_Mw2_Mz2_Mw2.real())
846  + (1.0 - 1.0 / 3.0 * rw + 1.0 / 12.0 * rw * rw) * B0_Mw2_Mw2_mh2_Mw2.real()
847  - (1.0 - 1.0 / 3.0 * rz + 1.0 / 12.0 * rz * rz) / cW2 * B0_Mw2_Mz2_mh2_Mz2.real()
848  + 1.0 / 12.0 * sW2 * rw * rw * (log(rw) - 1.0)
849  - (1.0 / 12.0 / cW4 + 1.0 / 2.0 / cW2 - 2.0 + 1.0 / 12.0 * rw) * log_cW2
850  - 1.0 / 12.0 / cW4 - 19.0 / 36.0 / cW2 - 133.0 / 18.0 + 8.0 * cW2;
851  return DRhobar;
852 }
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 ...
const EWSMcache & cache
A reference to an object of type EWSMcache.
complex pow(const complex &z1, const complex &z2)
const double & real() const
gslpp::complex B0_Mz2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:281
gslpp::complex B0_Mz2_Mz2_Mw2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:326
gslpp::complex B0_Mz2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:356
An observable class for the -boson mass.
Definition: Mw.h:22
gslpp::complex B0_Mz2_Mz2_mh2_Mz2() const
A cache method.
Definition: EWSMcache.cpp:341
complex log(const complex &z)
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
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 ...
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMHl() const
A get method to retrieve the Higgs mass .
double getMz() const
A get method to access the mass of the boson .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
double EWSMOneLoopEW::TEST_DeltaRhobarW_bos ( const double  Mw_i) const

A test function.

\(\Delta\overline{\rho}_W^{\mathrm{bos}}\) is given without the use of the self-energies of the gauge bosons.

Parameters
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\Delta\overline{\rho}_W^{\mathrm{bos}}\)
Attention
The renormalization scale is fixed to be \(\mu=M_W\).

Definition at line 854 of file EWSMOneLoopEW.cpp.

855 {
856  double Mw = Mw_i;
857  double sW2 = cache.getSM().sW2(Mw);
858  double cW2 = cache.getSM().cW2(Mw);
859  double cW4 = cW2*cW2;
860  double mh = cache.getSM().getMHl();
861  double rw = pow(mh / Mw, 2.0);
862 
863  /* Logarithm and one-loop functions */
864  double log_cW2 = cache.log_cW2(Mw);
865 
866  /* B0 functions for mu=Mw */
867  gslpp::complex B0_Mw2_Mz2_Mw2 = cache.B0_Mz2_Mw2_Mz2_Mw2(Mw) + log_cW2;
868  gslpp::complex B0_Mw2_mh2_Mw2 = cache.B0_Mz2_Mw2_mh2_Mw2(Mw) + log_cW2;
869 
870  double DRhobarW;
871  DRhobarW = -(1.0 / 12.0 / cW4 + 4.0 / 3.0 / cW2 - 17.0 / 3.0 - 4.0 * cW2) * B0_Mw2_Mz2_Mw2.real()
872  - (1.0 - 1.0 / 3.0 * rw + 1.0 / 12.0 * rw * rw) * B0_Mw2_mh2_Mw2.real()
873  + (3.0 / 4.0 / (1.0 - rw) + 1.0 / 4.0 - 1.0 / 12.0 * rw) * rw * log(rw)
874  + (1.0 / 12.0 / cW4 + 17.0 / 12.0 / cW2 - 3.0 / sW2 + 1.0 / 4.0) * log_cW2
875  + 1.0 / 12.0 / cW4 + 11.0 / 8.0 / cW2 + 139.0 / 36.0 - 177.0 / 24.0 * cW2
876  + 5.0 / 8.0 * cW4 - 1.0 / 12.0 * rw * (7.0 / 2.0 - rw);
877  return DRhobarW;
878 }
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 ...
const EWSMcache & cache
A reference to an object of type EWSMcache.
complex pow(const complex &z1, const complex &z2)
const double & real() const
gslpp::complex B0_Mz2_Mw2_mh2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:281
gslpp::complex B0_Mz2_Mw2_Mz2_Mw2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:356
An observable class for the -boson mass.
Definition: Mw.h:22
complex log(const complex &z)
double log_cW2(const double Mw_i) const
A cache method.
Definition: EWSMcache.cpp:140
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 ...
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double getMHl() const
A get method to retrieve the Higgs mass .
const StandardModel & getSM() const
Definition: EWSMcache.h:56
gslpp::complex EWSMOneLoopEW::TEST_FWn ( const double  s,
const double  mf,
const double  Mw_i 
) const

A test function for \(\mathcal{F}_{Wn}\) with a finite fermion mass.

Parameters
[in]smomentum squared \(s\)
[in]mfthe mass of the fermion in the loop
[in]Mw_ithe \(W\)-boson mass \(M_W\)
Returns
\(\mathcal{F}_{Wn}\)

Definition at line 1121 of file EWSMOneLoopEW.cpp.

1122 {
1123  double Mw = Mw_i;
1124  double Mw2 = Mw*Mw;
1125  double Rw = Mw2 / s;
1126  double mf2 = mf*mf;
1127  double wf = mf2 / Mw2;
1128 
1129  /* Logarithm and two- and three-point one-loop functions */
1130  double log_wf = log(wf);
1131  double A0_Mw2 = cache.getPV().A0(Mw2, Mw2);
1132  double A0_mf2 = cache.getPV().A0(Mw2, mf2);
1133  gslpp::complex B0_Mw2_s_Mw2_Mw2 = cache.getPV().B0(Mw2, s, Mw2, Mw2);
1134  gslpp::complex B0_Mw2_0_mf2_Mw2 = cache.getPV().B0(Mw2, 0.0, mf2, Mw2);
1135  gslpp::complex C0_s_Mw2_mf2_Mw2 = cache.getPV().C0(s, Mw2, mf2, Mw2);
1136  //gslpp::complex C0_s_Mw2_0_Mw2 = cache.getPV().C0(s, Mw2, 0.0, Mw2);
1137 
1138  gslpp::complex FWn(0.0, 0.0, false);
1139  /* Eq.(5.586) in Bardin and Passarino's book */
1140  FWn = ((2.0 + wf)*(1.0 - wf)*(1.0 - wf) * Rw + 4.0 - 5.0 / 2.0 * wf + 2.0 * wf * wf
1141  - wf * wf * wf / 2.0 + wf * (2.0 - wf / 2.0) / Rw) * Mw * Mw * C0_s_Mw2_mf2_Mw2
1142  - (-(2.0 + wf)*(1.0 - wf) * Rw - 3.0 + 3.0 / 2.0 * wf - wf * wf / 2.0)
1143  *(B0_Mw2_s_Mw2_Mw2 - B0_Mw2_0_mf2_Mw2)
1144  - (2.0 / 3.0 - wf / 2.0 + (3.0 / 2.0 - wf / 4.0) / Rw + 1.0 / 12.0 / Rw / Rw) * B0_Mw2_s_Mw2_Mw2
1145  - A0_mf2 / Mw / Mw - (2.0 / 3.0 + 1.0 / 6.0 / Rw) * A0_Mw2 / Mw / Mw
1146  - 2.0 / 3.0 - wf / 2.0 + (4.0 / 9.0 + wf / 4.0) / Rw - 1.0 / 18.0 / Rw / Rw;
1147 
1148  /* Eq.(5.500) in Bardin and Passarino's book */
1149  double wW;
1150  if (mf == 0.0) {
1151  wW = 3.0 / 2.0;
1152  } else {
1153  wW = 5.0 / 4.0 * wf + 3.0 * (1.0 - wf / 2.0) * wf * wf / (wf - 1.0) / (wf - 1.0) * log_wf
1154  - 3.0 / 2.0 / (wf - 1.0);
1155  }
1156 
1157  return ( -FWn + wW);
1158 }
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
const EWSMcache & cache
A reference to an object of type EWSMcache.
const PVfunctions getPV() const
A get method to access the member reference to the object of type StandardModel passed to the constru...
Definition: EWSMcache.h:106
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
An observable class for the -boson mass.
Definition: Mw.h:22
complex log(const complex &z)
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double A0(const double mu2, const double m2) const
.
Definition: PVfunctions.cpp:23

Member Data Documentation

const EWSMcache& EWSMOneLoopEW::cache
private

A reference to an object of type EWSMcache.

Definition at line 846 of file EWSMOneLoopEW.h.


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