v1.0
|
a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models
|
|
Go to the documentation of this file.
36 myMw *= 1.0 - alpha / 4.0 / (c2 - s2)
38 - s2 / 2.0 / (c2 - s2) *
DeltaGF();
55 Gamma_Wij *= 1.0 - 3.0 * alpha / 4.0 / (c2 - s2)
57 - (1.0 + c2) / 2.0 / (c2 - s2) *
DeltaGF();
74 Gamma_W *= 1.0 - 3.0 * alpha / 4.0 / (c2 - s2)
76 - (1.0 + c2) / 2.0 / (c2 - s2) *
DeltaGF();
87 if (f.
is(
"TOP"))
return 0.;
97 + (gVSM - gASM) / 4.0 / sW2SM / (cW2SM - sW2SM)
99 + 4.0 * cW2SM * sW2SM *
DeltaGF()));
109 if (f.
is(
"TOP"))
return 0.;
138 bool nonZeroNP =
false;
148 if (f.
is(
"LEPTON")) {
157 if (delGVf != 0.0 || delGAf != 0.0)
161 double delGammaZf = 0.0;
162 delGammaZf = 2.0 *
Nf * (gVf * delGVf + gAf * delGAf);
179 bool nonZeroNP =
false;
181 double delGVl[6], delGAl[6], delGVq[6], delGAq[6];
182 for (
int p = 0; p < 6; ++p) {
187 if (delGVl[p] != 0.0 || delGAl[p] != 0.0
188 || delGVq[p] != 0.0 || delGAq[p] != 0.0)
194 double deltaGl[6], deltaGq[6];
196 for (
int p = 0; p < 6; ++p) {
199 deltaGl[p] = 2.0 * (gVf * delGVl[p] + gAf * delGAl[p]);
203 deltaGq[p] = 2.0 * (gVf * delGVq[p] + gAf * delGAq[p]);
205 delGammaZ += deltaGl[p] + 3.0 * deltaGq[p];
225 bool nonZeroNP =
false;
227 double delGVq[6], delGAq[6];
228 for (
int p = 0; p < 6; ++p) {
231 if (delGVq[p] != 0.0 || delGAq[p] != 0.0)
238 double delGammaZhad = 0.0;
239 for (
int p = 0; p < 6; ++p) {
243 deltaGq[p] = 2.0 * (gVf * delGVq[p] + gAf * delGAq[p]);
245 delGammaZhad += 3.0 * deltaGq[p];
270 return (GammaZfSM/GammaZTotSM + delGammaZf/GammaZTotSM - GammaZfSM * delGammaZTot /GammaZTotSM/GammaZTotSM);
275 double sigma_had = 0.;
276 bool nonZeroNP =
false;
278 double delGVl[6], delGAl[6], delGVq[6], delGAq[6];
279 for (
int p = 0; p < 6; ++p) {
284 if (delGVl[p] != 0.0 || delGAl[p] != 0.0
285 || delGVq[p] != 0.0 || delGAq[p] != 0.0)
291 double Gl[6], deltaGl[6], Gq[6], deltaGq[6];
292 double Gq_sum = 0.0, delGq_sum = 0.0;
293 double Gf_sum = 0.0, delGf_sum = 0.0;
294 for (
int p = 0; p < 6; ++p) {
297 Gl[p] = gVf * gVf + gAf*gAf;
298 deltaGl[p] = 2.0 * (gVf * delGVl[p] + gAf * delGAl[p]);
302 Gq[p] = gVf * gVf + gAf*gAf;
303 deltaGq[p] = 2.0 * (gVf * delGVq[p] + gAf * delGAq[p]);
305 Gq_sum += 3.0 * Gq[p];
306 Gf_sum += Gl[p] + 3.0 * Gq[p];
307 delGq_sum += 3.0 * deltaGq[p];
308 delGf_sum += deltaGl[p] + 3.0 * deltaGq[p];
311 sigma_had = 12.0 * M_PI /
Mz /
Mz
312 * Gl[
ELECTRON] * Gq_sum / Gf_sum / Gf_sum
314 + delGq_sum / Gq_sum - 2.0 * delGf_sum / Gf_sum);
327 double sin2_theta_eff = 0.;
330 if (delGVf != 0.0 || delGAf != 0.0) {
333 double delGVfOverGAf = (gAf * delGVf - gVf * delGAf) / gAf / gAf;
335 sin2_theta_eff = -delGVfOverGAf / 4.0;
337 return sin2_theta_eff;
342 double sin2_theta_eff = 0.;
345 if (delGVf != 0.0 || delGAf != 0.0) {
348 double delGVfOverGAf = (gAf * delGVf - gVf * delGAf) / gAf / gAf;
350 sin2_theta_eff = -delGVfOverGAf / 4.0;
352 return sin2_theta_eff;
357 if (f.
is(
"ELECTRON"))
370 if (delGVf != 0.0 || delGAf != 0.0) {
373 double Gf = gVf * gVf + gAf*gAf;
374 double delGVfOverGAf = (gAf * delGVf - gVf * delGAf) / gAf / gAf;
376 dAf = -2.0 * (gVf * gVf - gAf * gAf) * gAf * gAf / Gf / Gf*delGVfOverGAf;
392 if (f.
is(
"ELECTRON")) {
393 if (delGVf != 0.0 || delGAf != 0.0) {
396 double Ge = gVe * gVe + gAe*gAe;
397 double delGVeOverGAe = (gAe * delGVf - gVe * delGAf) / gAe / gAe;
398 dAFB = -6.0 * gVe * gAe * (gVe * gVe - gAe * gAe) * gAe * gAe / Ge / Ge / Ge*delGVeOverGAe;
403 if (delGVe != 0.0 || delGAe != 0.0 || delGVf != 0.0 || delGAf != 0.0) {
406 double Ge = gVe * gVe + gAe*gAe;
407 double delGVeOverGAe = (gAe * delGVe - gVe * delGAe) / gAe / gAe;
411 double Gf = gVf * gVf + gAf*gAf;
412 double delGVfOverGAf = (gAf * delGVf - gVf * delGAf) / gAf / gAf;
414 dAFB = -(3.0 * gVf * gAf * (gVe * gVe - gAe * gAe) * gAe * gAe / Gf / Ge / Ge * delGVeOverGAe
415 + 3.0 * gVe * gAe * (gVf * gVf - gAf * gAf) * gAf * gAf / Ge / Gf / Gf * delGVfOverGAf);
429 double dR0_f = 0., delGVl = 0., delGAl = 0., deltaGl = 0., Gl = 0.;
430 bool nonZeroNP =
false;
431 if (f.
is(
"LEPTON")) {
434 if (delGVl != 0.0 || delGAl != 0.0) nonZeroNP =
true;
437 double delGVq[6], delGAq[6];
438 for (
int q = 0; q < 6; ++q) {
441 if (delGVq[q] != 0.0 || delGAq[q] != 0.0) nonZeroNP =
true;
446 if (f.
is(
"LEPTON")) {
449 Gl = gVl * gVl + gAl*gAl;
450 deltaGl = 2.0 * (gVl * delGVl + gAl * delGAl);
453 double Gq[6], deltaGq[6];
455 double Gq_sum = 0.0, delGq_sum = 0.0;
456 for (
int q = 0; q < 6; ++q) {
459 Gq[q] = gVq * gVq + gAq*gAq;
460 deltaGq[q] = 2.0 * (gVq * delGVq[q] + gAq * delGAq[q]);
462 Gq_sum +=
CF * Gq[q];
463 delGq_sum +=
CF * deltaGq[q];
466 if ( f.
is(
"NEUTRINO_1") || f.
is(
"NEUTRINO_2") || f.
is(
"NEUTRINO_3") ) {
467 dR0_f = deltaGl / Gq_sum - Gl * delGq_sum / Gq_sum / Gq_sum;
469 dR0_f = delGq_sum / Gl - Gq_sum * deltaGl / Gl / Gl;
472 dR0_f = deltaGq[f.
getIndex() - 6] / Gq_sum
473 - Gq[f.
getIndex() - 6] * delGq_sum / Gq_sum / Gq_sum;
485 double dR_inv = 0., delGVe = 0., delGAe = 0., deltaGe = 0., Ge = 0.;
486 bool nonZeroNP =
false;
490 if (delGVe != 0.0 || delGAe != 0.0) nonZeroNP =
true;
492 double delGVnu[3], delGAnu[3];
493 for (
int p = 0; p < 3; ++p) {
496 if (delGVnu[p] != 0.0 || delGAnu[p] != 0.0 ) nonZeroNP =
true;
503 Ge = gVe * gVe + gAe * gAe;
504 deltaGe = 2.0 * (gVe * delGVe + gAe * delGAe);
506 double Gnu[3], deltaGnu[3];
508 double Gnu_sum = 0.0, delGnu_sum = 0.0;
509 for (
int p = 0; p < 3; ++p) {
514 Gnu[p] = gVnu * gVnu + gAnu * gAnu;
516 deltaGnu[p] = 2.0 * (gVnu * delGVnu[p] + gAnu * delGAnu[p]);
519 delGnu_sum += deltaGnu[p];
522 dR_inv = delGnu_sum / Ge - Gnu_sum * deltaGe / Ge / Ge;
536 double dGl1, dGl2, dGl3, dGl, dGinv;
537 double Gl1, Gl2, Gl3, Gl, Ginv;
538 double dRl1, dRl2, dRl3, dRl;
539 double Rl1, Rl2, Rl3, Rl;
546 dGl = (1.0/3.0) * (dGl1 + dGl2 + dGl3);
552 Gl = (1.0/3.0) * (Gl1 + Gl2 + Gl3);
566 dRl = (1.0/3.0) * (dRl1 + dRl2 + dRl3);
572 Rl = (1.0/3.0) * (Rl1 + Rl2 + Rl3);
576 dNnu = (
trueSM.
N_nu())*( dGl/Gl - dGinv/Ginv ) -
virtual double AFB(const Particle f) const
The forward-backward asymmetry in at the -pole, .
virtual double obliqueS() const
The oblique parameter .
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 .
bool is(std::string name_i) const
virtual double Gamma_Zf(const Particle f) const
The decay width of the boson into a given fermion pair, .
virtual double Gamma_Z() const
The total decay width of the boson, .
NPbase()
The default constructor.
double Nf(const double mu) const
The number of active flavour at scale .
virtual double BR_Zf(const Particle f) const
The Branching ratio of the boson into a given fermion pair, .
virtual gslpp::complex kappaZ_f(const Particle f) const
The effective neutral-current coupling including SM plus NP contributions.
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
virtual double sigma0_had() const
The hadronic cross section for at the -pole, .
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
virtual double DeltaGF() const
New physics contribution to the Fermi constant.
virtual double N_nu() const
The number of neutrinos dervied from the pole measurements, .
virtual double deltaGamma_Z() const
The new physics contribution to the total decay width of the boson, .
virtual double deltaGA_f(const Particle f) const
New physics contribution to the neutral-current axial-vector coupling .
A class for defining operations on and functions of complex numbers.
virtual double deltaSin2thetaEff_mu() const
The new physics contribution to the effective muonic weak angle at the pole.
virtual double sigma0_had() const
The cross section for the process at the pole, .
double getIsospin() const
A get method to access the particle isospin.
A model class for the Standard Model.
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for NPbase.
virtual double deltaN_nu() const
The new physics contribution to the number of neutrinos dervied from the pole measurements.
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 deltaAFB(const Particle f) const
The new physics contribution to the forward-backward asymmetry in at the -pole, .
virtual double deltaR_inv() const
The new physics contribution to the ratio of invisible and leptonic (electron) decay widths of the b...
virtual double obliqueU() const
The oblique parameter .
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.
virtual double GammaW() const
The total width of the boson, .
virtual double deltaR0_f(const Particle f) const
The new physics contribution to the ratio , and , for charged leptons, quarks and neutrinos,...
virtual double deltaGamma_Zhad() const
The new physics contribution to the hadronic decay width of the boson, .
virtual double deltaA_f(const Particle f) const
The new physics contribution to the left-right asymmetry in at the -pole, .
virtual double Gamma_had() const
The hadronic decay width of the boson, .
virtual double obliqueT() const
The oblique parameter .
virtual double R_inv() const
The ratio of the invisible and leptonic (electron) decay widths of the boson, .
complex sqrt(const complex &z)
virtual double Gamma_had() const
The hadronic decay width of the boson, .
double getCharge() const
A get method to access the particle charge.
virtual bool PostUpdate()
The post-update method for StandardModel.
virtual double deltaSin2thetaEff_e() const
The new physics contribution to the effective electron/leptonic weak angle 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.
virtual double deltaGV_f(const Particle f) const
New physics contribution to the neutral-current vector coupling .
virtual double R0_f(const Particle f) const
The ratio .
virtual bool InitializeModel()
A method to initialize the model.
virtual double AFB(const Particle f) const
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for StandardModel.
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 deltaSigmaHadron() const
The new physics contribution to the cross section for the process at the pole, .
virtual double R_inv() const
The ratio of the invisible and leptonic (electron) decay widths of the boson, .
virtual double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
const double & real() const
Particle leptons[6]
An array of Particle objects for the leptons.
virtual double GammaZ(const Particle f) const
The partial decay width, .
virtual bool PostUpdate()
The postupdate method for NPbase.
double Mz
The mass of the boson in GeV.
virtual double N_nu() const
The number of neutrinos obtained indirectly from the measurements at the Z pole, .
virtual double R0_f(const Particle f) const
The ratio , and , for charged leptons, quarks and neutrinos, respectively.
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
virtual double sin2thetaEff(const Particle f) const
The leptonic effective weak mixing angle at the the pole.
virtual gslpp::complex gA_f(const Particle f) const
The effective leptonic neutral-current axial-vector coupling in the SM.
void setSliced(bool Sliced)
virtual double Gamma_Z() const
The total decay width of the boson, .
virtual gslpp::complex gA_f(const Particle f) const
The total (SM+NP) contribution to the neutral-current axial-vector coupling .
Particle quarks[6]
The vector of all SM quarks.
virtual double deltaGamma_Zf(const Particle f) const
The new physics contribution to the decay width of the boson into a given fermion pair,...
virtual gslpp::complex gV_f(const Particle f) const
The total (SM+NP) contribution to the neutral-current vector coupling .