30 myMw *= 1.0 - alpha / 4.0 / (c2 - s2)
32 - s2 / 2.0 / (c2 - s2) *
DeltaGF();
49 Gamma_W *= 1.0 - 3.0 * alpha / 4.0 / (c2 - s2)
51 - (1.0 + c2) / 2.0 / (c2 - s2) *
DeltaGF();
62 if (f.
is(
"TOP"))
return 0.;
72 + (gVSM - gASM) / 4.0 / sW2SM / (cW2SM - sW2SM)
74 + 4.0 * cW2SM * sW2SM *
DeltaGF()));
84 if (f.
is(
"TOP"))
return 0.;
113 bool nonZeroNP =
false;
115 double delGVl[6], delGAl[6], delGVq[6], delGAq[6];
116 for (
int p = 0; p < 6; ++p) {
121 if (delGVl[p] != 0.0 || delGAl[p] != 0.0
122 || delGVq[p] != 0.0 || delGAq[p] != 0.0)
128 double deltaGl[6], deltaGq[6];
130 for (
int p = 0; p < 6; ++p) {
133 deltaGl[p] = 2.0 * (gVf * delGVl[p] + gAf * delGAl[p]);
137 deltaGq[p] = 2.0 * (gVf * delGVq[p] + gAf * delGAq[p]);
139 delGammaZ += deltaGl[p] + 3.0 * deltaGq[p];
144 deltaGamma_Z =
alphaMz() *
Mz / 12.0 / sW2_SM / cW2_SM
158 double sigma_had = 0.;
159 bool nonZeroNP =
false;
161 double delGVl[6], delGAl[6], delGVq[6], delGAq[6];
162 for (
int p = 0; p < 6; ++p) {
167 if (delGVl[p] != 0.0 || delGAl[p] != 0.0
168 || delGVq[p] != 0.0 || delGAq[p] != 0.0)
174 double Gl[6], deltaGl[6], Gq[6], deltaGq[6];
175 double Gq_sum = 0.0, delGq_sum = 0.0;
176 double Gf_sum = 0.0, delGf_sum = 0.0;
177 for (
int p = 0; p < 6; ++p) {
180 Gl[p] = gVf * gVf + gAf*gAf;
181 deltaGl[p] = 2.0 * (gVf * delGVl[p] + gAf * delGAl[p]);
185 Gq[p] = gVf * gVf + gAf*gAf;
186 deltaGq[p] = 2.0 * (gVf * delGVq[p] + gAf * delGAq[p]);
188 Gq_sum += 3.0 * Gq[p];
189 Gf_sum += Gl[p] + 3.0 * Gq[p];
190 delGq_sum += 3.0 * deltaGq[p];
191 delGf_sum += deltaGl[p] + 3.0 * deltaGq[p];
194 sigma_had = 12.0 * M_PI /
Mz /
Mz
195 * Gl[
ELECTRON] * Gq_sum / Gf_sum / Gf_sum
197 + delGq_sum / Gq_sum - 2.0 * delGf_sum / Gf_sum);
210 double sin2_theta_eff = 0.;
213 if (delGVf != 0.0 || delGAf != 0.0) {
216 double delGVfOverGAf = (gAf * delGVf - gVf * delGAf) / gAf / gAf;
218 sin2_theta_eff = -delGVfOverGAf / 4.0;
220 return sin2_theta_eff;
225 if (f.
is(
"ELECTRON"))
236 if (delGVf != 0.0 || delGAf != 0.0) {
239 double Gf = gVf * gVf + gAf*gAf;
240 double delGVfOverGAf = (gAf * delGVf - gVf * delGAf) / gAf / gAf;
242 dAf = -2.0 * (gVf * gVf - gAf * gAf) * gAf * gAf / Gf / Gf*delGVfOverGAf;
258 if (f.
is(
"LEPTON")) {
259 if (delGVf != 0.0 || delGAf != 0.0) {
262 double Ge = gVe * gVe + gAe*gAe;
263 double delGVeOverGAe = (gAe * delGVf - gVe * delGAf) / gAe / gAe;
264 dAFB = -6.0 * gVe * gAe * (gVe * gVe - gAe * gAe) * gAe * gAe / Ge / Ge / Ge*delGVeOverGAe;
269 if (delGVe != 0.0 || delGAe != 0.0 || delGVf != 0.0 || delGAf != 0.0) {
272 double Ge = gVe * gVe + gAe*gAe;
273 double delGVeOverGAe = (gAe * delGVe - gVe * delGAe) / gAe / gAe;
277 double Gf = gVf * gVf + gAf*gAf;
278 double delGVfOverGAf = (gAf * delGVf - gVf * delGAf) / gAf / gAf;
280 dAFB = -(3.0 * gVf * gAf * (gVe * gVe - gAe * gAe) * gAe * gAe / Gf / Ge / Ge * delGVeOverGAe
281 + 3.0 * gVe * gAe * (gVf * gVf - gAf * gAf) * gAf * gAf / Ge / Gf / Gf * delGVfOverGAf);
295 double dR0_f = 0., delGVe = 0., delGAe = 0., deltaGe = 0., Ge = 0.;
296 bool nonZeroNP =
false;
297 if (f.
is(
"LEPTON")) {
300 if (delGVe != 0.0 || delGAe != 0.0) nonZeroNP =
true;
303 double delGVq[6], delGAq[6];
304 for (
int q = 0; q < 6; ++q) {
307 if (delGVq[q] != 0.0 || delGAq[q] != 0.0) nonZeroNP =
true;
312 if (f.
is(
"LEPTON")) {
315 Ge = gVe * gVe + gAe*gAe;
316 deltaGe = 2.0 * (gVe * delGVe + gAe * delGAe);
319 double Gq[6], deltaGq[6];
321 double Gq_sum = 0.0, delGq_sum = 0.0;
322 for (
int q = 0; q < 6; ++q) {
325 Gq[q] = gVq * gVq + gAq*gAq;
326 deltaGq[q] = 2.0 * (gVq * delGVq[q] + gAq * delGAq[q]);
328 Gq_sum += CF * Gq[q];
329 delGq_sum += CF * deltaGq[q];
332 dR0_f = delGq_sum / Ge - Gq_sum * deltaGe / Ge / Ge;
334 dR0_f = deltaGq[f.
getIndex() - 6] / Gq_sum
335 - Gq[f.
getIndex() - 6] * delGq_sum / Gq_sum / Gq_sum;
NPbase()
The default constructor.
virtual double deltaSin2thetaEff_e() const
The new physics contribution to the effective leptonic weak angle at the pole.
virtual double obliqueU() const
The oblique parameter .
virtual double deltaAFB(const Particle f) const
The new physics contribution to the forward-backward asymmetry in at the -pole, .
virtual double deltaR0_f(const Particle f) const
The new physics contribution to the ratio or , for leptons or quarks, respectively.
virtual bool PostUpdate()
The post-update method for StandardModel.
virtual double sW2(const double Mw_i) const
The square of the sine of the weak mixing angle in the on-shell scheme, denoted as ...
virtual double sigma0_had() const
The cross section for the process at the pole, .
virtual gslpp::complex gA_f(const Particle f) const
The effective leptonic neutral-current axial-vector coupling in the SM.
virtual double obliqueS() const
The oblique parameter .
virtual gslpp::complex gV_f(const Particle f) const
The total (SM+NP) contribution to the neutral-current vector coupling .
virtual double GammaW() const
The total width of the boson, .
virtual double deltaGV_f(const Particle f) const
New physics contribution to the neutral-current vector coupling .
virtual double Gamma_Z() const
The total decay width of the boson, .
const double & real() const
virtual double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
A model class for the Standard Model.
virtual double sigma0_had() const
The hadronic cross section for at the -pole, .
virtual double DeltaGF() const
New physics contribution to the Fermi constant.
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
virtual double obliqueT() const
The oblique parameter .
bool is(std::string name_i) const
double Mz
The mass of the boson in GeV.
virtual double AFB(const Particle f) const
The forward-backward asymmetry in at the -pole, .
virtual double GammaW(const Particle fi, const Particle fj) const
A partial decay width of the boson decay into a SM fermion pair.
double getCharge() const
A get method to access the particle charge.
virtual double deltaSigmaHadron() const
The new physics contribution to the cross section for the process at the pole, .
double delGammaZ
The theoretical uncertainty in , denoted as , in GeV.
virtual gslpp::complex rhoZ_f(const Particle f) const
The effective neutral-current coupling including SM plus NP contributions.
Particle leptons[6]
An array of Particle objects for the leptons.
virtual bool PostUpdate()
The post-update method for NPbase.
virtual double AFB(const Particle f) const
virtual double Gamma_Z() const
The total decay width of the boson, .
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
virtual gslpp::complex gV_f(const Particle f) const
The effective leptonic neutral-current vector coupling in the SM.
virtual double Mw() const
The mass of the boson, .
virtual double deltaGamma_Z() const
The new physics contribution to the total decay width of the boson, .
virtual double sin2thetaEff(const Particle f) const
The leptonic effective weak mixing angle at the the pole.
virtual double R0_f(const Particle f) const
The ratio or , for leptons or quarks, respectively.
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
virtual gslpp::complex kappaZ_f(const Particle f) const
The effective neutral-current coupling including SM plus NP contributions.
virtual double cW2(const double Mw_i) const
The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as ...
A class for defining operations on and functions of complex numbers.
virtual double R0_f(const Particle f) const
The ratio .
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
virtual gslpp::complex gA_f(const Particle f) const
The total (SM+NP) contribution to the neutral-current axial-vector coupling .
double getIsospin() const
A get method to access the particle isospin.
virtual double deltaA_f(const Particle f) const
The new physics contribution to the left-right asymmetry in at the -pole, .
virtual double deltaGA_f(const Particle f) const
New physics contribution to the neutral-current axial-vector coupling .