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

A class for NP analyses of LEP-II observables with the extended oblique parameters. More...

#include <LEP2oblique.h>

Detailed Description

A class for NP analyses of LEP-II observables with the extended oblique parameters.

Author
HEPfit Collaboration

Definition at line 22 of file LEP2oblique.h.

Public Types

enum  Oblique { Shat =0 , That , Uhat , V , W , X , Y }
 

Public Member Functions

double AFB_l_LEP2_NP (const QCD::lepton l, const double s, const double ml, const double ObParam_i[]) const
 
double AFB_q_LEP2_NP (const QCD::quark q, const double s, const double mq, const double ObParam_i[]) const
 
 LEP2oblique (const StandardModel &SM_i)
 LEP2oblique constructor. More...
 
double R_q_LEP2_NP (const QCD::quark q, const double s, const double mq, const double ObParam_i[]) const
 
double sigma_l_LEP2_NP (const QCD::lepton l, const double s, const double ml, const double ObParam_i[]) const
 
double sigma_q_LEP2_NP (const QCD::quark q, const double s, const double mq, const double ObParam_i[]) const
 

Private Member Functions

double al (const QCD::lepton l, const double alpha0) const
 
double alpha_at_s (const double s) const
 
double aq (const QCD::quark q, const double alpha0) const
 
double c02 (const double alpha0) const
 
double DeltaEpsilon_1 (const double alpha0, const double ObParam_i[]) const
 
double DeltaEpsilon_2 (const double alpha0, const double ObParam_i[]) const
 
double DeltaEpsilon_3 (const double alpha0, const double ObParam_i[]) const
 
double epsilonGammaGamma (const double alpha0, const double ObParam_i[]) const
 
double epsilonGammaZ (const double alpha0, const double ObParam_i[]) const
 
double epsilonZZ (const double alpha0, const double ObParam_i[]) const
 
double G1_l_NP (const QCD::lepton l, const double s, const double alpha0, const double ObParam_i[]) const
 
double G1_l_SM0 (const QCD::lepton l, const double s, const double alpha0) const
 
double G1_NP (const double s, const double alpha0, const double Qf, const double vf, const double af, const double ObParam_i[]) const
 
double G1_q_NP (const QCD::quark q, const double s, const double alpha0, const double ObParam_i[]) const
 
double G1_q_SM0 (const QCD::quark q, const double s, const double alpha0) const
 
double G1_SM0 (const double s, const double alpha0, const double Qf, const double vf, const double af) const
 
double G2_l_SM0 (const QCD::lepton l, const double s, const double alpha0) const
 
double G2_q_SM0 (const QCD::quark q, const double s, const double alpha0) const
 
double G2_SM0 (const double s, const double alpha0, const double Qf, const double vf, const double af) const
 
double G3_l_NP (const QCD::lepton l, const double s, const double alpha0, const double ObParam_i[]) const
 
double G3_l_SM0 (const QCD::lepton l, const double s, const double alpha0) const
 
double G3_NP (const double s, const double alpha0, const double Qf, const double vf, const double af, const double ObParam_i[]) const
 
double G3_q_NP (const QCD::quark q, const double s, const double alpha0, const double ObParam_i[]) const
 
double G3_q_SM0 (const QCD::quark q, const double s, const double alpha0) const
 
double G3_SM0 (const double s, const double alpha0, const double Qf, const double vf, const double af) const
 
double Mw0 (const double alpha0) const
 
double s02 (const double alpha0) const
 
double sigma_l_LEP2_SM0 (const QCD::lepton l, const double s, const double alpha0, const double ml) const
 
double sigma_q_LEP2_SM0 (const QCD::quark q, const double s, const double alpha0, const double mq) const
 
double vl (const QCD::lepton l, const double alpha0) const
 
double vq (const QCD::quark q, const double alpha0) const
 

Private Attributes

const StandardModelSM
 

Member Enumeration Documentation

◆ Oblique

Enumerator
Shat 
That 
Uhat 

Definition at line 25 of file LEP2oblique.h.

Constructor & Destructor Documentation

◆ LEP2oblique()

LEP2oblique::LEP2oblique ( const StandardModel SM_i)

LEP2oblique constructor.

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

Definition at line 11 of file LEP2oblique.cpp.

12: SM(SM_i)
13{
14}
const StandardModel & SM
Definition: LEP2oblique.h:52

Member Function Documentation

◆ AFB_l_LEP2_NP()

double LEP2oblique::AFB_l_LEP2_NP ( const QCD::lepton  l,
const double  s,
const double  ml,
const double  ObParam_i[] 
) const

Definition at line 45 of file LEP2oblique.cpp.

48{
49 double alpha0 = alpha_at_s(s);
50 double mf2 = ml*ml;
51 double betaf = sqrt(1.0 - 4.0*mf2/s);
52 double G1SM0 = G1_l_SM0(l, s, alpha0);
53 double G2SM0 = G2_l_SM0(l, s, alpha0);
54 double G3SM0 = G3_l_SM0(l, s, alpha0);
55 double AFB_Born0 = 3.0/4.0*betaf*G3SM0/(G1SM0 + 2.0*mf2/s*G2SM0);
56 double G1NP = G1_l_NP(l, s, alpha0, ObParam_i);
57 double G3NP = G3_l_NP(l, s, alpha0, ObParam_i);
58
59 return ( - AFB_Born0*G1NP/(G1SM0 + 2.0*mf2/s*G2SM0)
60 + AFB_Born0*G3NP/G3SM0 );
61}
double G3_l_NP(const QCD::lepton l, const double s, const double alpha0, const double ObParam_i[]) const
double G1_l_SM0(const QCD::lepton l, const double s, const double alpha0) const
double G2_l_SM0(const QCD::lepton l, const double s, const double alpha0) const
double G1_l_NP(const QCD::lepton l, const double s, const double alpha0, const double ObParam_i[]) const
double G3_l_SM0(const QCD::lepton l, const double s, const double alpha0) const
double alpha_at_s(const double s) const
Definition: LEP2oblique.h:62
Test Observable.

◆ AFB_q_LEP2_NP()

double LEP2oblique::AFB_q_LEP2_NP ( const QCD::quark  q,
const double  s,
const double  mq,
const double  ObParam_i[] 
) const

Definition at line 64 of file LEP2oblique.cpp.

67{
68 double alpha0 = alpha_at_s(s);
69 double mf2 = mq*mq;
70 double betaf = sqrt(1.0 - 4.0*mf2/s);
71 double G1SM0 = G1_q_SM0(q, s, alpha0);
72 double G2SM0 = G2_q_SM0(q, s, alpha0);
73 double G3SM0 = G3_q_SM0(q, s, alpha0);
74 double AFB_Born0 = 3.0/4.0*betaf*G3SM0/(G1SM0 + 2.0*mf2/s*G2SM0);
75 double G1NP = G1_q_NP(q, s, alpha0, ObParam_i);
76 double G3NP = G3_q_NP(q, s, alpha0, ObParam_i);
77
78 return ( - AFB_Born0*G1NP/(G1SM0 + 2.0*mf2/s*G2SM0)
79 + AFB_Born0*G3NP/G3SM0 );
80}
double G1_q_SM0(const QCD::quark q, const double s, const double alpha0) const
double G3_q_NP(const QCD::quark q, const double s, const double alpha0, const double ObParam_i[]) const
double G3_q_SM0(const QCD::quark q, const double s, const double alpha0) const
double G1_q_NP(const QCD::quark q, const double s, const double alpha0, const double ObParam_i[]) const
double G2_q_SM0(const QCD::quark q, const double s, const double alpha0) const

◆ al()

double LEP2oblique::al ( const QCD::lepton  l,
const double  alpha0 
) const
private

Definition at line 180 of file LEP2oblique.cpp.

181{
182 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
183 return ( - SM.getLeptons(l).getIsospin()/(2.0*s0*c0) );
184}
double s02(const double alpha0) const
Definition: LEP2oblique.h:74
double c02(const double alpha0) const
Definition: LEP2oblique.h:84
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.

◆ alpha_at_s()

double LEP2oblique::alpha_at_s ( const double  s) const
inlineprivate

Definition at line 62 of file LEP2oblique.h.

63 {
64 //return ( SM.alphaMz() ); // TEST
65 return ( SM.ale_OS(sqrt(s), FULLNLO) );
66 }
@ FULLNLO
Definition: OrderScheme.h:38
const double ale_OS(const double mu, orders order=FULLNLO) const
The running electromagnetic coupling in the on-shell scheme.

◆ aq()

double LEP2oblique::aq ( const QCD::quark  q,
const double  alpha0 
) const
private

Definition at line 187 of file LEP2oblique.cpp.

188{
189 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
190 return ( - SM.getQuarks(q).getIsospin()/(2.0*s0*c0) );
191}
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

◆ c02()

double LEP2oblique::c02 ( const double  alpha0) const
inlineprivate

Definition at line 84 of file LEP2oblique.h.

85 {
86 return ( 1.0 - s02(alpha0) );
87 }

◆ DeltaEpsilon_1()

double LEP2oblique::DeltaEpsilon_1 ( const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 108 of file LEP2oblique.cpp.

110{
111 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
112 return ( ObParam_i[That] - ObParam_i[W] + 2.0*s0/c0*ObParam_i[X]
113 - s0*s0/c0/c0*ObParam_i[Y] );
114}

◆ DeltaEpsilon_2()

double LEP2oblique::DeltaEpsilon_2 ( const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 117 of file LEP2oblique.cpp.

119{
120 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
121 return ( ObParam_i[Uhat] - ObParam_i[V] - ObParam_i[W]
122 + 2.0*s0/c0*ObParam_i[X] );
123}

◆ DeltaEpsilon_3()

double LEP2oblique::DeltaEpsilon_3 ( const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 126 of file LEP2oblique.cpp.

128{
129 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
130 return ( ObParam_i[Shat] - ObParam_i[W] + ObParam_i[X]/s0/c0
131 - ObParam_i[Y] );
132}

◆ epsilonGammaGamma()

double LEP2oblique::epsilonGammaGamma ( const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 144 of file LEP2oblique.cpp.

146{
147 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
148 return ( s02(alpha0)*ObParam_i[W] + 2.0*s0*c0*ObParam_i[X]
149 + c02(alpha0)*ObParam_i[Y] );
150}

◆ epsilonGammaZ()

double LEP2oblique::epsilonGammaZ ( const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 153 of file LEP2oblique.cpp.

155{
156 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
157 return ( (c02(alpha0) - s02(alpha0))*ObParam_i[X] + s0*c0*(ObParam_i[W]
158 - ObParam_i[Y]) );
159}

◆ epsilonZZ()

double LEP2oblique::epsilonZZ ( const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 135 of file LEP2oblique.cpp.

137{
138 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
139 return ( c02(alpha0)*ObParam_i[W] - 2.0*s0*c0*ObParam_i[X]
140 + s02(alpha0)*ObParam_i[Y] );
141}

◆ G1_l_NP()

double LEP2oblique::G1_l_NP ( const QCD::lepton  l,
const double  s,
const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 228 of file LEP2oblique.cpp.

231{
232 double Qf = SM.getLeptons(l).getCharge();
233 double vf = vl(l, alpha0), af = al(l, alpha0);
234 return ( G1_NP(s, alpha0, Qf, vf, af, ObParam_i) );
235}
double al(const QCD::lepton l, const double alpha0) const
double G1_NP(const double s, const double alpha0, const double Qf, const double vf, const double af, const double ObParam_i[]) const
double vl(const QCD::lepton l, const double alpha0) const
double getCharge() const
A get method to access the particle charge.
Definition: Particle.h:97

◆ G1_l_SM0()

double LEP2oblique::G1_l_SM0 ( const QCD::lepton  l,
const double  s,
const double  alpha0 
) const
private

Definition at line 315 of file LEP2oblique.cpp.

317{
318 double Qf = SM.getLeptons(l).getCharge();
319 double vf = vl(l, alpha0), af = al(l, alpha0);
320 return ( G1_SM0(s, alpha0, Qf, vf, af) );
321}
double G1_SM0(const double s, const double alpha0, const double Qf, const double vf, const double af) const

◆ G1_NP()

double LEP2oblique::G1_NP ( const double  s,
const double  alpha0,
const double  Qf,
const double  vf,
const double  af,
const double  ObParam_i[] 
) const
private

Definition at line 194 of file LEP2oblique.cpp.

197{
198 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
200 double ve = vl(StandardModel::ELECTRON, alpha0);
201 double ae = al(StandardModel::ELECTRON, alpha0);
202 double Qe2 = Qe*Qe, Qf2 = Qf*Qf;
203 double ve2 = ve*ve, vf2 = vf*vf, ae2 = ae*ae, af2 = af*af;
204 double Mz = SM.getMz();
205 double GammaZ0 = 7.0*alpha0*Mz/(16.0*s02(alpha0)*c02(alpha0));
206 gslpp::complex denom = gslpp::complex(s - Mz*Mz, Mz*GammaZ0, false);
207 double Zprop = (1.0/denom).real();
208
209 double epsilonbarGamma = - s/(Mw0(alpha0)*Mw0(alpha0))
210 *epsilonGammaGamma(alpha0, ObParam_i);
211 double epsilonbarZ = s*Zprop*DeltaEpsilon_1(alpha0, ObParam_i)
212 - s/(Mw0(alpha0)*Mw0(alpha0))*epsilonZZ(alpha0, ObParam_i);
213 double epsilonbarGammaZ = c0/s0*s*Zprop
214 *( DeltaEpsilon_1(alpha0, ObParam_i)
215 - DeltaEpsilon_2(alpha0, ObParam_i) )
216 - s0/c0*s*Zprop*DeltaEpsilon_3(alpha0, ObParam_i)
217 + s/(Mw0(alpha0)*Mw0(alpha0))
218 *epsilonGammaZ(alpha0, ObParam_i);
219
220 return ( 2.0*Qe2*Qf2*epsilonbarGamma
221 + 2.0*ve*vf*Qe*Qf*(epsilonbarZ + s*epsilonbarGamma*Zprop)
222 + 2.0*(ve2 + ae2)*(vf2 + af2)*s*epsilonbarZ*Zprop
223 + 2.0*(vf*Qe2*Qf + ve*Qe*Qf2)*epsilonbarGammaZ
224 + 2.0*(ve*(vf2 + af2)*Qe + (ve2 + ae2)*vf*Qf)*s*epsilonbarGammaZ*Zprop );
225}
double DeltaEpsilon_1(const double alpha0, const double ObParam_i[]) const
double epsilonGammaZ(const double alpha0, const double ObParam_i[]) const
double Mw0(const double alpha0) const
Definition: LEP2oblique.h:68
double DeltaEpsilon_3(const double alpha0, const double ObParam_i[]) const
double epsilonGammaGamma(const double alpha0, const double ObParam_i[]) const
double epsilonZZ(const double alpha0, const double ObParam_i[]) const
double DeltaEpsilon_2(const double alpha0, const double ObParam_i[]) const
@ ELECTRON
Definition: QCD.h:312
const double getMz() const
A get method to access the mass of the boson .

◆ G1_q_NP()

double LEP2oblique::G1_q_NP ( const QCD::quark  q,
const double  s,
const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 238 of file LEP2oblique.cpp.

241{
242 double Qf = SM.getQuarks(q).getCharge();
243 double vf = vq(q, alpha0), af = aq(q, alpha0);
244 return ( G1_NP(s, alpha0, Qf, vf, af, ObParam_i) );
245}
double vq(const QCD::quark q, const double alpha0) const
double aq(const QCD::quark q, const double alpha0) const

◆ G1_q_SM0()

double LEP2oblique::G1_q_SM0 ( const QCD::quark  q,
const double  s,
const double  alpha0 
) const
private

Definition at line 324 of file LEP2oblique.cpp.

326{
327 double Qf = SM.getQuarks(q).getCharge();
328 double vf = vq(q, alpha0), af = aq(q, alpha0);
329 return ( G1_SM0(s, alpha0, Qf, vf, af) );
330}

◆ G1_SM0()

double LEP2oblique::G1_SM0 ( const double  s,
const double  alpha0,
const double  Qf,
const double  vf,
const double  af 
) const
private

Definition at line 297 of file LEP2oblique.cpp.

299{
301 double ve = vl(StandardModel::ELECTRON, alpha0);
302 double ae = al(StandardModel::ELECTRON, alpha0);
303 double Qe2 = Qe*Qe, Qf2 = Qf*Qf;
304 double ve2 = ve*ve, vf2 = vf*vf, ae2 = ae*ae, af2 = af*af;
305 double Mz = SM.getMz();
306 double GammaZ0 = 7.0*alpha0*Mz/(16.0*s02(alpha0)*c02(alpha0));
307 gslpp::complex denom = gslpp::complex(s - Mz*Mz, Mz*GammaZ0, false);
308 gslpp::complex chiZ = s/denom;
309
310 return ( Qe2*Qf2 + 2.0*ve*vf*Qe*Qf*chiZ.real()
311 + (ve2 + ae2)*(vf2 + af2)*chiZ.abs2() );
312}

◆ G2_l_SM0()

double LEP2oblique::G2_l_SM0 ( const QCD::lepton  l,
const double  s,
const double  alpha0 
) const
private

Definition at line 351 of file LEP2oblique.cpp.

353{
354 double Qf = SM.getLeptons(l).getCharge();
355 double vf = vl(l, alpha0), af = al(l, alpha0);
356 return ( G2_SM0(s, alpha0, Qf, vf, af) );
357}
double G2_SM0(const double s, const double alpha0, const double Qf, const double vf, const double af) const

◆ G2_q_SM0()

double LEP2oblique::G2_q_SM0 ( const QCD::quark  q,
const double  s,
const double  alpha0 
) const
private

Definition at line 360 of file LEP2oblique.cpp.

362{
363 double Qf = SM.getQuarks(q).getCharge();
364 double vf = vq(q, alpha0), af = aq(q, alpha0);
365 return ( G2_SM0(s, alpha0, Qf, vf, af) );
366
367}

◆ G2_SM0()

double LEP2oblique::G2_SM0 ( const double  s,
const double  alpha0,
const double  Qf,
const double  vf,
const double  af 
) const
private

Definition at line 333 of file LEP2oblique.cpp.

335{
337 double ve = vl(StandardModel::ELECTRON, alpha0);
338 double ae = al(StandardModel::ELECTRON, alpha0);
339 double Qe2 = Qe*Qe, Qf2 = Qf*Qf;
340 double ve2 = ve*ve, vf2 = vf*vf, ae2 = ae*ae;
341 double Mz = SM.getMz();
342 double GammaZ0 = 7.0*alpha0*Mz/(16.0*s02(alpha0)*c02(alpha0));
343 gslpp::complex denom = gslpp::complex(s - Mz*Mz, Mz*GammaZ0, false);
344 gslpp::complex chiZ = s/denom;
345
346 return ( Qe2*Qf2 + 2.0*ve*vf*Qe*Qf*chiZ.real()
347 + (ve2 + ae2)*vf2*chiZ.abs2() );
348}

◆ G3_l_NP()

double LEP2oblique::G3_l_NP ( const QCD::lepton  l,
const double  s,
const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 277 of file LEP2oblique.cpp.

280{
281 double Qf = SM.getLeptons(l).getCharge();
282 double vf = vl(l, alpha0), af = al(l, alpha0);
283 return ( G3_NP(s, alpha0, Qf, vf, af, ObParam_i) );
284}
double G3_NP(const double s, const double alpha0, const double Qf, const double vf, const double af, const double ObParam_i[]) const

◆ G3_l_SM0()

double LEP2oblique::G3_l_SM0 ( const QCD::lepton  l,
const double  s,
const double  alpha0 
) const
private

Definition at line 385 of file LEP2oblique.cpp.

387{
388 double Qf = SM.getLeptons(l).getCharge();
389 double vf = vl(l, alpha0), af = al(l, alpha0);
390 return ( G3_SM0(s, alpha0, Qf, vf, af) );
391}
double G3_SM0(const double s, const double alpha0, const double Qf, const double vf, const double af) const

◆ G3_NP()

double LEP2oblique::G3_NP ( const double  s,
const double  alpha0,
const double  Qf,
const double  vf,
const double  af,
const double  ObParam_i[] 
) const
private

Definition at line 248 of file LEP2oblique.cpp.

251{
252 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
254 double ve = vl(StandardModel::ELECTRON, alpha0);
255 double ae = al(StandardModel::ELECTRON, alpha0);
256 double Mz = SM.getMz();
257 double GammaZ0 = 7.0*alpha0*Mz/(16.0*s02(alpha0)*c02(alpha0));
258 gslpp::complex denom = gslpp::complex(s - Mz*Mz, Mz*GammaZ0, false);
259 double Zprop = (1.0/denom).real();
260
261 double epsilonbarGamma = - s/(Mw0(alpha0)*Mw0(alpha0))
262 *epsilonGammaGamma(alpha0, ObParam_i);
263 double epsilonbarZ = s*Zprop*DeltaEpsilon_1(alpha0, ObParam_i)
264 - s/(Mw0(alpha0)*Mw0(alpha0))*epsilonZZ(alpha0, ObParam_i);
265 double epsilonbarGammaZ = c0/s0*s*Zprop*( DeltaEpsilon_1(alpha0, ObParam_i)
266 - DeltaEpsilon_2(alpha0, ObParam_i) )
267 - s0/c0*s*Zprop*DeltaEpsilon_3(alpha0, ObParam_i)
268 + s/(Mw0(alpha0)*Mw0(alpha0))
269 *epsilonGammaZ(alpha0, ObParam_i);
270
271 return ( 2.0*ae*af*Qe*Qf*(epsilonbarZ + s*epsilonbarGamma*Zprop)
272 + 8.0*ve*ae*vf*af*s*epsilonbarZ*Zprop
273 + 4.0*(ae*vf*af*Qe + ve*ae*af*Qf)*s*epsilonbarGammaZ*Zprop );
274}

◆ G3_q_NP()

double LEP2oblique::G3_q_NP ( const QCD::quark  q,
const double  s,
const double  alpha0,
const double  ObParam_i[] 
) const
private

Definition at line 287 of file LEP2oblique.cpp.

290{
291 double Qf = SM.getQuarks(q).getCharge();
292 double vf = vq(q, alpha0), af = aq(q, alpha0);
293 return ( G3_NP(s, alpha0, Qf, vf, af, ObParam_i) );
294}

◆ G3_q_SM0()

double LEP2oblique::G3_q_SM0 ( const QCD::quark  q,
const double  s,
const double  alpha0 
) const
private

Definition at line 394 of file LEP2oblique.cpp.

396{
397 double Qf = SM.getQuarks(q).getCharge();
398 double vf = vq(q, alpha0), af = aq(q, alpha0);
399 return ( G3_SM0(s, alpha0, Qf, vf, af) );
400}

◆ G3_SM0()

double LEP2oblique::G3_SM0 ( const double  s,
const double  alpha0,
const double  Qf,
const double  vf,
const double  af 
) const
private

Definition at line 370 of file LEP2oblique.cpp.

372{
374 double ve = vl(StandardModel::ELECTRON, alpha0);
375 double ae = al(StandardModel::ELECTRON, alpha0);
376 double Mz = SM.getMz();
377 double GammaZ0 = 7.0*alpha0*Mz/(16.0*s02(alpha0)*c02(alpha0));
378 gslpp::complex denom = gslpp::complex(s - Mz*Mz, Mz*GammaZ0, false);
379 gslpp::complex chiZ = s/denom;
380
381 return ( 2.0*ae*af*Qe*Qf*chiZ.real() + 4.0*ve*ae*vf*af*chiZ.abs2() );
382}

◆ Mw0()

double LEP2oblique::Mw0 ( const double  alpha0) const
inlineprivate

Definition at line 68 of file LEP2oblique.h.

69 {
70 double Mz = SM.getMz();
71 return ( sqrt(c02(alpha0))*Mz );
72 }

◆ R_q_LEP2_NP()

double LEP2oblique::R_q_LEP2_NP ( const QCD::quark  q,
const double  s,
const double  mq,
const double  ObParam_i[] 
) const

Definition at line 83 of file LEP2oblique.cpp.

86{
87 double alpha0 = alpha_at_s(s);
88 double sigma_q_SM0 = sigma_q_LEP2_SM0(q, s, alpha0, mq);
89 double sigma_had_SM0 = sigma_q_LEP2_SM0(QCD::UP, s, alpha0, mq)
90 + sigma_q_LEP2_SM0(QCD::DOWN, s, alpha0, mq)
91 + sigma_q_LEP2_SM0(QCD::CHARM, s, alpha0, mq)
92 + sigma_q_LEP2_SM0(QCD::STRANGE, s, alpha0, mq)
93 + sigma_q_LEP2_SM0(QCD::BOTTOM, s, alpha0, mq);
94 double sigma_q_NP = sigma_q_LEP2_NP(q, s, mq, ObParam_i);
95 double sigma_had_NP = sigma_q_LEP2_NP(QCD::UP, s, mq, ObParam_i)
96 + sigma_q_LEP2_NP(QCD::DOWN, s, mq, ObParam_i)
97 + sigma_q_LEP2_NP(QCD::CHARM, s, mq, ObParam_i)
98 + sigma_q_LEP2_NP(QCD::STRANGE, s, mq, ObParam_i)
99 + sigma_q_LEP2_NP(QCD::BOTTOM, s, mq, ObParam_i);
100
101 return ( - sigma_q_SM0/(sigma_had_SM0*sigma_had_SM0)*sigma_had_NP
102 + sigma_q_NP/sigma_had_SM0 );
103}
double sigma_q_LEP2_NP(const QCD::quark q, const double s, const double mq, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:32
double sigma_q_LEP2_SM0(const QCD::quark q, const double s, const double alpha0, const double mq) const
@ UP
Definition: QCD.h:324
@ BOTTOM
Definition: QCD.h:329
@ DOWN
Definition: QCD.h:325
@ STRANGE
Definition: QCD.h:327
@ CHARM
Definition: QCD.h:326

◆ s02()

double LEP2oblique::s02 ( const double  alpha0) const
inlineprivate

Definition at line 74 of file LEP2oblique.h.

75 {
76
77 throw std::runtime_error("Error in LEP2oblique::s02() needs to be modified with sW2 in the SM!");
78
79 double GF = SM.getGF();
80 double Mz = SM.getMz();
81 return ( ( 1.0 - sqrt(1.0 - 4.0*M_PI*alpha0/sqrt(2.0)/GF/Mz/Mz) )/2.0 );
82 }
const double getGF() const
A get method to retrieve the Fermi constant .

◆ sigma_l_LEP2_NP()

double LEP2oblique::sigma_l_LEP2_NP ( const QCD::lepton  l,
const double  s,
const double  ml,
const double  ObParam_i[] 
) const

Definition at line 19 of file LEP2oblique.cpp.

22{
23 double alpha0 = alpha_at_s(s);
24 double Ncf = 1.0;
25 double betaf = sqrt(1.0 - 4.0*ml*ml/s);
26 double G1NP = G1_l_NP(l, s, alpha0, ObParam_i);
27
28 return ( 4.0*M_PI*alpha0*alpha0/(3.0*s)*Ncf*betaf*G1NP );
29}

◆ sigma_l_LEP2_SM0()

double LEP2oblique::sigma_l_LEP2_SM0 ( const QCD::lepton  l,
const double  s,
const double  alpha0,
const double  ml 
) const
private

Definition at line 403 of file LEP2oblique.cpp.

406{
407 double Ncf = 1.0;
408 double mf2 = ml*ml;
409 double betaf = sqrt(1.0 - 4.0*mf2/s);
410 double G1SM0 = G1_l_SM0(l, s, alpha0), G2SM0 = G2_l_SM0(l, s, alpha0);
411
412 return ( 4.0*M_PI*alpha0*alpha0/(3.0*s)*Ncf*betaf
413 *(G1SM0 + 2.0*mf2/s*G2SM0) );
414}

◆ sigma_q_LEP2_NP()

double LEP2oblique::sigma_q_LEP2_NP ( const QCD::quark  q,
const double  s,
const double  mq,
const double  ObParam_i[] 
) const

Definition at line 32 of file LEP2oblique.cpp.

35{
36 double alpha0 = alpha_at_s(s);
37 double Ncf = 3.0;
38 double betaf = sqrt(1.0 - 4.0*mq*mq/s);
39 double G1NP = G1_q_NP(q, s, alpha0, ObParam_i);
40
41 return ( 4.0*M_PI*alpha0*alpha0/(3.0*s)*Ncf*betaf*G1NP );
42}

◆ sigma_q_LEP2_SM0()

double LEP2oblique::sigma_q_LEP2_SM0 ( const QCD::quark  q,
const double  s,
const double  alpha0,
const double  mq 
) const
private

Definition at line 417 of file LEP2oblique.cpp.

420{
421 double Ncf = 3.0;
422 double mf2 = mq*mq;
423 double betaf = sqrt(1.0 - 4.0*mf2/s);
424 double G1SM0 = G1_q_SM0(q, s, alpha0), G2SM0 = G2_q_SM0(q, s, alpha0);
425
426 return ( 4.0*M_PI*alpha0*alpha0/(3.0*s)*Ncf*betaf
427 *(G1SM0 + 2.0*mf2/s*G2SM0) );
428}

◆ vl()

double LEP2oblique::vl ( const QCD::lepton  l,
const double  alpha0 
) const
private

Definition at line 162 of file LEP2oblique.cpp.

163{
164 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
165 double Q = SM.getLeptons(l).getCharge();
166 return ( - (SM.getLeptons(l).getIsospin()
167 - 2.0*Q*s02(alpha0))/(2.0*s0*c0) );
168}

◆ vq()

double LEP2oblique::vq ( const QCD::quark  q,
const double  alpha0 
) const
private

Definition at line 171 of file LEP2oblique.cpp.

172{
173 double c0 = sqrt(c02(alpha0)), s0 = sqrt(s02(alpha0));
174 double Q = SM.getQuarks(q).getCharge();
175 return ( - (SM.getQuarks(q).getIsospin()
176 - 2.0*Q*s02(alpha0))/(2.0*s0*c0) );
177}

Member Data Documentation

◆ SM

const StandardModel& LEP2oblique::SM
private

Definition at line 52 of file LEP2oblique.h.


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