EWSMApproximateFormulae Class Reference

A class for approximate formulae of the EW precision observables. More...

#include <EWSMApproximateFormulae.h>

Collaboration diagram for EWSMApproximateFormulae:
[legend]

Detailed Description

A class for approximate formulae of the EW precision observables.

Author
HEPfit Collaboration

The member functions in the current class compute the EW precision observables \(M_W\), \(\sin\theta_{\rm eff}^f\), \(\Gamma_f\), \(\Gamma_Z\), \(\sigma^0_h\), \(R^0_\ell\) \(R^0_c\) and \(R^0_b\), based on the approximate formulae given in [17], [19], [20], [18], [78], [79] and [80]. (The actual implementation for \(M_W\) corresponds to arXiv:hep-ph/0311148v2, which updates the results presented in the journal version of [17].) The maximal deviations to the full results and the valid ranges of input parameters are summarized in the description of each function.

Definition at line 33 of file EWSMApproximateFormulae.h.

Public Member Functions

double DeltaKappa_b_TwoLoopEW_rem (const double Mw_i) const
 \(\Delta\kappa_Z^{b, (\alpha^2)}\). More...
 
double DeltaKappa_l_TwoLoopEW_rem (const double Mw_i) const
 \(\Delta\kappa_Z^{\ell, (\alpha^2)}\). More...
 
double DeltaR_TwoLoopEW_rem (const double Mw_i) const
 \(\Delta r_{\rm rem}^{(\alpha^2)}\). More...
 
 EWSMApproximateFormulae (const EWSMcache &cache_i)
 Constructor. More...
 
double Gd_over_Gb_OLD () const
 \(\Gamma_d/\Gamma_b\). More...
 
double Gu_over_Gb_OLD () const
 \(\Gamma_u/\Gamma_b\). More...
 
double Mw () const
 The \(W\)-boson mass with the full two-loop EW corrections. More...
 
double R0_bottom_OLD () const
 \(R_b^0\). More...
 
double sin2thetaEff (const Particle p) const
 
double X (const std::string observable) const
 \(\Gamma_\nu\), \(\Gamma_{e,\mu}\), \(\Gamma_\tau\), \(\Gamma_u\), \(\Gamma_c\), \(\Gamma_{d,s}\), \(\Gamma_b\), \(\Gamma_Z\), \(R^0_\ell\), \(R^0_c\), \(R^0_b\), or \(\sigma^0_h\). More...
 
double X_extended (const std::string observable) const
 \(\Gamma_\nu\), \(\Gamma_{e,\mu}\), \(\Gamma_\tau\), \(\Gamma_u\), \(\Gamma_c\), \(\Gamma_{d,s}\), \(\Gamma_b\), \(\Gamma_Z\), \(R^0_\ell\), \(R^0_c\), \(R^0_b\), or \(\sigma^0_h\). More...
 

Private Member Functions

double sin2thetaEff_l (const StandardModel::lepton l) const
 \(\sin^2\theta_{\rm eff}^\ell\) with the full two-loop EW corrections. More...
 
double sin2thetaEff_q (const QCD::quark q) const
 \(\sin^2\theta_{\rm eff}^q\) with the full two-loop EW corrections (bosonic two-loop EW corrections are missing for \(q=b\)). More...
 

Private Attributes

const EWSMcachemycache
 A reference to an object of type StandardModel. More...
 

Constructor & Destructor Documentation

EWSMApproximateFormulae::EWSMApproximateFormulae ( const EWSMcache cache_i)

Constructor.

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

Definition at line 15 of file EWSMApproximateFormulae.cpp.

16 : mycache(cache_i)
17 {
18 }
const EWSMcache & mycache
A reference to an object of type StandardModel.

Member Function Documentation

double EWSMApproximateFormulae::DeltaKappa_b_TwoLoopEW_rem ( const double  Mw_i) const

\(\Delta\kappa_Z^{b, (\alpha^2)}\).

This function is based on the approximate formula for the irreducible EW two-loop contribution to \(\Delta\kappa_Z^b = \kappa_Z^b - 1\) presented in [18], which includes the complete fermionic two-loop EW corrections as well as leading three-loop corrections. The bosonic two-loop EW corrections are not included. The approximate formula reproduces the full result to be better than \(1.4\times 10^{-5}\) for the Higgs mass 10 GeV \(\leq m_h\leq\) 1 TeV, if other inputs vary within their \(2\sigma\) ranges of the following outdated data: \(\alpha_s(M_Z^2) = 0.119\pm 0.002\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.05907\pm 0.00036\), \(M_Z = 91.1876\pm 0.0021\) GeV and \(m_t = 172.5\pm 2.3\) GeV.

Parameters
[in]Mw_ithe \(W\)-boson mass
Returns
irreducible fermionic two-loop EW contribution to \(\Delta\kappa_Z^b\)

Definition at line 273 of file EWSMApproximateFormulae.cpp.

274 {
275  // applicable for 10 GeV <= mHl <= 1 TeV
277  std::stringstream out;
278  out << mycache.getSM().getMHl();
279  throw std::runtime_error("ApproximateFormulae::DeltaKappa_b_TwoLoopEW_rem(): mh=" + out.str() + " is out of range");
280  }
281 
282  double k0 = -0.002666;
283  double k1 = -0.0000592;
284  double k2 = -0.00000329;
285  double k3 = 0.00000349;
286  double k4 = 0.00000283;
287  double k5 = -0.00534;
288  double k6 = -0.00210;
289  double k7 = -0.000219;
290  double k8 = -0.0631;
291  double k9 = -0.126;
292  double k10 = 0.0647;
293 
294  double L_H = log(mycache.getSM().getMHl() / 100.0);
295  double Delta_H = mycache.getSM().getMHl() / 100.0;
296  double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
297  double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
298  double Delta_W = Mw_i / 80.404 - 1.0;
299 
300  return ( k0 + k1 * L_H + k2 * L_H * L_H + k3 * pow(L_H, 4.0)
301  + k4 * (Delta_H * Delta_H - 1.0) + k5 * Delta_t
302  + k6 * Delta_t * Delta_t + k7 * Delta_t * L_H
303  + k8 * Delta_W + k9 * Delta_W * Delta_t + k10 * Delta_Z);
304 }
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
#define UpperBoundForApproximateFormulae
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 EWSMApproximateFormulae::DeltaKappa_l_TwoLoopEW_rem ( const double  Mw_i) const

\(\Delta\kappa_Z^{\ell, (\alpha^2)}\).

This function is based on the approximate formula for the irreducible EW two-loop contribution to \(\Delta\kappa_Z^\ell = \kappa_Z^\ell - 1\) presented in [20], which includes the complete two-loop EW corrections as well as leading three-loop corrections. The approximate formula reproduces the full result to be better than \(1.8\times 10^{-5}\) for the Higgs mass 10 GeV \(\leq m_h\leq\) 1 TeV, if other inputs vary within their \(2\sigma\) ranges of the following outdated data: \(\alpha_s(M_Z^2) = 0.119\pm 0.002\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.05907\pm 0.00036\), \(M_Z = 91.1876\pm 0.0021\) GeV and \(m_t = 172.5\pm 2.3\) GeV.

Parameters
[in]Mw_ithe \(W\)-boson mass
Returns
irreducible two-loop EW contribution to \(\Delta\kappa_Z^\ell\)

Definition at line 240 of file EWSMApproximateFormulae.cpp.

241 {
242  // applicable for 10 GeV <= mHl <= 1 TeV
244  std::stringstream out;
245  out << mycache.getSM().getMHl();
246  throw std::runtime_error("ApproximateFormulae::DeltaKappa_l_TwoLoopEW_rem(): mh=" + out.str() + " is out of range");
247  }
248 
249  double k0 = -0.002711;
250  double k1 = -0.0000312;
251  double k2 = -0.0000412;
252  double k3 = 0.00000528;
253  double k4 = 0.00000375;
254  double k5 = -0.00516;
255  double k6 = -0.00206;
256  double k7 = -0.000232;
257  double k8 = -0.0647;
258  double k9 = -0.129;
259  double k10 = 0.0712;
260 
261  double L_H = log(mycache.getSM().getMHl() / 100.0);
262  double Delta_H = mycache.getSM().getMHl() / 100.0;
263  double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
264  double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
265  double Delta_W = Mw_i / 80.404 - 1.0;
266 
267  return ( k0 + k1 * L_H + k2 * L_H * L_H + k3 * pow(L_H, 4.0)
268  + k4 * (Delta_H * Delta_H - 1.0) + k5 * Delta_t
269  + k6 * Delta_t * Delta_t + k7 * Delta_t * L_H
270  + k8 * Delta_W + k9 * Delta_W * Delta_t + k10 * Delta_Z);
271 }
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
#define UpperBoundForApproximateFormulae
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 EWSMApproximateFormulae::DeltaR_TwoLoopEW_rem ( const double  Mw_i) const

\(\Delta r_{\rm rem}^{(\alpha^2)}\).

This function is based on the approximate formula for the irreducible EW two-loop contribution to \(\Delta r\) presented in [20], which includes the complete two-loop EW corrections as well as leading three-loop corrections. The approximate formula reproduces the full result to be better than \(2.7\times 10^{-5}\) for the Higgs mass 10 GeV \(\leq m_h\leq\) 1 TeV, if other inputs vary within their \(2\sigma\) ranges of the following outdated data: \(\alpha_s(M_Z^2) = 0.119\pm 0.002\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.05907\pm 0.00036\), \(M_Z = 91.1876\pm 0.0021\) GeV and \(m_t = 172.5\pm 2.3\) GeV.

Parameters
[in]Mw_ithe \(W\)-boson mass
Returns
irreducible two-loop EW contribution to \(\Delta r\)

Definition at line 204 of file EWSMApproximateFormulae.cpp.

205 {
206  // applicable for 10 GeV <= mHl <= 1 TeV
208  std::stringstream out;
209  out << mycache.getSM().getMHl();
210  throw std::runtime_error("ApproximateFormulae::DeltaR_TwoLoopEW_rem(): mh=" + out.str() + " is out of range");
211  }
212 
213  double r0 = 0.003354;
214  double r1 = -0.000209;
215  double r2 = 0.0000254;
216  double r3 = -0.00000785;
217  double r4 = -0.00000233;
218  double r5 = 0.00783;
219  double r6 = 0.00338;
220  double r7 = -0.00000989;
221  double r8 = 0.0939;
222  double r9 = 0.204;
223  double r10 = -0.103;
224 
225  //double Mw = Mw(DeltaAlphaL5q_i); /* for test */
226  double Mw = Mw_i;
227 
228  double L_H = log(mycache.getSM().getMHl() / 100.0);
229  double Delta_H = mycache.getSM().getMHl() / 100.0;
230  double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
231  double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
232  double Delta_W = Mw / 80.404 - 1.0;
233 
234  return ( r0 + r1 * L_H + r2 * L_H * L_H + r3 * pow(L_H, 4.0)
235  + r4 * (Delta_H * Delta_H - 1.0) + r5 * Delta_t
236  + r6 * Delta_t * Delta_t + r7 * Delta_t * L_H + r8 * Delta_W
237  + r9 * Delta_W * Delta_t + r10 * Delta_Z);
238 }
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
#define UpperBoundForApproximateFormulae
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 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 EWSMApproximateFormulae::Gd_over_Gb_OLD ( ) const

\(\Gamma_d/\Gamma_b\).

This function is based on the approximate formula for the ratio \(\Gamma_d/\Gamma_b\) obtained from A. Freitas in private communication on Sep. 21, 2013, which includes the complete fermionic two-loop EW corrections as well as leading three-loop corrections. The bosonic two-loop EW corrections are not included. The approximate formula reproduces the full result to be better than \(3.0\times 10^{-6}\) for the Higgs mass 10 GeV \(\leq m_h\leq\) 1 TeV, if other inputs vary within their \(2\sigma\) ranges of the following outdated data: \(\alpha_s(M_Z^2) = 0.1184\pm 0.0007\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.05900\pm 0.00033\), \(M_Z = 91.1876\pm 0.0021\) GeV and \(m_t = 173.2\pm 0.9\) GeV.

Returns
\(\Gamma_d/\Gamma_b\)

Definition at line 463 of file EWSMApproximateFormulae.cpp.

464 {
465  // applicable for 10 GeV <= mHl <= 1 TeV
467  std::stringstream out;
468  out << mycache.getSM().getMHl();
469  throw std::runtime_error("ApproximateFormulae::Gd_over_Gb(): mh=" + out.str() + " is out of range");
470  }
471 
472  // obtained from Freitas on Apr. 23, 2013
473  /*
474  double R = 1.0239191;
475  double c1 = -5.093e-5;
476  double c2 = -7.08e-6;
477  double c3 = 7.4e-7;
478  double c4 = 3.27e-8;
479  double c5 = 8.68e-4;
480  double c6 = 1.064e-4;
481  double c7 = 1.8875e-2;
482  double c8 = 7.093e-3;
483  double c9 = -4.128e-4;
484  double c10 = 1.898e-4;
485  double c11 = -8.0e-6;
486  double c12 = -0.513;
487  */
488 
489  // obtained from Freitas on Sep. 21, 2013
490  double R = 1.0204024;
491  double c1 = -2.242e-5;
492  double c2 = -1.70e-6;
493  double c3 = 2.1e-7;
494  double c4 = 6.38e-8;
495  double c5 = 5.28e-4;
496  double c6 = 0.999e-4;
497  double c7 = 1.7539e-2;
498  double c8 = 7.138e-3;
499  double c9 = -4.041e-4;
500  double c10 = 2.290e-4;
501  double c11 = -8.0e-6;
502  double c12 = -0.530;
503 
504  double LH = log(mycache.getSM().getMHl() / 100.0);
505  double DH = pow((mycache.getSM().getMHl() / 100.0), 2.0) - 1.0;
506  double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
507  double Dt = pow((mycache.getSM().getMtpole() / 173.2), 2.0) - 1.0;
508  double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
509  double Dmz = mycache.getSM().getMz() / 91.1876 - 1.0;
510 
511  return ( R + c1 * LH + c2 * LH * LH + c3 * pow(LH, 4.0) + c4 * DH + c5 * Dal + c6 * LH * Dal
512  + c7 * Dt + c8 * Dt * Dt + c9 * LH * Dt + c10 * Das + c11 * Das * Das + c12 * Dmz);
513 }
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
#define UpperBoundForApproximateFormulae
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 getAlsMz() const
A get method to access the value of .
double EWSMApproximateFormulae::Gu_over_Gb_OLD ( ) const

\(\Gamma_u/\Gamma_b\).

This function is based on the approximate formula for the ratio \(\Gamma_u/\Gamma_b\) obtained from A. Freitas in private communication on Sep. 21, 2013, which includes the complete fermionic two-loop EW corrections as well as leading three-loop corrections. The bosonic two-loop EW corrections are not included. The approximate formula reproduces the full result to be better than \(3.3\times 10^{-6}\) for the Higgs mass 10 GeV \(\leq m_h\leq\) 1 TeV, if other inputs vary within their \(2\sigma\) ranges of the following outdated data: \(\alpha_s(M_Z^2) = 0.1184\pm 0.0007\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.05900\pm 0.00033\), \(M_Z = 91.1876\pm 0.0021\) GeV and \(m_t = 173.2\pm 0.9\) GeV.

Returns
\(\Gamma_u/\Gamma_b\)

Definition at line 411 of file EWSMApproximateFormulae.cpp.

412 {
413  // applicable for 10 GeV <= mHl <= 1 TeV
415  std::stringstream out;
416  out << mycache.getSM().getMHl();
417  throw std::runtime_error("ApproximateFormulae::Gu_over_Gb(): mh=" + out.str() + " is out of range");
418  }
419 
420  // obtained from Freitas on Apr. 23, 2013
421  /*
422  double R = 0.8024769;
423  double c1 = -1.9007e-4;
424  double c2 = -2.112e-5;
425  double c3 = 6.63e-6;
426  double c4 = -1.0284e-6;
427  double c5 = -8.081e-3;
428  double c6 = 1.830e-4;
429  double c7 = 1.7522e-2;
430  double c8 = 4.440e-3;
431  double c9 = -3.245e-4;
432  double c10 = 1.8079e-2;
433  double c11 = 1.0720e-2;
434  double c12 = -0.129;
435  */
436 
437  // obtained from Freitas on Sep. 21, 2013
438  double R = 0.7997930;
439  double c1 = -1.7991e-4;
440  double c2 = -1.980e-5;
441  double c3 = 6.24e-6;
442  double c4 = -0.9829e-6;
443  double c5 = -8.200e-3;
444  double c6 = 1.657e-4;
445  double c7 = 1.6476e-2;
446  double c8 = 4.463e-3;
447  double c9 = -3.187e-4;
448  double c10 = 1.8113e-2;
449  double c11 = 1.0720e-2;
450  double c12 = -0.144;
451 
452  double LH = log(mycache.getSM().getMHl() / 100.0);
453  double DH = pow((mycache.getSM().getMHl() / 100.0), 2.0) - 1.0;
454  double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
455  double Dt = pow((mycache.getSM().getMtpole() / 173.2), 2.0) - 1.0;
456  double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
457  double Dmz = mycache.getSM().getMz() / 91.1876 - 1.0;
458 
459  return ( R + c1 * LH + c2 * LH * LH + c3 * pow(LH, 4.0) + c4 * DH + c5 * Dal + c6 * LH * Dal
460  + c7 * Dt + c8 * Dt * Dt + c9 * LH * Dt + c10 * Das + c11 * Das * Das + c12 * Dmz);
461 }
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
#define UpperBoundForApproximateFormulae
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 getAlsMz() const
A get method to access the value of .
double EWSMApproximateFormulae::Mw ( ) const

The \(W\)-boson mass with the full two-loop EW corrections.

This function is based on the approximate formula for \(M_W\) presented in [17], which includes the complete two-loop EW corrections as well as leading three-loop corrections, and the four-loop corrections to the rho parameter. (The four-loop effects are not included in the results presented in the journal version of [17]. The parametrization used here corresponds to the results in arXiv:hep-ph/0311148v2, which updates the the ones presented in the published version.) The approximate formula reproduces the full result to be better than 0.5 (0.25) MeV over the range of 10 GeV \(\leq m_h\leq\) 1 TeV (100 GeV \(\leq m_h \leq\) 1 TeV), if other inputs vary within their \(2\sigma\) ranges of the 2003 data, where their \(1\sigma\) ranges are given by \(\alpha_s = 0.1190\pm 0.0027\), \(\Delta\alpha^{\ell+5q} = 0.05907\pm 0.00036\), \(M_Z = 91.1875\pm 0.0021\) GeV, and \(m_t = 174.3\pm 5.1\) GeV.

Returns
the \(W\)-boson mass in units of GeV

Definition at line 23 of file EWSMApproximateFormulae.cpp.

24 {
25  // Parametrization from arXiv:hep-ph/0311148v2 (updates from the journal version)
26  double Mw0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11;
28  // applicable for 100 GeV <= mHl <= 1 TeV
29  Mw0 = 80.3779;
30  c1 = 0.05263;
31  c2 = 0.010239;
32  c3 = 0.000954;
33  c4 = -0.000054;
34  c5 = 1.077;
35  c6 = 0.5252;
36  c7 = 0.0700;
37  c8 = 0.004102;
38  c9 = 0.000111;
39  c10 = 0.0774;
40  c11 = 115.0;
41  } else if (mycache.getSM().getMHl() >= 10.0 && mycache.getSM().getMHl() <= 1000.0) {
42  // applicable for 10 GeV <= mHl <= 1 TeV
43  Mw0 = 80.3799;
44  c1 = 0.05427;
45  c2 = 0.008931;
46  c3 = 0.0000882;
47  c4 = 0.000161;
48  c5 = 1.070;
49  c6 = 0.5237;
50  c7 = 0.0679;
51  c8 = 0.00179;
52  c9 = 0.0000664;
53  c10 = 0.0795;
54  c11 = 114.9;
55  } else {
56  std::stringstream out;
57  out << mycache.getSM().getMHl();
58  throw std::runtime_error("ApproximateFormulae::Mw(): mh=" + out.str() + " is out of range");
59  }
60 
61  double dH = log(mycache.getSM().getMHl() / 100.0);
62  double dh = pow((mycache.getSM().getMHl() / 100.0), 2.0);
63  double dt = pow((mycache.getSM().getMtpole() / 174.3), 2.0) - 1.0;
64  double dZ = mycache.getSM().getMz() / 91.1875 - 1.0;
65  double dalphae = mycache.getSM().DeltaAlphaL5q() / 0.05907 - 1.0;
66  double dalphas = mycache.getSM().getAlsMz() / 0.119 - 1.0;
67 
68  return (Mw0 - c1 * dH - c2 * dH * dH + c3 * pow(dH, 4.0)
69  + c4 * (dh - 1.0) - c5 * dalphae + c6 * dt - c7 * dt * dt
70  - c8 * dH * dt + c9 * dh * dt - c10 * dalphas + c11 * dZ
71  + mycache.getSM().getDelMw());
72 }
double getDelMw() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
#define UpperBoundForApproximateFormulae
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 getAlsMz() const
A get method to access the value of .
double EWSMApproximateFormulae::R0_bottom_OLD ( ) const

\(R_b^0\).

This function is based on the approximate formula for \(R_b^0=\Gamma_b/\Gamma_h\) presented in [78], which includes the complete fermionic two-loop EW corrections as well as leading three-loop corrections. The bosonic two-loop EW corrections are not included. The approximate formula reproduces the full result to be better than \(10^{-6}\) for the Higgs mass 10 GeV \(\leq m_h\leq\) 1 TeV, if other inputs vary within their \(2\sigma\) ranges of the following outdated data: \(\alpha_s(M_Z^2) = 0.1184\pm 0.0007\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.05900\pm 0.00033\), \(M_Z = 91.1876\pm 0.0021\) GeV and \(m_t = 173.2\pm 0.9\) GeV.

Returns
\(R_b^0=\Gamma_b/\Gamma_h\)

Definition at line 306 of file EWSMApproximateFormulae.cpp.

307 {
308  // applicable for 10 GeV <= mHl <= 1 TeV
310  std::stringstream out;
311  out << mycache.getSM().getMHl();
312  throw std::runtime_error("ApproximateFormulae::R0_bottom(): mh=" + out.str() + " is out of range");
313  }
314 
315  /*-----------------------------------------------*/
316  /* arXiv:1205.0299v1 by Freitas and Huang */
317  /*
318  double Rb00 = 0.2147464;
319  double c1 = 0.0000221;
320  double c2 = 0.0000026;
321  double c3 = -0.00000067;
322  double c4 = 0.0000000911;
323  double c5 = 0.000647;
324  double c6 = -0.003239;
325  double c7 = 0.0000673;
326  double c8 = -0.000324;
327  double c9 = 0.0610;
328 
329  double L_H = log(mycache.getSM().getMHl()/100.0);
330  double Delta_H = mycache.getSM().getMHl()/100.0;
331  double Delta_ale = mycache.getSM().mycache.getSM().DeltaAlphaL5q()/0.05900 - 1.0;
332  double Delta_t = pow((mycache.getSM().getMtpole()/173.2), 2.0) - 1.0;
333  double Delta_alphas = mycache.getSM().getAlsMz()/0.1184 - 1.0;
334  double Delta_Z = mycache.getSM().getMz()/91.1876 - 1.0;
335 
336  return (Rb00 + c1*L_H + c2*L_H*L_H + c3*pow(L_H, 4.0)
337  + c4*(Delta_H*Delta_H - 1.0) + c5*Delta_ale + c6*Delta_t
338  + c7*Delta_t*L_H + c8*Delta_alphas + c9*Delta_Z );
339  */
340 
341  /*-----------------------------------------------*/
342  /* arXiv:1205.0299v2 by Freitas and Huang */
343  /*
344  double Rb00 = 0.2149246;
345  double c1 = 2.23 * pow(10.0, -5.);
346  double c2 = 2.6 * pow(10.0, -6.);
347  double c3 = -6.8 * pow(10.0, -7.);
348  double c4 = 9.19 *pow(10.0, -8.);
349  double c5 = 6.58 * pow(10.0, -4.);
350  double c6 = -3.363 * pow(10.0, -3.);
351  double c7 = 6.74 * pow(10.0, -5.);
352  double c8 = -1.688 * pow(10.0, -3.);
353  double c9 = -9.26 * pow(10.0, -4.);
354  double c10 = 5.93 * pow(10.0, -2.);
355 
356  double L_H = log(mycache.getSM().getMHl()/100.0);
357  double Delta_H = mycache.getSM().getMHl()/100.0;
358  double Delta_ale = mycache.getSM().mycache.getSM().DeltaAlphaL5q()/0.05900 - 1.0;
359  double Delta_t = pow((mycache.getSM().getMtpole()/173.2), 2.0) - 1.0;
360  double Delta_alphas = mycache.getSM().getAlsMz()/0.1184 - 1.0;
361  double Delta_Z = mycache.getSM().getMz()/91.1876 - 1.0;
362 
363  return (Rb00 + c1*L_H + c2*L_H*L_H + c3*pow(L_H, 4.0)
364  + c4*(Delta_H*Delta_H - 1.0) + c5*Delta_ale + c6*Delta_t
365  + c7*Delta_t*L_H + c8*Delta_alphas + c9*Delta_alphas*Delta_alphas
366  + c10*Delta_Z );
367  */
368 
369  /*-----------------------------------------------*/
370  /* arXiv:1205.0299v3 by Freitas and Huang */
371 
372  double Rb00 = 0.2154940;
373  double c1 = 1.88 * pow(10.0, -5.);
374  double c2 = 2.0 * pow(10.0, -6.);
375  double c3 = -6.0 * pow(10.0, -7.);
376  double c4 = 8.53 * pow(10.0, -8.);
377  double c5 = 7.05 * pow(10.0, -4.);
378  double c6 = -3.159 * pow(10.0, -3.);
379  double c7 = 6.65 * pow(10.0, -5.);
380  double c8 = -1.704 * pow(10.0, -3.);
381  double c9 = -9.30 * pow(10.0, -4.);
382  double c10 = 6.26 * pow(10.0, -2.);
383 
384  double L_H = log(mycache.getSM().getMHl() / 100.0);
385  double Delta_H = mycache.getSM().getMHl() / 100.0;
386  double Delta_ale = mycache.getSM().DeltaAlphaL5q() / 0.05900 - 1.0;
387  double Delta_t = pow((mycache.getSM().getMtpole() / 173.2), 2.0) - 1.0;
388  double Delta_alphas = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
389  double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
390 
391  /* Debug (parameters in arXiv:1205.0299v3) */
392  //double mHpaper = 100.0;
393  //double mHpaper = 200.0;
394  //double mHpaper = 400.0;
395  //double mHpaper = 600.0;
396  //double mHpaper = 1000.0;
397  //L_H = log(mHpaper/100.0);
398  //Delta_H = mHpaper/100.0;
399  //Delta_ale = 0.0;//0.05900/0.05900 - 1.0;
400  //Delta_t = 0.0;//pow((173.2/173.2), 2.0) - 1.0;
401  //Delta_alphas = 0.0;//0.1184/0.1184 - 1.0;
402  //Delta_Z = 0.0;//91.1876/91.1876 - 1.0;
403 
404  return (Rb00 + c1 * L_H + c2 * L_H * L_H + c3 * pow(L_H, 4.0)
405  + c4 * (Delta_H * Delta_H - 1.0) + c5 * Delta_ale + c6 * Delta_t
406  + c7 * Delta_t * L_H + c8 * Delta_alphas + c9 * Delta_alphas * Delta_alphas
407  + c10 * Delta_Z);
408 
409 }
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
#define UpperBoundForApproximateFormulae
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 getAlsMz() const
A get method to access the value of .
double EWSMApproximateFormulae::sin2thetaEff ( const Particle  p) const
inline

Definition at line 68 of file EWSMApproximateFormulae.h.

69  {
70  if (p.is("QUARK"))
71  return sin2thetaEff_q((QCD::quark) (p.getIndex() - 6));
72  else if (p.is("LEPTON"))
74  else
75  throw std::runtime_error("EWSMApproximateFormulae::sin2thetaEff() called with wrong argument");
76  }
quark
An enum type for quarks.
Definition: QCD.h:730
double sin2thetaEff_q(const QCD::quark q) const
with the full two-loop EW corrections (bosonic two-loop EW corrections are missing for )...
double sin2thetaEff_l(const StandardModel::lepton l) const
with the full two-loop EW corrections.
int getIndex() const
Definition: Particle.h:160
bool is(std::string name_i) const
Definition: Particle.cpp:23
lepton
An enum type for leptons.
double EWSMApproximateFormulae::sin2thetaEff_l ( const StandardModel::lepton  l) const
private

\(\sin^2\theta_{\rm eff}^\ell\) with the full two-loop EW corrections.

This function is based on the approximate formulae for the leptonic weak mixing angles presented in [20] (see also [19]), which include the complete two-loop EW corrections as well as leading three-loop corrections. The approximate formulae reproduce the full results to be better than \(4.5\times 10^{-6}\) for the Higgs mass 10 GeV \(\leq m_h\leq\) 1 TeV, if other inputs vary within their \(2\sigma\) ranges of the following outdated data: \(\alpha_s(M_Z^2) = 0.119\pm 0.002\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.05907\pm 0.00036\), \(M_Z = 91.1876\pm 0.0021\) GeV and \(m_t = 172.5\pm 2.3\) GeV.

Parameters
[in]lname of a lepton (see StandardModel::lepton)
Returns
the effective weak mixing angle for \(Z\to\ell\bar{\ell}\)

Definition at line 74 of file EWSMApproximateFormulae.cpp.

75 {
76  // applicable for 10 GeV <= mHl <= 1 TeV
78  std::stringstream out;
79  out << mycache.getSM().getMHl();
80  throw std::runtime_error("ApproximateFormulae::sin2thetaEff_l(): mh=" + out.str() + " is out of range");
81  }
82 
83  double s0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
84  switch (l) {
88  s0 = 0.2308772;
89  d1 = 4.713 * 0.0001;
90  d2 = 2.05 * 0.00001;
91  d3 = 3.85 * 0.000001;
92  d4 = -1.85 * 0.000001;
93  d5 = 2.06 * 0.01;
94  d6 = -2.850 * 0.001;
95  d7 = 1.82 * 0.0001;
96  d8 = -9.71 * 0.000001;
97  d9 = 3.96 * 0.0001;
98  d10 = -6.54 * 0.1;
99  break;
101  case StandardModel::MU:
102  case StandardModel::TAU:
103  s0 = 0.2312527;
104  d1 = 4.729 * 0.0001;
105  d2 = 2.07 * 0.00001;
106  d3 = 3.85 * 0.000001;
107  d4 = -1.85 * 0.000001;
108  d5 = 2.07 * 0.01;
109  d6 = -2.851 * 0.001;
110  d7 = 1.82 * 0.0001;
111  d8 = -9.74 * 0.000001;
112  d9 = 3.98 * 0.0001;
113  d10 = -6.55 * 0.1;
114  break;
115  default:
116  throw std::runtime_error("Error in ApproximateFormulae::sin2thetaEff_l()");
117  }
118 
119  double L_H = log(mycache.getSM().getMHl() / 100.0);
120  double Delta_H = mycache.getSM().getMHl() / 100.0;
121  double Delta_ale = mycache.getSM().DeltaAlphaL5q() / 0.05907 - 1.0;
122  double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
123  double Delta_alphas = mycache.getSM().getAlsMz() / 0.117 - 1.0;
124  double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
125 
126  return (s0 + d1 * L_H + d2 * L_H * L_H + d3 * pow(L_H, 4.0)
127  + d4 * (Delta_H * Delta_H - 1.0) + d5 * Delta_ale + d6 * Delta_t
128  + d7 * Delta_t * Delta_t + d8 * Delta_t * (Delta_H - 1.0)
129  + d9 * Delta_alphas + d10 * Delta_Z
131 }
double getDelSin2th_l() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
#define UpperBoundForApproximateFormulae
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 getAlsMz() const
A get method to access the value of .
double EWSMApproximateFormulae::sin2thetaEff_q ( const QCD::quark  q) const
private

\(\sin^2\theta_{\rm eff}^q\) with the full two-loop EW corrections (bosonic two-loop EW corrections are missing for \(q=b\)).

This function is based on the approximate formulae for the weak mixing angles presented in [20] and [18], which include the complete two-loop EW corrections as well as leading three-loop corrections. It is noted that bosonic two-loop EW corrections are missing for \(q=b\). The approximate formulae reproduce the full results to be better than \(4.5\times 10^{-6}\) ( \(4.3\times 10^{-6}\)) for the Higgs mass 10 GeV \(\leq m_h\leq\) 1 TeV in the case of \(q=u,d,s,c\) ( \(q=b\)), if other inputs vary within their \(2\sigma\) ranges of the following outdated data: \(\alpha_s(M_Z^2) = 0.119\pm 0.002\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.05907\pm 0.00036\), \(M_Z = 91.1876\pm 0.0021\) GeV and \(m_t = 172.5\pm 2.3\) GeV.

Parameters
[in]qname of a quark (see QCD::quark)
Returns
the effective weak mixing angle for \(Z\to q\bar{q}\)

Definition at line 133 of file EWSMApproximateFormulae.cpp.

134 {
135  // applicable for 10 GeV <= mHl <= 1 TeV
137  std::stringstream out;
138  out << mycache.getSM().getMHl();
139  throw std::runtime_error("ApproximateFormulae::sin2thetaEff_q(): mh=" + out.str() + " is out of range");
140  }
141 
142  double s0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
143  switch (q) {
144  case QCD::UP:
145  case QCD::CHARM:
146  s0 = 0.2311395;
147  d1 = 4.726 * 0.0001;
148  d2 = 2.07 * 0.00001;
149  d3 = 3.85 * 0.000001;
150  d4 = -1.85 * 0.000001;
151  d5 = 2.07 * 0.01;
152  d6 = -2.853 * 0.001;
153  d7 = 1.83 * 0.0001;
154  d8 = -9.73 * 0.000001;
155  d9 = 3.98 * 0.0001;
156  d10 = -6.55 * 0.1;
157  break;
158  case QCD::DOWN:
159  case QCD::STRANGE:
160  s0 = 0.2310286;
161  d1 = 4.720 * 0.0001;
162  d2 = 2.06 * 0.00001;
163  d3 = 3.85 * 0.000001;
164  d4 = -1.85 * 0.000001;
165  d5 = 2.07 * 0.01;
166  d6 = -2.848 * 0.001;
167  d7 = 1.81 * 0.0001;
168  d8 = -9.73 * 0.000001;
169  d9 = 3.97 * 0.0001;
170  d10 = -6.55 * 0.1;
171  break;
172  case QCD::BOTTOM:
173  s0 = 0.2327580;
174  d1 = 4.749 * 0.0001;
175  d2 = 2.03 * 0.00001;
176  d3 = 3.94 * 0.000001;
177  d4 = -1.84 * 0.000001;
178  d5 = 2.08 * 0.01;
179  d6 = -0.993 * 0.001;
180  d7 = 0.708 * 0.0001;
181  d8 = -7.61 * 0.000001;
182  d9 = 4.03 * 0.0001;
183  d10 = 6.61 * 0.1;
184  break;
185  case QCD::TOP:
186  return 0.0;
187  default:
188  throw std::runtime_error("Error in ApproximateFormulae::sin2thetaEff_q()");
189  }
190 
191  double L_H = log(mycache.getSM().getMHl() / 100.0);
192  double Delta_H = mycache.getSM().getMHl() / 100.0;
193  double Delta_ale = mycache.getSM().DeltaAlphaL5q() / 0.05907 - 1.0;
194  double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
195  double Delta_alphas = mycache.getSM().getAlsMz() / 0.117 - 1.0;
196  double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
197 
198  return (s0 + d1 * L_H + d2 * L_H * L_H + d3 * pow(L_H, 4.0)
199  + d4 * (Delta_H * Delta_H - 1.0) + d5 * Delta_ale + d6 * Delta_t
200  + d7 * Delta_t * Delta_t + d8 * Delta_t * (Delta_H - 1.0)
201  + d9 * Delta_alphas + d10 * Delta_Z);
202 }
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
Definition: QCD.h:731
Definition: QCD.h:735
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
#define UpperBoundForApproximateFormulae
Definition: QCD.h:732
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 getAlsMz() const
A get method to access the value of .
double EWSMApproximateFormulae::X ( const std::string  observable) const

\(\Gamma_\nu\), \(\Gamma_{e,\mu}\), \(\Gamma_\tau\), \(\Gamma_u\), \(\Gamma_c\), \(\Gamma_{d,s}\), \(\Gamma_b\), \(\Gamma_Z\), \(R^0_\ell\), \(R^0_c\), \(R^0_b\), or \(\sigma^0_h\).

This function is based on the approximate formulae for partial and total widths of the \(Z\) boson and hadronic \(Z\)-pole cross section presented in [80], which include the complete fermionic two-loop EW corrections as well as leading three-loop corrections. The bosonic two-loop EW corrections are not included. The approximate formulae reproduce the full results to be better than 0.001 MeV, 0.01 MeV, 0.1 pb, \(0.1\times 10^{-3}\) and \(0.01\times 10^{-3}\) for \(\Gamma_f\), \(\Gamma_Z\), \(\sigma^0_h\), \(R^0_\ell\) and \(R^0_{c,b}\), respectively, if inputs vary within the ranges \(\alpha_s(M_Z^2) = 0.1184\pm 0.0050\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.0590\pm 0.0005\), \(M_Z = 91.1876\pm 0.0042\) GeV, \(m_t = 173.2\pm 2.0\) GeV and \(m_h = 125.7\pm 2.5\) GeV.

Parameters
[in]observablename of the observable to be computed: "Gamma_nu", "Gamma_e_mu", "Gamma_tau", "Gamma_u", "Gamma_c", "Gamma_d_s", "Gamma_b", "GammaZ", "sigmaHadron", "R0_lepton", "R0_charm", "R0_bottom"
Returns
\(\Gamma_\nu\), \(\Gamma_{e,\mu}\), \(\Gamma_\tau\), \(\Gamma_u\), \(\Gamma_c\), \(\Gamma_{d,s}\), \(\Gamma_b\), \(\Gamma_Z\), \(\sigma^0_h\), \(R^0_\ell\), \(R^0_c\), or \(R^0_b\)
Attention
The function EWSMApproximateFormulae::X_extended is applicable to larger ranges of \(M_Z\), \(m_t\) and \(m_h\).

Definition at line 515 of file EWSMApproximateFormulae.cpp.

516 {
517  double LH = log(mycache.getSM().getMHl() / 125.7);
518  double Dt = pow(mycache.getSM().getMtpole() / 173.2, 2.0) - 1.0;
519  double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
520  double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
521  double DZ = mycache.getSM().getMz() / 91.1876 - 1.0;
522 
523  double X0, c1, c2, c3, c4, c5, c6, c7;
524  if (observable.compare("Gamma_nu") == 0) {
525  X0 = 167.157;
526  c1 = -0.055;
527  c2 = 1.26;
528  c3 = -0.19;
529  c4 = -0.02;
530  c5 = 0.36;
531  c6 = -0.1;
532  c7 = 503.0;
533  } else if (observable.compare("Gamma_e_mu") == 0) {
534  X0 = 83.966;
535  c1 = -0.047;
536  c2 = 0.807;
537  c3 = -0.095;
538  c4 = -0.01;
539  c5 = 0.25;
540  c6 = -1.1;
541  c7 = 285.0;
542  } else if (observable.compare("Gamma_tau") == 0) {
543  X0 = 83.776;
544  c1 = -0.047;
545  c2 = 0.806;
546  c3 = -0.095;
547  c4 = -0.01;
548  c5 = 0.25;
549  c6 = -1.1;
550  c7 = 285.0;
551  } else if (observable.compare("Gamma_u") == 0) {
552  X0 = 299.936;
553  c1 = -0.34;
554  c2 = 4.07;
555  c3 = 14.27;
556  c4 = 1.6;
557  c5 = 1.8;
558  c6 = -11.1;
559  c7 = 1253.0;
560  } else if (observable.compare("Gamma_c") == 0) {
561  X0 = 299.860;
562  c1 = -0.34;
563  c2 = 4.07;
564  c3 = 14.27;
565  c4 = 1.6;
566  c5 = 1.8;
567  c6 = -11.1;
568  c7 = 1253.0;
569  } else if (observable.compare("Gamma_d_s") == 0) {
570  X0 = 382.770;
571  c1 = -0.34;
572  c2 = 3.83;
573  c3 = 10.20;
574  c4 = -2.4;
575  c5 = 0.67;
576  c6 = -10.1;
577  c7 = 1469.0;
578  } else if (observable.compare("Gamma_b") == 0) {
579  X0 = 375.724;
580  c1 = -0.30;
581  c2 = -2.28;
582  c3 = 10.53;
583  c4 = -2.4;
584  c5 = 1.2;
585  c6 = -10.0;
586  c7 = 1458.0;
587  } else if (observable.compare("GammaZ") == 0) {
588  X0 = 2494.24;
589  c1 = -2.0;
590  c2 = 19.7;
591  c3 = 58.60;
592  c4 = -4.0;
593  c5 = 8.0;
594  c6 = -55.9;
595  c7 = 9267.0;
596  } else if (observable.compare("sigmaHadron") == 0) {
597  X0 = 41488.4;
598  c1 = 3.0;
599  c2 = 60.9;
600  c3 = -579.4;
601  c4 = 38.0;
602  c5 = 7.3;
603  c6 = 85.0;
604  c7 = -86027.0;
605  } else if (observable.compare("R0_lepton") == 0) {
606  X0 = 20750.9;
607  c1 = -8.1;
608  c2 = -39.0;
609  c3 = 732.1;
610  c4 = -44.0;
611  c5 = 5.5;
612  c6 = -358.0;
613  c7 = 11702.0;
614  } else if (observable.compare("R0_charm") == 0) {
615  X0 = 172.23;
616  c1 = -0.029;
617  c2 = 1.0;
618  c3 = 2.3;
619  c4 = 1.3;
620  c5 = 0.38;
621  c6 = -1.2;
622  c7 = 37.0;
623  } else if (observable.compare("R0_bottom") == 0) {
624  X0 = 215.80;
625  c1 = 0.031;
626  c2 = -2.98;
627  c3 = -1.32;
628  c4 = -0.84;
629  c5 = 0.035;
630  c6 = 0.73;
631  c7 = -18.0;
632  } else
633  throw std::runtime_error("ApproximateFormulae::X(): " + observable + " is not defined");
634 
635  return ( 0.001
636  * (X0 + c1 * LH + c2 * Dt + c3 * Das + c4 * Das * Das + c5 * Das * Dt + c6 * Dal + c7 * DZ));
637 }
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 getAlsMz() const
A get method to access the value of .
double EWSMApproximateFormulae::X_extended ( const std::string  observable) const

\(\Gamma_\nu\), \(\Gamma_{e,\mu}\), \(\Gamma_\tau\), \(\Gamma_u\), \(\Gamma_c\), \(\Gamma_{d,s}\), \(\Gamma_b\), \(\Gamma_Z\), \(R^0_\ell\), \(R^0_c\), \(R^0_b\), or \(\sigma^0_h\).

This function is based on the approximate formulae for partial and total widths of the \(Z\) boson and hadronic \(Z\)-pole cross section presented in [80], which include the complete fermionic two-loop EW corrections as well as leading three-loop corrections. The bosonic two-loop EW corrections are not included. The approximate formulae reproduce the full results to be better than 0.001 MeV, 0.01 MeV, 0.1 pb, \(0.1\times 10^{-3}\) and \(0.01\times 10^{-3}\) for \(\Gamma_f\), \(\Gamma_Z\), \(\sigma^0_h\), \(R^0_\ell\) and \(R^0_{c,b}\), respectively, if inputs vary within the ranges \(\alpha_s(M_Z^2) = 0.1184\pm 0.0050\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.0590\pm 0.0005\), \(M_Z = 91.1876\pm 0.0084\) GeV, \(165 < m_t < 190\) GeV and \(70 < m_h < 1000\) GeV.

Parameters
[in]observablename of the observable to be computed: "Gamma_nu", "Gamma_e_mu", "Gamma_tau", "Gamma_u", "Gamma_c", "Gamma_d_s", "Gamma_b", "GammaZ", "sigmaHadron", "R0_lepton", "R0_charm", "R0_bottom"
Returns
\(\Gamma_\nu\), \(\Gamma_{e,\mu}\), \(\Gamma_\tau\), \(\Gamma_u\), \(\Gamma_c\), \(\Gamma_{d,s}\), \(\Gamma_b\), \(\Gamma_Z\), \(\sigma^0_h\), \(R^0_\ell\), \(R^0_c\), or \(R^0_b\)
Attention
The function EWSMApproximateFormulae::X is applicable to smaller ranges of \(M_Z\), \(m_t\) and \(m_h\).

Definition at line 639 of file EWSMApproximateFormulae.cpp.

640 {
641  double LH = log(mycache.getSM().getMHl() / 125.7);
642  double DH = mycache.getSM().getMHl() / 125.7 - 1.0;
643  double Dt = pow(mycache.getSM().getMtpole() / 173.2, 2.0) - 1.0;
644  double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
645  double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
646  double DZ = mycache.getSM().getMz() / 91.1876 - 1.0;
647 
648  double X0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15;
649  double ThError = 0.0; // Theoretical uncertainty
650  if (observable.compare("Gamma_nu") == 0) {
651  X0 = 167.157;
652  a1 = -0.1567;
653  a2 = -0.1194;
654  a3 = 0.1031;
655  a4 = -0.00269;
656  a5 = 1.258;
657  a6 = -0.13;
658  a7 = -0.020;
659  a8 = 0.0133;
660  a9 = -0.19;
661  a10 = -0.018;
662  a11 = -0.021;
663  a12 = 0.34;
664  a13 = -0.084;
665  a14 = 0.064;
666  a15 = 503.0;
667  } else if (observable.compare("Gamma_e_mu") == 0) {
668  X0 = 83.966;
669  a1 = -0.1017;
670  a2 = -0.06352;
671  a3 = 0.05500;
672  a4 = -0.00145;
673  a5 = 0.8051;
674  a6 = -0.027;
675  a7 = -0.017;
676  a8 = 0.0066;
677  a9 = -0.095;
678  a10 = -0.010;
679  a11 = -0.015;
680  a12 = 0.23;
681  a13 = -1.1;
682  a14 = 0.064;
683  a15 = 285.0;
684  } else if (observable.compare("Gamma_tau") == 0) {
685  X0 = 83.776;
686  a1 = -0.1016;
687  a2 = -0.06339;
688  a3 = 0.05488;
689  a4 = -0.00145;
690  a5 = 0.8036;
691  a6 = -0.026;
692  a7 = -0.017;
693  a8 = 0.0066;
694  a9 = -0.095;
695  a10 = -0.010;
696  a11 = -0.015;
697  a12 = 0.23;
698  a13 = -1.1;
699  a14 = 0.064;
700  a15 = 285.0;
701  } else if (observable.compare("Gamma_u") == 0) {
702  X0 = 299.936;
703  a1 = -0.5681;
704  a2 = -0.2636;
705  a3 = 0.2334;
706  a4 = -0.00592;
707  a5 = 4.057;
708  a6 = -0.50;
709  a7 = -0.058;
710  a8 = 0.0352;
711  a9 = 14.26;
712  a10 = 1.6;
713  a11 = -0.081;
714  a12 = 1.7;
715  a13 = -11.1;
716  a14 = 0.19;
717  a15 = 1251.0;
718  } else if (observable.compare("Gamma_c") == 0) {
719  X0 = 299.859;
720  a1 = -0.5680;
721  a2 = -0.2635;
722  a3 = 0.2334;
723  a4 = -0.00592;
724  a5 = 4.056;
725  a6 = -0.50;
726  a7 = -0.058;
727  a8 = 0.0352;
728  a9 = 14.26;
729  a10 = 1.6;
730  a11 = -0.081;
731  a12 = 1.7;
732  a13 = -11.1;
733  a14 = 0.19;
734  a15 = 1251.0;
735  } else if (observable.compare("Gamma_d_s") == 0) {
736  X0 = 382.770;
737  a1 = -0.6199;
738  a2 = -0.3182;
739  a3 = 0.2800;
740  a4 = -0.00711;
741  a5 = 3.810;
742  a6 = -0.25;
743  a7 = -0.060;
744  a8 = 0.0420;
745  a9 = 10.20;
746  a10 = -2.4;
747  a11 = -0.083;
748  a12 = 0.65;
749  a13 = -10.1;
750  a14 = 0.19;
751  a15 = 1468.0;
752  } else if (observable.compare("Gamma_b") == 0) {
753  X0 = 375.723;
754  a1 = -0.5744;
755  a2 = -0.3074;
756  a3 = 0.2725;
757  a4 = -0.00703;
758  a5 = -2.292;
759  a6 = -0.027;
760  a7 = -0.013;
761  a8 = 0.0428;
762  a9 = 10.53;
763  a10 = -2.4;
764  a11 = -0.088;
765  a12 = 1.2;
766  a13 = -10.1;
767  a14 = 0.19;
768  a15 = 1456.0;
769  } else if (observable.compare("GammaZ") == 0) {
770  X0 = 2494.24;
771  a1 = -3.725;
772  a2 = -2.019;
773  a3 = 1.773;
774  a4 = -0.04554;
775  a5 = 19.63;
776  a6 = -2.0;
777  a7 = -0.36;
778  a8 = 0.257;
779  a9 = 58.60;
780  a10 = -4.1;
781  a11 = -0.53;
782  a12 = 7.6;
783  a13 = -56.0;
784  a14 = 1.3;
785  a15 = 9256.0;
786  ThError = mycache.getSM().getDelGammaZ();
787  } else if (observable.compare("sigmaHadron") == 0) {
788  X0 = 41488.4;
789  a1 = 3.88;
790  a2 = 0.829;
791  a3 = -0.911;
792  a4 = 0.0076;
793  a5 = 61.10;
794  a6 = 16.0;
795  a7 = -2.0;
796  a8 = -0.59;
797  a9 = -579.4;
798  a10 = 38.0;
799  a11 = -0.26;
800  a12 = 6.5;
801  a13 = 84.0;
802  a14 = 9.5;
803  a15 = -86152.0;
804  } else if (observable.compare("R0_lepton") == 0) {
805  X0 = 20750.9;
806  a1 = -10.00;
807  a2 = -1.83;
808  a3 = 1.878;
809  a4 = -0.0343;
810  a5 = -38.8;
811  a6 = -11.0;
812  a7 = 1.2;
813  a8 = 0.72;
814  a9 = 732.1;
815  a10 = -44.0;
816  a11 = -0.64;
817  a12 = 5.6;
818  a13 = -357.0;
819  a14 = -4.7;
820  a15 = 11771.0;
821  } else if (observable.compare("R0_charm") == 0) {
822  X0 = 172.23;
823  a1 = -0.034;
824  a2 = -0.0058;
825  a3 = 0.0054;
826  a4 = -0.00012;
827  a5 = 1.00;
828  a6 = -0.15;
829  a7 = -0.0074;
830  a8 = 0.00091;
831  a9 = 2.3;
832  a10 = 1.3;
833  a11 = -0.0013;
834  a12 = 0.35;
835  a13 = -1.2;
836  a14 = 0.014;
837  a15 = 37.0;
838  } else if (observable.compare("R0_bottom") == 0) {
839  X0 = 215.80;
840  a1 = 0.036;
841  a2 = 0.0057;
842  a3 = -0.0044;
843  a4 = 0.000062;
844  a5 = -2.98;
845  a6 = 0.20;
846  a7 = 0.020;
847  a8 = -0.00036;
848  a9 = -1.3;
849  a10 = -0.84;
850  a11 = -0.0019;
851  a12 = 0.054;
852  a13 = 0.73;
853  a14 = -0.011;
854  a15 = -18.0;
855  } else
856  throw std::runtime_error("ApproximateFormulae::X_extended(): " + observable + " is not defined");
857 
858  return ( 0.001
859  * (X0 + a1 * LH + a2 * LH * LH + a3 * DH + a4 * DH * DH + a5 * Dt + a6 * Dt * Dt
860  + a7 * Dt * LH + a8 * Dt * LH * LH + a9 * Das + a10 * Das * Das + a11 * Das * LH
861  + a12 * Das * Dt + a13 * Dal + a14 * Dal * LH + a15 * DZ) + ThError);
862 }
const EWSMcache & mycache
A reference to an object of type StandardModel.
complex pow(const complex &z1, const complex &z2)
double getDelGammaZ() const
A get method to retrieve the theoretical uncertainty in , denoted as .
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:923
complex log(const complex &z)
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 getAlsMz() const
A get method to access the value of .

Member Data Documentation

const EWSMcache& EWSMApproximateFormulae::mycache
private

A reference to an object of type StandardModel.

Definition at line 302 of file EWSMApproximateFormulae.h.


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