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

A class for \(O(\alpha)\) one-loop corrections to the EW precision observables in the 't Hooft-Feynman gauge. More...

#include <EWSMOneLoopEW_HV.h>

Detailed Description

A class for \(O(\alpha)\) one-loop corrections to the EW precision observables in the 't Hooft-Feynman gauge.

Author
HEPfit Collaboration

Definition at line 24 of file EWSMOneLoopEW_HV.h.

Public Member Functions

double al (const QCD::lepton l) const
 
double aq (const QCD::quark q) const
 
 EWSMOneLoopEW_HV (const StandardModel &SM_i)
 Constructor. More...
 
gslpp::complex F_Hollik (const double s, const double m1, const double m2) const
 
gslpp::complex Fprime_Hollik (const double muIR, const double s, const double m1, const double m2) const
 
double ml (const QCD::lepton l) const
 
double mq (const QCD::quark q, const double mu, const orders order=FULLNLO) const
 
gslpp::complex PiGammaGamma_bos (const double mu, const double s, const double Mw) const
 
gslpp::complex PiGammaGamma_bos_Hollik (const double mu, const double s, const double Mw) const
 
gslpp::complex PiGammaGamma_fer (const double mu, const double muForMq, const double s) const
 
gslpp::complex PiGammaGamma_fer_l (const double mu, const double s, const QCD::lepton l) const
 
gslpp::complex PiGammaGamma_fer_q (const double mu, const double muForMq, const double s, const QCD::quark q) const
 
gslpp::complex SigmaGammaGamma_bos (const double mu, const double s, const double Mw) const
 
gslpp::complex SigmaGammaGamma_bos_Hollik (const double mu, const double s, const double Mw) const
 
gslpp::complex SigmaGammaGamma_fer (const double mu, const double muForMq, const double s) const
 
gslpp::complex SigmaWW_bos (const double mu, const double s, const double Mw) const
 
gslpp::complex SigmaWW_bos_Hollik (const double mu, const double s, const double Mw) const
 
gslpp::complex SigmaWW_fer (const double mu, const double muForMq, const double s) const
 
gslpp::complex SigmaZgamma_bos (const double mu, const double s, const double Mw) const
 
gslpp::complex SigmaZgamma_bos_Hollik (const double mu, const double s, const double Mw) const
 
gslpp::complex SigmaZgamma_fer (const double mu, const double muForMq, const double s, const double Mw) const
 
gslpp::complex SigmaZZ_bos (const double mu, const double s, const double Mw) const
 
gslpp::complex SigmaZZ_bos_Hollik (const double mu, const double s, const double Mw) const
 
gslpp::complex SigmaZZ_fer (const double mu, const double muForMq, const double s, const double Mw) const
 
double vl (const QCD::lepton l, const double Mw) const
 
double vq (const QCD::quark q, const double Mw) const
 

Private Attributes

const PVfunctions PV
 An object of type PVfunctions. More...
 
const StandardModelSM
 A reference to an object of type StandardModel. More...
 

Constructor & Destructor Documentation

◆ EWSMOneLoopEW_HV()

EWSMOneLoopEW_HV::EWSMOneLoopEW_HV ( const StandardModel SM_i)

Constructor.

Parameters
[in]SM_ia reference to an object of type StandardModel

Definition at line 13 of file EWSMOneLoopEW_HV.cpp.

14: SM(SM_i), PV(true)
15{
16}
const PVfunctions PV
An object of type PVfunctions.
const StandardModel & SM
A reference to an object of type StandardModel.

Member Function Documentation

◆ al()

double EWSMOneLoopEW_HV::al ( const QCD::lepton  l) const
inline
Parameters
[in]lname of lepton
Returns
the tree-level axial-vector coupling for Z->l lbar

Definition at line 101 of file EWSMOneLoopEW_HV.h.

102 {
103 return ( SM.getLeptons(l).getIsospin());
104 }
double getIsospin() const
A get method to access the particle isospin.
Definition: Particle.h:115
const Particle & getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.

◆ aq()

double EWSMOneLoopEW_HV::aq ( const QCD::quark  q) const
inline
Parameters
[in]qname of quark
Returns
the tree-level axial-vector coupling for Z->q qbar

Definition at line 110 of file EWSMOneLoopEW_HV.h.

111 {
112 return ( SM.getQuarks(q).getIsospin());
113 }
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:536

◆ F_Hollik()

gslpp::complex EWSMOneLoopEW_HV::F_Hollik ( const double  s,
const double  m1,
const double  m2 
) const
Parameters
[in]smomentum-squared
[in]m1mass
[in]m2mass
Returns
one-loop function F(s, m1, m2)

Definition at line 318 of file EWSMOneLoopEW_HV.cpp.

320{
321 double m12 = m1*m1, m22 = m2*m2;
322 double mu = SM.getMz(); // The result is independent of mu.
323
324 if (m1 != 0.0 && m2 != 0.0) {
325 if (m1 == m2)
326 return ( PV.B0(mu * mu, s, m12, m12) + log(m1 * m1 / mu / mu));
327 else
328 return ( PV.B0(mu*mu, s, m12, m22) + log(m1 * m2 / mu / mu) - 1.0
329 + (m12 + m22) / (m12 - m22) * log(m1 / m2));
330 } else if (m1 == 0.0 && m2 != 0.0)
331 return ( PV.B0(mu * mu, s, 0.0, m22) + log(m2 * m2 / mu / mu) - 1.0);
332 else if (m1 != 0.0 && m2 == 0.0)
333 return ( PV.B0(mu * mu, s, m12, 0.0) + log(m1 * m1 / mu / mu) - 1.0);
334
335 else
336 throw std::runtime_error("Missing cases in EWSMOneLoopEW_HV::F_Hollik()");
337}
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
const double getMz() const
A get method to access the mass of the boson .
Test Observable.

◆ Fprime_Hollik()

gslpp::complex EWSMOneLoopEW_HV::Fprime_Hollik ( const double  muIR,
const double  s,
const double  m1,
const double  m2 
) const
Parameters
[in]muIRrenormalization scale for a possible IR divergence
[in]smomentum-squared
[in]m1mass
[in]m2mass
Returns
dF(s, m1, m2)/ds

Definition at line 339 of file EWSMOneLoopEW_HV.cpp.

341{
342 return ( PV.B0p(muIR*muIR, s, m1*m1, m2 * m2));
343}
gslpp::complex B0p(const double muIR2, const double p2, const double m02, const double m12) const
.

◆ ml()

double EWSMOneLoopEW_HV::ml ( const QCD::lepton  l) const
inline
Parameters
[in]lname of lepton
Returns
mass of lepton

Definition at line 40 of file EWSMOneLoopEW_HV.h.

41 {
42 return SM.getLeptons(l).getMass();
43 }
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61

◆ mq()

double EWSMOneLoopEW_HV::mq ( const QCD::quark  q,
const double  mu,
const orders  order = FULLNLO 
) const
inline
Parameters
[in]qname of quark
[in]murenormalization scale
[in]order(=LO, NLO, NNLO, FULLNLO, FULLNNLO)
Returns
the MSbar mass of u, d, s, c, b or the pole mass of t

Definition at line 51 of file EWSMOneLoopEW_HV.h.

52 {
53 switch (q) {
54 case QCD::UP:
55 return SM.Mrun(mu, SM.getQuarks(q).getMass_scale(), SM.getQuarks(q).getMass(), QCD::UP, order);
56 case QCD::DOWN:
57 return SM.Mrun(mu, SM.getQuarks(q).getMass_scale(), SM.getQuarks(q).getMass(), QCD::DOWN, order);
58 case QCD::STRANGE:
59 return SM.Mrun(mu, SM.getQuarks(q).getMass_scale(), SM.getQuarks(q).getMass(), QCD::STRANGE, order);
60 case QCD::CHARM:
61 return SM.Mrun(mu, SM.getQuarks(q).getMass_scale(), SM.getQuarks(q).getMass(), QCD::CHARM, order);
62 case QCD::BOTTOM:
63 return SM.Mrun(mu, SM.getQuarks(q).getMass(), QCD::BOTTOM, order);
64 case QCD::TOP:
65 return SM.getMtpole(); // the pole mass
66 default:
67 throw std::runtime_error("Error in EWSMOneLoopEW_HV::mq()");
68 }
69 }
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
Definition: Particle.h:133
const double Mrun(const double mu, const double m, const quark q, const orders order=FULLNNLO) const
Computes a running quark mass from .
Definition: QCD.cpp:1353
@ 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 getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:600

◆ PiGammaGamma_bos()

gslpp::complex EWSMOneLoopEW_HV::PiGammaGamma_bos ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of photon

Definition at line 190 of file EWSMOneLoopEW_HV.cpp.

192{
193 double Mw2 = Mw*Mw;
194 double w = -s / Mw2;
195
196 gslpp::complex Pi(0.0, 0.0, false);
197 if (s == 0.0) {
198 Pi = 3.0 * log(Mw2 / mu / mu) - 2.0 / 3.0;
199 } else {
200 /* Loop functions */
201 double A0_Mw2 = PV.A0(mu*mu, Mw2);
202 gslpp::complex B0_s_Mw2_Mw2 = PV.B0(mu*mu, s, Mw2, Mw2);
203
204 Pi = -Mw2 / s * ((4.0 - 3.0 * w) * B0_s_Mw2_Mw2 + 4.0 * (A0_Mw2 / Mw2 + 1.0));
205 }
206 return Pi;
207}
An observable class for the -boson mass.
Definition: Mw.h:22
double A0(const double mu2, const double m2) const
.
Definition: PVfunctions.cpp:23

◆ PiGammaGamma_bos_Hollik()

gslpp::complex EWSMOneLoopEW_HV::PiGammaGamma_bos_Hollik ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of photon

Definition at line 421 of file EWSMOneLoopEW_HV.cpp.

423{
424 double Mw2 = Mw*Mw;
425 double w = Mw2;
426
427 if (mu <= 0.0)
428 throw std::runtime_error("Missing cases in EWSMOneLoopEW_HV::PiGammaGamma_bos_Hollik()");
429
430 double DeltaW = -log(Mw2 / mu / mu);
431 double muIR = Mw; // relevant only for Fprime_Hollik(muIR, Mw*Mw, 0, Mw)
432
433 gslpp::complex Pi;
434 if (s == 0.0) {
435 //-- Pi(0) = dSigma(s)/ds|_{s=0} --
436 Pi = -3.0 * DeltaW - 3.0 * F_Hollik(s, Mw, Mw)
437 - (3.0 * s + 4.0 * w) * Fprime_Hollik(muIR, s, Mw, Mw);
438 } else {
439 //-- Pi(s) = Sigma(s)/s --
440 Pi = SigmaGammaGamma_bos_Hollik(mu, s, Mw) / s;
441 }
442 return Pi;
443}
gslpp::complex Fprime_Hollik(const double muIR, const double s, const double m1, const double m2) const
gslpp::complex F_Hollik(const double s, const double m1, const double m2) const
gslpp::complex SigmaGammaGamma_bos_Hollik(const double mu, const double s, const double Mw) const

◆ PiGammaGamma_fer()

gslpp::complex EWSMOneLoopEW_HV::PiGammaGamma_fer ( const double  mu,
const double  muForMq,
const double  s 
) const
Parameters
[in]murenormalization scale
[in]muForMqrenormalization scale for the running quark mass
[in]smomentum-squared
Returns
fermionic contribution to the self-energy function of photon

Definition at line 246 of file EWSMOneLoopEW_HV.cpp.

248{
249 gslpp::complex Pi(0.0, 0.0, false);
250 for (int i = 0; i < 6; i++) {
251 Pi += PiGammaGamma_fer_l(mu, s, (QCD::lepton) i);
252 Pi += PiGammaGamma_fer_q(mu, muForMq, s, (QCD::quark) i);
253 }
254 return Pi;
255}
gslpp::complex PiGammaGamma_fer_q(const double mu, const double muForMq, const double s, const QCD::quark q) const
gslpp::complex PiGammaGamma_fer_l(const double mu, const double s, const QCD::lepton l) const
quark
An enum type for quarks.
Definition: QCD.h:323
lepton
An enum type for leptons.
Definition: QCD.h:310

◆ PiGammaGamma_fer_l()

gslpp::complex EWSMOneLoopEW_HV::PiGammaGamma_fer_l ( const double  mu,
const double  s,
const QCD::lepton  l 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]lname of lepton
Returns
contribution to the self-energy function of photon from lepton l

Definition at line 209 of file EWSMOneLoopEW_HV.cpp.

211{
212 // Neutrinos do not contribute, since Qf=0.
215 return 0.0;
216
217 double mf = this->ml((QCD::lepton) l);
218 double Qf = SM.getLeptons(l).getCharge();
219
220 /* Loop functions */
221 gslpp::complex Bf_s_mf2_mf2;
222 if (mf == 0.0)
223 Bf_s_mf2_mf2 = 0.0;
224 else
225 Bf_s_mf2_mf2 = PV.Bf(mu*mu, s, mf*mf, mf * mf);
226
227 return ( -4.0 * Qf * Qf * Bf_s_mf2_mf2);
228}
double ml(const QCD::lepton l) const
gslpp::complex Bf(const double mu2, const double p2, const double m02, const double m12) const
.
double getCharge() const
A get method to access the particle charge.
Definition: Particle.h:97
@ NEUTRINO_2
Definition: QCD.h:313
@ NEUTRINO_1
Definition: QCD.h:311
@ NEUTRINO_3
Definition: QCD.h:315

◆ PiGammaGamma_fer_q()

gslpp::complex EWSMOneLoopEW_HV::PiGammaGamma_fer_q ( const double  mu,
const double  muForMq,
const double  s,
const QCD::quark  q 
) const
Parameters
[in]murenormalization scale
[in]muForMqrenormalization scale for the running quark mass
[in]smomentum-squared
[in]qname of quark
Returns
contribution to the self-energy function of photon from quark q

Definition at line 230 of file EWSMOneLoopEW_HV.cpp.

232{
233 double mf = this->mq((QCD::quark) q, muForMq);
234 double Qf = SM.getQuarks(q).getCharge();
235
236 /* Loop functions */
237 gslpp::complex Bf_s_mf2_mf2;
238 if (mf == 0.0)
239 Bf_s_mf2_mf2 = 0.0;
240 else
241 Bf_s_mf2_mf2 = PV.Bf(mu*mu, s, mf*mf, mf * mf);
242
243 return ( -4.0 * 3.0 * Qf * Qf * Bf_s_mf2_mf2);
244}
double mq(const QCD::quark q, const double mu, const orders order=FULLNLO) const

◆ SigmaGammaGamma_bos()

gslpp::complex EWSMOneLoopEW_HV::SigmaGammaGamma_bos ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of photon

Definition at line 178 of file EWSMOneLoopEW_HV.cpp.

180{
181 return ( s * PiGammaGamma_bos(mu, s, Mw));
182}
gslpp::complex PiGammaGamma_bos(const double mu, const double s, const double Mw) const

◆ SigmaGammaGamma_bos_Hollik()

gslpp::complex EWSMOneLoopEW_HV::SigmaGammaGamma_bos_Hollik ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of photon

Definition at line 406 of file EWSMOneLoopEW_HV.cpp.

408{
409 double Mw2 = Mw*Mw;
410 double w = Mw2;
411
412 if (mu <= 0.0)
413 throw std::runtime_error("Missing cases in EWSMOneLoopEW_HV::SigmaGammaGamma_bos_Hollik()");
414
415 double DeltaW = -log(Mw2 / mu / mu);
416
417 gslpp::complex Sigma = -3.0 * s * DeltaW - (3.0 * s + 4.0 * w) * F_Hollik(s, Mw, Mw);
418 return Sigma;
419}

◆ SigmaGammaGamma_fer()

gslpp::complex EWSMOneLoopEW_HV::SigmaGammaGamma_fer ( const double  mu,
const double  muForMq,
const double  s 
) const
Parameters
[in]murenormalization scale
[in]muForMqrenormalization scale for the running quark mass
[in]smomentum-squared
Returns
fermionic contribution to the self-energy function of photon

Definition at line 184 of file EWSMOneLoopEW_HV.cpp.

186{
187 return ( s * PiGammaGamma_fer(mu, muForMq, s));
188}
gslpp::complex PiGammaGamma_fer(const double mu, const double muForMq, const double s) const

◆ SigmaWW_bos()

gslpp::complex EWSMOneLoopEW_HV::SigmaWW_bos ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of W boson

Definition at line 21 of file EWSMOneLoopEW_HV.cpp.

23{
24 double Mz = SM.getMz(), mh = SM.getMHl();
25 double Mw2 = Mw*Mw, Mz2 = Mz*Mz, mh2 = mh*mh;
26 double cW2 = Mw2 / Mz2, cW4 = cW2*cW2;
27 double sW2 = 1.0 - cW2, sW4 = sW2*sW2;
28 double w = -s / Mw2, h = -s / mh2;
29 double wh = mh2 / Mw2, zh = mh2 / Mz2;
30
31 gslpp::complex Sigma(0.0, 0.0, false);
32 if (s == 0.0) {
33 throw std::runtime_error("Missing codes for EWSMOneLoopEW_HV::SigmaWW_bos(s=0)");
34 } else {
35 /* Loop functions */
36 double A0_Mw2 = PV.A0(mu*mu, Mw2);
37 double A0_mh2 = PV.A0(mu*mu, mh2);
38 double A0_Mz2 = PV.A0(mu*mu, Mz2);
39 gslpp::complex B0_s_Mw2_Mz2 = PV.B0(mu*mu, s, Mw2, Mz2);
40 gslpp::complex B0_s_mh2_Mw2 = PV.B0(mu*mu, s, mh2, Mw2);
41 gslpp::complex B0_s_0_Mw2 = PV.B0(mu*mu, s, 0.0, Mw2);
42
43 Sigma = Mw2 / 12.0
44 * (-(sW4 / cW4 * (1.0 + 8.0 * cW2) / w - 10.0 / cW2 + 54.0
45 + 16.0 * cW2 + (1.0 - 40.0 * cW2) * w) * B0_s_Mw2_Mz2
46 - ((1.0 - wh)*(1.0 - wh) / w + 2.0 * wh - 10.0 + w) * B0_s_mh2_Mw2
47 - 8.0 * sW2 * (1.0 / w + 2.0 - 5.0 * w) * B0_s_0_Mw2
48 + ((wh + 1.0 / cW2 - 2.0) / w + 36.0 / wh - 14.0) * A0_Mw2 / Mw2
49 - (1.0 / h - 1.0 / w - 7.0) * A0_mh2 / Mw2
50 - (sW2 / cW2 * (1.0 + 8.0 * cW2) / w - 18.0 / zh - 1.0 + 16.0 * cW2)
51 * A0_Mz2 / Mw2
52 + 12.0 / wh * (1.0 / cW4 + 2.0)
53 - 2.0 * (1.0 / cW2 + 18.0 + wh - 2.0 * w / 3.0));
54 }
55 return Sigma;
56}
virtual const double getMHl() const
A get method to retrieve the Higgs mass .

◆ SigmaWW_bos_Hollik()

gslpp::complex EWSMOneLoopEW_HV::SigmaWW_bos_Hollik ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of W boson

Definition at line 345 of file EWSMOneLoopEW_HV.cpp.

347{
348 double Mz = SM.getMz(), mh = SM.getMHl();
349 double Mw2 = Mw*Mw, Mz2 = Mz*Mz, mh2 = mh*mh;
350 double cW2 = Mw2 / Mz2;
351 double sW2 = 1.0 - cW2;
352 double w = Mw2, z = Mz2, h = mh2;
353
354 if (mu <= 0.0 || s == 0.0 || w == 0.0 || z == 0.0 || h == 0.0 || h == w || z == w)
355 throw std::runtime_error("Missing cases in EWSMOneLoopEW_HV::SigmaWW_bos_Hollik()");
356
357 double DeltaW = -log(Mw2 / mu / mu);
358
359 gslpp::complex Sigma = -(19.0 / 2.0 * s + 3.0 * w * (1.0 - sW2 / cW2)) * DeltaW / 3.0 // correct, Hollik (90)
360 //- (19.0/2.0*s + 3.0*w*(1.0 - sW2/cW2))*DeltaW // incorrect, Consoli, Hollik, Jegerlehner (89)
361 + (sW2 * sW2 * z - cW2 / 3.0 * (7.0 * (z + w) + 10.0 * s - 2.0 * (z - w)*(z - w) / s)
362 - (w + z - s / 2.0 - (z - w)*(z - w) / 2.0 / s) / 6.0)
363 * F_Hollik(s, Mz, Mw)
364 + sW2 / 3.0 * (-4.0 * w - 10.0 * s + 2.0 * w * w / s) * F_Hollik(s, 0.0, Mw)
365 + (5.0 * w - h + s / 2.0 + (h - w)*(h - w) / 2.0 / s) / 6.0
366 * F_Hollik(s, mh, Mw)
367 + (cW2 / 3.0 * (7.0 * z + 7.0 * w + 10.0 * s - 4.0 * (z - w))
368 - sW2 * sW2 * z + (2.0 * w - s / 2.0) / 6.0)*3.0 * z / (z - w) * log(z / w) // Hollik (90)
369 // - sW2*sW2*z +(2.0*w - s/2.0)/6.0)*z/(z - w)*log(z/w) // Consoli, Hollik, Jegerlehner (89)
370 - (2.0 / 3.0 * w + s / 12.0) * h / (h - w) * log(h / w)
371 - cW2 / 3.0 * (7.0 * z + 7.0 * w + 32.0 / 3.0 * s) + sW2 * sW2 * z
372 + (5.0 / 3.0 * s + 4.0 * w - z - h) / 6.0
373 - sW2 / 3.0 * (4.0 * w + 32.0 / 3.0 * s);
374 return Sigma;
375}

◆ SigmaWW_fer()

gslpp::complex EWSMOneLoopEW_HV::SigmaWW_fer ( const double  mu,
const double  muForMq,
const double  s 
) const
Parameters
[in]murenormalization scale
[in]muForMqrenormalization scale for the running quark mass
[in]smomentum-squared
Returns
fermionic contribution to the self-energy function of W boson

Definition at line 58 of file EWSMOneLoopEW_HV.cpp.

60{
61 double ml[6], mq[6], ml2[6], mq2[6];
62 for (int i = 0; i < 6; i++) {
63 ml[i] = this->ml((QCD::lepton) i);
64 mq[i] = this->mq((QCD::quark) i, muForMq);
65 ml2[i] = ml[i] * ml[i];
66 mq2[i] = mq[i] * mq[i];
67 }
68
69 gslpp::complex Sigma(0.0, 0.0, false);
70 if (s == 0.0) {
71 throw std::runtime_error("Missing codes for EWSMOneLoopEW_HV::SigmaWW_fer(s=0)");
72 } else {
73 /* Loop functions */
74 gslpp::complex B1_s_ml2_mlprime2[3], B1_s_mq2_mqprime2[3];
75 gslpp::complex B1_s_mlprime2_ml2[3], B1_s_mqprime2_mq2[3];
76 gslpp::complex Bf_s_mlprime2_ml2[3], Bf_s_mqprime2_mq2[3];
77 for (int gen = 0; gen < 3; gen++) {
78 B1_s_ml2_mlprime2[gen] = PV.B1(mu*mu, s, ml2[2 * gen], ml2[2 * gen + 1]);
79 B1_s_mq2_mqprime2[gen] = PV.B1(mu*mu, s, mq2[2 * gen], mq2[2 * gen + 1]);
80 B1_s_mlprime2_ml2[gen] = PV.B1(mu*mu, s, ml2[2 * gen + 1], ml2[2 * gen]);
81 B1_s_mqprime2_mq2[gen] = PV.B1(mu*mu, s, mq2[2 * gen + 1], mq2[2 * gen]);
82 Bf_s_mlprime2_ml2[gen] = PV.Bf(mu*mu, s, ml2[2 * gen + 1], ml2[2 * gen]);
83 Bf_s_mqprime2_mq2[gen] = PV.Bf(mu*mu, s, mq2[2 * gen + 1], mq2[2 * gen]);
84 }
85
86 double mf2, mfprime2;
87 for (int gen = 0; gen < 3; gen++) {
88 mf2 = ml2[2 * gen];
89 mfprime2 = ml2[2 * gen + 1];
90 if (s != 0.0) Sigma += -s * Bf_s_mlprime2_ml2[gen];
91 Sigma += mfprime2 * B1_s_ml2_mlprime2[gen] + mf2 * B1_s_mlprime2_ml2[gen];
92 //
93 mf2 = mq2[2 * gen];
94 mfprime2 = mq2[2 * gen + 1];
95 if (s != 0.0) Sigma += 3.0 * (-s * Bf_s_mqprime2_mq2[gen]);
96 Sigma += 3.0 * (mfprime2 * B1_s_mq2_mqprime2[gen] + mf2 * B1_s_mqprime2_mq2[gen]);
97 }
98 }
99 return Sigma;
100}
gslpp::complex B1(const double mu2, const double p2, const double m02, const double m12) const
.

◆ SigmaZgamma_bos()

gslpp::complex EWSMOneLoopEW_HV::SigmaZgamma_bos ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of the Z-gamma mixing

Definition at line 257 of file EWSMOneLoopEW_HV.cpp.

259{
260 double Mz = SM.getMz();
261 double Mw2 = Mw*Mw, Mz2 = Mz*Mz;
262 double cW2 = Mw2 / Mz2;
263 double w = -s / Mw2;
264
265 gslpp::complex Sigma(0.0, 0.0, false);
266 if (s == 0.0) {
267 Sigma = 2.0 * Mw2 * log(Mw2 / mu / mu);
268 } else {
269 /* Loop functions */
270 double A0_Mw2 = PV.A0(mu*mu, Mw2);
271 gslpp::complex B0_s_Mw2_Mw2 = PV.B0(mu*mu, s, Mw2, Mw2);
272
273 Sigma = (4.0 * (1.0 / 3.0 + cW2) / w - 1.0 / 6.0 - 3.0 * cW2) * s * B0_s_Mw2_Mw2
274 + (2.0 / 3.0 - 4.0 * cW2) * Mw2 * (A0_Mw2 / Mw2 + 1.0) - s / 9.0;
275 }
276 return Sigma;
277}

◆ SigmaZgamma_bos_Hollik()

gslpp::complex EWSMOneLoopEW_HV::SigmaZgamma_bos_Hollik ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of the Z-gamma mixing

Definition at line 445 of file EWSMOneLoopEW_HV.cpp.

447{
448 double Mz = SM.getMz();
449 double Mw2 = Mw*Mw, Mz2 = Mz*Mz;
450 double cW2 = Mw2 / Mz2;
451 double w = Mw2;
452
453 if (mu <= 0.0)
454 throw std::runtime_error("Missing cases in EWSMOneLoopEW_HV::SigmaZgamma_bos_Hollik()");
455
456 double DeltaW = -log(Mw2 / mu / mu);
457
458 gslpp::complex Sigma = ((3.0 * cW2 + 1.0 / 6.0) * s + 2.0 * w) * DeltaW
459 + ((3.0 * cW2 + 1.0 / 6.0) * s + (4.0 * cW2 + 4.0 / 3.0) * w)
460 * F_Hollik(s, Mw, Mw)
461 + s / 9.0;
462 return ( -Sigma); // The minus sign is attributed to the different definition of s_W.
463}

◆ SigmaZgamma_fer()

gslpp::complex EWSMOneLoopEW_HV::SigmaZgamma_fer ( const double  mu,
const double  muForMq,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]muForMqrenormalization scale for the running quark mass
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
fermionic contribution to the self-energy function of the Z-gamma mixing

Definition at line 279 of file EWSMOneLoopEW_HV.cpp.

281{
282 double ml[6], mq[6], ml2[6], mq2[6];
283 for (int i = 0; i < 6; i++) {
284 ml[i] = this->ml((QCD::lepton) i);
285 mq[i] = this->mq((QCD::quark) i, muForMq);
286 ml2[i] = ml[i] * ml[i];
287 mq2[i] = mq[i] * mq[i];
288 }
289 double Mz = SM.getMz();
290 double Mw2 = Mw*Mw, Mz2 = Mz*Mz;
291 double sW2 = 1.0 - Mw2 / Mz2;
292
293 /* Loop functions */
294 gslpp::complex Bf_s_ml2_ml2[6], Bf_s_mq2_mq2[6];
295 for (int i = 0; i < 6; i++) {
296 if (i == 0 || i == 2 || i == 4)
297 Bf_s_ml2_ml2[i] = 0.0; // Neutrinos do not contribute, since Ql=0.
298 else
299 Bf_s_ml2_ml2[i] = PV.Bf(mu*mu, s, ml2[i], ml2[i]);
300 Bf_s_mq2_mq2[i] = PV.Bf(mu*mu, s, mq2[i], mq2[i]);
301 }
302
303 gslpp::complex Pi(0.0, 0.0, false);
304 double Ql, Qq;
305 for (int i = 0; i < 6; i++) {
307 Pi += -(fabs(Ql) - 4.0 * sW2 * Ql * Ql) * Bf_s_ml2_ml2[i];
308 //
309 Qq = SM.getQuarks((QCD::quark) i).getCharge();
310 Pi += -3.0 * (fabs(Qq) - 4.0 * sW2 * Qq * Qq) * Bf_s_mq2_mq2[i];
311 }
312 return ( s * Pi);
313}

◆ SigmaZZ_bos()

gslpp::complex EWSMOneLoopEW_HV::SigmaZZ_bos ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of Z boson

Definition at line 102 of file EWSMOneLoopEW_HV.cpp.

104{
105 double Mz = SM.getMz(), mh = SM.getMHl();
106 double Mw2 = Mw*Mw, Mz2 = Mz*Mz, mh2 = mh*mh;
107 double cW2 = Mw2 / Mz2, cW4 = cW2*cW2, cW6 = cW4*cW2;
108 double z = -s / Mz2, h = -s / mh2;
109 double wh = mh2 / Mw2, zh = mh2 / Mz2;
110
111 gslpp::complex Sigma(0.0, 0.0, false);
112 if (s == 0.0) {
113 throw std::runtime_error("Missing codes for EWSMOneLoopEW_HV::SigmaZZ_bos(s=0)");
114 } else {
115 /* Loop functions */
116 double A0_Mw2 = PV.A0(mu*mu, Mw2);
117 double A0_mh2 = PV.A0(mu*mu, mh2);
118 double A0_Mz2 = PV.A0(mu*mu, Mz2);
119 gslpp::complex B0_s_Mw2_Mw2 = PV.B0(mu*mu, s, Mw2, Mw2);
120 gslpp::complex B0_s_mh2_Mz2 = PV.B0(mu*mu, s, mh2, Mz2);
121
122 Sigma = Mz2 / 12.0
123 * ((4.0 * cW2 * (5.0 - 8.0 * cW2 - 12.0 * cW4)
124 - (1.0 - 4.0 * cW2 - 36.0 * cW4) * z) * B0_s_Mw2_Mw2
125 - ((1.0 - zh)*(1.0 - zh) / z + 2.0 * zh - 10.0 + z) * B0_s_mh2_Mz2
126 - (1.0 / h - 1.0 / z - 7.0) * A0_mh2 / Mz2
127 + 2.0 * (18.0 / wh + 1.0 + 8.0 * cW2 - 24.0 * cW4) * A0_Mw2 / Mz2
128 + (1.0 / h - 1.0 / z + 18.0 / zh + 1.0) * A0_Mz2 / Mz2
129 + 2.0 * (6.0 * (1.0 + 2.0 * cW4) / zh - zh - 1.0 - 2.0 * cW2 + 8.0 * cW4
130 - 24.0 * cW6 - 2.0 / 3.0 * (1.0 - 2.0 * cW2) * z));
131 }
132 return Sigma;
133}

◆ SigmaZZ_bos_Hollik()

gslpp::complex EWSMOneLoopEW_HV::SigmaZZ_bos_Hollik ( const double  mu,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
bosonic contribution to the self-energy function of Z boson

Definition at line 377 of file EWSMOneLoopEW_HV.cpp.

379{
380 double Mz = SM.getMz(), mh = SM.getMHl();
381 double Mw2 = Mw*Mw, Mz2 = Mz*Mz, mh2 = mh*mh;
382 double cW2 = Mw2 / Mz2;
383 double sW2 = 1.0 - cW2;
384 double w = Mw2, z = Mz2, h = mh2;
385
386 if (mu <= 0.0 || s == 0.0 || w == 0.0 || z == 0.0 || h == 0.0 || h == z)
387 throw std::runtime_error("Missing cases in EWSMOneLoopEW_HV::SigmaZZ_bos_Hollik()");
388
389 double DeltaW = -log(Mw2 / mu / mu);
390
391 gslpp::complex Sigma = ((3.0 - 19.0 / 6.0 / sW2 + 1.0 / 6.0 / cW2) * s
392 + (4.0 + 1.0 / cW2 - 1.0 / sW2) * Mz2) * DeltaW * sW2 * cW2
393 + ((-cW2 * cW2 * (40.0 * s + 80.0 * w)
394 + (cW2 - sW2)*(cW2 - sW2)*(8.0 * w + s) + 12.0 * w)
395 * F_Hollik(s, Mw, Mw)
396 + (10.0 * z - 2.0 * h + s + (h - z)*(h - z) / s)
397 * F_Hollik(s, mh, Mz)
398 - 2.0 * h * log(h / w) - 2.0 * z * log(z / w)
399 + (10.0 * z - 2.0 * h + s)
400 *(1.0 - (h + z) / (h - z) * log(mh / Mz) - log(mh * Mz / w))
401 + 2.0 / 3.0 * s * (1.0 + (cW2 - sW2)*(cW2 - sW2) - 4.0 * cW2)
402 ) / 12.0;
403 return Sigma;
404}

◆ SigmaZZ_fer()

gslpp::complex EWSMOneLoopEW_HV::SigmaZZ_fer ( const double  mu,
const double  muForMq,
const double  s,
const double  Mw 
) const
Parameters
[in]murenormalization scale
[in]muForMqrenormalization scale for the running quark mass
[in]smomentum-squared
[in]Mwthe W-boson mass
Returns
fermionic contribution to the self-energy function of Z boson

Definition at line 135 of file EWSMOneLoopEW_HV.cpp.

137{
138 double ml[6], mq[6], ml2[6], mq2[6];
139 for (int i = 0; i < 6; i++) {
140 ml[i] = this->ml((QCD::lepton) i);
141 mq[i] = this->mq((QCD::quark) i, muForMq);
142 ml2[i] = ml[i] * ml[i];
143 mq2[i] = mq[i] * mq[i];
144 }
145
146 gslpp::complex Sigma(0.0, 0.0, false);
147 if (s == 0.0) {
148 throw std::runtime_error("Missing codes for EWSMOneLoopEW_HV::SigmaZZ_fer(s=0)");
149 } else {
150 /* Loop functions */
151 gslpp::complex Bf_s_ml2_ml2[6], Bf_s_mq2_mq2[6];
152 gslpp::complex B0_s_ml2_ml2[6], B0_s_mq2_mq2[6];
153 for (int i = 0; i < 6; i++) {
154 Bf_s_ml2_ml2[i] = PV.Bf(mu*mu, s, ml2[i], ml2[i]);
155 Bf_s_mq2_mq2[i] = PV.Bf(mu*mu, s, mq2[i], mq2[i]);
156 B0_s_ml2_ml2[i] = PV.B0(mu*mu, s, ml2[i], ml2[i]);
157 B0_s_mq2_mq2[i] = PV.B0(mu*mu, s, mq2[i], mq2[i]);
158 }
159
160 double mf2, vf2, af2;
161 for (int i = 0; i < 6; i++) {
162 mf2 = ml2[i];
163 vf2 = pow(vl((QCD::lepton) i, Mw), 2.0);
164 af2 = pow(al((QCD::lepton) i), 2.0);
165 Sigma += -(vf2 + af2) * s * Bf_s_ml2_ml2[i];
166 Sigma += -2.0 * af2 * mf2 * B0_s_ml2_ml2[i];
167 //
168 mf2 = mq2[i];
169 vf2 = pow(vq((QCD::quark) i, Mw), 2.0);
170 af2 = pow(aq((QCD::quark) i), 2.0);
171 Sigma += -3.0 * (vf2 + af2) * s * Bf_s_mq2_mq2[i];
172 Sigma += -3.0 * 2.0 * af2 * mf2 * B0_s_mq2_mq2[i];
173 }
174 }
175 return Sigma;
176}
double vl(const QCD::lepton l, const double Mw) const
double al(const QCD::lepton l) const
double aq(const QCD::quark q) const
double vq(const QCD::quark q, const double Mw) const

◆ vl()

double EWSMOneLoopEW_HV::vl ( const QCD::lepton  l,
const double  Mw 
) const
inline
Parameters
[in]lname of lepton
[in]Mwthe W-boson mass
Returns
the tree-level vector coupling for Z->l lbar
Attention
depends on sW2

Definition at line 78 of file EWSMOneLoopEW_HV.h.

79 {
80 double sW2 = 1.0 - Mw * Mw / SM.getMz() / SM.getMz();
81 return ( al(l) - 2.0 * SM.getLeptons(l).getCharge() * sW2);
82 }

◆ vq()

double EWSMOneLoopEW_HV::vq ( const QCD::quark  q,
const double  Mw 
) const
inline
Parameters
[in]qname of quark
[in]Mwthe W-boson mass
Returns
the tree-level vector coupling for Z->q qbar
Attention
depends on sW2

Definition at line 91 of file EWSMOneLoopEW_HV.h.

92 {
93 double sW2 = 1.0 - Mw * Mw / SM.getMz() / SM.getMz();
94 return ( aq(q) - 2.0 * SM.getQuarks(q).getCharge() * sW2);
95 }

Member Data Documentation

◆ PV

const PVfunctions EWSMOneLoopEW_HV::PV
private

An object of type PVfunctions.

Definition at line 285 of file EWSMOneLoopEW_HV.h.

◆ SM

const StandardModel& EWSMOneLoopEW_HV::SM
private

A reference to an object of type StandardModel.

Definition at line 284 of file EWSMOneLoopEW_HV.h.


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