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

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

#include <EWSMApproximateFormulae.h>

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 [Awramik:2003rn], [Awramik:2004ge], [Awramik:2006uz], [Awramik:2008gi], [Freitas:2012sy], [Freitas:2013dpa] and [Freitas:2014hra]. (The actual implementation for \(M_W\) corresponds to arXiv:hep-ph/0311148v2, which updates the results presented in the journal version of [Awramik:2003rn].) 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 dAlpha5hMw () const
 The value of \(\Delta\alpha^{5}_{had}(M_Z^2)\) obtained from the \(W\)-boson mass, using the full two-loop EW corrections. More...
 
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 LEgAnueApprox () const
 The effective (muon) neutrino-electron axial-vector coupling: gAnue. More...
 
double LEgLnuN2Approx () const
 The effective neutrino nucleon LH coupling: gLnuN2. More...
 
double LEgRnuN2Approx () const
 The effective neutrino nucleon RH coupling: gRnuN2. More...
 
double LEgVnueApprox () const
 The effective (muon) neutrino-electron vector coupling: gVnue. More...
 
double LEP2AFBmuApprox (const double s) const
 The \(e^+e^- \to \mu^+\mu^-\) forward-backward asymmetry at LEP2. More...
 
double LEP2AFBtauApprox (const double s) const
 The \(e^+e^- \to \tau^+\tau^-\) forward-backward asymmetry at LEP2. More...
 
double LEP2dsigmadcosEApprox (const double s, const double cos) const
 The \(e^+e^- \to e^+ e^-\) differential cross section at LEP2. More...
 
double LEP2dsigmadcosMuApprox (const double s, const double cos) const
 The \(e^+e^- \to \mu^+\mu^-\) differential cross section at LEP2. More...
 
double LEP2dsigmadcosTauApprox (const double s, const double cos) const
 The \(e^+e^- \to \tau^+\tau^-\) differential cross section at LEP2. More...
 
double LEP2sigmaHadronApprox (const double s) const
 The \(e^+e^- \to hadrons\) cross section at LEP2. More...
 
double LEP2sigmaMuApprox (const double s) const
 The \(e^+e^- \to \mu^+\mu^-\) cross section at LEP2. More...
 
double LEP2sigmaTauApprox (const double s) const
 The \(e^+e^- \to \tau^+\tau^-\) cross section at LEP2. More...
 
double LEThetaLnuNApprox () const
 The effective neutrino nucleon LH parameter: ThetaLnuN. More...
 
double LEThetaRnuNApprox () const
 The effective neutrino nucleon RH parameter: ThetaRnuN. 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
 The value of the effective weak mixing anlge for a given fermion. More...
 
double sin2thetaEff_b_full () const
 \(\sin^2\theta_{\rm eff}^b\) with the full two-loop EW corrections. More...
 
double sin2thetaEff_l_full () const
 \(\sin^2\theta_{\rm eff}^l\) with the full two-loop EW corrections. More...
 
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...
 
double X_full (const std::string observable) const
 \(\Gamma_{e,\mu}\), \(\Gamma_\tau\), \(\Gamma_\nu\), \(\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_full_2_loop (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_b () const
 \(\sin^2\theta_{\rm eff}^b\) with the full two-loop EW corrections. More...
 
double sin2thetaEff_l (const QCD::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::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

◆ dAlpha5hMw()

double EWSMApproximateFormulae::dAlpha5hMw ( ) const

The value of \(\Delta\alpha^{5}_{had}(M_Z^2)\) obtained from the \(W\)-boson mass, using the full two-loop EW corrections.

This function is based on the approximate formula for \(M_W\) presented in [Awramik:2003rn]. See notes in \(Mw()\) function.

Returns
the value of \(\Delta\alpha^{5}_{had}(M_Z^2)\)

Definition at line 74 of file EWSMApproximateFormulae.cpp.

75{
76 // Use parametrization for W mass from arXiv:hep-ph/0311148v2 (updates from the journal version)
77 double Mw0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11;
78 if (mycache.getSM().getMHl() >= 100.0 && mycache.getSM().getMHl() <= UpperBoundForApproximateFormulae) {
79 // applicable for 100 GeV <= mHl <= 1 TeV
80 Mw0 = 80.3779;
81 c1 = 0.05263;
82 c2 = 0.010239;
83 c3 = 0.000954;
84 c4 = -0.000054;
85 c5 = 1.077;
86 c6 = 0.5252;
87 c7 = 0.0700;
88 c8 = 0.004102;
89 c9 = 0.000111;
90 c10 = 0.0774;
91 c11 = 115.0;
92 } else if (mycache.getSM().getMHl() >= 10.0 && mycache.getSM().getMHl() <= 1000.0) {
93 // applicable for 10 GeV <= mHl <= 1 TeV
94 Mw0 = 80.3799;
95 c1 = 0.05427;
96 c2 = 0.008931;
97 c3 = 0.0000882;
98 c4 = 0.000161;
99 c5 = 1.070;
100 c6 = 0.5237;
101 c7 = 0.0679;
102 c8 = 0.00179;
103 c9 = 0.0000664;
104 c10 = 0.0795;
105 c11 = 114.9;
106 } else {
107 std::stringstream out;
108 out << mycache.getSM().getMHl();
109 throw std::runtime_error("ApproximateFormulae::dAlpha5hMw(): mh=" + out.str() + " is out of range");
110 }
111
112 double dH = log(mycache.getSM().getMHl() / 100.0);
113 double dh = pow((mycache.getSM().getMHl() / 100.0), 2.0);
114 double dt = pow((mycache.getSM().getMtpole() / 174.3), 2.0) - 1.0;
115 double dZ = mycache.getSM().getMz() / 91.1875 - 1.0;
116 double dalphas = mycache.getSM().getAlsMz() / 0.119 - 1.0;
117
118 double MwInp = mycache.getSM().getMw();
119 double Mz2 = (mycache.getSM().getMz())*(mycache.getSM().getMz());
120 double dalphaeLept = mycache.getSM().DeltaAlphaLepton(Mz2);
121 double dalphae;
122
123 dalphae = ( (Mw0 - MwInp - c1 * dH - c2 * dH * dH + c3 * pow(dH, 4.0)
124 + c4 * (dh - 1.0) + c6 * dt - c7 * dt * dt
125 - c8 * dH * dt + c9 * dh * dt - c10 * dalphas + c11 * dZ
126 + mycache.getSM().getDelMw())/c5 );
127
128 return 0.05907 * (dalphae + 1.0) - dalphaeLept;
129}
const StandardModel & getSM() const
Definition: EWSMcache.h:56
const double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:600
const double getDelMw() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getMz() const
A get method to access the mass of the boson .
const double getMw() const
A get method to access the input value of the mass of the boson .
const double getAlsMz() const
A get method to access the value of .
virtual const double getMHl() const
A get method to retrieve the Higgs mass .
const double DeltaAlphaLepton(const double s) const
Leptonic contribution to the electromagnetic coupling , denoted as .

◆ DeltaKappa_b_TwoLoopEW_rem()

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 [Awramik:2008gi], 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 379 of file EWSMApproximateFormulae.cpp.

380{
381 // applicable for 10 GeV <= mHl <= 1 TeV
382 if (mycache.getSM().getMHl() < 10.0 || mycache.getSM().getMHl() > UpperBoundForApproximateFormulae) {
383 std::stringstream out;
384 out << mycache.getSM().getMHl();
385 throw std::runtime_error("ApproximateFormulae::DeltaKappa_b_TwoLoopEW_rem(): mh=" + out.str() + " is out of range");
386 }
387
388 double k0 = -0.002666;
389 double k1 = -0.0000592;
390 double k2 = -0.00000329;
391 double k3 = 0.00000349;
392 double k4 = 0.00000283;
393 double k5 = -0.00534;
394 double k6 = -0.00210;
395 double k7 = -0.000219;
396 double k8 = -0.0631;
397 double k9 = -0.126;
398 double k10 = 0.0647;
399
400 double L_H = log(mycache.getSM().getMHl() / 100.0);
401 double Delta_H = mycache.getSM().getMHl() / 100.0;
402 double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
403 double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
404 double Delta_W = Mw_i / 80.404 - 1.0;
405
406 return ( k0 + k1 * L_H + k2 * L_H * L_H + k3 * pow(L_H, 4.0)
407 + k4 * (Delta_H * Delta_H - 1.0) + k5 * Delta_t
408 + k6 * Delta_t * Delta_t + k7 * Delta_t * L_H
409 + k8 * Delta_W + k9 * Delta_W * Delta_t + k10 * Delta_Z);
410}

◆ DeltaKappa_l_TwoLoopEW_rem()

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 [Awramik:2006uz], 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 346 of file EWSMApproximateFormulae.cpp.

347{
348 // applicable for 10 GeV <= mHl <= 1 TeV
349 if (mycache.getSM().getMHl() < 10.0 || mycache.getSM().getMHl() > UpperBoundForApproximateFormulae) {
350 std::stringstream out;
351 out << mycache.getSM().getMHl();
352 throw std::runtime_error("ApproximateFormulae::DeltaKappa_l_TwoLoopEW_rem(): mh=" + out.str() + " is out of range");
353 }
354
355 double k0 = -0.002711;
356 double k1 = -0.0000312;
357 double k2 = -0.0000412;
358 double k3 = 0.00000528;
359 double k4 = 0.00000375;
360 double k5 = -0.00516;
361 double k6 = -0.00206;
362 double k7 = -0.000232;
363 double k8 = -0.0647;
364 double k9 = -0.129;
365 double k10 = 0.0712;
366
367 double L_H = log(mycache.getSM().getMHl() / 100.0);
368 double Delta_H = mycache.getSM().getMHl() / 100.0;
369 double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
370 double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
371 double Delta_W = Mw_i / 80.404 - 1.0;
372
373 return ( k0 + k1 * L_H + k2 * L_H * L_H + k3 * pow(L_H, 4.0)
374 + k4 * (Delta_H * Delta_H - 1.0) + k5 * Delta_t
375 + k6 * Delta_t * Delta_t + k7 * Delta_t * L_H
376 + k8 * Delta_W + k9 * Delta_W * Delta_t + k10 * Delta_Z);
377}

◆ DeltaR_TwoLoopEW_rem()

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 [Awramik:2006uz], 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 310 of file EWSMApproximateFormulae.cpp.

311{
312 // applicable for 10 GeV <= mHl <= 1 TeV
313 if (mycache.getSM().getMHl() < 10.0 || mycache.getSM().getMHl() > UpperBoundForApproximateFormulae) {
314 std::stringstream out;
315 out << mycache.getSM().getMHl();
316 throw std::runtime_error("ApproximateFormulae::DeltaR_TwoLoopEW_rem(): mh=" + out.str() + " is out of range");
317 }
318
319 double r0 = 0.003354;
320 double r1 = -0.000209;
321 double r2 = 0.0000254;
322 double r3 = -0.00000785;
323 double r4 = -0.00000233;
324 double r5 = 0.00783;
325 double r6 = 0.00338;
326 double r7 = -0.00000989;
327 double r8 = 0.0939;
328 double r9 = 0.204;
329 double r10 = -0.103;
330
331 //double Mw = Mw(DeltaAlphaL5q_i); /* for test */
332 double Mw = Mw_i;
333
334 double L_H = log(mycache.getSM().getMHl() / 100.0);
335 double Delta_H = mycache.getSM().getMHl() / 100.0;
336 double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
337 double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
338 double Delta_W = Mw / 80.404 - 1.0;
339
340 return ( r0 + r1 * L_H + r2 * L_H * L_H + r3 * pow(L_H, 4.0)
341 + r4 * (Delta_H * Delta_H - 1.0) + r5 * Delta_t
342 + r6 * Delta_t * Delta_t + r7 * Delta_t * L_H + r8 * Delta_W
343 + r9 * Delta_W * Delta_t + r10 * Delta_Z);
344}
An observable class for the -boson mass.
Definition: Mw.h:22

◆ Gd_over_Gb_OLD()

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 569 of file EWSMApproximateFormulae.cpp.

570{
571 // applicable for 10 GeV <= mHl <= 1 TeV
572 if (mycache.getSM().getMHl() < 10.0 || mycache.getSM().getMHl() > UpperBoundForApproximateFormulae) {
573 std::stringstream out;
574 out << mycache.getSM().getMHl();
575 throw std::runtime_error("ApproximateFormulae::Gd_over_Gb(): mh=" + out.str() + " is out of range");
576 }
577
578 // obtained from Freitas on Apr. 23, 2013
579 /*
580 double R = 1.0239191;
581 double c1 = -5.093e-5;
582 double c2 = -7.08e-6;
583 double c3 = 7.4e-7;
584 double c4 = 3.27e-8;
585 double c5 = 8.68e-4;
586 double c6 = 1.064e-4;
587 double c7 = 1.8875e-2;
588 double c8 = 7.093e-3;
589 double c9 = -4.128e-4;
590 double c10 = 1.898e-4;
591 double c11 = -8.0e-6;
592 double c12 = -0.513;
593 */
594
595 // obtained from Freitas on Sep. 21, 2013
596 double R = 1.0204024;
597 double c1 = -2.242e-5;
598 double c2 = -1.70e-6;
599 double c3 = 2.1e-7;
600 double c4 = 6.38e-8;
601 double c5 = 5.28e-4;
602 double c6 = 0.999e-4;
603 double c7 = 1.7539e-2;
604 double c8 = 7.138e-3;
605 double c9 = -4.041e-4;
606 double c10 = 2.290e-4;
607 double c11 = -8.0e-6;
608 double c12 = -0.530;
609
610 double LH = log(mycache.getSM().getMHl() / 100.0);
611 double DH = pow((mycache.getSM().getMHl() / 100.0), 2.0) - 1.0;
612 double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
613 double Dt = pow((mycache.getSM().getMtpole() / 173.2), 2.0) - 1.0;
614 double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
615 double Dmz = mycache.getSM().getMz() / 91.1876 - 1.0;
616
617 return ( R + c1 * LH + c2 * LH * LH + c3 * pow(LH, 4.0) + c4 * DH + c5 * Dal + c6 * LH * Dal
618 + c7 * Dt + c8 * Dt * Dt + c9 * LH * Dt + c10 * Das + c11 * Das * Das + c12 * Dmz);
619}
const double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...

◆ Gu_over_Gb_OLD()

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 517 of file EWSMApproximateFormulae.cpp.

518{
519 // applicable for 10 GeV <= mHl <= 1 TeV
520 if (mycache.getSM().getMHl() < 10.0 || mycache.getSM().getMHl() > UpperBoundForApproximateFormulae) {
521 std::stringstream out;
522 out << mycache.getSM().getMHl();
523 throw std::runtime_error("ApproximateFormulae::Gu_over_Gb(): mh=" + out.str() + " is out of range");
524 }
525
526 // obtained from Freitas on Apr. 23, 2013
527 /*
528 double R = 0.8024769;
529 double c1 = -1.9007e-4;
530 double c2 = -2.112e-5;
531 double c3 = 6.63e-6;
532 double c4 = -1.0284e-6;
533 double c5 = -8.081e-3;
534 double c6 = 1.830e-4;
535 double c7 = 1.7522e-2;
536 double c8 = 4.440e-3;
537 double c9 = -3.245e-4;
538 double c10 = 1.8079e-2;
539 double c11 = 1.0720e-2;
540 double c12 = -0.129;
541 */
542
543 // obtained from Freitas on Sep. 21, 2013
544 double R = 0.7997930;
545 double c1 = -1.7991e-4;
546 double c2 = -1.980e-5;
547 double c3 = 6.24e-6;
548 double c4 = -0.9829e-6;
549 double c5 = -8.200e-3;
550 double c6 = 1.657e-4;
551 double c7 = 1.6476e-2;
552 double c8 = 4.463e-3;
553 double c9 = -3.187e-4;
554 double c10 = 1.8113e-2;
555 double c11 = 1.0720e-2;
556 double c12 = -0.144;
557
558 double LH = log(mycache.getSM().getMHl() / 100.0);
559 double DH = pow((mycache.getSM().getMHl() / 100.0), 2.0) - 1.0;
560 double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
561 double Dt = pow((mycache.getSM().getMtpole() / 173.2), 2.0) - 1.0;
562 double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
563 double Dmz = mycache.getSM().getMz() / 91.1876 - 1.0;
564
565 return ( R + c1 * LH + c2 * LH * LH + c3 * pow(LH, 4.0) + c4 * DH + c5 * Dal + c6 * LH * Dal
566 + c7 * Dt + c8 * Dt * Dt + c9 * LH * Dt + c10 * Das + c11 * Das * Das + c12 * Dmz);
567}

◆ LEgAnueApprox()

double EWSMApproximateFormulae::LEgAnueApprox ( ) const

The effective (muon) neutrino-electron axial-vector coupling: gAnue.

This function is based on the approximate formula for the coupling, obtained fitting the SM predictions to a semi- analytical expression as function of the SM parameters.

Returns
\(g_A^{\nu_\mu e}\)

Definition at line 6096 of file EWSMApproximateFormulae.cpp.

6097{
6098 double LH = log(mycache.getSM().getMHl() / 125.21);
6099 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
6100 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
6101 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
6102 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
6103
6104 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
6105 double RelThError = 0.0; // (Relative) Theoretical uncertainty
6106
6107 X0 = -0.50693;
6108 cMH = 0.00029;
6109 cmt = -0.00466;
6110 caS = 0.;
6111 caS2 = 0.00013;
6112 caSmt = 0.;
6113 cda5h = 0.00004;
6114 cMZ = -0.00779;
6115
6116 RelThError = 0.;
6117
6118 return ((X0 + cMH * LH + cmt * Dt
6119 + caS * Das + caS2 * Das * Das
6120 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
6121}
virtual const double Dalpha5hMz() const
The 5-quark contribution to the running of the em constant to the pole. .

◆ LEgLnuN2Approx()

double EWSMApproximateFormulae::LEgLnuN2Approx ( ) const

The effective neutrino nucleon LH coupling: gLnuN2.

This function is based on the approximate formula for the coupling, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
\(g_L^2(\nu N)\)

Definition at line 5956 of file EWSMApproximateFormulae.cpp.

5957{
5958 double LH = log(mycache.getSM().getMHl() / 125.21);
5959 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
5960 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
5961 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
5962 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
5963
5964 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
5965 double RelThError = 0.0; // (Relative) Theoretical uncertainty
5966
5967 X0 = 0.3037;
5968 cMH = -0.00067;
5969 cmt = 0.00654;
5970 caS = -0.00096;
5971 caS2 = -0.00072;
5972 caSmt = 0.00002;
5973 cda5h = -0.00701;
5974 cMZ = 0.47995;
5975
5976 RelThError = 0.;
5977
5978 return ((X0 + cMH * LH + cmt * Dt
5979 + caS * Das + caS2 * Das * Das
5980 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
5981}

◆ LEgRnuN2Approx()

double EWSMApproximateFormulae::LEgRnuN2Approx ( ) const

The effective neutrino nucleon RH coupling: gRnuN2.

This function is based on the approximate formula for the coupling, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
\(g_R^2(\nu N)\)

Definition at line 5984 of file EWSMApproximateFormulae.cpp.

5985{
5986 double LH = log(mycache.getSM().getMHl() / 125.21);
5987 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
5988 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
5989 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
5990 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
5991
5992 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
5993 double RelThError = 0.0; // (Relative) Theoretical uncertainty
5994
5995 X0 = 0.03014;
5996 cMH = 0.00007;
5997 cmt = -0.00001;
5998 caS = 0.00013;
5999 caS2 = 0.00021;
6000 caSmt = -0.0002;
6001 cda5h = 0.00243;
6002 cMZ = -0.16544;
6003
6004 RelThError = 0.;
6005
6006 return ((X0 + cMH * LH + cmt * Dt
6007 + caS * Das + caS2 * Das * Das
6008 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
6009}

◆ LEgVnueApprox()

double EWSMApproximateFormulae::LEgVnueApprox ( ) const

The effective (muon) neutrino-electron vector coupling: gVnue.

This function is based on the approximate formula for the coupling, obtained fitting the SM predictions to a semi- analytical expression as function of the SM parameters.

Returns
\(g_V^{\nu_\mu e}\)

Definition at line 6068 of file EWSMApproximateFormulae.cpp.

6069{
6070 double LH = log(mycache.getSM().getMHl() / 125.21);
6071 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
6072 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
6073 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
6074 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
6075
6076 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
6077 double RelThError = 0.0; // (Relative) Theoretical uncertainty
6078
6079 X0 = -0.03959;
6080 cMH = 0.00095;
6081 cmt = -0.00563;
6082 caS = 0.00076;
6083 caS2 = 0.00071;
6084 caSmt = 0.;
6085 cda5h = 0.0188;
6086 cMZ = -1.2809;
6087
6088 RelThError = 0.;
6089
6090 return ((X0 + cMH * LH + cmt * Dt
6091 + caS * Das + caS2 * Das * Das
6092 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
6093}

◆ LEP2AFBmuApprox()

double EWSMApproximateFormulae::LEP2AFBmuApprox ( const double  s) const

The \(e^+e^- \to \mu^+\mu^-\) forward-backward asymmetry at LEP2.

This function is based on the approximate formula for the forward-backward asymmetry, obtained fitting the ZFitter predictions to a semi-analytical expression as function of the SM parameters.

Returns
the \(e^+e^- \to \mu^+\mu^-\) forward-backward asymmetry in units of pb

Definition at line 1806 of file EWSMApproximateFormulae.cpp.

1807{
1808 double LH = log(mycache.getSM().getMHl() / 125.21);
1809 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
1810 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
1811 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
1812 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
1813
1814 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
1815 double RelThError = 0.0; // (Relative) Theoretical uncertainty
1816
1817 if (s==130.2*130.2) {
1818 X0 = 0.70591;
1819 cMH = -0.00003;
1820 cmt = 0.0015;
1821 caS = -0.00023;
1822 caS2 = -0.0002;
1823 caSmt = -0.00018;
1824 cda5h = -0.00582;
1825 cMZ = 0.82841;
1826
1827 RelThError=0.;
1828 } else if (s==136.2*136.2) {
1829 X0 = 0.68554;
1830 cMH = -0.00003;
1831 cmt = 0.00183;
1832 caS = -0.00026;
1833 caS2 = -0.00046;
1834 caSmt = -0.00022;
1835 cda5h = -0.00712;
1836 cMZ = 0.93179;
1837
1838 RelThError=0.;
1839 } else if (s==161.3*161.3) {
1840 X0 = 0.6183;
1841 cMH = 0.00003;
1842 cmt = 0.00251;
1843 caS = -0.00031;
1844 caS2 = -0.00047;
1845 caSmt = -0.00029;
1846 cda5h = -0.00953;
1847 cMZ = 0.98102;
1848
1849 RelThError=0.;
1850 } else if (s==172.1*172.1) {
1851 X0 = 0.59756;
1852 cMH = 0.00009;
1853 cmt = 0.00262;
1854 caS = -0.00032;
1855 caS2 = -0.00255;
1856 caSmt = -0.00029;
1857 cda5h = -0.00999;
1858 cMZ = 0.97326;
1859
1860 RelThError=0.;
1861 } else if (s==182.7*182.7) {
1862 X0 = 0.58117;
1863 cMH = 0.00019;
1864 cmt = 0.00267;
1865 caS = -0.00032;
1866 caS2 = -0.00097;
1867 caSmt = -0.00031;
1868 cda5h = -0.01024;
1869 cMZ = 0.95077;
1870
1871 RelThError=0.;
1872 } else if (s==188.6*188.6) {
1873 X0 = 0.573;
1874 cMH = 0.00028;
1875 cmt = 0.00267;
1876 caS = -0.00031;
1877 caS2 = -0.00128;
1878 caSmt = -0.00031;
1879 cda5h = -0.01033;
1880 cMZ = 0.94318;
1881
1882 RelThError=0.;
1883 } else if (s==191.6*191.6) {
1884 X0 = 0.5691;
1885 cMH = 0.00033;
1886 cmt = 0.00267;
1887 caS = -0.00031;
1888 caS2 = -0.00155;
1889 caSmt = -0.00032;
1890 cda5h = -0.01036;
1891 cMZ = 0.94071;
1892
1893 RelThError=0.;
1894 } else if (s==195.5*195.5) {
1895 X0 = 0.56433;
1896 cMH = 0.00043;
1897 cmt = 0.00266;
1898 caS = -0.00031;
1899 caS2 = -0.00216;
1900 caSmt = -0.00032;
1901 cda5h = -0.0104;
1902 cMZ = 0.93368;
1903
1904 RelThError=0.;
1905 } else if (s==199.5*199.5) {
1906 X0 = 0.55974;
1907 cMH = 0.00058;
1908 cmt = 0.00265;
1909 caS = -0.0003;
1910 caS2 = -0.00291;
1911 caSmt = -0.00033;
1912 cda5h = -0.01044;
1913 cMZ = 0.92332;
1914
1915 RelThError=0.;
1916 } else if (s==201.6*201.6) {
1917 X0 = 0.55744;
1918 cMH = 0.00072;
1919 cmt = 0.00264;
1920 caS = -0.0003;
1921 caS2 = -0.00415;
1922 caSmt = -0.00035;
1923 cda5h = -0.01045;
1924 cMZ = 0.91927;
1925
1926 RelThError=0.;
1927 } else if (s==204.9*204.9) {
1928 X0 = 0.554;
1929 cMH = 0.00099;
1930 cmt = 0.00263;
1931 caS = -0.0003;
1932 caS2 = -0.0064;
1933 caSmt = -0.00031;
1934 cda5h = -0.01047;
1935 cMZ = 0.91178;
1936
1937 RelThError=0.;
1938 } else if (s==206.7*206.7) {
1939 X0 = 0.55219;
1940 cMH = 0.00112;
1941 cmt = 0.00262;
1942 caS = -0.0003;
1943 caS2 = -0.00692;
1944 caSmt = -0.00028;
1945 cda5h = -0.01048;
1946 cMZ = 0.90624;
1947
1948 RelThError=0.;
1949 } else if ( s > 210.*210. ) {
1950 X0 = 0.;
1951 cMH = 0.;
1952 cmt = 0.;
1953 caS = 0.;
1954 caS2 = 0.;
1955 caSmt = 0.;
1956 cda5h = 0.;
1957 cMZ = 0.;
1958
1959 RelThError=0.;
1960 } else
1961 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2AFBmuApprox()");
1962
1963 return ((X0 + cMH * LH + cmt * Dt
1964 + caS * Das + caS2 * Das * Das
1965 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
1966}
Test Observable.

◆ LEP2AFBtauApprox()

double EWSMApproximateFormulae::LEP2AFBtauApprox ( const double  s) const

The \(e^+e^- \to \tau^+\tau^-\) forward-backward asymmetry at LEP2.

This function is based on the approximate formula for the forward-backward asymmetry, obtained fitting the ZFitter predictions to a semi-analytical expression as function of the SM parameters.

Returns
the \(e^+e^- \to \tau^+\tau^-\) forward-backward asymmetry in units of pb

Definition at line 2132 of file EWSMApproximateFormulae.cpp.

2133{
2134 double LH = log(mycache.getSM().getMHl() / 125.21);
2135 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
2136 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
2137 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
2138 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
2139
2140 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
2141 double RelThError = 0.0; // (Relative) Theoretical uncertainty
2142
2143 if (s==130.2*130.2) {
2144 X0 = 0.70565;
2145 cMH = -0.00003;
2146 cmt = 0.0015;
2147 caS = -0.00023;
2148 caS2 = -0.00025;
2149 caSmt = -0.00018;
2150 cda5h = -0.00583;
2151 cMZ = 0.82957;
2152
2153 RelThError=0.;
2154 } else if (s==136.2*136.2) {
2155 X0 = 0.68528;
2156 cMH = -0.00003;
2157 cmt = 0.00184;
2158 caS = -0.00026;
2159 caS2 = -0.00038;
2160 caSmt = -0.00022;
2161 cda5h = -0.00712;
2162 cMZ = 0.93255;
2163
2164 RelThError=0.;
2165 } else if (s==161.3*161.3) {
2166 X0 = 0.6181;
2167 cMH = 0.00003;
2168 cmt = 0.00251;
2169 caS = -0.00031;
2170 caS2 = -0.00064;
2171 caSmt = -0.00029;
2172 cda5h = -0.00954;
2173 cMZ = 0.9811;
2174
2175 RelThError=0.;
2176 } else if (s==172.1*172.1) {
2177 X0 = 0.59737;
2178 cMH = 0.00009;
2179 cmt = 0.00262;
2180 caS = -0.00032;
2181 caS2 = -0.00258;
2182 caSmt = -0.00029;
2183 cda5h = -0.01;
2184 cMZ = 0.9733;
2185
2186 RelThError=0.;
2187 } else if (s==182.7*182.7) {
2188 X0 = 0.58101;
2189 cMH = 0.00019;
2190 cmt = 0.00267;
2191 caS = -0.00032;
2192 caS2 = -0.00116;
2193 caSmt = -0.00031;
2194 cda5h = -0.01024;
2195 cMZ = 0.95072;
2196
2197 RelThError=0.;
2198 } else if (s==188.6*188.6) {
2199 X0 = 0.57284;
2200 cMH = 0.00028;
2201 cmt = 0.00267;
2202 caS = -0.00031;
2203 caS2 = -0.00119;
2204 caSmt = -0.00031;
2205 cda5h = -0.01033;
2206 cMZ = 0.94322;
2207
2208 RelThError=0.;
2209 } else if (s==191.6*191.6) {
2210 X0 = 0.56895;
2211 cMH = 0.00033;
2212 cmt = 0.00267;
2213 caS = -0.00031;
2214 caS2 = -0.0015;
2215 caSmt = -0.00032;
2216 cda5h = -0.01036;
2217 cMZ = 0.9407;
2218
2219 RelThError=0.;
2220 } else if (s==195.5*195.5) {
2221 X0 = 0.56418;
2222 cMH = 0.00043;
2223 cmt = 0.00266;
2224 caS = -0.00031;
2225 caS2 = -0.00211;
2226 caSmt = -0.00032;
2227 cda5h = -0.0104;
2228 cMZ = 0.93372;
2229
2230 RelThError=0.;
2231 } else if (s==199.5*199.5) {
2232 X0 = 0.5596;
2233 cMH = 0.00058;
2234 cmt = 0.00265;
2235 caS = -0.0003;
2236 caS2 = -0.0029;
2237 caSmt = -0.00033;
2238 cda5h = -0.01044;
2239 cMZ = 0.92329;
2240
2241 RelThError=0.;
2242 } else if (s==201.6*201.6) {
2243 X0 = 0.55731;
2244 cMH = 0.00072;
2245 cmt = 0.00264;
2246 caS = -0.0003;
2247 caS2 = -0.00417;
2248 caSmt = -0.00035;
2249 cda5h = -0.01045;
2250 cMZ = 0.91922;
2251
2252 RelThError=0.;
2253 } else if (s==204.9*204.9) {
2254 X0 = 0.55387;
2255 cMH = 0.00099;
2256 cmt = 0.00263;
2257 caS = -0.0003;
2258 caS2 = -0.00632;
2259 caSmt = -0.00031;
2260 cda5h = -0.01047;
2261 cMZ = 0.91174;
2262
2263 RelThError=0.;
2264 } else if (s==206.7*206.7) {
2265 X0 = 0.55206;
2266 cMH = 0.00112;
2267 cmt = 0.00262;
2268 caS = -0.0003;
2269 caS2 = -0.007;
2270 caSmt = -0.00028;
2271 cda5h = -0.01048;
2272 cMZ = 0.90619;
2273
2274 RelThError=0.;
2275 } else if ( s > 210.*210. ) {
2276 X0 = 0.;
2277 cMH = 0.;
2278 cmt = 0.;
2279 caS = 0.;
2280 caS2 = 0.;
2281 caSmt = 0.;
2282 cda5h = 0.;
2283 cMZ = 0.;
2284
2285 RelThError=0.;
2286 } else
2287 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2AFBtauApprox()");
2288
2289 return ((X0 + cMH * LH + cmt * Dt
2290 + caS * Das + caS2 * Das * Das
2291 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
2292}

◆ LEP2dsigmadcosEApprox()

double EWSMApproximateFormulae::LEP2dsigmadcosEApprox ( const double  s,
const double  cos 
) const

The \(e^+e^- \to e^+ e^-\) differential cross section at LEP2.

This function is based on the approximate formula for the differential cross section, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
the \(e^+e^- \to e^+ e^-\) cross section in units of pb

Definition at line 2461 of file EWSMApproximateFormulae.cpp.

2462{
2463 double LH = log(mycache.getSM().getMHl() / 125.21);
2464 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
2465 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
2466 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
2467 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
2468
2469 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
2470 double RelThError = 0.0; // (Relative) Theoretical uncertainty
2471
2472 if (cos == -0.81) {
2473 if (s==189.*189.) {
2474 X0 = 1.590;
2475 cMH = 0.;
2476 cmt = 0.;
2477 caS = 0.;
2478 caS2 = 0.;
2479 caSmt = 0.;
2480 cda5h = 0.;
2481 cMZ = 0.;
2482
2483 RelThError=0.;
2484 } else if (s==192.*192.) {
2485 X0 = 1.539;
2486 cMH = 0.;
2487 cmt = 0.;
2488 caS = 0.;
2489 caS2 = 0.;
2490 caSmt = 0.;
2491 cda5h = 0.;
2492 cMZ = 0.;
2493
2494 RelThError=0.;
2495 } else if (s==196.*196.) {
2496 X0 = 1.483;
2497 cMH = 0.;
2498 cmt = 0.;
2499 caS = 0.;
2500 caS2 = 0.;
2501 caSmt = 0.;
2502 cda5h = 0.;
2503 cMZ = 0.;
2504
2505 RelThError=0.;
2506 } else if (s==200.*200.) {
2507 X0 = 1.420;
2508 cMH = 0.;
2509 cmt = 0.;
2510 caS = 0.;
2511 caS2 = 0.;
2512 caSmt = 0.;
2513 cda5h = 0.;
2514 cMZ = 0.;
2515
2516 RelThError=0.;
2517 } else if (s==202.*202.) {
2518 X0 = 1.401;
2519 cMH = 0.;
2520 cmt = 0.;
2521 caS = 0.;
2522 caS2 = 0.;
2523 caSmt = 0.;
2524 cda5h = 0.;
2525 cMZ = 0.;
2526
2527 RelThError=0.;
2528 } else if (s==205.*205.) {
2529 X0 = 1.355;
2530 cMH = 0.;
2531 cmt = 0.;
2532 caS = 0.;
2533 caS2 = 0.;
2534 caSmt = 0.;
2535 cda5h = 0.;
2536 cMZ = 0.;
2537
2538 RelThError=0.;
2539 } else if (s==207.*207.) {
2540 X0 = 1.339;
2541 cMH = 0.;
2542 cmt = 0.;
2543 caS = 0.;
2544 caS2 = 0.;
2545 caSmt = 0.;
2546 cda5h = 0.;
2547 cMZ = 0.;
2548
2549 RelThError=0.;
2550 } else {
2551 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2552 }
2553 } else if (cos == -0.63) {
2554 if (s==189.*189.) {
2555 X0 = 1.816;
2556 cMH = 0.;
2557 cmt = 0.;
2558 caS = 0.;
2559 caS2 = 0.;
2560 caSmt = 0.;
2561 cda5h = 0.;
2562 cMZ = 0.;
2563
2564 RelThError=0.;
2565 } else if (s==192.*192.) {
2566 X0 = 1.754;
2567 cMH = 0.;
2568 cmt = 0.;
2569 caS = 0.;
2570 caS2 = 0.;
2571 caSmt = 0.;
2572 cda5h = 0.;
2573 cMZ = 0.;
2574
2575 RelThError=0.;
2576 } else if (s==196.*196.) {
2577 X0 = 1.695;
2578 cMH = 0.;
2579 cmt = 0.;
2580 caS = 0.;
2581 caS2 = 0.;
2582 caSmt = 0.;
2583 cda5h = 0.;
2584 cMZ = 0.;
2585
2586 RelThError=0.;
2587 } else if (s==200.*200.) {
2588 X0 = 1.623;
2589 cMH = 0.;
2590 cmt = 0.;
2591 caS = 0.;
2592 caS2 = 0.;
2593 caSmt = 0.;
2594 cda5h = 0.;
2595 cMZ = 0.;
2596
2597 RelThError=0.;
2598 } else if (s==202.*202.) {
2599 X0 = 1.579;
2600 cMH = 0.;
2601 cmt = 0.;
2602 caS = 0.;
2603 caS2 = 0.;
2604 caSmt = 0.;
2605 cda5h = 0.;
2606 cMZ = 0.;
2607
2608 RelThError=0.;
2609 } else if (s==205.*205.) {
2610 X0 = 1.539;
2611 cMH = 0.;
2612 cmt = 0.;
2613 caS = 0.;
2614 caS2 = 0.;
2615 caSmt = 0.;
2616 cda5h = 0.;
2617 cMZ = 0.;
2618
2619 RelThError=0.;
2620 } else if (s==207.*207.) {
2621 X0 = 1.517;
2622 cMH = 0.;
2623 cmt = 0.;
2624 caS = 0.;
2625 caS2 = 0.;
2626 caSmt = 0.;
2627 cda5h = 0.;
2628 cMZ = 0.;
2629
2630 RelThError=0.;
2631 } else if ( s > 210.*210. ) {
2632 X0 = 0.;
2633 cMH = 0.;
2634 cmt = 0.;
2635 caS = 0.;
2636 caS2 = 0.;
2637 caSmt = 0.;
2638 cda5h = 0.;
2639 cMZ = 0.;
2640
2641 RelThError=0.;
2642 } else {
2643 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2644 }
2645 } else if (cos == -0.45) {
2646 if (s==189.*189.) {
2647 X0 = 2.162;
2648 cMH = 0.;
2649 cmt = 0.;
2650 caS = 0.;
2651 caS2 = 0.;
2652 caSmt = 0.;
2653 cda5h = 0.;
2654 cMZ = 0.;
2655
2656 RelThError=0.;
2657 } else if (s==192.*192.) {
2658 X0 = 2.091;
2659 cMH = 0.;
2660 cmt = 0.;
2661 caS = 0.;
2662 caS2 = 0.;
2663 caSmt = 0.;
2664 cda5h = 0.;
2665 cMZ = 0.;
2666
2667 RelThError=0.;
2668 } else if (s==196.*196.) {
2669 X0 = 2.000;
2670 cMH = 0.;
2671 cmt = 0.;
2672 caS = 0.;
2673 caS2 = 0.;
2674 caSmt = 0.;
2675 cda5h = 0.;
2676 cMZ = 0.;
2677
2678 RelThError=0.;
2679 } else if (s==200.*200.) {
2680 X0 = 1.885;
2681 cMH = 0.;
2682 cmt = 0.;
2683 caS = 0.;
2684 caS2 = 0.;
2685 caSmt = 0.;
2686 cda5h = 0.;
2687 cMZ = 0.;
2688
2689 RelThError=0.;
2690 } else if (s==202.*202.) {
2691 X0 = 1.836;
2692 cMH = 0.;
2693 cmt = 0.;
2694 caS = 0.;
2695 caS2 = 0.;
2696 caSmt = 0.;
2697 cda5h = 0.;
2698 cMZ = 0.;
2699
2700 RelThError=0.;
2701 } else if (s==205.*205.) {
2702 X0 = 1.786;
2703 cMH = 0.;
2704 cmt = 0.;
2705 caS = 0.;
2706 caS2 = 0.;
2707 caSmt = 0.;
2708 cda5h = 0.;
2709 cMZ = 0.;
2710
2711 RelThError=0.;
2712 } else if (s==207.*207.) {
2713 X0 = 1.745;
2714 cMH = 0.;
2715 cmt = 0.;
2716 caS = 0.;
2717 caS2 = 0.;
2718 caSmt = 0.;
2719 cda5h = 0.;
2720 cMZ = 0.;
2721
2722 RelThError=0.;
2723 } else if ( s > 210.*210. ) {
2724 X0 = 0.;
2725 cMH = 0.;
2726 cmt = 0.;
2727 caS = 0.;
2728 caS2 = 0.;
2729 caSmt = 0.;
2730 cda5h = 0.;
2731 cMZ = 0.;
2732
2733 RelThError=0.;
2734 } else {
2735 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2736 }
2737 } else if (cos == -0.27) {
2738 if (s==189.*189.) {
2739 X0 = 2.681;
2740 cMH = 0.;
2741 cmt = 0.;
2742 caS = 0.;
2743 caS2 = 0.;
2744 caSmt = 0.;
2745 cda5h = 0.;
2746 cMZ = 0.;
2747
2748 RelThError=0.;
2749 } else if (s==192.*192.) {
2750 X0 = 2.604;
2751 cMH = 0.;
2752 cmt = 0.;
2753 caS = 0.;
2754 caS2 = 0.;
2755 caSmt = 0.;
2756 cda5h = 0.;
2757 cMZ = 0.;
2758
2759 RelThError=0.;
2760 } else if (s==196.*196.) {
2761 X0 = 2.498;
2762 cMH = 0.;
2763 cmt = 0.;
2764 caS = 0.;
2765 caS2 = 0.;
2766 caSmt = 0.;
2767 cda5h = 0.;
2768 cMZ = 0.;
2769
2770 RelThError=0.;
2771 } else if (s==200.*200.) {
2772 X0 = 2.409;
2773 cMH = 0.;
2774 cmt = 0.;
2775 caS = 0.;
2776 caS2 = 0.;
2777 caSmt = 0.;
2778 cda5h = 0.;
2779 cMZ = 0.;
2780
2781 RelThError=0.;
2782 } else if (s==202.*202.) {
2783 X0 = 2.361;
2784 cMH = 0.;
2785 cmt = 0.;
2786 caS = 0.;
2787 caS2 = 0.;
2788 caSmt = 0.;
2789 cda5h = 0.;
2790 cMZ = 0.;
2791
2792 RelThError=0.;
2793 } else if (s==205.*205.) {
2794 X0 = 2.280;
2795 cMH = 0.;
2796 cmt = 0.;
2797 caS = 0.;
2798 caS2 = 0.;
2799 caSmt = 0.;
2800 cda5h = 0.;
2801 cMZ = 0.;
2802
2803 RelThError=0.;
2804 } else if (s==207.*207.) {
2805 X0 = 2.240;
2806 cMH = 0.;
2807 cmt = 0.;
2808 caS = 0.;
2809 caS2 = 0.;
2810 caSmt = 0.;
2811 cda5h = 0.;
2812 cMZ = 0.;
2813
2814 RelThError=0.;
2815 } else if ( s > 210.*210. ) {
2816 X0 = 0.;
2817 cMH = 0.;
2818 cmt = 0.;
2819 caS = 0.;
2820 caS2 = 0.;
2821 caSmt = 0.;
2822 cda5h = 0.;
2823 cMZ = 0.;
2824
2825 RelThError=0.;
2826 } else {
2827 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2828 }
2829 } else if (cos == -0.09) {
2830 if (s==189.*189.) {
2831 X0 = 3.906;
2832 cMH = 0.;
2833 cmt = 0.;
2834 caS = 0.;
2835 caS2 = 0.;
2836 caSmt = 0.;
2837 cda5h = 0.;
2838 cMZ = 0.;
2839
2840 RelThError=0.;
2841 } else if (s==192.*192.) {
2842 X0 = 3.778;
2843 cMH = 0.;
2844 cmt = 0.;
2845 caS = 0.;
2846 caS2 = 0.;
2847 caSmt = 0.;
2848 cda5h = 0.;
2849 cMZ = 0.;
2850
2851 RelThError=0.;
2852 } else if (s==196.*196.) {
2853 X0 = 3.610;
2854 cMH = 0.;
2855 cmt = 0.;
2856 caS = 0.;
2857 caS2 = 0.;
2858 caSmt = 0.;
2859 cda5h = 0.;
2860 cMZ = 0.;
2861
2862 RelThError=0.;
2863 } else if (s==200.*200.) {
2864 X0 = 3.435;
2865 cMH = 0.;
2866 cmt = 0.;
2867 caS = 0.;
2868 caS2 = 0.;
2869 caSmt = 0.;
2870 cda5h = 0.;
2871 cMZ = 0.;
2872
2873 RelThError=0.;
2874 } else if (s==202.*202.) {
2875 X0 = 3.356;
2876 cMH = 0.;
2877 cmt = 0.;
2878 caS = 0.;
2879 caS2 = 0.;
2880 caSmt = 0.;
2881 cda5h = 0.;
2882 cMZ = 0.;
2883
2884 RelThError=0.;
2885 } else if (s==205.*205.) {
2886 X0 = 3.253;
2887 cMH = 0.;
2888 cmt = 0.;
2889 caS = 0.;
2890 caS2 = 0.;
2891 caSmt = 0.;
2892 cda5h = 0.;
2893 cMZ = 0.;
2894
2895 RelThError=0.;
2896 } else if (s==207.*207.) {
2897 X0 = 3.194;
2898 cMH = 0.;
2899 cmt = 0.;
2900 caS = 0.;
2901 caS2 = 0.;
2902 caSmt = 0.;
2903 cda5h = 0.;
2904 cMZ = 0.;
2905
2906 RelThError=0.;
2907 } else if ( s > 210.*210. ) {
2908 X0 = 0.;
2909 cMH = 0.;
2910 cmt = 0.;
2911 caS = 0.;
2912 caS2 = 0.;
2913 caSmt = 0.;
2914 cda5h = 0.;
2915 cMZ = 0.;
2916
2917 RelThError=0.;
2918 } else {
2919 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2920 }
2921 } else if (cos == 0.045) {
2922 if (s==189.*189.) {
2923 X0 = 5.372;
2924 cMH = 0.;
2925 cmt = 0.;
2926 caS = 0.;
2927 caS2 = 0.;
2928 caSmt = 0.;
2929 cda5h = 0.;
2930 cMZ = 0.;
2931
2932 RelThError=0.;
2933 } else if (s==192.*192.) {
2934 X0 = 5.205;
2935 cMH = 0.;
2936 cmt = 0.;
2937 caS = 0.;
2938 caS2 = 0.;
2939 caSmt = 0.;
2940 cda5h = 0.;
2941 cMZ = 0.;
2942
2943 RelThError=0.;
2944 } else if (s==196.*196.) {
2945 X0 = 4.999;
2946 cMH = 0.;
2947 cmt = 0.;
2948 caS = 0.;
2949 caS2 = 0.;
2950 caSmt = 0.;
2951 cda5h = 0.;
2952 cMZ = 0.;
2953
2954 RelThError=0.;
2955 } else if (s==200.*200.) {
2956 X0 = 4.770;
2957 cMH = 0.;
2958 cmt = 0.;
2959 caS = 0.;
2960 caS2 = 0.;
2961 caSmt = 0.;
2962 cda5h = 0.;
2963 cMZ = 0.;
2964
2965 RelThError=0.;
2966 } else if (s==202.*202.) {
2967 X0 = 4.669;
2968 cMH = 0.;
2969 cmt = 0.;
2970 caS = 0.;
2971 caS2 = 0.;
2972 caSmt = 0.;
2973 cda5h = 0.;
2974 cMZ = 0.;
2975
2976 RelThError=0.;
2977 } else if (s==205.*205.) {
2978 X0 = 4.479;
2979 cMH = 0.;
2980 cmt = 0.;
2981 caS = 0.;
2982 caS2 = 0.;
2983 caSmt = 0.;
2984 cda5h = 0.;
2985 cMZ = 0.;
2986
2987 RelThError=0.;
2988 } else if (s==207.*207.) {
2989 X0 = 4.380;
2990 cMH = 0.;
2991 cmt = 0.;
2992 caS = 0.;
2993 caS2 = 0.;
2994 caSmt = 0.;
2995 cda5h = 0.;
2996 cMZ = 0.;
2997
2998 RelThError=0.;
2999 } else if ( s > 210.*210. ) {
3000 X0 = 0.;
3001 cMH = 0.;
3002 cmt = 0.;
3003 caS = 0.;
3004 caS2 = 0.;
3005 caSmt = 0.;
3006 cda5h = 0.;
3007 cMZ = 0.;
3008
3009 RelThError=0.;
3010 } else {
3011 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3012 }
3013 } else if (cos == 0.135) {
3014 if (s==189.*189.) {
3015 X0 = 6.892;
3016 cMH = 0.;
3017 cmt = 0.;
3018 caS = 0.;
3019 caS2 = 0.;
3020 caSmt = 0.;
3021 cda5h = 0.;
3022 cMZ = 0.;
3023
3024 RelThError=0.;
3025 } else if (s==192.*192.) {
3026 X0 = 6.692;
3027 cMH = 0.;
3028 cmt = 0.;
3029 caS = 0.;
3030 caS2 = 0.;
3031 caSmt = 0.;
3032 cda5h = 0.;
3033 cMZ = 0.;
3034
3035 RelThError=0.;
3036 } else if (s==196.*196.) {
3037 X0 = 6.406;
3038 cMH = 0.;
3039 cmt = 0.;
3040 caS = 0.;
3041 caS2 = 0.;
3042 caSmt = 0.;
3043 cda5h = 0.;
3044 cMZ = 0.;
3045
3046 RelThError=0.;
3047 } else if (s==200.*200.) {
3048 X0 = 6.157;
3049 cMH = 0.;
3050 cmt = 0.;
3051 caS = 0.;
3052 caS2 = 0.;
3053 caSmt = 0.;
3054 cda5h = 0.;
3055 cMZ = 0.;
3056
3057 RelThError=0.;
3058 } else if (s==202.*202.) {
3059 X0 = 6.017;
3060 cMH = 0.;
3061 cmt = 0.;
3062 caS = 0.;
3063 caS2 = 0.;
3064 caSmt = 0.;
3065 cda5h = 0.;
3066 cMZ = 0.;
3067
3068 RelThError=0.;
3069 } else if (s==205.*205.) {
3070 X0 = 5.820;
3071 cMH = 0.;
3072 cmt = 0.;
3073 caS = 0.;
3074 caS2 = 0.;
3075 caSmt = 0.;
3076 cda5h = 0.;
3077 cMZ = 0.;
3078
3079 RelThError=0.;
3080 } else if (s==207.*207.) {
3081 X0 = 5.729;
3082 cMH = 0.;
3083 cmt = 0.;
3084 caS = 0.;
3085 caS2 = 0.;
3086 caSmt = 0.;
3087 cda5h = 0.;
3088 cMZ = 0.;
3089
3090 RelThError=0.;
3091 } else if ( s > 210.*210. ) {
3092 X0 = 0.;
3093 cMH = 0.;
3094 cmt = 0.;
3095 caS = 0.;
3096 caS2 = 0.;
3097 caSmt = 0.;
3098 cda5h = 0.;
3099 cMZ = 0.;
3100
3101 RelThError=0.;
3102 } else {
3103 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3104 }
3105 } else if (cos == 0.225) {
3106 if (s==189.*189.) {
3107 X0 = 9.610;
3108 cMH = 0.;
3109 cmt = 0.;
3110 caS = 0.;
3111 caS2 = 0.;
3112 caSmt = 0.;
3113 cda5h = 0.;
3114 cMZ = 0.;
3115
3116 RelThError=0.;
3117 } else if (s==192.*192.) {
3118 X0 = 9.242;
3119 cMH = 0.;
3120 cmt = 0.;
3121 caS = 0.;
3122 caS2 = 0.;
3123 caSmt = 0.;
3124 cda5h = 0.;
3125 cMZ = 0.;
3126
3127 RelThError=0.;
3128 } else if (s==196.*196.) {
3129 X0 = 8.832;
3130 cMH = 0.;
3131 cmt = 0.;
3132 caS = 0.;
3133 caS2 = 0.;
3134 caSmt = 0.;
3135 cda5h = 0.;
3136 cMZ = 0.;
3137
3138 RelThError=0.;
3139 } else if (s==200.*200.) {
3140 X0 = 8.471;
3141 cMH = 0.;
3142 cmt = 0.;
3143 caS = 0.;
3144 caS2 = 0.;
3145 caSmt = 0.;
3146 cda5h = 0.;
3147 cMZ = 0.;
3148
3149 RelThError=0.;
3150 } else if (s==202.*202.) {
3151 X0 = 8.320;
3152 cMH = 0.;
3153 cmt = 0.;
3154 caS = 0.;
3155 caS2 = 0.;
3156 caSmt = 0.;
3157 cda5h = 0.;
3158 cMZ = 0.;
3159
3160 RelThError=0.;
3161 } else if (s==205.*205.) {
3162 X0 = 8.077;
3163 cMH = 0.;
3164 cmt = 0.;
3165 caS = 0.;
3166 caS2 = 0.;
3167 caSmt = 0.;
3168 cda5h = 0.;
3169 cMZ = 0.;
3170
3171 RelThError=0.;
3172 } else if (s==207.*207.) {
3173 X0 = 7.972;
3174 cMH = 0.;
3175 cmt = 0.;
3176 caS = 0.;
3177 caS2 = 0.;
3178 caSmt = 0.;
3179 cda5h = 0.;
3180 cMZ = 0.;
3181
3182 RelThError=0.;
3183 } else if ( s > 210.*210. ) {
3184 X0 = 0.;
3185 cMH = 0.;
3186 cmt = 0.;
3187 caS = 0.;
3188 caS2 = 0.;
3189 caSmt = 0.;
3190 cda5h = 0.;
3191 cMZ = 0.;
3192
3193 RelThError=0.;
3194 } else {
3195 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3196 }
3197 } else if (cos == 0.315) {
3198 if (s==189.*189.) {
3199 X0 = 13.345;
3200 cMH = 0.;
3201 cmt = 0.;
3202 caS = 0.;
3203 caS2 = 0.;
3204 caSmt = 0.;
3205 cda5h = 0.;
3206 cMZ = 0.;
3207
3208 RelThError=0.;
3209 } else if (s==192.*192.) {
3210 X0 = 12.800;
3211 cMH = 0.;
3212 cmt = 0.;
3213 caS = 0.;
3214 caS2 = 0.;
3215 caSmt = 0.;
3216 cda5h = 0.;
3217 cMZ = 0.;
3218
3219 RelThError=0.;
3220 } else if (s==196.*196.) {
3221 X0 = 12.326;
3222 cMH = 0.;
3223 cmt = 0.;
3224 caS = 0.;
3225 caS2 = 0.;
3226 caSmt = 0.;
3227 cda5h = 0.;
3228 cMZ = 0.;
3229
3230 RelThError=0.;
3231 } else if (s==200.*200.) {
3232 X0 = 11.773;
3233 cMH = 0.;
3234 cmt = 0.;
3235 caS = 0.;
3236 caS2 = 0.;
3237 caSmt = 0.;
3238 cda5h = 0.;
3239 cMZ = 0.;
3240
3241 RelThError=0.;
3242 } else if (s==202.*202.) {
3243 X0 = 11.554;
3244 cMH = 0.;
3245 cmt = 0.;
3246 caS = 0.;
3247 caS2 = 0.;
3248 caSmt = 0.;
3249 cda5h = 0.;
3250 cMZ = 0.;
3251
3252 RelThError=0.;
3253 } else if (s==205.*205.) {
3254 X0 = 11.200;
3255 cMH = 0.;
3256 cmt = 0.;
3257 caS = 0.;
3258 caS2 = 0.;
3259 caSmt = 0.;
3260 cda5h = 0.;
3261 cMZ = 0.;
3262
3263 RelThError=0.;
3264 } else if (s==207.*207.) {
3265 X0 = 11.019;
3266 cMH = 0.;
3267 cmt = 0.;
3268 caS = 0.;
3269 caS2 = 0.;
3270 caSmt = 0.;
3271 cda5h = 0.;
3272 cMZ = 0.;
3273
3274 RelThError=0.;
3275 } else if ( s > 210.*210. ) {
3276 X0 = 0.;
3277 cMH = 0.;
3278 cmt = 0.;
3279 caS = 0.;
3280 caS2 = 0.;
3281 caSmt = 0.;
3282 cda5h = 0.;
3283 cMZ = 0.;
3284
3285 RelThError=0.;
3286 } else {
3287 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3288 }
3289 } else if (cos == 0.405) {
3290 if (s==189.*189.) {
3291 X0 = 19.445;
3292 cMH = 0.;
3293 cmt = 0.;
3294 caS = 0.;
3295 caS2 = 0.;
3296 caSmt = 0.;
3297 cda5h = 0.;
3298 cMZ = 0.;
3299
3300 RelThError=0.;
3301 } else if (s==192.*192.) {
3302 X0 = 18.776;
3303 cMH = 0.;
3304 cmt = 0.;
3305 caS = 0.;
3306 caS2 = 0.;
3307 caSmt = 0.;
3308 cda5h = 0.;
3309 cMZ = 0.;
3310
3311 RelThError=0.;
3312 } else if (s==196.*196.) {
3313 X0 = 18.039;
3314 cMH = 0.;
3315 cmt = 0.;
3316 caS = 0.;
3317 caS2 = 0.;
3318 caSmt = 0.;
3319 cda5h = 0.;
3320 cMZ = 0.;
3321
3322 RelThError=0.;
3323 } else if (s==200.*200.) {
3324 X0 = 17.262;
3325 cMH = 0.;
3326 cmt = 0.;
3327 caS = 0.;
3328 caS2 = 0.;
3329 caSmt = 0.;
3330 cda5h = 0.;
3331 cMZ = 0.;
3332
3333 RelThError=0.;
3334 } else if (s==202.*202.) {
3335 X0 = 16.891;
3336 cMH = 0.;
3337 cmt = 0.;
3338 caS = 0.;
3339 caS2 = 0.;
3340 caSmt = 0.;
3341 cda5h = 0.;
3342 cMZ = 0.;
3343
3344 RelThError=0.;
3345 } else if (s==205.*205.) {
3346 X0 = 16.322;
3347 cMH = 0.;
3348 cmt = 0.;
3349 caS = 0.;
3350 caS2 = 0.;
3351 caSmt = 0.;
3352 cda5h = 0.;
3353 cMZ = 0.;
3354
3355 RelThError=0.;
3356 } else if (s==207.*207.) {
3357 X0 = 16.053;
3358 cMH = 0.;
3359 cmt = 0.;
3360 caS = 0.;
3361 caS2 = 0.;
3362 caSmt = 0.;
3363 cda5h = 0.;
3364 cMZ = 0.;
3365
3366 RelThError=0.;
3367 } else if ( s > 210.*210. ) {
3368 X0 = 0.;
3369 cMH = 0.;
3370 cmt = 0.;
3371 caS = 0.;
3372 caS2 = 0.;
3373 caSmt = 0.;
3374 cda5h = 0.;
3375 cMZ = 0.;
3376
3377 RelThError=0.;
3378 } else {
3379 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3380 }
3381} else if (cos == 0.495) {
3382 if (s==189.*189.) {
3383 X0 = 30.476;
3384 cMH = 0.;
3385 cmt = 0.;
3386 caS = 0.;
3387 caS2 = 0.;
3388 caSmt = 0.;
3389 cda5h = 0.;
3390 cMZ = 0.;
3391
3392 RelThError=0.;
3393 } else if (s==192.*192.) {
3394 X0 = 29.471;
3395 cMH = 0.;
3396 cmt = 0.;
3397 caS = 0.;
3398 caS2 = 0.;
3399 caSmt = 0.;
3400 cda5h = 0.;
3401 cMZ = 0.;
3402
3403 RelThError=0.;
3404 } else if (s==196.*196.) {
3405 X0 = 28.300;
3406 cMH = 0.;
3407 cmt = 0.;
3408 caS = 0.;
3409 caS2 = 0.;
3410 caSmt = 0.;
3411 cda5h = 0.;
3412 cMZ = 0.;
3413
3414 RelThError=0.;
3415 } else if (s==200.*200.) {
3416 X0 = 27.117;
3417 cMH = 0.;
3418 cmt = 0.;
3419 caS = 0.;
3420 caS2 = 0.;
3421 caSmt = 0.;
3422 cda5h = 0.;
3423 cMZ = 0.;
3424
3425 RelThError=0.;
3426 } else if (s==202.*202.) {
3427 X0 = 26.583;
3428 cMH = 0.;
3429 cmt = 0.;
3430 caS = 0.;
3431 caS2 = 0.;
3432 caSmt = 0.;
3433 cda5h = 0.;
3434 cMZ = 0.;
3435
3436 RelThError=0.;
3437 } else if (s==205.*205.) {
3438 X0 = 25.722;
3439 cMH = 0.;
3440 cmt = 0.;
3441 caS = 0.;
3442 caS2 = 0.;
3443 caSmt = 0.;
3444 cda5h = 0.;
3445 cMZ = 0.;
3446
3447 RelThError=0.;
3448 } else if (s==207.*207.) {
3449 X0 = 25.254;
3450 cMH = 0.;
3451 cmt = 0.;
3452 caS = 0.;
3453 caS2 = 0.;
3454 caSmt = 0.;
3455 cda5h = 0.;
3456 cMZ = 0.;
3457
3458 RelThError=0.;
3459 } else if ( s > 210.*210. ) {
3460 X0 = 0.;
3461 cMH = 0.;
3462 cmt = 0.;
3463 caS = 0.;
3464 caS2 = 0.;
3465 caSmt = 0.;
3466 cda5h = 0.;
3467 cMZ = 0.;
3468
3469 RelThError=0.;
3470 } else {
3471 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3472 }
3473 } else if (cos == 0.585) {
3474 if (s==189.*189.) {
3475 X0 = 51.012;
3476 cMH = 0.;
3477 cmt = 0.;
3478 caS = 0.;
3479 caS2 = 0.;
3480 caSmt = 0.;
3481 cda5h = 0.;
3482 cMZ = 0.;
3483
3484 RelThError=0.;
3485 } else if (s==192.*192.) {
3486 X0 = 49.338;
3487 cMH = 0.;
3488 cmt = 0.;
3489 caS = 0.;
3490 caS2 = 0.;
3491 caSmt = 0.;
3492 cda5h = 0.;
3493 cMZ = 0.;
3494
3495 RelThError=0.;
3496 } else if (s==196.*196.) {
3497 X0 = 47.362;
3498 cMH = 0.;
3499 cmt = 0.;
3500 caS = 0.;
3501 caS2 = 0.;
3502 caSmt = 0.;
3503 cda5h = 0.;
3504 cMZ = 0.;
3505
3506 RelThError=0.;
3507 } else if (s==200.*200.) {
3508 X0 = 45.607;
3509 cMH = 0.;
3510 cmt = 0.;
3511 caS = 0.;
3512 caS2 = 0.;
3513 caSmt = 0.;
3514 cda5h = 0.;
3515 cMZ = 0.;
3516
3517 RelThError=0.;
3518 } else if (s==202.*202.) {
3519 X0 = 44.786;
3520 cMH = 0.;
3521 cmt = 0.;
3522 caS = 0.;
3523 caS2 = 0.;
3524 caSmt = 0.;
3525 cda5h = 0.;
3526 cMZ = 0.;
3527
3528 RelThError=0.;
3529 } else if (s==205.*205.) {
3530 X0 = 43.217;
3531 cMH = 0.;
3532 cmt = 0.;
3533 caS = 0.;
3534 caS2 = 0.;
3535 caSmt = 0.;
3536 cda5h = 0.;
3537 cMZ = 0.;
3538
3539 RelThError=0.;
3540 } else if (s==207.*207.) {
3541 X0 = 42.456;
3542 cMH = 0.;
3543 cmt = 0.;
3544 caS = 0.;
3545 caS2 = 0.;
3546 caSmt = 0.;
3547 cda5h = 0.;
3548 cMZ = 0.;
3549
3550 RelThError=0.;
3551 } else if ( s > 210.*210. ) {
3552 X0 = 0.;
3553 cMH = 0.;
3554 cmt = 0.;
3555 caS = 0.;
3556 caS2 = 0.;
3557 caSmt = 0.;
3558 cda5h = 0.;
3559 cMZ = 0.;
3560
3561 RelThError=0.;
3562 } else {
3563 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3564 }
3565 } else if (cos == 0.675) {
3566 if (s==189.*189.) {
3567 X0 = 95.563;
3568 cMH = 0.;
3569 cmt = 0.;
3570 caS = 0.;
3571 caS2 = 0.;
3572 caSmt = 0.;
3573 cda5h = 0.;
3574 cMZ = 0.;
3575
3576 RelThError=0.;
3577 } else if (s==192.*192.) {
3578 X0 = 92.079;
3579 cMH = 0.;
3580 cmt = 0.;
3581 caS = 0.;
3582 caS2 = 0.;
3583 caSmt = 0.;
3584 cda5h = 0.;
3585 cMZ = 0.;
3586
3587 RelThError=0.;
3588 } else if (s==196.*196.) {
3589 X0 = 88.473;
3590 cMH = 0.;
3591 cmt = 0.;
3592 caS = 0.;
3593 caS2 = 0.;
3594 caSmt = 0.;
3595 cda5h = 0.;
3596 cMZ = 0.;
3597
3598 RelThError=0.;
3599 } else if (s==200.*200.) {
3600 X0 = 85.143;
3601 cMH = 0.;
3602 cmt = 0.;
3603 caS = 0.;
3604 caS2 = 0.;
3605 caSmt = 0.;
3606 cda5h = 0.;
3607 cMZ = 0.;
3608
3609 RelThError=0.;
3610 } else if (s==202.*202.) {
3611 X0 = 83.473;
3612 cMH = 0.;
3613 cmt = 0.;
3614 caS = 0.;
3615 caS2 = 0.;
3616 caSmt = 0.;
3617 cda5h = 0.;
3618 cMZ = 0.;
3619
3620 RelThError=0.;
3621 } else if (s==205.*205.) {
3622 X0 = 80.939;
3623 cMH = 0.;
3624 cmt = 0.;
3625 caS = 0.;
3626 caS2 = 0.;
3627 caSmt = 0.;
3628 cda5h = 0.;
3629 cMZ = 0.;
3630
3631 RelThError=0.;
3632 } else if (s==207.*207.) {
3633 X0 = 79.639;
3634 cMH = 0.;
3635 cmt = 0.;
3636 caS = 0.;
3637 caS2 = 0.;
3638 caSmt = 0.;
3639 cda5h = 0.;
3640 cMZ = 0.;
3641
3642 RelThError=0.;
3643 } else if ( s > 210.*210. ) {
3644 X0 = 0.;
3645 cMH = 0.;
3646 cmt = 0.;
3647 caS = 0.;
3648 caS2 = 0.;
3649 caSmt = 0.;
3650 cda5h = 0.;
3651 cMZ = 0.;
3652
3653 RelThError=0.;
3654 } else {
3655 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3656 }
3657 } else if (cos == 0.765) {
3658 if (s==189.*189.) {
3659 X0 = 212.390;
3660 cMH = 0.;
3661 cmt = 0.;
3662 caS = 0.;
3663 caS2 = 0.;
3664 caSmt = 0.;
3665 cda5h = 0.;
3666 cMZ = 0.;
3667
3668 RelThError=0.;
3669 } else if (s==192.*192.) {
3670 X0 = 206.087;
3671 cMH = 0.;
3672 cmt = 0.;
3673 caS = 0.;
3674 caS2 = 0.;
3675 caSmt = 0.;
3676 cda5h = 0.;
3677 cMZ = 0.;
3678
3679 RelThError=0.;
3680 } else if (s==196.*196.) {
3681 X0 = 198.250;
3682 cMH = 0.;
3683 cmt = 0.;
3684 caS = 0.;
3685 caS2 = 0.;
3686 caSmt = 0.;
3687 cda5h = 0.;
3688 cMZ = 0.;
3689
3690 RelThError=0.;
3691 } else if (s==200.*200.) {
3692 X0 = 190.786;
3693 cMH = 0.;
3694 cmt = 0.;
3695 caS = 0.;
3696 caS2 = 0.;
3697 caSmt = 0.;
3698 cda5h = 0.;
3699 cMZ = 0.;
3700
3701 RelThError=0.;
3702 } else if (s==202.*202.) {
3703 X0 = 186.904;
3704 cMH = 0.;
3705 cmt = 0.;
3706 caS = 0.;
3707 caS2 = 0.;
3708 caSmt = 0.;
3709 cda5h = 0.;
3710 cMZ = 0.;
3711
3712 RelThError=0.;
3713 } else if (s==205.*205.) {
3714 X0 = 180.878;
3715 cMH = 0.;
3716 cmt = 0.;
3717 caS = 0.;
3718 caS2 = 0.;
3719 caSmt = 0.;
3720 cda5h = 0.;
3721 cMZ = 0.;
3722
3723 RelThError=0.;
3724 } else if (s==207.*207.) {
3725 X0 = 178.042;
3726 cMH = 0.;
3727 cmt = 0.;
3728 caS = 0.;
3729 caS2 = 0.;
3730 caSmt = 0.;
3731 cda5h = 0.;
3732 cMZ = 0.;
3733
3734 RelThError=0.;
3735 } else if ( s > 210.*210. ) {
3736 X0 = 0.;
3737 cMH = 0.;
3738 cmt = 0.;
3739 caS = 0.;
3740 caS2 = 0.;
3741 caSmt = 0.;
3742 cda5h = 0.;
3743 cMZ = 0.;
3744
3745 RelThError=0.;
3746 } else {
3747 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3748 }
3749 } else if (cos == 0.855) {
3750 if (s==189.*189.) {
3751 X0 = 689.989;
3752 cMH = 0.;
3753 cmt = 0.;
3754 caS = 0.;
3755 caS2 = 0.;
3756 caSmt = 0.;
3757 cda5h = 0.;
3758 cMZ = 0.;
3759
3760 RelThError=0.;
3761 } else if (s==192.*192.) {
3762 X0 = 669.173;
3763 cMH = 0.;
3764 cmt = 0.;
3765 caS = 0.;
3766 caS2 = 0.;
3767 caSmt = 0.;
3768 cda5h = 0.;
3769 cMZ = 0.;
3770
3771 RelThError=0.;
3772 } else if (s==196.*196.) {
3773 X0 = 642.688;
3774 cMH = 0.;
3775 cmt = 0.;
3776 caS = 0.;
3777 caS2 = 0.;
3778 caSmt = 0.;
3779 cda5h = 0.;
3780 cMZ = 0.;
3781
3782 RelThError=0.;
3783 } else if (s==200.*200.) {
3784 X0 = 617.718;
3785 cMH = 0.;
3786 cmt = 0.;
3787 caS = 0.;
3788 caS2 = 0.;
3789 caSmt = 0.;
3790 cda5h = 0.;
3791 cMZ = 0.;
3792
3793 RelThError=0.;
3794 } else if (s==202.*202.) {
3795 X0 = 605.070;
3796 cMH = 0.;
3797 cmt = 0.;
3798 caS = 0.;
3799 caS2 = 0.;
3800 caSmt = 0.;
3801 cda5h = 0.;
3802 cMZ = 0.;
3803
3804 RelThError=0.;
3805 } else if (s==205.*205.) {
3806 X0 = 586.205;
3807 cMH = 0.;
3808 cmt = 0.;
3809 caS = 0.;
3810 caS2 = 0.;
3811 caSmt = 0.;
3812 cda5h = 0.;
3813 cMZ = 0.;
3814
3815 RelThError=0.;
3816 } else if (s==207.*207.) {
3817 X0 = 576.688;
3818 cMH = 0.;
3819 cmt = 0.;
3820 caS = 0.;
3821 caS2 = 0.;
3822 caSmt = 0.;
3823 cda5h = 0.;
3824 cMZ = 0.;
3825
3826 RelThError=0.;
3827 } else if ( s > 210.*210. ) {
3828 X0 = 0.;
3829 cMH = 0.;
3830 cmt = 0.;
3831 caS = 0.;
3832 caS2 = 0.;
3833 caSmt = 0.;
3834 cda5h = 0.;
3835 cMZ = 0.;
3836
3837 RelThError=0.;
3838 } else {
3839 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3840 }
3841 } else {
3842 throw std::runtime_error(" ERROR: wrong LEP2 angle in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3843 }
3844
3845 return ((X0 + cMH * LH + cmt * Dt
3846 + caS * Das + caS2 * Das * Das
3847 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
3848}

◆ LEP2dsigmadcosMuApprox()

double EWSMApproximateFormulae::LEP2dsigmadcosMuApprox ( const double  s,
const double  cos 
) const

The \(e^+e^- \to \mu^+\mu^-\) differential cross section at LEP2.

This function is based on the approximate formula for the differential cross section, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
the \(e^+e^- \to \mu^+\mu^-\) cross section in units of pb

Definition at line 3851 of file EWSMApproximateFormulae.cpp.

3852{
3853 double LH = log(mycache.getSM().getMHl() / 125.21);
3854 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
3855 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
3856 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
3857 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
3858
3859 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
3860 double RelThError = 0.0; // (Relative) Theoretical uncertainty
3861
3862 if (cos == -0.9) {
3863 if (s==183.*183.) {
3864 X0 = 0.54368;
3865 cMH = -0.00075;
3866 cmt = -0.00478;
3867 caS = 0.00058;
3868 caS2 = 0.00228;
3869 caSmt = 0.00066;
3870 cda5h = 0.05418;
3871 cMZ = -2.11874;
3872
3873 RelThError=0.;
3874 } else if (s==189.*189.) {
3875 X0 = 0.52818;
3876 cMH = -0.00091;
3877 cmt = -0.00444;
3878 caS = 0.00054;
3879 caS2 = 0.00243;
3880 caSmt = 0.00064;
3881 cda5h = 0.05189;
3882 cMZ = -1.92273;
3883
3884 RelThError=0.;
3885 } else if (s==192.*192.) {
3886 X0 = 0.51995;
3887 cMH = -0.00101;
3888 cmt = -0.00429;
3889 caS = 0.00052;
3890 caS2 = 0.00292;
3891 caSmt = 0.00062;
3892 cda5h = 0.05077;
3893 cMZ = -1.84316;
3894
3895 RelThError=0.;
3896 } else if (s==196.*196.) {
3897 X0 = 0.50872;
3898 cMH = -0.00119;
3899 cmt = -0.00409;
3900 caS = 0.0005;
3901 caS2 = 0.00379;
3902 caSmt = 0.0006;
3903 cda5h = 0.04929;
3904 cMZ = -1.74475;
3905
3906 RelThError=0.;
3907 } else if (s==200.*200.) {
3908 X0 = 0.49731;
3909 cMH = -0.00147;
3910 cmt = -0.0039;
3911 caS = 0.00047;
3912 caS2 = 0.00573;
3913 caSmt = 0.0006;
3914 cda5h = 0.04785;
3915 cMZ = -1.65639;
3916
3917 RelThError=0.;
3918 } else if (s==202.*202.) {
3919 X0 = 0.49157;
3920 cMH = -0.00173;
3921 cmt = -0.00381;
3922 caS = 0.00047;
3923 caS2 = 0.00822;
3924 caSmt = 0.00064;
3925 cda5h = 0.04716;
3926 cMZ = -1.61013;
3927
3928 RelThError=0.;
3929 } else if (s==205.*205.) {
3930 X0 = 0.48296;
3931 cMH = -0.00217;
3932 cmt = -0.00367;
3933 caS = 0.00045;
3934 caS2 = 0.01183;
3935 caSmt = 0.00053;
3936 cda5h = 0.0461;
3937 cMZ = -1.54632;
3938
3939 RelThError=0.;
3940 } else if (s==207.*207.) {
3941 X0 = 0.47723;
3942 cMH = -0.00242;
3943 cmt = -0.00358;
3944 caS = 0.00043;
3945 caS2 = 0.01297;
3946 caSmt = 0.00048;
3947 cda5h = 0.04542;
3948 cMZ = -1.50565;
3949
3950 RelThError=0.;
3951 } else if ( s > 210.*210. ) {
3952 X0 = 0.;
3953 cMH = 0.;
3954 cmt = 0.;
3955 caS = 0.;
3956 caS2 = 0.;
3957 caSmt = 0.;
3958 cda5h = 0.;
3959 cMZ = 0.;
3960
3961 RelThError=0.;
3962 } else {
3963 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
3964 }
3965 } else if (cos == -0.7) {
3966 if (s==183.*183.) {
3967 X0 = 0.53031;
3968 cMH = -0.00062;
3969 cmt = -0.00298;
3970 caS = 0.00037;
3971 caS2 = 0.00144;
3972 caSmt = 0.00047;
3973 cda5h = 0.0463;
3974 cMZ = -1.45378;
3975
3976 RelThError=0.;
3977 } else if (s==189.*189.) {
3978 X0 = 0.51026;
3979 cMH = -0.00073;
3980 cmt = -0.0028;
3981 caS = 0.00034;
3982 caS2 = 0.00167;
3983 caSmt = 0.00045;
3984 cda5h = 0.0443;
3985 cMZ = -1.32675;
3986
3987 RelThError=0.;
3988 } else if (s==192.*192.) {
3989 X0 = 0.50023;
3990 cMH = -0.0008;
3991 cmt = -0.00273;
3992 caS = 0.00033;
3993 caS2 = 0.00209;
3994 caSmt = 0.00044;
3995 cda5h = 0.04333;
3996 cMZ = -1.27688;
3997
3998 RelThError=0.;
3999 } else if (s==196.*196.) {
4000 X0 = 0.48699;
4001 cMH = -0.00093;
4002 cmt = -0.00262;
4003 caS = 0.00032;
4004 caS2 = 0.00277;
4005 caSmt = 0.00043;
4006 cda5h = 0.04206;
4007 cMZ = -1.21449;
4008
4009 RelThError=0.;
4010 } else if (s==200.*200.) {
4011 X0 = 0.47396;
4012 cMH = -0.00114;
4013 cmt = -0.00252;
4014 caS = 0.00031;
4015 caS2 = 0.00401;
4016 caSmt = 0.00043;
4017 cda5h = 0.04082;
4018 cMZ = -1.15471;
4019
4020 RelThError=0.;
4021 } else if (s==202.*202.) {
4022 X0 = 0.46753;
4023 cMH = -0.00133;
4024 cmt = -0.00247;
4025 caS = 0.00031;
4026 caS2 = 0.00578;
4027 caSmt = 0.00046;
4028 cda5h = 0.04021;
4029 cMZ = -1.12776;
4030
4031 RelThError=0.;
4032 } else if (s==205.*205.) {
4033 X0 = 0.45803;
4034 cMH = -0.00165;
4035 cmt = -0.00239;
4036 caS = 0.0003;
4037 caS2 = 0.00861;
4038 caSmt = 0.00038;
4039 cda5h = 0.03931;
4040 cMZ = -1.08596;
4041
4042 RelThError=0.;
4043 } else if (s==207.*207.) {
4044 X0 = 0.45178;
4045 cMH = -0.00183;
4046 cmt = -0.00233;
4047 caS = 0.00029;
4048 caS2 = 0.00941;
4049 caSmt = 0.00034;
4050 cda5h = 0.03872;
4051 cMZ = -1.05883;
4052
4053 RelThError=0.;
4054 } else if ( s > 210.*210. ) {
4055 X0 = 0.;
4056 cMH = 0.;
4057 cmt = 0.;
4058 caS = 0.;
4059 caS2 = 0.;
4060 caSmt = 0.;
4061 cda5h = 0.;
4062 cMZ = 0.;
4063
4064 RelThError=0.;
4065 } else {
4066 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4067 }
4068 } else if (cos == -0.5) {
4069 if (s==183.*183.) {
4070 X0 = 0.62201;
4071 cMH = -0.00052;
4072 cmt = -0.0005;
4073 caS = 0.00007;
4074 caS2 = 0.00026;
4075 caSmt = 0.00021;
4076 cda5h = 0.04271;
4077 cMZ = -0.61391;
4078
4079 RelThError=0.;
4080 } else if (s==189.*189.) {
4081 X0 = 0.58984;
4082 cMH = -0.00057;
4083 cmt = -0.00057;
4084 caS = 0.00008;
4085 caS2 = 0.00052;
4086 caSmt = 0.00021;
4087 cda5h = 0.04078;
4088 cMZ = -0.58262;
4089
4090 RelThError=0.;
4091 } else if (s==192.*192.) {
4092 X0 = 0.57451;
4093 cMH = -0.0006;
4094 cmt = -0.0006;
4095 caS = 0.00009;
4096 caS2 = 0.00089;
4097 caSmt = 0.00021;
4098 cda5h = 0.03985;
4099 cMZ = -0.57242;
4100
4101 RelThError=0.;
4102 } else if (s==196.*196.) {
4103 X0 = 0.55493;
4104 cMH = -0.00067;
4105 cmt = -0.00064;
4106 caS = 0.00009;
4107 caS2 = 0.00129;
4108 caSmt = 0.00021;
4109 cda5h = 0.03864;
4110 cMZ = -0.55838;
4111
4112 RelThError=0.;
4113 } else if (s==200.*200.) {
4114 X0 = 0.53626;
4115 cMH = -0.00079;
4116 cmt = -0.00065;
4117 caS = 0.0001;
4118 caS2 = 0.00195;
4119 caSmt = 0.00022;
4120 cda5h = 0.03747;
4121 cMZ = -0.54135;
4122
4123 RelThError=0.;
4124 } else if (s==202.*202.) {
4125 X0 = 0.52725;
4126 cMH = -0.0009;
4127 cmt = -0.00066;
4128 caS = 0.0001;
4129 caS2 = 0.00315;
4130 caSmt = 0.00024;
4131 cda5h = 0.03689;
4132 cMZ = -0.5338;
4133
4134 RelThError=0.;
4135 } else if (s==205.*205.) {
4136 X0 = 0.51412;
4137 cMH = -0.00109;
4138 cmt = -0.00066;
4139 caS = 0.0001;
4140 caS2 = 0.00493;
4141 caSmt = 0.00019;
4142 cda5h = 0.03604;
4143 cMZ = -0.52007;
4144
4145 RelThError=0.;
4146 } else if (s==207.*207.) {
4147 X0 = 0.50563;
4148 cMH = -0.00121;
4149 cmt = -0.00065;
4150 caS = 0.0001;
4151 caS2 = 0.0053;
4152 caSmt = 0.00017;
4153 cda5h = 0.03549;
4154 cMZ = -0.51107;
4155
4156 RelThError=0.;
4157 } else if ( s > 210.*210. ) {
4158 X0 = 0.;
4159 cMH = 0.;
4160 cmt = 0.;
4161 caS = 0.;
4162 caS2 = 0.;
4163 caSmt = 0.;
4164 cda5h = 0.;
4165 cMZ = 0.;
4166
4167 RelThError=0.;
4168 } else {
4169 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4170 }
4171 } else if (cos == -0.3) {
4172 if (s==183.*183.) {
4173 X0 = 0.81689;
4174 cMH = -0.00043;
4175 cmt = 0.00252;
4176 caS = -0.00029;
4177 caS2 = -0.001;
4178 caSmt = -0.0001;
4179 cda5h = 0.04345;
4180 cMZ = 0.36516;
4181
4182 RelThError=0.;
4183 } else if (s==189.*189.) {
4184 X0 = 0.76532;
4185 cMH = -0.00041;
4186 cmt = 0.00218;
4187 caS = -0.00024;
4188 caS2 = -0.00082;
4189 caSmt = -0.00007;
4190 cda5h = 0.04131;
4191 cMZ = 0.29629;
4192
4193 RelThError=0.;
4194 } else if (s==192.*192.) {
4195 X0 = 0.74138;
4196 cMH = -0.00041;
4197 cmt = 0.00201;
4198 caS = -0.00022;
4199 caS2 = -0.00064;
4200 caSmt = -0.00006;
4201 cda5h = 0.04031;
4202 cMZ = 0.25982;
4203
4204 RelThError=0.;
4205 } else if (s==196.*196.) {
4206 X0 = 0.71128;
4207 cMH = -0.00041;
4208 cmt = 0.00182;
4209 caS = -0.00019;
4210 caS2 = -0.0006;
4211 caSmt = -0.00005;
4212 cda5h = 0.03901;
4213 cMZ = 0.21779;
4214
4215 RelThError=0.;
4216 } else if (s==200.*200.) {
4217 X0 = 0.68308;
4218 cMH = -0.00042;
4219 cmt = 0.00166;
4220 caS = -0.00017;
4221 caS2 = -0.0004;
4222 caSmt = -0.00003;
4223 cda5h = 0.03776;
4224 cMZ = 0.18283;
4225
4226 RelThError=0.;
4227 } else if (s==202.*202.) {
4228 X0 = 0.66965;
4229 cMH = -0.00045;
4230 cmt = 0.00159;
4231 caS = -0.00016;
4232 caS2 = -0.00018;
4233 caSmt = -0.00002;
4234 cda5h = 0.03715;
4235 cMZ = 0.16659;
4236
4237 RelThError=0.;
4238 } else if (s==205.*205.) {
4239 X0 = 0.65025;
4240 cMH = -0.0005;
4241 cmt = 0.00149;
4242 caS = -0.00014;
4243 caS2 = 0.00042;
4244 caSmt = -0.00003;
4245 cda5h = 0.03625;
4246 cMZ = 0.1469;
4247
4248 RelThError=0.;
4249 } else if (s==207.*207.) {
4250 X0 = 0.63781;
4251 cMH = -0.00053;
4252 cmt = 0.00143;
4253 caS = -0.00013;
4254 caS2 = 0.00059;
4255 caSmt = -0.00003;
4256 cda5h = 0.03567;
4257 cMZ = 0.13452;
4258
4259 RelThError=0.;
4260 } else if ( s > 210.*210. ) {
4261 X0 = 0.;
4262 cMH = 0.;
4263 cmt = 0.;
4264 caS = 0.;
4265 caS2 = 0.;
4266 caSmt = 0.;
4267 cda5h = 0.;
4268 cMZ = 0.;
4269
4270 RelThError=0.;
4271 } else {
4272 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4273 }
4274 } else if (cos == -0.1) {
4275 if (s==183.*183.) {
4276 X0 = 1.11359;
4277 cMH = -0.00036;
4278 cmt = 0.006;
4279 caS = -0.0007;
4280 caS2 = -0.00223;
4281 caSmt = -0.00045;
4282 cda5h = 0.0485;
4283 cMZ = 1.47789;
4284
4285 RelThError=0.;
4286 } else if (s==189.*189.) {
4287 X0 = 1.03573;
4288 cMH = -0.00026;
4289 cmt = 0.00537;
4290 caS = -0.00061;
4291 caS2 = -0.00257;
4292 caSmt = -0.00039;
4293 cda5h = 0.04591;
4294 cMZ = 1.29546;
4295
4296 RelThError=0.;
4297 } else if (s==192.*192.) {
4298 X0 = 0.99998;
4299 cMH = -0.00021;
4300 cmt = 0.00506;
4301 caS = -0.00057;
4302 caS2 = -0.00249;
4303 caSmt = -0.00037;
4304 cda5h = 0.04471;
4305 cMZ = 1.20711;
4306
4307 RelThError=0.;
4308 } else if (s==196.*196.) {
4309 X0 = 0.95536;
4310 cMH = -0.00013;
4311 cmt = 0.00469;
4312 caS = -0.00052;
4313 caS2 = -0.00281;
4314 caSmt = -0.00034;
4315 cda5h = 0.04317;
4316 cMZ = 1.10438;
4317
4318 RelThError=0.;
4319 } else if (s==200.*200.) {
4320 X0 = 0.9139;
4321 cMH = -0.00004;
4322 cmt = 0.00437;
4323 caS = -0.00047;
4324 caS2 = -0.00322;
4325 caSmt = -0.00032;
4326 cda5h = 0.04169;
4327 cMZ = 1.01023;
4328
4329 RelThError=0.;
4330 } else if (s==202.*202.) {
4331 X0 = 0.89425;
4332 cMH = 0.00003;
4333 cmt = 0.00423;
4334 caS = -0.00045;
4335 caS2 = -0.00369;
4336 caSmt = -0.00032;
4337 cda5h = 0.04097;
4338 cMZ = 0.97678;
4339
4340 RelThError=0.;
4341 } else if (s==205.*205.) {
4342 X0 = 0.86602;
4343 cMH = 0.00014;
4344 cmt = 0.00403;
4345 caS = -0.00043;
4346 caS2 = -0.00478;
4347 caSmt = -0.00028;
4348 cda5h = 0.03993;
4349 cMZ = 0.91038;
4350
4351 RelThError=0.;
4352 } else if (s==207.*207.) {
4353 X0 = 0.84799;
4354 cMH = 0.00019;
4355 cmt = 0.0039;
4356 caS = -0.00041;
4357 caS2 = -0.00476;
4358 caSmt = -0.00026;
4359 cda5h = 0.03926;
4360 cMZ = 0.87424;
4361
4362 RelThError=0.;
4363 } else if ( s > 210.*210. ) {
4364 X0 = 0.;
4365 cMH = 0.;
4366 cmt = 0.;
4367 caS = 0.;
4368 caS2 = 0.;
4369 caSmt = 0.;
4370 cda5h = 0.;
4371 cMZ = 0.;
4372
4373 RelThError=0.;
4374 } else {
4375 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4376 }
4377 } else if (cos == 0.1) {
4378 if (s==183.*183.) {
4379 X0 = 1.51117;
4380 cMH = -0.00029;
4381 cmt = 0.00983;
4382 caS = -0.00115;
4383 caS2 = -0.00368;
4384 caSmt = -0.00084;
4385 cda5h = 0.05798;
4386 cMZ = 2.70087;
4387
4388 RelThError=0.;
4389 } else if (s==189.*189.) {
4390 X0 = 1.40046;
4391 cMH = -0.00011;
4392 cmt = 0.00888;
4393 caS = -0.00102;
4394 caS2 = -0.00426;
4395 caSmt = -0.00077;
4396 cda5h = 0.05465;
4397 cMZ = 2.39683;
4398
4399 RelThError=0.;
4400 } else if (s==192.*192.) {
4401 X0 = 1.34988;
4402 cMH = 0.;
4403 cmt = 0.00845;
4404 caS = -0.00096;
4405 caS2 = -0.0045;
4406 caSmt = -0.00072;
4407 cda5h = 0.05311;
4408 cMZ = 2.2546;
4409
4410 RelThError=0.;
4411 } else if (s==196.*196.) {
4412 X0 = 1.28693;
4413 cMH = 0.00015;
4414 cmt = 0.00792;
4415 caS = -0.00088;
4416 caS2 = -0.00527;
4417 caSmt = -0.00067;
4418 cda5h = 0.05116;
4419 cMZ = 2.08349;
4420
4421 RelThError=0.;
4422 } else if (s==200.*200.) {
4423 X0 = 1.22861;
4424 cMH = 0.00037;
4425 cmt = 0.00744;
4426 caS = -0.00082;
4427 caS2 = -0.00655;
4428 caSmt = -0.00064;
4429 cda5h = 0.0493;
4430 cMZ = 1.93092;
4431
4432 RelThError=0.;
4433 } else if (s==202.*202.) {
4434 X0 = 1.20104;
4435 cMH = 0.00055;
4436 cmt = 0.00722;
4437 caS = -0.00079;
4438 caS2 = -0.00816;
4439 caSmt = -0.00065;
4440 cda5h = 0.0484;
4441 cMZ = 1.85652;
4442
4443 RelThError=0.;
4444 } else if (s==205.*205.) {
4445 X0 = 1.16149;
4446 cMH = 0.00082;
4447 cmt = 0.00692;
4448 caS = -0.00075;
4449 caS2 = -0.01023;
4450 caSmt = -0.00056;
4451 cda5h = 0.0471;
4452 cMZ = 1.76334;
4453
4454 RelThError=0.;
4455 } else if (s==207.*207.) {
4456 X0 = 1.13628;
4457 cMH = 0.00097;
4458 cmt = 0.00673;
4459 caS = -0.00072;
4460 caS2 = -0.01077;
4461 caSmt = -0.00051;
4462 cda5h = 0.04626;
4463 cMZ = 1.70151;
4464
4465 RelThError=0.;
4466 } else if ( s > 210.*210. ) {
4467 X0 = 0.;
4468 cMH = 0.;
4469 cmt = 0.;
4470 caS = 0.;
4471 caS2 = 0.;
4472 caSmt = 0.;
4473 cda5h = 0.;
4474 cMZ = 0.;
4475
4476 RelThError=0.;
4477 } else {
4478 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4479 }
4480 } else if (cos == 0.3) {
4481 if (s==183.*183.) {
4482 X0 = 2.00874;
4483 cMH = -0.00019;
4484 cmt = 0.01384;
4485 caS = -0.00161;
4486 caS2 = -0.00543;
4487 caSmt = -0.00127;
4488 cda5h = 0.07202;
4489 cMZ = 4.0104;
4490
4491 RelThError=0.;
4492 } else if (s==189.*189.) {
4493 X0 = 1.85905;
4494 cMH = 0.00007;
4495 cmt = 0.01262;
4496 caS = -0.00144;
4497 caS2 = -0.00586;
4498 caSmt = -0.00115;
4499 cda5h = 0.06765;
4500 cMZ = 3.57466;
4501
4502 RelThError=0.;
4503 } else if (s==192.*192.) {
4504 X0 = 1.79081;
4505 cMH = 0.00023;
4506 cmt = 0.01207;
4507 caS = -0.00137;
4508 caS2 = -0.00678;
4509 caSmt = -0.0011;
4510 cda5h = 0.06563;
4511 cMZ = 3.37965;
4512
4513 RelThError=0.;
4514 } else if (s==196.*196.) {
4515 X0 = 1.70593;
4516 cMH = 0.00047;
4517 cmt = 0.0114;
4518 caS = -0.00128;
4519 caS2 = -0.00787;
4520 caSmt = -0.00103;
4521 cda5h = 0.06307;
4522 cMZ = 3.14279;
4523
4524 RelThError=0.;
4525 } else if (s==200.*200.) {
4526 X0 = 1.62735;
4527 cMH = 0.00081;
4528 cmt = 0.01079;
4529 caS = -0.00119;
4530 caS2 = -0.01009;
4531 caSmt = -0.00099;
4532 cda5h = 0.06065;
4533 cMZ = 2.93036;
4534
4535 RelThError=0.;
4536 } else if (s==202.*202.) {
4537 X0 = 1.59021;
4538 cMH = 0.0011;
4539 cmt = 0.0105;
4540 caS = -0.00116;
4541 caS2 = -0.01266;
4542 caSmt = -0.00102;
4543 cda5h = 0.05949;
4544 cMZ = 2.83227;
4545
4546 RelThError=0.;
4547 } else if (s==205.*205.) {
4548 X0 = 1.53699;
4549 cMH = 0.00155;
4550 cmt = 0.01011;
4551 caS = -0.0011;
4552 caS2 = -0.01645;
4553 caSmt = -0.00087;
4554 cda5h = 0.05782;
4555 cMZ = 2.69386;
4556
4557 RelThError=0.;
4558 } else if (s==207.*207.) {
4559 X0 = 1.50307;
4560 cMH = 0.00181;
4561 cmt = 0.00986;
4562 caS = -0.00106;
4563 caS2 = -0.01724;
4564 caSmt = -0.0008;
4565 cda5h = 0.05675;
4566 cMZ = 2.60621;
4567
4568 RelThError=0.;
4569 } else if ( s > 210.*210. ) {
4570 X0 = 0.;
4571 cMH = 0.;
4572 cmt = 0.;
4573 caS = 0.;
4574 caS2 = 0.;
4575 caSmt = 0.;
4576 cda5h = 0.;
4577 cMZ = 0.;
4578
4579 RelThError=0.;
4580 } else {
4581 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4582 }
4583 } else if (cos == 0.5) {
4584 if (s==183.*183.) {
4585 X0 = 2.60506;
4586 cMH = -0.00005;
4587 cmt = 0.01783;
4588 caS = -0.00207;
4589 caS2 = -0.00712;
4590 caSmt = -0.00174;
4591 cda5h = 0.09082;
4592 cMZ = 5.36739;
4593
4594 RelThError=0.;
4595 } else if (s==189.*189.) {
4596 X0 = 2.4107;
4597 cMH = 0.00029;
4598 cmt = 0.0164;
4599 caS = -0.00187;
4600 caS2 = -0.00842;
4601 caSmt = -0.00157;
4602 cda5h = 0.08507;
4603 cMZ = 4.80013;
4604
4605 RelThError=0.;
4606 } else if (s==192.*192.) {
4607 X0 = 2.32219;
4608 cMH = 0.00049;
4609 cmt = 0.01577;
4610 caS = -0.00178;
4611 caS2 = -0.0091;
4612 caSmt = -0.0015;
4613 cda5h = 0.08241;
4614 cMZ = 4.55275;
4615
4616 RelThError=0.;
4617 } else if (s==196.*196.) {
4618 X0 = 2.21207;
4619 cMH = 0.00082;
4620 cmt = 0.015;
4621 caS = -0.00168;
4622 caS2 = -0.01084;
4623 caSmt = -0.00143;
4624 cda5h = 0.07905;
4625 cMZ = 4.25372;
4626
4627 RelThError=0.;
4628 } else if (s==200.*200.) {
4629 X0 = 2.11008;
4630 cMH = 0.00129;
4631 cmt = 0.01429;
4632 caS = -0.00158;
4633 caS2 = -0.01405;
4634 caSmt = -0.00138;
4635 cda5h = 0.0759;
4636 cMZ = 3.98442;
4637
4638 RelThError=0.;
4639 } else if (s==202.*202.) {
4640 X0 = 2.06187;
4641 cMH = 0.00171;
4642 cmt = 0.01395;
4643 caS = -0.00154;
4644 caS2 = -0.01768;
4645 caSmt = -0.00142;
4646 cda5h = 0.07438;
4647 cMZ = 3.86054;
4648
4649 RelThError=0.;
4650 } else if (s==205.*205.) {
4651 X0 = 1.99276;
4652 cMH = 0.00235;
4653 cmt = 0.01348;
4654 caS = -0.00147;
4655 caS2 = -0.02322;
4656 caSmt = -0.0012;
4657 cda5h = 0.07222;
4658 cMZ = 3.68182;
4659
4660 RelThError=0.;
4661 } else if (s==207.*207.) {
4662 X0 = 1.94871;
4663 cMH = 0.00271;
4664 cmt = 0.01318;
4665 caS = -0.00142;
4666 caS2 = -0.02446;
4667 caSmt = -0.00111;
4668 cda5h = 0.07083;
4669 cMZ = 3.56935;
4670
4671 RelThError=0.;
4672 } else if ( s > 210.*210. ) {
4673 X0 = 0.;
4674 cMH = 0.;
4675 cmt = 0.;
4676 caS = 0.;
4677 caS2 = 0.;
4678 caSmt = 0.;
4679 cda5h = 0.;
4680 cMZ = 0.;
4681
4682 RelThError=0.;
4683 } else {
4684 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4685 }
4686 } else if (cos == 0.7) {
4687 if (s==183.*183.) {
4688 X0 = 3.2975;
4689 cMH = 0.00015;
4690 cmt = 0.02156;
4691 caS = -0.00248;
4692 caS2 = -0.00902;
4693 caSmt = -0.00222;
4694 cda5h = 0.1146;
4695 cMZ = 6.73753;
4696
4697 RelThError=0.;
4698 } else if (s==189.*189.) {
4699 X0 = 3.05318;
4700 cMH = 0.00058;
4701 cmt = 0.01994;
4702 caS = -0.00226;
4703 caS2 = -0.01062;
4704 caSmt = -0.00202;
4705 cda5h = 0.10719;
4706 cMZ = 6.02414;
4707
4708 RelThError=0.;
4709 } else if (s==192.*192.) {
4710 X0 = 2.94203;
4711 cMH = 0.00083;
4712 cmt = 0.01928;
4713 caS = -0.00217;
4714 caS2 = -0.01171;
4715 caSmt = -0.00194;
4716 cda5h = 0.10372;
4717 cMZ = 5.73004;
4718
4719 RelThError=0.;
4720 } else if (s==196.*196.) {
4721 X0 = 2.80369;
4722 cMH = 0.00124;
4723 cmt = 0.01846;
4724 caS = -0.00206;
4725 caS2 = -0.01397;
4726 caSmt = -0.00184;
4727 cda5h = 0.09936;
4728 cMZ = 5.36828;
4729
4730 RelThError=0.;
4731 } else if (s==200.*200.) {
4732 X0 = 2.67548;
4733 cMH = 0.00185;
4734 cmt = 0.0177;
4735 caS = -0.00195;
4736 caS2 = -0.01809;
4737 caSmt = -0.00178;
4738 cda5h = 0.09527;
4739 cMZ = 5.05107;
4740
4741 RelThError=0.;
4742 } else if (s==202.*202.) {
4743 X0 = 2.61485;
4744 cMH = 0.00239;
4745 cmt = 0.01734;
4746 caS = -0.00191;
4747 caS2 = -0.02309;
4748 caSmt = -0.00184;
4749 cda5h = 0.09331;
4750 cMZ = 4.90422;
4751
4752 RelThError=0.;
4753 } else if (s==205.*205.) {
4754 X0 = 2.52791;
4755 cMH = 0.00324;
4756 cmt = 0.01683;
4757 caS = -0.00183;
4758 caS2 = -0.03036;
4759 caSmt = -0.00156;
4760 cda5h = 0.09052;
4761 cMZ = 4.68825;
4762
4763 RelThError=0.;
4764 } else if (s==207.*207.) {
4765 X0 = 2.47247;
4766 cMH = 0.00371;
4767 cmt = 0.01649;
4768 caS = -0.00178;
4769 caS2 = -0.03185;
4770 caSmt = -0.00145;
4771 cda5h = 0.08873;
4772 cMZ = 4.54935;
4773
4774 RelThError=0.;
4775 } else if ( s > 210.*210. ) {
4776 X0 = 0.;
4777 cMH = 0.;
4778 cmt = 0.;
4779 caS = 0.;
4780 caS2 = 0.;
4781 caSmt = 0.;
4782 cda5h = 0.;
4783 cMZ = 0.;
4784
4785 RelThError=0.;
4786 } else {
4787 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4788 }
4789 } else if (cos == 0.9) {
4790 if (s==183.*183.) {
4791 X0 = 4.07822;
4792 cMH = 0.00045;
4793 cmt = 0.02469;
4794 caS = -0.00282;
4795 caS2 = -0.01085;
4796 caSmt = -0.00272;
4797 cda5h = 0.14368;
4798 cMZ = 8.06958;
4799
4800 RelThError=0.;
4801 } else if (s==189.*189.) {
4802 X0 = 3.77861;
4803 cMH = 0.00096;
4804 cmt = 0.02288;
4805 caS = -0.00257;
4806 caS2 = -0.01262;
4807 caSmt = -0.00249;
4808 cda5h = 0.13433;
4809 cMZ = 7.18705;
4810
4811 RelThError=0.;
4812 } else if (s==192.*192.) {
4813 X0 = 3.64255;
4814 cMH = 0.00126;
4815 cmt = 0.02219;
4816 caS = -0.00248;
4817 caS2 = -0.01421;
4818 caSmt = -0.00237;
4819 cda5h = 0.12991;
4820 cMZ = 6.84395;
4821
4822 RelThError=0.;
4823 } else if (s==196.*196.) {
4824 X0 = 3.47319;
4825 cMH = 0.00176;
4826 cmt = 0.02135;
4827 caS = -0.00236;
4828 caS2 = -0.01705;
4829 caSmt = -0.00226;
4830 cda5h = 0.12436;
4831 cMZ = 6.43185;
4832
4833 RelThError=0.;
4834 } else if (s==200.*200.) {
4835 X0 = 3.31624;
4836 cMH = 0.00251;
4837 cmt = 0.02057;
4838 caS = -0.00225;
4839 caS2 = -0.02239;
4840 caSmt = -0.00219;
4841 cda5h = 0.11916;
4842 cMZ = 6.05556;
4843
4844 RelThError=0.;
4845 } else if (s==202.*202.) {
4846 X0 = 3.24201;
4847 cMH = 0.00318;
4848 cmt = 0.0202;
4849 caS = -0.00221;
4850 caS2 = -0.02869;
4851 caSmt = -0.00227;
4852 cda5h = 0.11666;
4853 cMZ = 5.88764;
4854
4855 RelThError=0.;
4856 } else if (s==205.*205.) {
4857 X0 = 3.13556;
4858 cMH = 0.00424;
4859 cmt = 0.01968;
4860 caS = -0.00213;
4861 caS2 = -0.03786;
4862 caSmt = -0.00193;
4863 cda5h = 0.11312;
4864 cMZ = 5.63146;
4865
4866 RelThError=0.;
4867 } else if (s==207.*207.) {
4868 X0 = 3.06767;
4869 cMH = 0.00483;
4870 cmt = 0.01935;
4871 caS = -0.00208;
4872 caS2 = -0.04023;
4873 caSmt = -0.00178;
4874 cda5h = 0.11084;
4875 cMZ = 5.47704;
4876
4877 RelThError=0.;
4878 } else if ( s > 210.*210. ) {
4879 X0 = 0.;
4880 cMH = 0.;
4881 cmt = 0.;
4882 caS = 0.;
4883 caS2 = 0.;
4884 caSmt = 0.;
4885 cda5h = 0.;
4886 cMZ = 0.;
4887
4888 RelThError=0.;
4889 } else {
4890 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4891 }
4892 } else {
4893 throw std::runtime_error(" ERROR: wrong LEP2 angle in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4894 }
4895
4896 return ((X0 + cMH * LH + cmt * Dt
4897 + caS * Das + caS2 * Das * Das
4898 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
4899}

◆ LEP2dsigmadcosTauApprox()

double EWSMApproximateFormulae::LEP2dsigmadcosTauApprox ( const double  s,
const double  cos 
) const

The \(e^+e^- \to \tau^+\tau^-\) differential cross section at LEP2.

This function is based on the approximate formula for the differential cross section, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
the \(e^+e^- \to \tau^+\tau^-\) cross section in units of pb

Definition at line 4902 of file EWSMApproximateFormulae.cpp.

4903{
4904 double LH = log(mycache.getSM().getMHl() / 125.21);
4905 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
4906 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
4907 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
4908 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
4909
4910 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
4911 double RelThError = 0.0; // (Relative) Theoretical uncertainty
4912
4913 if (cos == -0.9) {
4914 if (s==183.*183.) {
4915 X0 = 0.54414;
4916 cMH = -0.00075;
4917 cmt = -0.00477;
4918 caS = 0.00058;
4919 caS2 = 0.00221;
4920 caSmt = 0.00066;
4921 cda5h = 0.0542;
4922 cMZ = -2.11814;
4923
4924 RelThError=0.;
4925 } else if (s==189.*189.) {
4926 X0 = 0.52857;
4927 cMH = -0.00091;
4928 cmt = -0.00443;
4929 caS = 0.00054;
4930 caS2 = 0.00233;
4931 caSmt = 0.00063;
4932 cda5h = 0.05191;
4933 cMZ = -1.92202;
4934
4935 RelThError=0.;
4936 } else if (s==192.*192.) {
4937 X0 = 0.52032;
4938 cMH = -0.00101;
4939 cmt = -0.00428;
4940 caS = 0.00052;
4941 caS2 = 0.00287;
4942 caSmt = 0.00062;
4943 cda5h = 0.05078;
4944 cMZ = -1.84247;
4945
4946 RelThError=0.;
4947 } else if (s==196.*196.) {
4948 X0 = 0.50905;
4949 cMH = -0.00119;
4950 cmt = -0.00409;
4951 caS = 0.0005;
4952 caS2 = 0.00394;
4953 caSmt = 0.0006;
4954 cda5h = 0.04931;
4955 cMZ = -1.74413;
4956
4957 RelThError=0.;
4958 } else if (s==200.*200.) {
4959 X0 = 0.49761;
4960 cMH = -0.00147;
4961 cmt = -0.0039;
4962 caS = 0.00047;
4963 caS2 = 0.00568;
4964 caSmt = 0.0006;
4965 cda5h = 0.04786;
4966 cMZ = -1.65654;
4967
4968 RelThError=0.;
4969 } else if (s==202.*202.) {
4970 X0 = 0.49187;
4971 cMH = -0.00173;
4972 cmt = -0.00381;
4973 caS = 0.00047;
4974 caS2 = 0.00814;
4975 caSmt = 0.00064;
4976 cda5h = 0.04717;
4977 cMZ = -1.60964;
4978
4979 RelThError=0.;
4980 } else if (s==205.*205.) {
4981 X0 = 0.48323;
4982 cMH = -0.00217;
4983 cmt = -0.00367;
4984 caS = 0.00045;
4985 caS2 = 0.0119;
4986 caSmt = 0.00053;
4987 cda5h = 0.04611;
4988 cMZ = -1.54583;
4989
4990 RelThError=0.;
4991 } else if (s==207.*207.) {
4992 X0 = 0.47749;
4993 cMH = -0.00242;
4994 cmt = -0.00358;
4995 caS = 0.00043;
4996 caS2 = 0.01316;
4997 caSmt = 0.00048;
4998 cda5h = 0.04543;
4999 cMZ = -1.50516;
5000
5001 RelThError=0.;
5002 } else if ( s > 210.*210. ) {
5003 X0 = 0.;
5004 cMH = 0.;
5005 cmt = 0.;
5006 caS = 0.;
5007 caS2 = 0.;
5008 caSmt = 0.;
5009 cda5h = 0.;
5010 cMZ = 0.;
5011
5012 RelThError=0.;
5013 } else {
5014 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5015 }
5016 } else if (cos == -0.7) {
5017 if (s==183.*183.) {
5018 X0 = 0.53065;
5019 cMH = -0.00062;
5020 cmt = -0.00297;
5021 caS = 0.00037;
5022 caS2 = 0.00131;
5023 caSmt = 0.00047;
5024 cda5h = 0.04632;
5025 cMZ = -1.45322;
5026
5027 RelThError=0.;
5028 } else if (s==189.*189.) {
5029 X0 = 0.51056;
5030 cMH = -0.00073;
5031 cmt = -0.0028;
5032 caS = 0.00034;
5033 caS2 = 0.00173;
5034 caSmt = 0.00045;
5035 cda5h = 0.04432;
5036 cMZ = -1.32623;
5037
5038 RelThError=0.;
5039 } else if (s==192.*192.) {
5040 X0 = 0.50051;
5041 cMH = -0.0008;
5042 cmt = -0.00272;
5043 caS = 0.00033;
5044 caS2 = 0.00193;
5045 caSmt = 0.00044;
5046 cda5h = 0.04334;
5047 cMZ = -1.27647;
5048
5049 RelThError=0.;
5050 } else if (s==196.*196.) {
5051 X0 = 0.48724;
5052 cMH = -0.00093;
5053 cmt = -0.00262;
5054 caS = 0.00032;
5055 caS2 = 0.00264;
5056 caSmt = 0.00043;
5057 cda5h = 0.04207;
5058 cMZ = -1.21412;
5059
5060 RelThError=0.;
5061 } else if (s==200.*200.) {
5062 X0 = 0.47419;
5063 cMH = -0.00114;
5064 cmt = -0.00252;
5065 caS = 0.00031;
5066 caS2 = 0.00405;
5067 caSmt = 0.00043;
5068 cda5h = 0.04083;
5069 cMZ = -1.15432;
5070
5071 RelThError=0.;
5072 } else if (s==202.*202.) {
5073 X0 = 0.46775;
5074 cMH = -0.00133;
5075 cmt = -0.00246;
5076 caS = 0.00031;
5077 caS2 = 0.00587;
5078 caSmt = 0.00046;
5079 cda5h = 0.04022;
5080 cMZ = -1.12739;
5081
5082 RelThError=0.;
5083 } else if (s==205.*205.) {
5084 X0 = 0.45823;
5085 cMH = -0.00165;
5086 cmt = -0.00238;
5087 caS = 0.0003;
5088 caS2 = 0.00876;
5089 caSmt = 0.00038;
5090 cda5h = 0.03932;
5091 cMZ = -1.08559;
5092
5093 RelThError=0.;
5094 } else if (s==207.*207.) {
5095 X0 = 0.45198;
5096 cMH = -0.00183;
5097 cmt = -0.00233;
5098 caS = 0.00029;
5099 caS2 = 0.00942;
5100 caSmt = 0.00034;
5101 cda5h = 0.03873;
5102 cMZ = -1.05852;
5103
5104 RelThError=0.;
5105 } else if ( s > 210.*210. ) {
5106 X0 = 0.;
5107 cMH = 0.;
5108 cmt = 0.;
5109 caS = 0.;
5110 caS2 = 0.;
5111 caSmt = 0.;
5112 cda5h = 0.;
5113 cMZ = 0.;
5114
5115 RelThError=0.;
5116 } else {
5117 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5118 }
5119 } else if (cos == -0.5) {
5120 if (s==183.*183.) {
5121 X0 = 0.62223;
5122 cMH = -0.00052;
5123 cmt = -0.0005;
5124 caS = 0.00007;
5125 caS2 = 0.00005;
5126 caSmt = 0.00021;
5127 cda5h = 0.04272;
5128 cMZ = -0.61055;
5129
5130 RelThError=0.;
5131 } else if (s==189.*189.) {
5132 X0 = 0.59003;
5133 cMH = -0.00057;
5134 cmt = -0.00057;
5135 caS = 0.00008;
5136 caS2 = 0.00042;
5137 caSmt = 0.00021;
5138 cda5h = 0.04079;
5139 cMZ = -0.58242;
5140
5141 RelThError=0.;
5142 } else if (s==192.*192.) {
5143 X0 = 0.57469;
5144 cMH = -0.0006;
5145 cmt = -0.0006;
5146 caS = 0.00009;
5147 caS2 = 0.00074;
5148 caSmt = 0.00021;
5149 cda5h = 0.03986;
5150 cMZ = -0.57227;
5151
5152 RelThError=0.;
5153 } else if (s==196.*196.) {
5154 X0 = 0.55509;
5155 cMH = -0.00067;
5156 cmt = -0.00064;
5157 caS = 0.00009;
5158 caS2 = 0.0012;
5159 caSmt = 0.00021;
5160 cda5h = 0.03865;
5161 cMZ = -0.55831;
5162
5163 RelThError=0.;
5164 } else if (s==200.*200.) {
5165 X0 = 0.53641;
5166 cMH = -0.00079;
5167 cmt = -0.00065;
5168 caS = 0.0001;
5169 caS2 = 0.00203;
5170 caSmt = 0.00022;
5171 cda5h = 0.03747;
5172 cMZ = -0.54117;
5173
5174 RelThError=0.;
5175 } else if (s==202.*202.) {
5176 X0 = 0.52739;
5177 cMH = -0.0009;
5178 cmt = -0.00066;
5179 caS = 0.0001;
5180 caS2 = 0.0032;
5181 caSmt = 0.00024;
5182 cda5h = 0.0369;
5183 cMZ = -0.53362;
5184
5185 RelThError=0.;
5186 } else if (s==205.*205.) {
5187 X0 = 0.51426;
5188 cMH = -0.00109;
5189 cmt = -0.00066;
5190 caS = 0.0001;
5191 caS2 = 0.00483;
5192 caSmt = 0.00019;
5193 cda5h = 0.03605;
5194 cMZ = -0.51996;
5195
5196 RelThError=0.;
5197 } else if (s==207.*207.) {
5198 X0 = 0.50575;
5199 cMH = -0.00121;
5200 cmt = -0.00065;
5201 caS = 0.0001;
5202 caS2 = 0.00536;
5203 caSmt = 0.00017;
5204 cda5h = 0.03549;
5205 cMZ = -0.51092;
5206
5207 RelThError=0.;
5208 } else if ( s > 210.*210. ) {
5209 X0 = 0.;
5210 cMH = 0.;
5211 cmt = 0.;
5212 caS = 0.;
5213 caS2 = 0.;
5214 caSmt = 0.;
5215 cda5h = 0.;
5216 cMZ = 0.;
5217
5218 RelThError=0.;
5219 } else {
5220 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5221 }
5222 } else if (cos == -0.3) {
5223 if (s==183.*183.) {
5224 X0 = 0.81697;
5225 cMH = -0.00043;
5226 cmt = 0.00251;
5227 caS = -0.00029;
5228 caS2 = -0.00098;
5229 caSmt = -0.0001;
5230 cda5h = 0.04345;
5231 cMZ = 0.36501;
5232
5233 RelThError=0.;
5234 } else if (s==189.*189.) {
5235 X0 = 0.76539;
5236 cMH = -0.00041;
5237 cmt = 0.00218;
5238 caS = -0.00024;
5239 caS2 = -0.00095;
5240 caSmt = -0.00007;
5241 cda5h = 0.04131;
5242 cMZ = 0.29614;
5243
5244 RelThError=0.;
5245 } else if (s==192.*192.) {
5246 X0 = 0.74144;
5247 cMH = -0.00041;
5248 cmt = 0.00201;
5249 caS = -0.00022;
5250 caS2 = -0.00076;
5251 caSmt = -0.00006;
5252 cda5h = 0.04031;
5253 cMZ = 0.2597;
5254
5255 RelThError=0.;
5256 } else if (s==196.*196.) {
5257 X0 = 0.71134;
5258 cMH = -0.00041;
5259 cmt = 0.00182;
5260 caS = -0.00019;
5261 caS2 = -0.0007;
5262 caSmt = -0.00005;
5263 cda5h = 0.03902;
5264 cMZ = 0.2177;
5265
5266 RelThError=0.;
5267 } else if (s==200.*200.) {
5268 X0 = 0.68314;
5269 cMH = -0.00042;
5270 cmt = 0.00166;
5271 caS = -0.00017;
5272 caS2 = -0.00038;
5273 caSmt = -0.00004;
5274 cda5h = 0.03776;
5275 cMZ = 0.18275;
5276
5277 RelThError=0.;
5278 } else if (s==202.*202.) {
5279 X0 = 0.6697;
5280 cMH = -0.00045;
5281 cmt = 0.00159;
5282 caS = -0.00016;
5283 caS2 = -0.0002;
5284 caSmt = -0.00002;
5285 cda5h = 0.03715;
5286 cMZ = 0.16651;
5287
5288 RelThError=0.;
5289 } else if (s==205.*205.) {
5290 X0 = 0.65031;
5291 cMH = -0.0005;
5292 cmt = 0.00149;
5293 caS = -0.00014;
5294 caS2 = 0.0004;
5295 caSmt = -0.00003;
5296 cda5h = 0.03626;
5297 cMZ = 0.14683;
5298
5299 RelThError=0.;
5300 } else if (s==207.*207.) {
5301 X0 = 0.63786;
5302 cMH = -0.00053;
5303 cmt = 0.00143;
5304 caS = -0.00013;
5305 caS2 = 0.00058;
5306 caSmt = -0.00003;
5307 cda5h = 0.03567;
5308 cMZ = 0.13448;
5309
5310 RelThError=0.;
5311 } else if ( s > 210.*210. ) {
5312 X0 = 0.;
5313 cMH = 0.;
5314 cmt = 0.;
5315 caS = 0.;
5316 caS2 = 0.;
5317 caSmt = 0.;
5318 cda5h = 0.;
5319 cMZ = 0.;
5320
5321 RelThError=0.;
5322 } else {
5323 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5324 }
5325 } else if (cos == -0.1) {
5326 if (s==183.*183.) {
5327 X0 = 1.11353;
5328 cMH = -0.00036;
5329 cmt = 0.006;
5330 caS = -0.0007;
5331 caS2 = -0.0023;
5332 caSmt = -0.00045;
5333 cda5h = 0.04851;
5334 cMZ = 1.47728;
5335
5336 RelThError=0.;
5337 } else if (s==189.*189.) {
5338 X0 = 1.03568;
5339 cMH = -0.00026;
5340 cmt = 0.00537;
5341 caS = -0.00061;
5342 caS2 = -0.0024;
5343 caSmt = -0.0004;
5344 cda5h = 0.04591;
5345 cMZ = 1.29497;
5346
5347 RelThError=0.;
5348 } else if (s==192.*192.) {
5349 X0 = 0.99993;
5350 cMH = -0.00021;
5351 cmt = 0.00506;
5352 caS = -0.00057;
5353 caS2 = -0.00258;
5354 caSmt = -0.00037;
5355 cda5h = 0.04471;
5356 cMZ = 1.20665;
5357
5358 RelThError=0.;
5359 } else if (s==196.*196.) {
5360 X0 = 0.95532;
5361 cMH = -0.00013;
5362 cmt = 0.00469;
5363 caS = -0.00052;
5364 caS2 = -0.00272;
5365 caSmt = -0.00034;
5366 cda5h = 0.04317;
5367 cMZ = 1.10402;
5368
5369 RelThError=0.;
5370 } else if (s==200.*200.) {
5371 X0 = 0.91386;
5372 cMH = -0.00004;
5373 cmt = 0.00437;
5374 caS = -0.00047;
5375 caS2 = -0.00342;
5376 caSmt = -0.00032;
5377 cda5h = 0.04169;
5378 cMZ = 1.00983;
5379
5380 RelThError=0.;
5381 } else if (s==202.*202.) {
5382 X0 = 0.89422;
5383 cMH = 0.00003;
5384 cmt = 0.00422;
5385 caS = -0.00045;
5386 caS2 = -0.00359;
5387 caSmt = -0.00032;
5388 cda5h = 0.04098;
5389 cMZ = 0.97649;
5390
5391 RelThError=0.;
5392 } else if (s==205.*205.) {
5393 X0 = 0.86599;
5394 cMH = 0.00014;
5395 cmt = 0.00403;
5396 caS = -0.00043;
5397 caS2 = -0.00469;
5398 caSmt = -0.00028;
5399 cda5h = 0.03993;
5400 cMZ = 0.91011;
5401
5402 RelThError=0.;
5403 } else if (s==207.*207.) {
5404 X0 = 0.84796;
5405 cMH = 0.00019;
5406 cmt = 0.0039;
5407 caS = -0.00041;
5408 caS2 = -0.00472;
5409 caSmt = -0.00026;
5410 cda5h = 0.03926;
5411 cMZ = 0.87397;
5412
5413 RelThError=0.;
5414 } else if ( s > 210.*210. ) {
5415 X0 = 0.;
5416 cMH = 0.;
5417 cmt = 0.;
5418 caS = 0.;
5419 caS2 = 0.;
5420 caSmt = 0.;
5421 cda5h = 0.;
5422 cMZ = 0.;
5423
5424 RelThError=0.;
5425 } else {
5426 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5427 }
5428 } else if (cos == 0.1) {
5429 if (s==183.*183.) {
5430 X0 = 1.51095;
5431 cMH = -0.00029;
5432 cmt = 0.00983;
5433 caS = -0.00115;
5434 caS2 = -0.00388;
5435 caSmt = -0.00084;
5436 cda5h = 0.05798;
5437 cMZ = 2.69974;
5438
5439 RelThError=0.;
5440 } else if (s==189.*189.) {
5441 X0 = 1.40027;
5442 cMH = -0.00011;
5443 cmt = 0.00888;
5444 caS = -0.00102;
5445 caS2 = -0.00422;
5446 caSmt = -0.00077;
5447 cda5h = 0.05465;
5448 cMZ = 2.39593;
5449
5450 RelThError=0.;
5451 } else if (s==192.*192.) {
5452 X0 = 1.34971;
5453 cMH = 0.;
5454 cmt = 0.00844;
5455 caS = -0.00096;
5456 caS2 = -0.00461;
5457 caSmt = -0.00072;
5458 cda5h = 0.05311;
5459 cMZ = 2.2538;
5460
5461 RelThError=0.;
5462 } else if (s==196.*196.) {
5463 X0 = 1.28678;
5464 cMH = 0.00015;
5465 cmt = 0.00791;
5466 caS = -0.00088;
5467 caS2 = -0.0051;
5468 caSmt = -0.00067;
5469 cda5h = 0.05116;
5470 cMZ = 2.08279;
5471
5472 RelThError=0.;
5473 } else if (s==200.*200.) {
5474 X0 = 1.22847;
5475 cMH = 0.00037;
5476 cmt = 0.00744;
5477 caS = -0.00082;
5478 caS2 = -0.00665;
5479 caSmt = -0.00064;
5480 cda5h = 0.0493;
5481 cMZ = 1.93027;
5482
5483 RelThError=0.;
5484 } else if (s==202.*202.) {
5485 X0 = 1.2009;
5486 cMH = 0.00055;
5487 cmt = 0.00722;
5488 caS = -0.00079;
5489 caS2 = -0.00806;
5490 caSmt = -0.00065;
5491 cda5h = 0.04839;
5492 cMZ = 1.85593;
5493
5494 RelThError=0.;
5495 } else if (s==205.*205.) {
5496 X0 = 1.16137;
5497 cMH = 0.00082;
5498 cmt = 0.00692;
5499 caS = -0.00075;
5500 caS2 = -0.0103;
5501 caSmt = -0.00056;
5502 cda5h = 0.0471;
5503 cMZ = 1.76275;
5504
5505 RelThError=0.;
5506 } else if (s==207.*207.) {
5507 X0 = 1.13616;
5508 cMH = 0.00097;
5509 cmt = 0.00673;
5510 caS = -0.00072;
5511 caS2 = -0.01064;
5512 caSmt = -0.00052;
5513 cda5h = 0.04626;
5514 cMZ = 1.70097;
5515
5516 RelThError=0.;
5517 } else if ( s > 210.*210. ) {
5518 X0 = 0.;
5519 cMH = 0.;
5520 cmt = 0.;
5521 caS = 0.;
5522 caS2 = 0.;
5523 caSmt = 0.;
5524 cda5h = 0.;
5525 cMZ = 0.;
5526
5527 RelThError=0.;
5528 } else {
5529 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5530 }
5531 } else if (cos == 0.3) {
5532 if (s==183.*183.) {
5533 X0 = 2.00835;
5534 cMH = -0.00019;
5535 cmt = 0.01383;
5536 caS = -0.00161;
5537 caS2 = -0.00529;
5538 caSmt = -0.00127;
5539 cda5h = 0.07202;
5540 cMZ = 4.00879;
5541
5542 RelThError=0.;
5543 } else if (s==189.*189.) {
5544 X0 = 1.85872;
5545 cMH = 0.00007;
5546 cmt = 0.01262;
5547 caS = -0.00144;
5548 caS2 = -0.00591;
5549 caSmt = -0.00115;
5550 cda5h = 0.06765;
5551 cMZ = 3.57328;
5552
5553 RelThError=0.;
5554 } else if (s==192.*192.) {
5555 X0 = 1.79051;
5556 cMH = 0.00023;
5557 cmt = 0.01207;
5558 caS = -0.00137;
5559 caS2 = -0.00669;
5560 caSmt = -0.0011;
5561 cda5h = 0.06562;
5562 cMZ = 3.37838;
5563
5564 RelThError=0.;
5565 } else if (s==196.*196.) {
5566 X0 = 1.70566;
5567 cMH = 0.00047;
5568 cmt = 0.0114;
5569 caS = -0.00127;
5570 caS2 = -0.008;
5571 caSmt = -0.00103;
5572 cda5h = 0.06306;
5573 cMZ = 3.14168;
5574
5575 RelThError=0.;
5576 } else if (s==200.*200.) {
5577 X0 = 1.6271;
5578 cMH = 0.00081;
5579 cmt = 0.01079;
5580 caS = -0.00119;
5581 caS2 = -0.01007;
5582 caSmt = -0.00099;
5583 cda5h = 0.06065;
5584 cMZ = 2.92935;
5585
5586 RelThError=0.;
5587 } else if (s==202.*202.) {
5588 X0 = 1.58997;
5589 cMH = 0.0011;
5590 cmt = 0.0105;
5591 caS = -0.00116;
5592 caS2 = -0.01273;
5593 caSmt = -0.00102;
5594 cda5h = 0.05948;
5595 cMZ = 2.8313;
5596
5597 RelThError=0.;
5598 } else if (s==205.*205.) {
5599 X0 = 1.53677;
5600 cMH = 0.00155;
5601 cmt = 0.0101;
5602 caS = -0.0011;
5603 caS2 = -0.01647;
5604 caSmt = -0.00087;
5605 cda5h = 0.05782;
5606 cMZ = 2.69299;
5607
5608 RelThError=0.;
5609 } else if (s==207.*207.) {
5610 X0 = 1.50286;
5611 cMH = 0.0018;
5612 cmt = 0.00985;
5613 caS = -0.00106;
5614 caS2 = -0.01726;
5615 caSmt = -0.0008;
5616 cda5h = 0.05674;
5617 cMZ = 2.60535;
5618
5619 RelThError=0.;
5620 } else if ( s > 210.*210. ) {
5621 X0 = 0.;
5622 cMH = 0.;
5623 cmt = 0.;
5624 caS = 0.;
5625 caS2 = 0.;
5626 caSmt = 0.;
5627 cda5h = 0.;
5628 cMZ = 0.;
5629
5630 RelThError=0.;
5631 } else {
5632 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5633 }
5634 } else if (cos == 0.5) {
5635 if (s==183.*183.) {
5636 X0 = 2.6045;
5637 cMH = -0.00005;
5638 cmt = 0.01782;
5639 caS = -0.00207;
5640 caS2 = -0.00711;
5641 caSmt = -0.00174;
5642 cda5h = 0.09081;
5643 cMZ = 5.3652;
5644
5645 RelThError=0.;
5646 } else if (s==189.*189.) {
5647 X0 = 2.41022;
5648 cMH = 0.00029;
5649 cmt = 0.01639;
5650 caS = -0.00187;
5651 caS2 = -0.00847;
5652 caSmt = -0.00157;
5653 cda5h = 0.08507;
5654 cMZ = 4.79831;
5655
5656 RelThError=0.;
5657 } else if (s==192.*192.) {
5658 X0 = 2.32175;
5659 cMH = 0.00049;
5660 cmt = 0.01576;
5661 caS = -0.00178;
5662 caS2 = -0.00912;
5663 caSmt = -0.0015;
5664 cda5h = 0.0824;
5665 cMZ = 4.5511;
5666
5667 RelThError=0.;
5668 } else if (s==196.*196.) {
5669 X0 = 2.21167;
5670 cMH = 0.00082;
5671 cmt = 0.01499;
5672 caS = -0.00168;
5673 caS2 = -0.01091;
5674 caSmt = -0.00143;
5675 cda5h = 0.07905;
5676 cMZ = 4.25223;
5677
5678 RelThError=0.;
5679 } else if (s==200.*200.) {
5680 X0 = 2.10971;
5681 cMH = 0.00129;
5682 cmt = 0.01428;
5683 caS = -0.00158;
5684 caS2 = -0.0139;
5685 caSmt = -0.00138;
5686 cda5h = 0.07589;
5687 cMZ = 3.98313;
5688
5689 RelThError=0.;
5690 } else if (s==202.*202.) {
5691 X0 = 2.06152;
5692 cMH = 0.00171;
5693 cmt = 0.01395;
5694 caS = -0.00154;
5695 caS2 = -0.01782;
5696 caSmt = -0.00142;
5697 cda5h = 0.07437;
5698 cMZ = 3.85925;
5699
5700 RelThError=0.;
5701 } else if (s==205.*205.) {
5702 X0 = 1.99244;
5703 cMH = 0.00235;
5704 cmt = 0.01348;
5705 caS = -0.00147;
5706 caS2 = -0.02326;
5707 caSmt = -0.0012;
5708 cda5h = 0.07222;
5709 cMZ = 3.68062;
5710
5711 RelThError=0.;
5712 } else if (s==207.*207.) {
5713 X0 = 1.9484;
5714 cMH = 0.00271;
5715 cmt = 0.01318;
5716 caS = -0.00142;
5717 caS2 = -0.02439;
5718 caSmt = -0.00111;
5719 cda5h = 0.07083;
5720 cMZ = 3.56826;
5721
5722 RelThError=0.;
5723 } else if ( s > 210.*210. ) {
5724 X0 = 0.;
5725 cMH = 0.;
5726 cmt = 0.;
5727 caS = 0.;
5728 caS2 = 0.;
5729 caSmt = 0.;
5730 cda5h = 0.;
5731 cMZ = 0.;
5732
5733 RelThError=0.;
5734 } else {
5735 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5736 }
5737 } else if (cos == 0.7) {
5738 if (s==183.*183.) {
5739 X0 = 3.29675;
5740 cMH = 0.00015;
5741 cmt = 0.02156;
5742 caS = -0.00248;
5743 caS2 = -0.00891;
5744 caSmt = -0.00222;
5745 cda5h = 0.11459;
5746 cMZ = 6.73479;
5747
5748 RelThError=0.;
5749 } else if (s==189.*189.) {
5750 X0 = 3.05254;
5751 cMH = 0.00058;
5752 cmt = 0.01994;
5753 caS = -0.00226;
5754 caS2 = -0.01067;
5755 caSmt = -0.00202;
5756 cda5h = 0.10718;
5757 cMZ = 6.02181;
5758
5759 RelThError=0.;
5760 } else if (s==192.*192.) {
5761 X0 = 2.94144;
5762 cMH = 0.00083;
5763 cmt = 0.01927;
5764 caS = -0.00217;
5765 caS2 = -0.01172;
5766 caSmt = -0.00194;
5767 cda5h = 0.10371;
5768 cMZ = 5.72791;
5769
5770 RelThError=0.;
5771 } else if (s==196.*196.) {
5772 X0 = 2.80315;
5773 cMH = 0.00124;
5774 cmt = 0.01845;
5775 caS = -0.00205;
5776 caS2 = -0.01397;
5777 caSmt = -0.00184;
5778 cda5h = 0.09935;
5779 cMZ = 5.36646;
5780
5781 RelThError=0.;
5782 } else if (s==200.*200.) {
5783 X0 = 2.675;
5784 cMH = 0.00185;
5785 cmt = 0.0177;
5786 caS = -0.00195;
5787 caS2 = -0.01819;
5788 caSmt = -0.00178;
5789 cda5h = 0.09526;
5790 cMZ = 5.04935;
5791
5792 RelThError=0.;
5793 } else if (s==202.*202.) {
5794 X0 = 2.61438;
5795 cMH = 0.00239;
5796 cmt = 0.01733;
5797 caS = -0.00191;
5798 caS2 = -0.02314;
5799 caSmt = -0.00184;
5800 cda5h = 0.0933;
5801 cMZ = 4.90256;
5802
5803 RelThError=0.;
5804 } else if (s==205.*205.) {
5805 X0 = 2.52748;
5806 cMH = 0.00324;
5807 cmt = 0.01683;
5808 caS = -0.00183;
5809 caS2 = -0.03044;
5810 caSmt = -0.00156;
5811 cda5h = 0.09052;
5812 cMZ = 4.6867;
5813
5814 RelThError=0.;
5815 } else if (s==207.*207.) {
5816 X0 = 2.47205;
5817 cMH = 0.00371;
5818 cmt = 0.01649;
5819 caS = -0.00178;
5820 caS2 = -0.0319;
5821 caSmt = -0.00145;
5822 cda5h = 0.08873;
5823 cMZ = 4.5481;
5824
5825 RelThError=0.;
5826 } else if ( s > 210.*210. ) {
5827 X0 = 0.;
5828 cMH = 0.;
5829 cmt = 0.;
5830 caS = 0.;
5831 caS2 = 0.;
5832 caSmt = 0.;
5833 cda5h = 0.;
5834 cMZ = 0.;
5835
5836 RelThError=0.;
5837 } else {
5838 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5839 }
5840 } else if (cos == 0.9) {
5841 if (s==183.*183.) {
5842 X0 = 4.07728;
5843 cMH = 0.00045;
5844 cmt = 0.02468;
5845 caS = -0.00282;
5846 caS2 = -0.01076;
5847 caSmt = -0.00272;
5848 cda5h = 0.14366;
5849 cMZ = 8.06625;
5850
5851 RelThError=0.;
5852 } else if (s==189.*189.) {
5853 X0 = 3.77781;
5854 cMH = 0.00096;
5855 cmt = 0.02287;
5856 caS = -0.00257;
5857 caS2 = -0.0126;
5858 caSmt = -0.00249;
5859 cda5h = 0.13431;
5860 cMZ = 7.18426;
5861
5862 RelThError=0.;
5863 } else if (s==192.*192.) {
5864 X0 = 3.6418;
5865 cMH = 0.00126;
5866 cmt = 0.02218;
5867 caS = -0.00248;
5868 caS2 = -0.01431;
5869 caSmt = -0.00237;
5870 cda5h = 0.1299;
5871 cMZ = 6.84134;
5872
5873 RelThError=0.;
5874 } else if (s==196.*196.) {
5875 X0 = 3.47251;
5876 cMH = 0.00176;
5877 cmt = 0.02134;
5878 caS = -0.00236;
5879 caS2 = -0.01727;
5880 caSmt = -0.00226;
5881 cda5h = 0.12435;
5882 cMZ = 6.42951;
5883
5884 RelThError=0.;
5885 } else if (s==200.*200.) {
5886 X0 = 3.31563;
5887 cMH = 0.00251;
5888 cmt = 0.02056;
5889 caS = -0.00225;
5890 caS2 = -0.02245;
5891 caSmt = -0.00219;
5892 cda5h = 0.11915;
5893 cMZ = 6.05344;
5894
5895 RelThError=0.;
5896 } else if (s==202.*202.) {
5897 X0 = 3.24142;
5898 cMH = 0.00318;
5899 cmt = 0.02019;
5900 caS = -0.00221;
5901 caS2 = -0.02884;
5902 caSmt = -0.00227;
5903 cda5h = 0.11665;
5904 cMZ = 5.88563;
5905
5906 RelThError=0.;
5907 } else if (s==205.*205.) {
5908 X0 = 3.13501;
5909 cMH = 0.00424;
5910 cmt = 0.01967;
5911 caS = -0.00213;
5912 caS2 = -0.03787;
5913 caSmt = -0.00193;
5914 cda5h = 0.11311;
5915 cMZ = 5.62948;
5916
5917 RelThError=0.;
5918 } else if (s==207.*207.) {
5919 X0 = 3.06714;
5920 cMH = 0.00483;
5921 cmt = 0.01934;
5922 caS = -0.00208;
5923 caS2 = -0.04027;
5924 caSmt = -0.00178;
5925 cda5h = 0.11083;
5926 cMZ = 5.47527;
5927
5928 RelThError=0.;
5929 } else if ( s > 210.*210. ) {
5930 X0 = 0.;
5931 cMH = 0.;
5932 cmt = 0.;
5933 caS = 0.;
5934 caS2 = 0.;
5935 caSmt = 0.;
5936 cda5h = 0.;
5937 cMZ = 0.;
5938
5939 RelThError=0.;
5940 } else {
5941 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5942 }
5943 } else {
5944 throw std::runtime_error(" ERROR: wrong LEP2 angle in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5945 }
5946
5947 return ((X0 + cMH * LH + cmt * Dt
5948 + caS * Das + caS2 * Das * Das
5949 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
5950}

◆ LEP2sigmaHadronApprox()

double EWSMApproximateFormulae::LEP2sigmaHadronApprox ( const double  s) const

The \(e^+e^- \to hadrons\) cross section at LEP2.

This function is based on the approximate formula for the cross section, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
the \(e^+e^- \to hadrons\) cross section in units of pb

Definition at line 2295 of file EWSMApproximateFormulae.cpp.

2296{
2297 double LH = log(mycache.getSM().getMHl() / 125.21);
2298 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
2299 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
2300 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
2301 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
2302
2303 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
2304 double RelThError = 0.0; // (Relative) Theoretical uncertainty
2305
2306 if (s==130.2*130.2) {
2307 X0 = 82.8892;
2308 cMH = -0.15474;
2309 cmt = 1.40573;
2310 caS = 2.62479;
2311 caS2 = -0.36848;
2312 caSmt = -0.07418;
2313 cda5h = -1.10373;
2314 cMZ = 668.098;
2315
2316 RelThError=0.;
2317 } else if (s==136.2*136.2) {
2318 X0 = 66.678;
2319 cMH = -0.11894;
2320 cmt = 1.10611;
2321 caS = 2.08786;
2322 caS2 = -0.31851;
2323 caSmt = -0.05714;
2324 cda5h = -0.7474;
2325 cMZ = 483.206;
2326
2327 RelThError=0.;
2328 } else if (s==161.3*161.3) {
2329 X0 = 35.3327;
2330 cMH = -0.04814;
2331 cmt = 0.67248;
2332 caS = 1.04946;
2333 caS2 = -2.91626;
2334 caSmt = 0.14485;
2335 cda5h = -0.16031;
2336 cMZ = 194.287;
2337
2338 RelThError=0.;
2339 } else if (s==172.1*172.1) {
2340 X0 = 28.9533;
2341 cMH = -0.0217;
2342 cmt = 0.84287;
2343 caS = 0.82342;
2344 caS2 = -10.3622;
2345 caSmt = 0.34553;
2346 cda5h = -0.08566;
2347 cMZ = 143.973;
2348
2349 RelThError=0.;
2350 } else if (s==182.7*182.7) {
2351 X0 = 24.3396;
2352 cMH = -0.02135;
2353 cmt = 0.55825;
2354 caS = 0.65303;
2355 caS2 = 2.27278;
2356 caSmt = 0.15497;
2357 cda5h = -0.02621;
2358 cMZ = 117.679;
2359
2360 RelThError=0.;
2361 } else if (s==188.6*188.6) {
2362 X0 = 22.2913;
2363 cMH = -0.01369;
2364 cmt = 0.38248;
2365 caS = 0.58642;
2366 caS2 = 0.07636;
2367 caSmt = 0.03366;
2368 cda5h = -0.00452;
2369 cMZ = 105.239;
2370
2371 RelThError=0.;
2372 } else if (s==191.6*191.6) {
2373 X0 = 21.3559;
2374 cMH = -0.00962;
2375 cmt = 0.35565;
2376 caS = 0.55869;
2377 caS2 = -0.03217;
2378 caSmt = 0.02119;
2379 cda5h = 0.00413;
2380 cMZ = 99.4257;
2381
2382 RelThError=0.;
2383 } else if (s==195.5*195.5) {
2384 X0 = 20.233;
2385 cMH = -0.00369;
2386 cmt = 0.32882;
2387 caS = 0.52602;
2388 caS2 = -0.07412;
2389 caSmt = 0.01125;
2390 cda5h = 0.01378;
2391 cMZ = 92.7475;
2392
2393 RelThError=0.;
2394 } else if (s==199.5*199.5) {
2395 X0 = 19.1785;
2396 cMH = 0.00421;
2397 cmt = 0.30557;
2398 caS = 0.49572;
2399 caS2 = -0.08902;
2400 caSmt = 0.00367;
2401 cda5h = 0.02208;
2402 cMZ = 86.5648;
2403
2404 RelThError=0.;
2405 } else if (s==201.6*201.6) {
2406 X0 = 18.6603;
2407 cMH = 0.01064;
2408 cmt = 0.29435;
2409 caS = 0.48093;
2410 caS2 = -0.11273;
2411 caSmt = -0.00029;
2412 cda5h = 0.02582;
2413 cMZ = 83.6171;
2414
2415 RelThError=0.;
2416 } else if (s==204.9*204.9) {
2417 X0 = 17.8912;
2418 cMH = 0.02277;
2419 cmt = 0.2783;
2420 caS = 0.4593;
2421 caS2 = -0.26373;
2422 caSmt = -0.00193;
2423 cda5h = 0.03143;
2424 cMZ = 79.1842;
2425
2426 RelThError=0.;
2427 } else if (s==206.7*206.7) {
2428 X0 = 17.4932;
2429 cMH = 0.02808;
2430 cmt = 0.27049;
2431 caS = 0.44822;
2432 caS2 = -0.32919;
2433 caSmt = -0.0022;
2434 cda5h = 0.03404;
2435 cMZ = 76.9357;
2436
2437 RelThError=0.;
2438 } else if ( s > 210.*210. ) {
2439 X0 = 0.;
2440 cMH = 0.;
2441 cmt = 0.;
2442 caS = 0.;
2443 caS2 = 0.;
2444 caSmt = 0.;
2445 cda5h = 0.;
2446 cMZ = 0.;
2447
2448 RelThError=0.;
2449 } else
2450 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2sigmaHadronApprox()");
2451
2452 return ((X0 + cMH * LH + cmt * Dt
2453 + caS * Das + caS2 * Das * Das
2454 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
2455}

◆ LEP2sigmaMuApprox()

double EWSMApproximateFormulae::LEP2sigmaMuApprox ( const double  s) const

The \(e^+e^- \to \mu^+\mu^-\) cross section at LEP2.

This function is based on the approximate formula for the cross section, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
the \(e^+e^- \to \mu^+\mu^-\) cross section in units of pb

Definition at line 1643 of file EWSMApproximateFormulae.cpp.

1644{
1645 double LH = log(mycache.getSM().getMHl() / 125.21);
1646 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
1647 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
1648 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
1649 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
1650
1651 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
1652 double RelThError = 0.0; // (Relative) Theoretical uncertainty
1653
1654 if (s==130.2*130.2) {
1655 X0 = 8.46687;
1656 cMH = -0.00584;
1657 cmt = 0.07033;
1658 caS = -0.00927;
1659 caS2 = -0.00304;
1660 caSmt = -0.00728;
1661 cda5h = 0.24694;
1662 cMZ = 29.5535;
1663
1664 RelThError=0.;
1665 } else if (s==136.2*136.2) {
1666 X0 = 7.31107;
1667 cMH = -0.00447;
1668 cmt = 0.05547;
1669 caS = -0.00715;
1670 caS2 = -0.0033;
1671 caSmt = -0.00566;
1672 cda5h = 0.2341;
1673 cMZ = 21.2072;
1674
1675 RelThError=0.;
1676 } else if (s==161.3*161.3) {
1677 X0 = 4.68874;
1678 cMH = -0.00198;
1679 cmt = 0.02969;
1680 caS = -0.00363;
1681 caS2 = -0.01;
1682 caSmt = -0.00233;
1683 cda5h = 0.17756;
1684 cMZ = 8.79695;
1685
1686 RelThError=0.;
1687 } else if (s==172.1*172.1) {
1688 X0 = 4.00451;
1689 cMH = -0.00153;
1690 cmt = 0.0258;
1691 caS = -0.00311;
1692 caS2 = 0.00217;
1693 caSmt = -0.00233;
1694 cda5h = 0.15653;
1695 cMZ = 7.09793;
1696
1697 RelThError=0.;
1698 } else if (s==182.7*182.7) {
1699 X0 = 3.47914;
1700 cMH = -0.00088;
1701 cmt = 0.02118;
1702 caS = -0.00247;
1703 caS2 = -0.00777;
1704 caSmt = -0.00171;
1705 cda5h = 0.14091;
1706 cMZ = 5.55998;
1707
1708 RelThError=0.;
1709 } else if (s==188.6*188.6) {
1710 X0 = 3.23234;
1711 cMH = -0.00052;
1712 cmt = 0.0191;
1713 caS = -0.00218;
1714 caS2 = -0.00834;
1715 caSmt = -0.00154;
1716 cda5h = 0.13321;
1717 cMZ = 4.91462;
1718
1719 RelThError=0.;
1720 } else if (s==191.6*191.6) {
1721 X0 = 3.11733;
1722 cMH = -0.00032;
1723 cmt = 0.01813;
1724 caS = -0.00205;
1725 caS2 = -0.00921;
1726 caSmt = -0.00146;
1727 cda5h = 0.12955;
1728 cMZ = 4.62536;
1729
1730 RelThError=0.;
1731 } else if (s==195.5*195.5) {
1732 X0 = 2.97753;
1733 cMH = -0.00002;
1734 cmt = 0.01695;
1735 caS = -0.00189;
1736 caS2 = -0.01044;
1737 caSmt = -0.00136;
1738 cda5h = 0.12504;
1739 cMZ = 4.25918;
1740
1741 RelThError=0.;
1742 } else if (s==199.5*199.5) {
1743 X0 = 2.84444;
1744 cMH = 0.00037;
1745 cmt = 0.01588;
1746 caS = -0.00174;
1747 caS2 = -0.01254;
1748 caSmt = -0.00128;
1749 cda5h = 0.12062;
1750 cMZ = 3.93087;
1751
1752 RelThError=0.;
1753 } else if (s==201.6*201.6) {
1754 X0 = 2.77838;
1755 cMH = 0.00069;
1756 cmt = 0.01536;
1757 caS = -0.00167;
1758 caS2 = -0.01512;
1759 caSmt = -0.00129;
1760 cda5h = 0.11837;
1761 cMZ = 3.77165;
1762
1763 RelThError=0.;
1764 } else if (s==204.9*204.9) {
1765 X0 = 2.67945;
1766 cMH = 0.00125;
1767 cmt = 0.01462;
1768 caS = -0.00157;
1769 caS2 = -0.01972;
1770 caSmt = -0.00112;
1771 cda5h = 0.11497;
1772 cMZ = 3.54289;
1773
1774 RelThError=0.;
1775 } else if (s==206.7*206.7) {
1776 X0 = 2.62786;
1777 cMH = 0.0015;
1778 cmt = 0.01425;
1779 caS = -0.00151;
1780 caS2 = -0.02055;
1781 caSmt = -0.00102;
1782 cda5h = 0.11317;
1783 cMZ = 3.42495;
1784
1785 RelThError=0.;
1786 } else if ( s > 210.*210. ) {
1787 X0 = 0.;
1788 cMH = 0.;
1789 cmt = 0.;
1790 caS = 0.;
1791 caS2 = 0.;
1792 caSmt = 0.;
1793 cda5h = 0.;
1794 cMZ = 0.;
1795
1796 RelThError=0.;
1797 } else
1798 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2sigmaMuApprox()");
1799
1800 return ((X0 + cMH * LH + cmt * Dt
1801 + caS * Das + caS2 * Das * Das
1802 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
1803}

◆ LEP2sigmaTauApprox()

double EWSMApproximateFormulae::LEP2sigmaTauApprox ( const double  s) const

The \(e^+e^- \to \tau^+\tau^-\) cross section at LEP2.

This function is based on the approximate formula for the cross section, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
the \(e^+e^- \to \tau^+\tau^-\) cross section in units of pb

Definition at line 1969 of file EWSMApproximateFormulae.cpp.

1970{
1971 double LH = log(mycache.getSM().getMHl() / 125.21);
1972 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
1973 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
1974 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
1975 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
1976
1977 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
1978 double RelThError = 0.0; // (Relative) Theoretical uncertainty
1979
1980 if (s==130.2*130.2) {
1981 X0 = 8.46349;
1982 cMH = -0.00584;
1983 cmt = 0.07027;
1984 caS = -0.00926;
1985 caS2 = -0.00309;
1986 caSmt = -0.00727;
1987 cda5h = 0.24696;
1988 cMZ = 29.5239;
1989
1990 RelThError=0.;
1991 } else if (s==136.2*136.2) {
1992 X0 = 7.3087;
1993 cMH = -0.00447;
1994 cmt = 0.05543;
1995 caS = -0.00715;
1996 caS2 = -0.00341;
1997 caSmt= -0.00566;
1998 cda5h = 0.23411;
1999 cMZ = 21.1884;
2000
2001 RelThError=0.;
2002 } else if (s==161.3*161.3) {
2003 X0 = 4.68796;
2004 cMH = -0.00198;
2005 cmt = 0.02968;
2006 caS = -0.00363;
2007 caS2 = -0.00999;
2008 caSmt= -0.00233;
2009 cda5h = 0.17757;
2010 cMZ = 8.79193;
2011
2012 RelThError=0.;
2013 } else if (s==172.1*172.1) {
2014 X0 = 4.00398;
2015 cMH = -0.00153;
2016 cmt = 0.02579;
2017 caS = -0.0031;
2018 caS2 = 0.00223;
2019 caSmt= -0.00233;
2020 cda5h = 0.15654;
2021 cMZ = 7.09461;
2022
2023 RelThError=0.;
2024 } else if (s==182.7*182.7) {
2025 X0 = 3.47876;
2026 cMH = -0.00088;
2027 cmt = 0.02118;
2028 caS = -0.00247;
2029 caS2 = -0.00758;
2030 caSmt= -0.00171;
2031 cda5h = 0.14091;
2032 cMZ = 5.55773;
2033
2034 RelThError=0.;
2035 } else if (s==188.6*188.6) {
2036 X0 = 3.23202;
2037 cMH = -0.00052;
2038 cmt = 0.01909;
2039 caS = -0.00218;
2040 caS2 = -0.00851;
2041 caSmt= -0.00154;
2042 cda5h = 0.13321;
2043 cMZ = 4.91269;
2044
2045 RelThError=0.;
2046 } else if (s==191.6*191.6) {
2047 X0 = 3.11704;
2048 cMH = -0.00032;
2049 cmt = 0.01813;
2050 caS = -0.00205;
2051 caS2 = -0.00936;
2052 caSmt= -0.00146;
2053 cda5h = 0.12955;
2054 cMZ = 4.62364;
2055
2056 RelThError=0.;
2057 } else if (s==195.5*195.5) {
2058 X0 = 2.97726;
2059 cMH = -0.00002;
2060 cmt = 0.01695;
2061 caS = -0.00189;
2062 caS2 = -0.01035;
2063 caSmt= -0.00136;
2064 cda5h = 0.12504;
2065 cMZ = 4.25766;
2066
2067 RelThError=0.;
2068 } else if (s==199.5*199.5) {
2069 X0 = 2.8442;
2070 cMH = 0.00037;
2071 cmt = 0.01587;
2072 caS = -0.00174;
2073 caS2 = -0.01253;
2074 caSmt= -0.00128;
2075 cda5h = 0.12062;
2076 cMZ = 3.92951;
2077
2078 RelThError=0.;
2079 } else if (s==201.6*201.6) {
2080 X0 = 2.77816;
2081 cMH = 0.00069;
2082 cmt = 0.01536;
2083 caS = -0.00167;
2084 caS2 = -0.01522;
2085 caSmt= -0.00129;
2086 cda5h = 0.11837;
2087 cMZ = 3.7704;
2088
2089 RelThError=0.;
2090 } else if (s==204.9*204.9) {
2091 X0 = 2.67925;
2092 cMH = 0.00125;
2093 cmt = 0.01462;
2094 caS = -0.00157;
2095 caS2 = -0.0198;
2096 caSmt= -0.00112;
2097 cda5h = 0.11497;
2098 cMZ = 3.54175;
2099
2100 RelThError=0.;
2101 } else if (s==206.7*206.7) {
2102 X0 = 2.62766;
2103 cMH = 0.0015;
2104 cmt = 0.01424;
2105 caS = -0.00151;
2106 caS2 = -0.02061;
2107 caSmt= -0.00102;
2108 cda5h = 0.11317;
2109 cMZ = 3.42386;
2110
2111 RelThError=0.;
2112 } else if ( s > 210.*210. ) {
2113 X0 = 0.;
2114 cMH = 0.;
2115 cmt = 0.;
2116 caS = 0.;
2117 caS2 = 0.;
2118 caSmt = 0.;
2119 cda5h = 0.;
2120 cMZ = 0.;
2121
2122 RelThError=0.;
2123 } else
2124 throw std::runtime_error("ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2sigmaTauApprox()");
2125
2126 return ((X0 + cMH * LH + cmt * Dt
2127 + caS * Das + caS2 * Das * Das
2128 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
2129}

◆ LEThetaLnuNApprox()

double EWSMApproximateFormulae::LEThetaLnuNApprox ( ) const

The effective neutrino nucleon LH parameter: ThetaLnuN.

This function is based on the approximate formula for the parameter, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
\(\theta_L(\nu N)\)

Definition at line 6012 of file EWSMApproximateFormulae.cpp.

6013{
6014 double LH = log(mycache.getSM().getMHl() / 125.21);
6015 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
6016 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
6017 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
6018 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
6019
6020 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
6021 double RelThError = 0.0; // (Relative) Theoretical uncertainty
6022
6023 X0 = 2.4631;
6024 cMH = 0.00019;
6025 cmt = -0.00077;
6026 caS = 0.00034;
6027 caS2 = 0.00045;
6028 caSmt = -0.00034;
6029 cda5h = 0.00495;
6030 cMZ = -0.33743;
6031
6032 RelThError = 0.;
6033
6034 return ((X0 + cMH * LH + cmt * Dt
6035 + caS * Das + caS2 * Das * Das
6036 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
6037}

◆ LEThetaRnuNApprox()

double EWSMApproximateFormulae::LEThetaRnuNApprox ( ) const

The effective neutrino nucleon RH parameter: ThetaRnuN.

This function is based on the approximate formula for the parameter, obtained fitting the ZFitter predictions to a semi- analytical expression as function of the SM parameters.

Returns
\(\theta_R(\nu N)\)

Definition at line 6040 of file EWSMApproximateFormulae.cpp.

6041{
6042 double LH = log(mycache.getSM().getMHl() / 125.21);
6043 double Dt = pow(mycache.getSM().getMtpole() / 172.33, 2.0) - 1.0;
6044 double Das = mycache.getSM().getAlsMz() / 0.11802 - 1.0;
6045 double Da5h = mycache.getSM().Dalpha5hMz() / 0.027660 - 1.0;
6046 double DZ = mycache.getSM().getMz() / 91.1875 - 1.0;
6047
6048 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
6049 double RelThError = 0.0; // (Relative) Theoretical uncertainty
6050
6051 X0 = 5.17646;
6052 cMH = 0.;
6053 cmt = -0.00002;
6054 caS = -0.00002;
6055 caS2 = 0.;
6056 caSmt = -0.00001;
6057 cda5h = 0.;
6058 cMZ = -0.00013;
6059
6060 RelThError = 0.;
6061
6062 return ((X0 + cMH * LH + cmt * Dt
6063 + caS * Das + caS2 * Das * Das
6064 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
6065}

◆ Mw()

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 [Awramik:2003rn], 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 [Awramik:2003rn]. 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;
27 if (mycache.getSM().getMHl() >= 100.0 && mycache.getSM().getMHl() <= UpperBoundForApproximateFormulae) {
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}

◆ R0_bottom_OLD()

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 [Freitas:2012sy], 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 412 of file EWSMApproximateFormulae.cpp.

413{
414 // applicable for 10 GeV <= mHl <= 1 TeV
415 if (mycache.getSM().getMHl() < 10.0 || mycache.getSM().getMHl() > UpperBoundForApproximateFormulae) {
416 std::stringstream out;
417 out << mycache.getSM().getMHl();
418 throw std::runtime_error("ApproximateFormulae::R0_bottom(): mh=" + out.str() + " is out of range");
419 }
420
421 /*-----------------------------------------------*/
422 /* arXiv:1205.0299v1 by Freitas and Huang */
423 /*
424 double Rb00 = 0.2147464;
425 double c1 = 0.0000221;
426 double c2 = 0.0000026;
427 double c3 = -0.00000067;
428 double c4 = 0.0000000911;
429 double c5 = 0.000647;
430 double c6 = -0.003239;
431 double c7 = 0.0000673;
432 double c8 = -0.000324;
433 double c9 = 0.0610;
434
435 double L_H = log(mycache.getSM().getMHl()/100.0);
436 double Delta_H = mycache.getSM().getMHl()/100.0;
437 double Delta_ale = mycache.getSM().mycache.getSM().DeltaAlphaL5q()/0.05900 - 1.0;
438 double Delta_t = pow((mycache.getSM().getMtpole()/173.2), 2.0) - 1.0;
439 double Delta_alphas = mycache.getSM().getAlsMz()/0.1184 - 1.0;
440 double Delta_Z = mycache.getSM().getMz()/91.1876 - 1.0;
441
442 return (Rb00 + c1*L_H + c2*L_H*L_H + c3*pow(L_H, 4.0)
443 + c4*(Delta_H*Delta_H - 1.0) + c5*Delta_ale + c6*Delta_t
444 + c7*Delta_t*L_H + c8*Delta_alphas + c9*Delta_Z );
445 */
446
447 /*-----------------------------------------------*/
448 /* arXiv:1205.0299v2 by Freitas and Huang */
449 /*
450 double Rb00 = 0.2149246;
451 double c1 = 2.23 * pow(10.0, -5.);
452 double c2 = 2.6 * pow(10.0, -6.);
453 double c3 = -6.8 * pow(10.0, -7.);
454 double c4 = 9.19 *pow(10.0, -8.);
455 double c5 = 6.58 * pow(10.0, -4.);
456 double c6 = -3.363 * pow(10.0, -3.);
457 double c7 = 6.74 * pow(10.0, -5.);
458 double c8 = -1.688 * pow(10.0, -3.);
459 double c9 = -9.26 * pow(10.0, -4.);
460 double c10 = 5.93 * pow(10.0, -2.);
461
462 double L_H = log(mycache.getSM().getMHl()/100.0);
463 double Delta_H = mycache.getSM().getMHl()/100.0;
464 double Delta_ale = mycache.getSM().mycache.getSM().DeltaAlphaL5q()/0.05900 - 1.0;
465 double Delta_t = pow((mycache.getSM().getMtpole()/173.2), 2.0) - 1.0;
466 double Delta_alphas = mycache.getSM().getAlsMz()/0.1184 - 1.0;
467 double Delta_Z = mycache.getSM().getMz()/91.1876 - 1.0;
468
469 return (Rb00 + c1*L_H + c2*L_H*L_H + c3*pow(L_H, 4.0)
470 + c4*(Delta_H*Delta_H - 1.0) + c5*Delta_ale + c6*Delta_t
471 + c7*Delta_t*L_H + c8*Delta_alphas + c9*Delta_alphas*Delta_alphas
472 + c10*Delta_Z );
473 */
474
475 /*-----------------------------------------------*/
476 /* arXiv:1205.0299v3 by Freitas and Huang */
477
478 double Rb00 = 0.2154940;
479 double c1 = 1.88 * pow(10.0, -5.);
480 double c2 = 2.0 * pow(10.0, -6.);
481 double c3 = -6.0 * pow(10.0, -7.);
482 double c4 = 8.53 * pow(10.0, -8.);
483 double c5 = 7.05 * pow(10.0, -4.);
484 double c6 = -3.159 * pow(10.0, -3.);
485 double c7 = 6.65 * pow(10.0, -5.);
486 double c8 = -1.704 * pow(10.0, -3.);
487 double c9 = -9.30 * pow(10.0, -4.);
488 double c10 = 6.26 * pow(10.0, -2.);
489
490 double L_H = log(mycache.getSM().getMHl() / 100.0);
491 double Delta_H = mycache.getSM().getMHl() / 100.0;
492 double Delta_ale = mycache.getSM().DeltaAlphaL5q() / 0.05900 - 1.0;
493 double Delta_t = pow((mycache.getSM().getMtpole() / 173.2), 2.0) - 1.0;
494 double Delta_alphas = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
495 double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
496
497 /* Debug (parameters in arXiv:1205.0299v3) */
498 //double mHpaper = 100.0;
499 //double mHpaper = 200.0;
500 //double mHpaper = 400.0;
501 //double mHpaper = 600.0;
502 //double mHpaper = 1000.0;
503 //L_H = log(mHpaper/100.0);
504 //Delta_H = mHpaper/100.0;
505 //Delta_ale = 0.0;//0.05900/0.05900 - 1.0;
506 //Delta_t = 0.0;//pow((173.2/173.2), 2.0) - 1.0;
507 //Delta_alphas = 0.0;//0.1184/0.1184 - 1.0;
508 //Delta_Z = 0.0;//91.1876/91.1876 - 1.0;
509
510 return (Rb00 + c1 * L_H + c2 * L_H * L_H + c3 * pow(L_H, 4.0)
511 + c4 * (Delta_H * Delta_H - 1.0) + c5 * Delta_ale + c6 * Delta_t
512 + c7 * Delta_t * L_H + c8 * Delta_alphas + c9 * Delta_alphas * Delta_alphas
513 + c10 * Delta_Z);
514
515}

◆ sin2thetaEff()

double EWSMApproximateFormulae::sin2thetaEff ( const Particle  p) const
inline

The value of the effective weak mixing anlge for a given fermion.

Parameters
[in]pname of a particle
Returns
the value of \(\sin^^{\theta_{Eff}^p}\)

Definition at line 83 of file EWSMApproximateFormulae.h.

84 {
85 if (p.is("QUARK"))
86 return sin2thetaEff_q((QCD::quark) (p.getIndex() - 6));
87 else if (p.is("LEPTON"))
89 else
90 throw std::runtime_error("EWSMApproximateFormulae::sin2thetaEff() called with wrong argument");
91 }
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 QCD::lepton l) const
with the full two-loop EW corrections.
bool is(std::string name_i) const
Definition: Particle.cpp:23
int getIndex() const
Definition: Particle.h:160
quark
An enum type for quarks.
Definition: QCD.h:323
lepton
An enum type for leptons.
Definition: QCD.h:310

◆ sin2thetaEff_b()

double EWSMApproximateFormulae::sin2thetaEff_b ( ) const
private

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

This function is based on the approximate formulae for the weak mixing angle presented in [arXiv:1607.08375 hep-ph] (add citation), which include the complete two-loop EW corrections as well as leading three-loop corrections. The approximate formulae reproduce the full results with average and maximal deviations of \(2\times 10^{-7}\) and \(1.3\times 10^{-6}\), respectively, for the input parameters in the following ranges: \(m_h = 125.1 \pm 5\) GeV, \(\alpha_s(M_Z^2) = 0.1184\pm 0.005\), \(\Delta\alpha^{\ell+5q}(M_Z^2) = 0.059\pm 0.0005\), \(M_Z = 91.1876\pm 0.0042\) GeV and \(m_t = 173.2\pm 4.0\) GeV.

Returns
the effective weak mixing angle for \(Z\to b\bar{b}\)

Definition at line 274 of file EWSMApproximateFormulae.cpp.

275{
276 // applicable for 120.1 GeV <= mHl <= 130.1 GeV
277 if (mycache.getSM().getMHl() < 120.1 || mycache.getSM().getMHl() > 130.1) {
278 std::stringstream out;
279 out << mycache.getSM().getMHl();
280 throw std::runtime_error("ApproximateFormulae::sin2thetaEff_b(): mh=" + out.str() + " is out of range");
281 }
282
283 double s0, d1, d2, d3, d4, d5, d6, d7, d8, d9;
284
285 s0 = 0.232704;
286 d1 = 4.723 * 0.0001;
287 d2 = 1.97 * 0.0001;
288 d3 = 2.07 * 0.01;
289 d4 = -9.733 * 0.0001;
290 d5 = 3.93 * 0.0001;
291 d6 = -1.38 * 0.0001;
292 d7 = 2.42 * 0.0001;
293 d8 = -8.10 * 0.0001;
294 d9 = -0.664;
295
296 double L_H = log(mycache.getSM().getMHl() / 125.7);
297 double Delta_ale = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
298 double Delta_t = pow((mycache.getSM().getMtpole() / 173.2), 2.0) - 1.0;
299 double Delta_alphas = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
300 double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
301
302 return (s0 + d1 * L_H + d2 * L_H * L_H
303 + d3 * Delta_ale
304 + d4 * Delta_t + d5 * Delta_t * Delta_t + d6 * Delta_t * L_H
305 + d7 * Delta_alphas + d8 * Delta_t * Delta_alphas
306 + d9 * Delta_Z
308}
const double getDelSin2th_b() const
A get method to retrieve the theoretical uncertainty in , denoted as .

◆ sin2thetaEff_b_full()

double EWSMApproximateFormulae::sin2thetaEff_b_full ( ) const

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

This function is based on the approximate formulae for presented in arXiv: 1906.08815, 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 0.0025 * 10^-4, 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, \(155 < m_t < 192\) GeV and \(25 < m_h < 225\) GeV.

Returns
\(\sin^2\theta_{\rm eff}^b\)

Definition at line 1540 of file EWSMApproximateFormulae.cpp.

1541{
1542 // applicable for 25 GeV <= mHl <= 225 GeV. Remove boundaries for the moment
1543 //if (mycache.getSM().getMHl() < 25.0 || mycache.getSM().getMHl() > 225.0) {
1544 // std::stringstream out;
1545 // out << mycache.getSM().getMHl();
1546 // throw std::runtime_error("ApproximateFormulae::sin2thetaEff_b_full(): mh=" + out.str() + " is out of range");
1547 //}
1548
1549// Full 2-loop implementation
1550
1551 double LH = log(mycache.getSM().getMHl() / 125.7);
1552
1553 double LH2 = LH * LH;
1554
1555 double Dt = pow(mycache.getSM().getMtpole() / 173.2, 2.0) - 1.0;
1556
1557 double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
1558
1559 double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
1560
1561 double DZ = mycache.getSM().getMz() / 91.1876 - 1.0;
1562
1563 double X0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
1564
1565 double ThError = 0.0; // Theoretical uncertainty
1566
1567 X0 = 2327.04;
1568 d1 = 4.638;
1569 d2 = 0.558;
1570 d3 = -0.0700;
1571 d4 = 207.0;
1572 d5 = -9.554;
1573 d6 = 3.83;
1574 d7 = 0.179;
1575 d8 = 2.41;
1576 d9 = -8.24;
1577 d10 = -6630.0;
1578
1579 ThError = mycache.getSM().getDelSin2th_b();
1580
1581 return ( 0.0001*( X0 + d1 * LH + d2 * LH2 + d3 * LH2 * LH2
1582 + d4 * Dal
1583 + d5 * Dt + d6 * Dt * Dt
1584 + d7 * Dt * LH
1585 + d8 * Das + d9 * Das * Dt
1586 + d10 * DZ ) + ThError);
1587}

◆ sin2thetaEff_l()

double EWSMApproximateFormulae::sin2thetaEff_l ( const QCD::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 [Awramik:2006uz] (see also [Awramik:2004ge]), 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 QCD::lepton)
Returns
the effective weak mixing angle for \(Z\to\ell\bar{\ell}\)

Definition at line 132 of file EWSMApproximateFormulae.cpp.

133{
134 // applicable for 10 GeV <= mHl <= 1 TeV
135 if (mycache.getSM().getMHl() < 10.0 || mycache.getSM().getMHl() > UpperBoundForApproximateFormulae) {
136 std::stringstream out;
137 out << mycache.getSM().getMHl();
138 throw std::runtime_error("ApproximateFormulae::sin2thetaEff_l(): mh=" + out.str() + " is out of range");
139 }
140
141 double s0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
142 switch (l) {
146 s0 = 0.2308772;
147 d1 = 4.713 * 0.0001;
148 d2 = 2.05 * 0.00001;
149 d3 = 3.85 * 0.000001;
150 d4 = -1.85 * 0.000001;
151 d5 = 2.06 * 0.01;
152 d6 = -2.850 * 0.001;
153 d7 = 1.82 * 0.0001;
154 d8 = -9.71 * 0.000001;
155 d9 = 3.96 * 0.0001;
156 d10 = -6.54 * 0.1;
157 break;
161 s0 = 0.2312527;
162 d1 = 4.729 * 0.0001;
163 d2 = 2.07 * 0.00001;
164 d3 = 3.85 * 0.000001;
165 d4 = -1.85 * 0.000001;
166 d5 = 2.07 * 0.01;
167 d6 = -2.851 * 0.001;
168 d7 = 1.82 * 0.0001;
169 d8 = -9.74 * 0.000001;
170 d9 = 3.98 * 0.0001;
171 d10 = -6.55 * 0.1;
172 break;
173 default:
174 throw std::runtime_error("Error in ApproximateFormulae::sin2thetaEff_l()");
175 }
176
177 double L_H = log(mycache.getSM().getMHl() / 100.0);
178 double Delta_H = mycache.getSM().getMHl() / 100.0;
179 double Delta_ale = mycache.getSM().DeltaAlphaL5q() / 0.05907 - 1.0;
180 double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
181 double Delta_alphas = mycache.getSM().getAlsMz() / 0.117 - 1.0;
182 double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
183
184 return (s0 + d1 * L_H + d2 * L_H * L_H + d3 * pow(L_H, 4.0)
185 + d4 * (Delta_H * Delta_H - 1.0) + d5 * Delta_ale + d6 * Delta_t
186 + d7 * Delta_t * Delta_t + d8 * Delta_t * (Delta_H - 1.0)
187 + d9 * Delta_alphas + d10 * Delta_Z
189}
@ NEUTRINO_2
Definition: QCD.h:313
@ NEUTRINO_1
Definition: QCD.h:311
@ MU
Definition: QCD.h:314
@ ELECTRON
Definition: QCD.h:312
@ NEUTRINO_3
Definition: QCD.h:315
@ TAU
Definition: QCD.h:316
const double getDelSin2th_l() const
A get method to retrieve the theoretical uncertainty in , denoted as .

◆ sin2thetaEff_l_full()

double EWSMApproximateFormulae::sin2thetaEff_l_full ( ) const

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

This function is based on the approximate formulae for presented in arXiv: 1906.08815, 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 0.0056 * 10^-4, 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, \(155 < m_t < 192\) GeV and \(25 < m_h < 225\) GeV.

Returns
\(\sin^2\theta_{\rm eff}^l\)

Definition at line 1590 of file EWSMApproximateFormulae.cpp.

1591{
1592 // applicable for 25 GeV <= mHl <= 225 GeV. Remove boundaries for the moment
1593 //if (mycache.getSM().getMHl() < 25.0 || mycache.getSM().getMHl() > 225.0) {
1594 // std::stringstream out;
1595 // out << mycache.getSM().getMHl();
1596 // throw std::runtime_error("ApproximateFormulae::sin2thetaEff_l_full(): mh=" + out.str() + " is out of range");
1597 //}
1598
1599// Full 2-loop implementation
1600
1601 double LH = log(mycache.getSM().getMHl() / 125.7);
1602
1603 double LH2 = LH * LH;
1604
1605 double Dt = pow(mycache.getSM().getMtpole() / 173.2, 2.0) - 1.0;
1606
1607 double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
1608
1609 double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
1610
1611 double DZ = mycache.getSM().getMz() / 91.1876 - 1.0;
1612
1613 double X0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
1614
1615 double ThError = 0.0; // Theoretical uncertainty
1616
1617 X0 = 2314.64;
1618 d1 = 4.616;
1619 d2 = 0.539;
1620 d3 = -0.0737;
1621 d4 = 206.0;
1622 d5 = -25.71;
1623 d6 = 4.00;
1624 d7 = 0.288;
1625 d8 = 3.88;
1626 d9 = -6.49;
1627 d10 = -6560.0;
1628
1629 ThError = mycache.getSM().getDelSin2th_l();
1630
1631 return ( 0.0001*( X0 + d1 * LH + d2 * LH2 + d3 * LH2 * LH2
1632 + d4 * Dal
1633 + d5 * Dt + d6 * Dt * Dt
1634 + d7 * Dt * LH
1635 + d8 * Das + d9 * Das * Dt
1636 + d10 * DZ ) + ThError);
1637}

◆ sin2thetaEff_q()

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 [Awramik:2006uz] and [Awramik:2008gi], 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 191 of file EWSMApproximateFormulae.cpp.

192{
193 // applicable for 10 GeV <= mHl <= 1 TeV
194 if (mycache.getSM().getMHl() < 10.0 || mycache.getSM().getMHl() > UpperBoundForApproximateFormulae) {
195 std::stringstream out;
196 out << mycache.getSM().getMHl();
197 throw std::runtime_error("ApproximateFormulae::sin2thetaEff_q(): mh=" + out.str() + " is out of range");
198 }
199
200 double s0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
201 double ThError = 0.0; // Theoretical uncertainty
202
203 switch (q) {
204 case QCD::UP:
205 case QCD::CHARM:
206 s0 = 0.2311395;
207 d1 = 4.726 * 0.0001;
208 d2 = 2.07 * 0.00001;
209 d3 = 3.85 * 0.000001;
210 d4 = -1.85 * 0.000001;
211 d5 = 2.07 * 0.01;
212 d6 = -2.853 * 0.001;
213 d7 = 1.83 * 0.0001;
214 d8 = -9.73 * 0.000001;
215 d9 = 3.98 * 0.0001;
216 d10 = -6.55 * 0.1;
217 ThError = mycache.getSM().getDelSin2th_q();
218 break;
219 case QCD::DOWN:
220 case QCD::STRANGE:
221 s0 = 0.2310286;
222 d1 = 4.720 * 0.0001;
223 d2 = 2.06 * 0.00001;
224 d3 = 3.85 * 0.000001;
225 d4 = -1.85 * 0.000001;
226 d5 = 2.07 * 0.01;
227 d6 = -2.848 * 0.001;
228 d7 = 1.81 * 0.0001;
229 d8 = -9.73 * 0.000001;
230 d9 = 3.97 * 0.0001;
231 d10 = -6.55 * 0.1;
232 ThError = mycache.getSM().getDelSin2th_q();
233 break;
234 case QCD::BOTTOM:
235
236 if (mycache.getSM().getMHl() < 120.1 || mycache.getSM().getMHl() > 130.1) {
237 s0 = 0.2327580;
238 d1 = 4.749 * 0.0001;
239 d2 = 2.03 * 0.00001;
240 d3 = 3.94 * 0.000001;
241 d4 = -1.84 * 0.000001;
242 d5 = 2.08 * 0.01;
243 d6 = -0.993 * 0.001;
244 d7 = 0.708 * 0.0001;
245 d8 = -7.61 * 0.000001;
246 d9 = 4.03 * 0.0001;
247 d10 = 6.61 * 0.1;
248 ThError = mycache.getSM().getDelSin2th_b();
249 break;
250
251 } else {
252 return sin2thetaEff_b();
253 }
254 case QCD::TOP:
255 return 0.0;
256 default:
257 throw std::runtime_error("Error in ApproximateFormulae::sin2thetaEff_q()");
258 }
259
260 double L_H = log(mycache.getSM().getMHl() / 100.0);
261 double Delta_H = mycache.getSM().getMHl() / 100.0;
262 double Delta_ale = mycache.getSM().DeltaAlphaL5q() / 0.05907 - 1.0;
263 double Delta_t = pow((mycache.getSM().getMtpole() / 178.0), 2.0) - 1.0;
264 double Delta_alphas = mycache.getSM().getAlsMz() / 0.117 - 1.0;
265 double Delta_Z = mycache.getSM().getMz() / 91.1876 - 1.0;
266
267 return (s0 + d1 * L_H + d2 * L_H * L_H + d3 * pow(L_H, 4.0)
268 + d4 * (Delta_H * Delta_H - 1.0) + d5 * Delta_ale + d6 * Delta_t
269 + d7 * Delta_t * Delta_t + d8 * Delta_t * (Delta_H - 1.0)
270 + d9 * Delta_alphas + d10 * Delta_Z
271 + ThError);
272}
double sin2thetaEff_b() const
with the full two-loop EW corrections.
@ UP
Definition: QCD.h:324
@ BOTTOM
Definition: QCD.h:329
@ TOP
Definition: QCD.h:328
@ DOWN
Definition: QCD.h:325
@ STRANGE
Definition: QCD.h:327
@ CHARM
Definition: QCD.h:326
const double getDelSin2th_q() const
A get method to retrieve the theoretical uncertainty in , denoted as .

◆ X()

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 [Freitas:2014hra], 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 621 of file EWSMApproximateFormulae.cpp.

622{
623 double LH = log(mycache.getSM().getMHl() / 125.7);
624 double Dt = pow(mycache.getSM().getMtpole() / 173.2, 2.0) - 1.0;
625 double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
626 double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
627 double DZ = mycache.getSM().getMz() / 91.1876 - 1.0;
628
629 double X0, c1, c2, c3, c4, c5, c6, c7;
630 if (observable.compare("Gamma_nu") == 0) {
631 X0 = 167.157;
632 c1 = -0.055;
633 c2 = 1.26;
634 c3 = -0.19;
635 c4 = -0.02;
636 c5 = 0.36;
637 c6 = -0.1;
638 c7 = 503.0;
639 } else if (observable.compare("Gamma_e_mu") == 0) {
640 X0 = 83.966;
641 c1 = -0.047;
642 c2 = 0.807;
643 c3 = -0.095;
644 c4 = -0.01;
645 c5 = 0.25;
646 c6 = -1.1;
647 c7 = 285.0;
648 } else if (observable.compare("Gamma_tau") == 0) {
649 X0 = 83.776;
650 c1 = -0.047;
651 c2 = 0.806;
652 c3 = -0.095;
653 c4 = -0.01;
654 c5 = 0.25;
655 c6 = -1.1;
656 c7 = 285.0;
657 } else if (observable.compare("Gamma_u") == 0) {
658 X0 = 299.936;
659 c1 = -0.34;
660 c2 = 4.07;
661 c3 = 14.27;
662 c4 = 1.6;
663 c5 = 1.8;
664 c6 = -11.1;
665 c7 = 1253.0;
666 } else if (observable.compare("Gamma_c") == 0) {
667 X0 = 299.860;
668 c1 = -0.34;
669 c2 = 4.07;
670 c3 = 14.27;
671 c4 = 1.6;
672 c5 = 1.8;
673 c6 = -11.1;
674 c7 = 1253.0;
675 } else if (observable.compare("Gamma_d_s") == 0) {
676 X0 = 382.770;
677 c1 = -0.34;
678 c2 = 3.83;
679 c3 = 10.20;
680 c4 = -2.4;
681 c5 = 0.67;
682 c6 = -10.1;
683 c7 = 1469.0;
684 } else if (observable.compare("Gamma_b") == 0) {
685 X0 = 375.724;
686 c1 = -0.30;
687 c2 = -2.28;
688 c3 = 10.53;
689 c4 = -2.4;
690 c5 = 1.2;
691 c6 = -10.0;
692 c7 = 1458.0;
693 } else if (observable.compare("GammaZ") == 0) {
694 X0 = 2494.24;
695 c1 = -2.0;
696 c2 = 19.7;
697 c3 = 58.60;
698 c4 = -4.0;
699 c5 = 8.0;
700 c6 = -55.9;
701 c7 = 9267.0;
702 } else if (observable.compare("sigmaHadron") == 0) {
703 X0 = 41488.4;
704 c1 = 3.0;
705 c2 = 60.9;
706 c3 = -579.4;
707 c4 = 38.0;
708 c5 = 7.3;
709 c6 = 85.0;
710 c7 = -86027.0;
711 } else if (observable.compare("R0_lepton") == 0) {
712 X0 = 20750.9;
713 c1 = -8.1;
714 c2 = -39.0;
715 c3 = 732.1;
716 c4 = -44.0;
717 c5 = 5.5;
718 c6 = -358.0;
719 c7 = 11702.0;
720 } else if (observable.compare("R0_charm") == 0) {
721 X0 = 172.23;
722 c1 = -0.029;
723 c2 = 1.0;
724 c3 = 2.3;
725 c4 = 1.3;
726 c5 = 0.38;
727 c6 = -1.2;
728 c7 = 37.0;
729 } else if (observable.compare("R0_bottom") == 0) {
730 X0 = 215.80;
731 c1 = 0.031;
732 c2 = -2.98;
733 c3 = -1.32;
734 c4 = -0.84;
735 c5 = 0.035;
736 c6 = 0.73;
737 c7 = -18.0;
738 } else
739 throw std::runtime_error("ApproximateFormulae::X(): " + observable + " is not defined");
740
741 return ( 0.001
742 * (X0 + c1 * LH + c2 * Dt + c3 * Das + c4 * Das * Das + c5 * Das * Dt + c6 * Dal + c7 * DZ));
743}

◆ X_extended()

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 [Freitas:2014hra], 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 745 of file EWSMApproximateFormulae.cpp.

746{
747 double LH = log(mycache.getSM().getMHl() / 125.7);
748 double DH = mycache.getSM().getMHl() / 125.7 - 1.0;
749 double Dt = pow(mycache.getSM().getMtpole() / 173.2, 2.0) - 1.0;
750 double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
751 double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
752 double DZ = mycache.getSM().getMz() / 91.1876 - 1.0;
753
754 double X0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15;
755 double ThError = 0.0; // Theoretical uncertainty
756 if (observable.compare("Gamma_nu") == 0) {
757 X0 = 167.157;
758 a1 = -0.1567;
759 a2 = -0.1194;
760 a3 = 0.1031;
761 a4 = -0.00269;
762 a5 = 1.258;
763 a6 = -0.13;
764 a7 = -0.020;
765 a8 = 0.0133;
766 a9 = -0.19;
767 a10 = -0.018;
768 a11 = -0.021;
769 a12 = 0.34;
770 a13 = -0.084;
771 a14 = 0.064;
772 a15 = 503.0;
773 } else if (observable.compare("Gamma_e_mu") == 0) {
774 X0 = 83.966;
775 a1 = -0.1017;
776 a2 = -0.06352;
777 a3 = 0.05500;
778 a4 = -0.00145;
779 a5 = 0.8051;
780 a6 = -0.027;
781 a7 = -0.017;
782 a8 = 0.0066;
783 a9 = -0.095;
784 a10 = -0.010;
785 a11 = -0.015;
786 a12 = 0.23;
787 a13 = -1.1;
788 a14 = 0.064;
789 a15 = 285.0;
790 } else if (observable.compare("Gamma_tau") == 0) {
791 X0 = 83.776;
792 a1 = -0.1016;
793 a2 = -0.06339;
794 a3 = 0.05488;
795 a4 = -0.00145;
796 a5 = 0.8036;
797 a6 = -0.026;
798 a7 = -0.017;
799 a8 = 0.0066;
800 a9 = -0.095;
801 a10 = -0.010;
802 a11 = -0.015;
803 a12 = 0.23;
804 a13 = -1.1;
805 a14 = 0.064;
806 a15 = 285.0;
807 } else if (observable.compare("Gamma_u") == 0) {
808 X0 = 299.936;
809 a1 = -0.5681;
810 a2 = -0.2636;
811 a3 = 0.2334;
812 a4 = -0.00592;
813 a5 = 4.057;
814 a6 = -0.50;
815 a7 = -0.058;
816 a8 = 0.0352;
817 a9 = 14.26;
818 a10 = 1.6;
819 a11 = -0.081;
820 a12 = 1.7;
821 a13 = -11.1;
822 a14 = 0.19;
823 a15 = 1251.0;
824 } else if (observable.compare("Gamma_c") == 0) {
825 X0 = 299.859;
826 a1 = -0.5680;
827 a2 = -0.2635;
828 a3 = 0.2334;
829 a4 = -0.00592;
830 a5 = 4.056;
831 a6 = -0.50;
832 a7 = -0.058;
833 a8 = 0.0352;
834 a9 = 14.26;
835 a10 = 1.6;
836 a11 = -0.081;
837 a12 = 1.7;
838 a13 = -11.1;
839 a14 = 0.19;
840 a15 = 1251.0;
841 } else if (observable.compare("Gamma_d_s") == 0) {
842 X0 = 382.770;
843 a1 = -0.6199;
844 a2 = -0.3182;
845 a3 = 0.2800;
846 a4 = -0.00711;
847 a5 = 3.810;
848 a6 = -0.25;
849 a7 = -0.060;
850 a8 = 0.0420;
851 a9 = 10.20;
852 a10 = -2.4;
853 a11 = -0.083;
854 a12 = 0.65;
855 a13 = -10.1;
856 a14 = 0.19;
857 a15 = 1468.0;
858 } else if (observable.compare("Gamma_b") == 0) {
859 X0 = 375.723;
860 a1 = -0.5744;
861 a2 = -0.3074;
862 a3 = 0.2725;
863 a4 = -0.00703;
864 a5 = -2.292;
865 a6 = -0.027;
866 a7 = -0.013;
867 a8 = 0.0428;
868 a9 = 10.53;
869 a10 = -2.4;
870 a11 = -0.088;
871 a12 = 1.2;
872 a13 = -10.1;
873 a14 = 0.19;
874 a15 = 1456.0;
875 } else if (observable.compare("Gamma_had") == 0) {
876// Removing leptonic contributions from GammaZ
877// X0 = 1741.06;
878// a1 = -2.9501;
879// a2 = -1.47064;
880// a3 = 1.29906;
881// a4 = -0.033105;
882// a5 = 13.4416;
883// a6 = -1.5285;
884// a7 = -0.249;
885// a8 = 0.19725;
886// a9 = 59.4525;
887// a10 = -4.008;
888// a11 = -0.419;
889// a12 = 5.895;
890// a13 = -52.474;
891// a14 = 0.933;
892// a15 = 6893.;
893
894// Summing all hadronic contributions
895 X0 = 1741.058;
896 a1 = -2.9503;
897 a2 = -1.4708999;
898 a3 = 1.2993;
899 a4 = -0.03308999;
900 a5 = 13.440999;
901 a6 = -1.527;
902 a7 = -0.249;
903 a8 = 0.1972;
904 a9 = 59.44999;
905 a10 = -3.9999;
906 a11 = -0.416;
907 a12 = 5.9;
908 a13 = -52.5;
909 a14 = 0.95;
910 a15 = 6894.;
911
912 } else if (observable.compare("GammaZ") == 0) {
913 X0 = 2494.24;
914 a1 = -3.725;
915 a2 = -2.019;
916 a3 = 1.773;
917 a4 = -0.04554;
918 a5 = 19.63;
919 a6 = -2.0;
920 a7 = -0.36;
921 a8 = 0.257;
922 a9 = 58.60;
923 a10 = -4.1;
924 a11 = -0.53;
925 a12 = 7.6;
926 a13 = -56.0;
927 a14 = 1.3;
928 a15 = 9256.0;
929 ThError = mycache.getSM().getDelGammaZ();
930 } else if (observable.compare("sigmaHadron") == 0) {
931 X0 = 41488.4;
932 a1 = 3.88;
933 a2 = 0.829;
934 a3 = -0.911;
935 a4 = 0.0076;
936 a5 = 61.10;
937 a6 = 16.0;
938 a7 = -2.0;
939 a8 = -0.59;
940 a9 = -579.4;
941 a10 = 38.0;
942 a11 = -0.26;
943 a12 = 6.5;
944 a13 = 84.0;
945 a14 = 9.5;
946 a15 = -86152.0;
947 ThError = mycache.getSM().getDelSigma0H();
948 } else if (observable.compare("R0_lepton") == 0) {
949 X0 = 20750.9;
950 a1 = -10.00;
951 a2 = -1.83;
952 a3 = 1.878;
953 a4 = -0.0343;
954 a5 = -38.8;
955 a6 = -11.0;
956 a7 = 1.2;
957 a8 = 0.72;
958 a9 = 732.1;
959 a10 = -44.0;
960 a11 = -0.64;
961 a12 = 5.6;
962 a13 = -357.0;
963 a14 = -4.7;
964 a15 = 11771.0;
965 ThError = mycache.getSM().getDelR0l();
966 } else if (observable.compare("R0_electron") == 0) {
967 ThError = mycache.getSM().getDelR0l();
968 return X_extended("Gamma_had")/X_extended("Gamma_e_mu") + ThError;
969
970 } else if (observable.compare("R0_muon") == 0) {
971 ThError = mycache.getSM().getDelR0l();
972 return X_extended("Gamma_had")/X_extended("Gamma_e_mu") + ThError;
973
974 } else if (observable.compare("R0_tau") == 0) {
975 ThError = mycache.getSM().getDelR0l();
976 return X_extended("Gamma_had")/X_extended("Gamma_tau") + ThError;
977
978 } else if (observable.compare("R0_neutrino") == 0) {
979 ThError = 0.0;
980 return X_extended("Gamma_nu")/X_extended("Gamma_had") + ThError;
981
982 } else if (observable.compare("R0_up") == 0) {
983 ThError = 0.0; // Set to zero for the moment
984 return X_extended("Gamma_u")/X_extended("Gamma_had") + ThError;
985
986 } else if (observable.compare("R0_strange") == 0) {
987 ThError = 0.0; // Set to zero for the moment
988 return X_extended("Gamma_d_s")/X_extended("Gamma_had") + ThError;
989
990 } else if (observable.compare("R0_charm") == 0) {
991 X0 = 172.23;
992 a1 = -0.034;
993 a2 = -0.0058;
994 a3 = 0.0054;
995 a4 = -0.00012;
996 a5 = 1.00;
997 a6 = -0.15;
998 a7 = -0.0074;
999 a8 = 0.00091;
1000 a9 = 2.3;
1001 a10 = 1.3;
1002 a11 = -0.0013;
1003 a12 = 0.35;
1004 a13 = -1.2;
1005 a14 = 0.014;
1006 a15 = 37.0;
1007 ThError = mycache.getSM().getDelR0c();
1008 } else if (observable.compare("R0_bottom") == 0) {
1009 X0 = 215.80;
1010 a1 = 0.036;
1011 a2 = 0.0057;
1012 a3 = -0.0044;
1013 a4 = 0.000062;
1014 a5 = -2.98;
1015 a6 = 0.20;
1016 a7 = 0.020;
1017 a8 = -0.00036;
1018 a9 = -1.3;
1019 a10 = -0.84;
1020 a11 = -0.0019;
1021 a12 = 0.054;
1022 a13 = 0.73;
1023 a14 = -0.011;
1024 a15 = -18.0;
1025 ThError = mycache.getSM().getDelR0b();
1026 } else
1027 throw std::runtime_error("ApproximateFormulae::X_extended(): " + observable + " is not defined");
1028
1029 return ( 0.001
1030 * (X0 + a1 * LH + a2 * LH * LH + a3 * DH + a4 * DH * DH + a5 * Dt + a6 * Dt * Dt
1031 + a7 * Dt * LH + a8 * Dt * LH * LH + a9 * Das + a10 * Das * Das + a11 * Das * LH
1032 + a12 * Das * Dt + a13 * Dal + a14 * Dal * LH + a15 * DZ) + ThError);
1033}
double X_extended(const std::string observable) const
, , , , , , , , , , , or .
const double getDelR0c() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getDelR0l() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getDelR0b() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getDelSigma0H() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getDelGammaZ() const
A get method to retrieve the theoretical uncertainty in , denoted as .

◆ X_full()

double EWSMApproximateFormulae::X_full ( const std::string  observable) const

\(\Gamma_{e,\mu}\), \(\Gamma_\tau\), \(\Gamma_\nu\), \(\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 arXiv: 1906.08815, 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 0.0015 MeV, 0.0015 MeV, 0.002 MeV, 0.006 MeV, 0.006 MeV, 0.007 MeV, 0.007 MeV, 0.04 MeV, \( 0.12\times 10^{-3}\), \( 0.1\times 10^{-3}\), \( 0.12\times 10^{-3}\), and 0.15 pb, for \(\Gamma_{e,\mu,\tau,\nu}\), \(\Gamma_{q\not = b}\), \(\Gamma_{b}\), \(\Gamma_Z\), \(R^0_{l}\), \(R^0_{c,b}\) and \(\sigma^0_h\), 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, \(155 < m_t < 192\) GeV and \(25 < m_h < 225\) 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\)

Definition at line 1227 of file EWSMApproximateFormulae.cpp.

1228{
1229
1230// Full 2-loop implementation
1231
1232 double LH = log(mycache.getSM().getMHl() / 125.7);
1233 double LH2 = LH * LH;
1234
1235 // Corrected in v2 of https://arxiv.org/abs/1906.08815
1236 double DH = mycache.getSM().getMHl() / 125.7 - 1.0;
1237
1238 double Dt = pow(mycache.getSM().getMtpole() / 173.2, 2.0) - 1.0;
1239
1240 double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
1241
1242 double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
1243
1244 double DZ = mycache.getSM().getMz() / 91.1876 - 1.0;
1245
1246 double X0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16;
1247
1248 double ThError = 0.0; // Theoretical uncertainty
1249
1250 if (observable.compare("Gamma_e_mu") == 0) {
1251 X0 = 83.983;
1252 a1 = -0.1202;
1253 a2 = -0.06919;
1254 a3 = 0.00383;
1255 a4 = 0.0597;
1256 a5 = 0.8037;
1257 a6 = -0.015;
1258 a7 = -0.0195;
1259 a8 = 0.0032;
1260 a9 = -0.0956;
1261 a10 = -0.0078;
1262 a11 = -0.0095;
1263 a12 = 0.25;
1264 a13 = -1.08;
1265 a14 = 0.056;
1266 a15 = -0.37;
1267 a16 = 286.0;
1268
1269 } else if (observable.compare("Gamma_tau") == 0) {
1270 X0 = 83.793;
1271 a1 = -0.1200;
1272 a2 = -0.06905;
1273 a3 = 0.00382;
1274 a4 = 0.0596;
1275 a5 = 0.8023;
1276 a6 = -0.015;
1277 a7 = -0.0195;
1278 a8 = 0.0032;
1279 a9 = -0.0954;
1280 a10 = -0.0078;
1281 a11 = -0.0094;
1282 a12 = 0.25;
1283 a13 = -1.08;
1284 a14 = 0.056;
1285 a15 = -0.37;
1286 a16 = 285.0;
1287
1288 } else if (observable.compare("Gamma_nu") == 0) {
1289 X0 = 167.176;
1290 a1 = -0.1752;
1291 a2 = -0.1249;
1292 a3 = 0.00595;
1293 a4 = 0.1046;
1294 a5 = 1.253;
1295 a6 = -0.110;
1296 a7 = -0.0232;
1297 a8 = 0.0064;
1298 a9 = -0.187;
1299 a10 = -0.014;
1300 a11 = -0.014;
1301 a12 = 0.37;
1302 a13 = -0.085;
1303 a14 = 0.054;
1304 a15 = -0.30;
1305 a16 = 503.0;
1306
1307 } else if (observable.compare("Gamma_u") == 0) {
1308 X0 = 299.994;
1309 a1 = -0.6152;
1310 a2 = -0.2771;
1311 a3 = 0.0174;
1312 a4 = 0.2341;
1313 a5 = 4.051;
1314 a6 = -0.467;
1315 a7 = -0.0676;
1316 a8 = 0.017;
1317 a9 = 14.26;
1318 a10 = 1.6;
1319 a11 = -0.046;
1320 a12 = 1.82;
1321 a13 = -11.1;
1322 a14 = 0.16;
1323 a15 = -1.0;
1324 a16 = 1253.0;
1325
1326 } else if (observable.compare("Gamma_c") == 0) {
1327 X0 = 299.918;
1328 a1 = -0.6152;
1329 a2 = -0.2771;
1330 a3 = 0.0174;
1331 a4 = 0.2340;
1332 a5 = 4.051;
1333 a6 = -0.467;
1334 a7 = -0.0676;
1335 a8 = 0.017;
1336 a9 = 14.26;
1337 a10 = 1.6;
1338 a11 = -0.046;
1339 a12 = 1.82;
1340 a13 = -11.1;
1341 a14 = 0.16;
1342 a15 = -1.0;
1343 a16 = 1252.0;
1344
1345 } else if (observable.compare("Gamma_d_s") == 0) {
1346 X0 = 382.829;
1347 a1 = -0.6685;
1348 a2 = -0.3322;
1349 a3 = 0.0193;
1350 a4 = 0.2792;
1351 a5 = 3.792;
1352 a6 = -0.18;
1353 a7 = -0.0706;
1354 a8 = 0.020;
1355 a9 = 10.20;
1356 a10 = -2.4;
1357 a11 = -0.052;
1358 a12 = 0.71;
1359 a13 = -10.1;
1360 a14 = 0.16;
1361 a15 = -0.92;
1362 a16 = 1469.0;
1363
1364 } else if (observable.compare("Gamma_b") == 0) {
1365 X0 = 375.890;
1366 a1 = -0.6017;
1367 a2 = -0.3158;
1368 a3 = 0.0190;
1369 a4 = 0.227;
1370 a5 = -2.174;
1371 a6 = 0.042;
1372 a7 = -0.027;
1373 a8 = 0.021;
1374 a9 = 10.53;
1375 a10 = -2.4;
1376 a11 = -0.056;
1377 a12 = 1.2;
1378 a13 = -10.1;
1379 a14 = 0.15;
1380 a15 = -0.95;
1381 a16 = 1458.0;
1382
1383 } else if (observable.compare("Gamma_had") == 0) {
1384
1385// Removing leptonic contributions from the total Z witdh
1386 X0 = 1741.46;
1387 a1 = -3.169;
1388 a2 = -1.53487;
1389 a3 = 0.09267;
1390 a4 = 1.2532;
1391 a5 = 13.5113;
1392 a6 = -1.255;
1393 a7 = -0.3039;
1394 a8 = 0.0912;
1395 a9 = 59.4576;
1396 a10 = -3.9346;
1397 a11 = -0.2496;
1398 a12 = 6.24;
1399 a13 = -52.605;
1400 a14 = 0.77;
1401 a15 = -4.79;
1402 a16 = 6901.0;
1403
1404 } else if (observable.compare("GammaZ") == 0) {
1405 X0 = 2494.75;
1406 a1 = -4.055;
1407 a2 = -2.117;
1408 a3 = 0.122;
1409 a4 = 1.746;
1410 a5 = 19.68;
1411 a6 = -1.63;
1412 a7 = -0.432;
1413 a8 = 0.12;
1414 a9 = 58.61;
1415 a10 = -4.0;
1416 a11 = -0.32;
1417 a12 = 8.1;
1418 a13 = -56.1;
1419 a14 = 1.1;
1420 a15 = -6.8;
1421 a16 = 9267.0;
1422
1423 ThError = mycache.getSM().getDelGammaZ();
1424 } else if (observable.compare("sigmaHadron") == 0) {
1425 X0 = 41489.6;
1426 a1 = 0.408;
1427 a2 = -0.320;
1428 a3 = 0.0424;
1429 a4 = 1.32;
1430 a5 = 60.17;
1431 a6 = 16.3;
1432 a7 = -2.31;
1433 a8 = -0.19;
1434 a9 = -579.58;
1435 a10 = 38.0;
1436 a11 = 0.010;
1437 a12 = 7.5;
1438 a13 = 85.2;
1439 a14 = 9.1;
1440 a15 = -68.0;
1441 a16 = -85957.0;
1442
1443 ThError = mycache.getSM().getDelSigma0H();
1444 } else if (observable.compare("R0_lepton") == 0) {
1445 X0 = 20751.6;
1446 a1 = -8.112;
1447 a2 = -1.174;
1448 a3 = 0.155;
1449 a4 = 0.16;
1450 a5 = -37.59;
1451 a6 = -10.9;
1452 a7 = 1.27;
1453 a8 = 0.29;
1454 a9 = 732.30;
1455 a10 = -44.0;
1456 a11 = -0.61;
1457 a12 = 5.7;
1458 a13 = -358.0;
1459 a14 = -4.7;
1460 a15 = 37;
1461 a16 = 11649.0;
1462
1463 ThError = mycache.getSM().getDelR0l();
1464 } else if (observable.compare("R0_electron") == 0) {
1465 ThError = mycache.getSM().getDelR0l();
1466 return X_full("Gamma_had")/X_full("Gamma_e_mu") + ThError;
1467
1468 } else if (observable.compare("R0_muon") == 0) {
1469 ThError = mycache.getSM().getDelR0l();
1470 return X_full("Gamma_had")/X_full("Gamma_e_mu") + ThError;
1471
1472 } else if (observable.compare("R0_tau") == 0) {
1473 ThError = mycache.getSM().getDelR0l();
1474 return X_full("Gamma_had")/X_full("Gamma_tau") + ThError;
1475
1476 } else if (observable.compare("R0_neutrino") == 0) {
1477 ThError = 0.0;
1478 return X_full("Gamma_nu")/X_full("Gamma_had") + ThError;
1479
1480 } else if (observable.compare("R0_up") == 0) {
1481 ThError = 0.0; // Set to zero for the moment
1482 return X_full("Gamma_u")/X_full("Gamma_had") + ThError;
1483
1484 } else if (observable.compare("R0_strange") == 0) {
1485 ThError = 0.0; // Set to zero for the moment
1486 return X_full("Gamma_d_s")/X_full("Gamma_had") + ThError;
1487
1488 } else if (observable.compare("R0_charm") == 0) {
1489 X0 = 172.222;
1490 a1 = -0.04049;
1491 a2 = -0.00749;
1492 a3 = 0.000832;
1493 a4 = 0.0108;
1494 a5 = 0.98956;
1495 a6 = -0.151;
1496 a7 = -0.00761;
1497 a8 = 0.00080;
1498 a9 = 2.309;
1499 a10 = 1.25;
1500 a11 = 0.00045;
1501 a12 = 0.369;
1502 a13 = -1.20;
1503 a14 = 0.012;
1504 a15 = -0.062;
1505 a16 = 36.67;
1506
1507 ThError = mycache.getSM().getDelR0c();
1508 } else if (observable.compare("R0_bottom") == 0) {
1509 X0 = 215.850;
1510 a1 = 0.04904;
1511 a2 = 0.009149;
1512 a3 = -0.000535;
1513 a4 = -0.02676;
1514 a5 = -2.9221;
1515 a6 = 0.200;
1516 a7 = 0.0197;
1517 a8 = -0.0011;
1518 a9 = -1.319;
1519 a10 = -0.84;
1520 a11 = -0.0027;
1521 a12 = 0.044;
1522 a13 = 0.719;
1523 a14 = -0.0077;
1524 a15 = -0.044;
1525 a16 = -17.90;
1526
1527 ThError = mycache.getSM().getDelR0b();
1528 } else
1529 throw std::runtime_error("ApproximateFormulae::X_full(): " + observable + " is not defined");
1530
1531 return ( 0.001
1532 * ( X0 + a1 * LH + a2 * LH2 + a3 * LH2 * LH2 + a4 *DH
1533 + a5 * Dt + a6 * Dt*Dt + a7 * Dt*LH + a8 * Dt * LH2
1534 + a9 * Das + a10 * Das * Das + a11 * Das*DH + a12*Das*Dt
1535 + a13 * Dal + a14 * Dal * DH + a15 * Dal * Dt
1536 + a16 * DZ ) + ThError);
1537}
double X_full(const std::string observable) const
, , , , , , , , , , , or .

◆ X_full_2_loop()

double EWSMApproximateFormulae::X_full_2_loop ( 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 arXiv: 1804.10236, 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 0.001 MeV, 0.002 MeV, 0.006 MeV, 0.012 MeV, \( 0.1\times 10^{-3}\), \( 0.01\times 10^{-3}\) and 0.1 pb, for \(\Gamma_{e,\mu,\tau,\nu}\), \(\Gamma_{q\not = b}\), \(\Gamma_{b}\), \(\Gamma_Z\), \(R^0_{l}\), \(R^0_{c,b}\) and \(\sigma^0_h\), 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, \(169.2 < m_t < 177.2\) GeV and \(120.1 < m_h < 130.1\) GeV. For \(m_h\) beyond [85,165] GeV there are significant differences with some predicions of X_extended, which go well beyond the expected size of the bosonic corrections (>~2x). The function redirects to X_extended in that case.

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\)

Definition at line 1036 of file EWSMApproximateFormulae.cpp.

1037{
1038
1039// For MH not in [85,165] GeV there are significant differences with some predicions
1040// of X_extended, which go well beyond the expected size of the bosonic corrections (>~2x).
1041// Use EWSMApproximateFormulae::X_extended in that case
1042 if (mycache.getSM().getMHl() < 85.0 || mycache.getSM().getMHl() > 165.0) {
1043 return X_extended(observable);
1044 }
1045
1046// Otherwise proceed with the full 2-loop code
1047 double LH = log(mycache.getSM().getMHl() / 125.7);
1048 double Dt = pow(mycache.getSM().getMtpole() / 173.2, 2.0) - 1.0;
1049 double Das = mycache.getSM().getAlsMz() / 0.1184 - 1.0;
1050 double Dal = mycache.getSM().DeltaAlphaL5q() / 0.059 - 1.0;
1051 double DZ = mycache.getSM().getMz() / 91.1876 - 1.0;
1052
1053 double X0, c1, c2, c3, c4, c5, c6, c7;
1054 double ThError = 0.0; // Theoretical uncertainty
1055 if (observable.compare("Gamma_nu") == 0) {
1056 X0 = 167.176;
1057 c1 = -0.071;
1058 c2 = 1.26;
1059 c3 = -0.19;
1060 c4 = -0.02;
1061 c5 = 0.36;
1062 c6 = -0.1;
1063 c7 = 504.0;
1064
1065 } else if (observable.compare("Gamma_e_mu") == 0) {
1066 X0 = 83.983;
1067 c1 = -0.061;
1068 c2 = 0.810;
1069 c3 = -0.096;
1070 c4 = -0.01;
1071 c5 = 0.25;
1072 c6 = -1.1;
1073 c7 = 286.0;
1074
1075 } else if (observable.compare("Gamma_tau") == 0) {
1076 X0 = 83.793;
1077 c1 = -0.060;
1078 c2 = 0.810;
1079 c3 = -0.095;
1080 c4 = -0.01;
1081 c5 = 0.25;
1082 c6 = -1.1;
1083 c7 = 285.0;
1084
1085 } else if (observable.compare("Gamma_u") == 0) {
1086 X0 = 299.993;
1087 c1 = -0.38;
1088 c2 = 4.08;
1089 c3 = 14.27;
1090 c4 = 1.6;
1091 c5 = 1.8;
1092 c6 = -11.1;
1093 c7 = 1253.0;
1094
1095 } else if (observable.compare("Gamma_c") == 0) {
1096 X0 = 299.916;
1097 c1 = -0.38;
1098 c2 = 4.08;
1099 c3 = 14.27;
1100 c4 = 1.6;
1101 c5 = 1.8;
1102 c6 = -11.1;
1103 c7 = 1253.0;
1104
1105 } else if (observable.compare("Gamma_d_s") == 0) {
1106 X0 = 382.828;
1107 c1 = -0.39;
1108 c2 = 3.83;
1109 c3 = 10.20;
1110 c4 = -2.4;
1111 c5 = 0.67;
1112 c6 = -10.1;
1113 c7 = 1470.0;
1114
1115 } else if (observable.compare("Gamma_b") == 0) {
1116 X0 = 375.889;
1117 c1 = -0.36;
1118 c2 = -2.14;
1119 c3 = 10.53;
1120 c4 = -2.4;
1121 c5 = 1.2;
1122 c6 = -10.1;
1123 c7 = 1459.0;
1124
1125 } else if (observable.compare("Gamma_had") == 0) {
1126
1127// Summing all hadronic contributions
1128 X0 = 1741.454;
1129 c1 = -1.9;
1130 c2 = 13.68;
1131 c3 = 59.47;
1132 c4 = -4.0;
1133 c5 = 6.14;
1134 c6 = -52.5;
1135 c7 = 6905.0;
1136
1137 } else if (observable.compare("GammaZ") == 0) {
1138 X0 = 2494.74;
1139 c1 = -2.3;
1140 c2 = 19.9;
1141 c3 = 58.61;
1142 c4 = -4.0;
1143 c5 = 8.0;
1144 c6 = -56.0;
1145 c7 = 9273.0;
1146
1147 ThError = mycache.getSM().getDelGammaZ();
1148 } else if (observable.compare("sigmaHadron") == 0) {
1149 X0 = 41489.6;
1150 c1 = 1.6;
1151 c2 = 60.0;
1152 c3 = -579.6;
1153 c4 = 38.0;
1154 c5 = 7.3;
1155 c6 = 85.0;
1156 c7 = -86011.0;
1157
1158 ThError = mycache.getSM().getDelSigma0H();
1159 } else if (observable.compare("R0_lepton") == 0) {
1160 X0 = 20751.6;
1161 c1 = -7.8;
1162 c2 = -37.0;
1163 c3 = 732.3;
1164 c4 = -44.0;
1165 c5 = 5.5;
1166 c6 = -358.0;
1167 c7 = 11696.0;
1168
1169 ThError = mycache.getSM().getDelR0l();
1170 } else if (observable.compare("R0_electron") == 0) {
1171 ThError = mycache.getSM().getDelR0l();
1172 return X_full_2_loop("Gamma_had")/X_full_2_loop("Gamma_e_mu") + ThError;
1173
1174 } else if (observable.compare("R0_muon") == 0) {
1175 ThError = mycache.getSM().getDelR0l();
1176 return X_full_2_loop("Gamma_had")/X_full_2_loop("Gamma_e_mu") + ThError;
1177
1178 } else if (observable.compare("R0_tau") == 0) {
1179 ThError = mycache.getSM().getDelR0l();
1180 return X_full_2_loop("Gamma_had")/X_full_2_loop("Gamma_tau") + ThError;
1181
1182 } else if (observable.compare("R0_neutrino") == 0) {
1183 ThError = 0.0;
1184 return X_full_2_loop("Gamma_nu")/X_full_2_loop("Gamma_had") + ThError;
1185
1186 } else if (observable.compare("R0_up") == 0) {
1187 ThError = 0.0; // Set to zero for the moment
1188 return X_full_2_loop("Gamma_u")/X_full_2_loop("Gamma_had") + ThError;
1189
1190 } else if (observable.compare("R0_strange") == 0) {
1191 ThError = 0.0; // Set to zero for the moment
1192 return X_full_2_loop("Gamma_d_s")/X_full_2_loop("Gamma_had") + ThError;
1193
1194 } else if (observable.compare("R0_charm") == 0) {
1195 X0 = 172.22;
1196 c1 = -0.031;
1197 c2 = 1.0;
1198 c3 = 2.3;
1199 c4 = 1.3;
1200 c5 = 0.38;
1201 c6 = -1.2;
1202 c7 = 37.0;
1203
1204 ThError = mycache.getSM().getDelR0c();
1205 } else if (observable.compare("R0_bottom") == 0) {
1206 X0 = 215.85;
1207 c1 = 0.029;
1208 c2 = -2.92;
1209 c3 = -1.32;
1210 c4 = -0.84;
1211 c5 = 0.032;
1212 c6 = 0.72;
1213 c7 = -18.0;
1214
1215 ThError = mycache.getSM().getDelR0b();
1216 } else
1217 throw std::runtime_error("ApproximateFormulae::X_full_2_loop(): " + observable + " is not defined");
1218
1219 return ( 0.001
1220 * (X0 + c1 * LH + c2 * Dt
1221 + c3 * Das + c4 * Das * Das
1222 + c5 * Das * Dt + c6 * Dal + c7 * DZ) + ThError);
1223}
double X_full_2_loop(const std::string observable) const
, , , , , , , , , , , or .

Member Data Documentation

◆ mycache

const EWSMcache& EWSMApproximateFormulae::mycache
private

A reference to an object of type StandardModel.

Definition at line 577 of file EWSMApproximateFormulae.h.


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