a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
LEP2oblique.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef LEP2OBLIQUE_H
9 #define LEP2OBLIQUE_H
10 
11 #include <stdexcept>
12 #include "StandardModel.h"
13 
22 class LEP2oblique {
23 public:
24 
25  enum Oblique {Shat=0, That, Uhat, V, W, X, Y};
26 
31  LEP2oblique(const StandardModel& SM_i);
32 
33 
35 
36  double sigma_l_LEP2_NP(const QCD::lepton l, const double s,
37  const double ml, const double ObParam_i[]) const;
38  double sigma_q_LEP2_NP(const QCD::quark q, const double s,
39  const double mq, const double ObParam_i[]) const;
40 
41  double AFB_l_LEP2_NP(const QCD::lepton l, const double s,
42  const double ml, const double ObParam_i[]) const;
43  double AFB_q_LEP2_NP(const QCD::quark q, const double s,
44  const double mq, const double ObParam_i[]) const;
45 
46  double R_q_LEP2_NP(const QCD::quark q, const double s,
47  const double mq, const double ObParam_i[]) const;
48 
49 
51 private:
52  const StandardModel& SM;
53 
54  double DeltaEpsilon_1(const double alpha0, const double ObParam_i[]) const;
55  double DeltaEpsilon_2(const double alpha0, const double ObParam_i[]) const;
56  double DeltaEpsilon_3(const double alpha0, const double ObParam_i[]) const;
57 
58  double epsilonZZ(const double alpha0, const double ObParam_i[]) const;
59  double epsilonGammaGamma(const double alpha0, const double ObParam_i[]) const;
60  double epsilonGammaZ(const double alpha0, const double ObParam_i[]) const;
61 
62  double alpha_at_s(const double s) const
63  {
64  //return ( SM.alphaMz() ); // TEST
65  return ( SM.ale_OS(sqrt(s), FULLNLO) );
66  }
67 
68  double Mw0(const double alpha0) const
69  {
70  double Mz = SM.getMz();
71  return ( sqrt(c02(alpha0))*Mz );
72  }
73 
74  double s02(const double alpha0) const
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  }
83 
84  double c02(const double alpha0) const
85  {
86  return ( 1.0 - s02(alpha0) );
87  }
88 
89  double vl(const QCD::lepton l, const double alpha0) const;
90  double vq(const QCD::quark q, const double alpha0) const;
91  double al(const QCD::lepton l, const double alpha0) const;
92  double aq(const QCD::quark q, const double alpha0) const;
93 
94  double G1_l_NP(const QCD::lepton l, const double s,
95  const double alpha0, const double ObParam_i[]) const;
96  double G1_q_NP(const QCD::quark q, const double s,
97  const double alpha0, const double ObParam_i[]) const;
98  double G1_NP(const double s, const double alpha0, const double Qf,
99  const double vf, const double af, const double ObParam_i[]) const;
100 
101  double G3_l_NP(const QCD::lepton l, const double s,
102  const double alpha0, const double ObParam_i[]) const;
103  double G3_q_NP(const QCD::quark q, const double s,
104  const double alpha0, const double ObParam_i[]) const;
105  double G3_NP(const double s, const double alpha0, const double Qf,
106  const double vf, const double af, const double ObParam_i[]) const;
107 
108  double G1_l_SM0(const QCD::lepton l, const double s,
109  const double alpha0) const;
110  double G1_q_SM0(const QCD::quark q, const double s,
111  const double alpha0) const;
112  double G1_SM0(const double s, const double alpha0, const double Qf,
113  const double vf, const double af) const;
114 
115  double G2_l_SM0(const QCD::lepton l, const double s,
116  const double alpha0) const;
117  double G2_q_SM0(const QCD::quark q, const double s,
118  const double alpha0) const;
119  double G2_SM0(const double s, const double alpha0, const double Qf,
120  const double vf, const double af) const;
121 
122  double G3_l_SM0(const QCD::lepton l, const double s,
123  const double alpha0) const;
124  double G3_q_SM0(const QCD::quark q, const double s,
125  const double alpha0) const;
126  double G3_SM0(const double s, const double alpha0, const double Qf,
127  const double vf, const double af) const;
128 
129  double sigma_l_LEP2_SM0(const QCD::lepton l, const double s,
130  const double alpha0, const double ml) const;
131  double sigma_q_LEP2_SM0(const QCD::quark q, const double s,
132  const double alpha0, const double mq) const;
133 
134 };
135 
136 #endif /* LEP2OBLIQUE_H */
137 
LEP2oblique::Shat
Definition: LEP2oblique.h:25
LEP2oblique::G3_NP
double G3_NP(const double s, const double alpha0, const double Qf, const double vf, const double af, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:248
LEP2oblique::AFB_l_LEP2_NP
double AFB_l_LEP2_NP(const QCD::lepton l, const double s, const double ml, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:45
LEP2oblique::vl
double vl(const QCD::lepton l, const double alpha0) const
Definition: LEP2oblique.cpp:162
LEP2oblique::DeltaEpsilon_1
double DeltaEpsilon_1(const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:108
LEP2oblique::sigma_l_LEP2_NP
double sigma_l_LEP2_NP(const QCD::lepton l, const double s, const double ml, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:19
LEP2oblique::R_q_LEP2_NP
double R_q_LEP2_NP(const QCD::quark q, const double s, const double mq, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:83
LEP2oblique::G3_q_SM0
double G3_q_SM0(const QCD::quark q, const double s, const double alpha0) const
Definition: LEP2oblique.cpp:394
LEP2oblique::Oblique
Oblique
Definition: LEP2oblique.h:25
LEP2oblique::epsilonGammaZ
double epsilonGammaZ(const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:153
LEP2oblique::G1_l_SM0
double G1_l_SM0(const QCD::lepton l, const double s, const double alpha0) const
Definition: LEP2oblique.cpp:315
LEP2oblique::G3_l_NP
double G3_l_NP(const QCD::lepton l, const double s, const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:277
LEP2oblique::G2_q_SM0
double G2_q_SM0(const QCD::quark q, const double s, const double alpha0) const
Definition: LEP2oblique.cpp:360
LEP2oblique::sigma_q_LEP2_SM0
double sigma_q_LEP2_SM0(const QCD::quark q, const double s, const double alpha0, const double mq) const
Definition: LEP2oblique.cpp:417
LEP2oblique::epsilonZZ
double epsilonZZ(const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:135
StandardModel.h
LEP2oblique::Uhat
Definition: LEP2oblique.h:25
LEP2oblique::sigma_q_LEP2_NP
double sigma_q_LEP2_NP(const QCD::quark q, const double s, const double mq, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:32
LEP2oblique::al
double al(const QCD::lepton l, const double alpha0) const
Definition: LEP2oblique.cpp:180
LEP2oblique::That
Definition: LEP2oblique.h:25
LEP2oblique::G1_SM0
double G1_SM0(const double s, const double alpha0, const double Qf, const double vf, const double af) const
Definition: LEP2oblique.cpp:297
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:477
LEP2oblique::s02
double s02(const double alpha0) const
Definition: LEP2oblique.h:74
LEP2oblique::LEP2oblique
LEP2oblique(const StandardModel &SM_i)
LEP2oblique constructor.
Definition: LEP2oblique.cpp:11
LEP2oblique::G1_q_NP
double G1_q_NP(const QCD::quark q, const double s, const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:238
LEP2oblique::SM
const StandardModel & SM
Definition: LEP2oblique.h:52
LEP2oblique::aq
double aq(const QCD::quark q, const double alpha0) const
Definition: LEP2oblique.cpp:187
LEP2oblique::G1_l_NP
double G1_l_NP(const QCD::lepton l, const double s, const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:228
LEP2oblique::sigma_l_LEP2_SM0
double sigma_l_LEP2_SM0(const QCD::lepton l, const double s, const double alpha0, const double ml) const
Definition: LEP2oblique.cpp:403
LEP2oblique::Y
Definition: LEP2oblique.h:25
StandardModel::ale_OS
double ale_OS(const double mu, orders order=FULLNLO) const
The running electromagnetic coupling in the on-shell scheme.
Definition: StandardModel.cpp:533
LEP2oblique::X
Definition: LEP2oblique.h:25
LEP2oblique::G2_SM0
double G2_SM0(const double s, const double alpha0, const double Qf, const double vf, const double af) const
Definition: LEP2oblique.cpp:333
LEP2oblique::V
Definition: LEP2oblique.h:25
LEP2oblique::c02
double c02(const double alpha0) const
Definition: LEP2oblique.h:84
StandardModel::getGF
double getGF() const
A get method to retrieve the Fermi constant .
Definition: StandardModel.h:739
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
LEP2oblique::DeltaEpsilon_2
double DeltaEpsilon_2(const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:117
QCD::quark
quark
An enum type for quarks.
Definition: QCD.h:323
LEP2oblique::epsilonGammaGamma
double epsilonGammaGamma(const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:144
LEP2oblique::alpha_at_s
double alpha_at_s(const double s) const
Definition: LEP2oblique.h:62
LEP2oblique::G3_l_SM0
double G3_l_SM0(const QCD::lepton l, const double s, const double alpha0) const
Definition: LEP2oblique.cpp:385
StandardModel::getMz
double getMz() const
A get method to access the mass of the boson .
Definition: StandardModel.h:721
LEP2oblique::G1_NP
double G1_NP(const double s, const double alpha0, const double Qf, const double vf, const double af, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:194
LEP2oblique::G1_q_SM0
double G1_q_SM0(const QCD::quark q, const double s, const double alpha0) const
Definition: LEP2oblique.cpp:324
LEP2oblique::AFB_q_LEP2_NP
double AFB_q_LEP2_NP(const QCD::quark q, const double s, const double mq, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:64
LEP2oblique
A class for NP analyses of LEP-II observables with the extended oblique parameters.
Definition: LEP2oblique.h:22
LEP2oblique::DeltaEpsilon_3
double DeltaEpsilon_3(const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:126
LEP2oblique::W
Definition: LEP2oblique.h:25
LEP2oblique::G3_q_NP
double G3_q_NP(const QCD::quark q, const double s, const double alpha0, const double ObParam_i[]) const
Definition: LEP2oblique.cpp:287
LEP2oblique::vq
double vq(const QCD::quark q, const double alpha0) const
Definition: LEP2oblique.cpp:171
LEP2oblique::G3_SM0
double G3_SM0(const double s, const double alpha0, const double Qf, const double vf, const double af) const
Definition: LEP2oblique.cpp:370
FULLNLO
Definition: OrderScheme.h:37
LEP2oblique::G2_l_SM0
double G2_l_SM0(const QCD::lepton l, const double s, const double alpha0) const
Definition: LEP2oblique.cpp:351
LEP2oblique::Mw0
double Mw0(const double alpha0) const
Definition: LEP2oblique.h:68
QCD::lepton
lepton
An enum type for leptons.
Definition: QCD.h:310