double NPSTUVWXY::obliqueU() const { double sW2_SM = trueSM.sW2(); double sW_SM = sqrt(sW2_SM); double cW_SM = sqrt(trueSM.cW2()); return ( (-myObliqueUhat + myObliqueV + myObliqueW - 2.0 * sW_SM / cW_SM * myObliqueX)*4.0 * sW2_SM / alphaMz()); }
double NPSTUVWXY::obliqueS() const { double sW2_SM = trueSM.sW2(); double sW_SM = sqrt(sW2_SM); double cW_SM = trueSM.cW2(); return ( (myObliqueShat - myObliqueW + myObliqueX / (sW_SM * cW_SM) - myObliqueY) * 4.0 * sW2_SM / alphaMz()); }
double NPEffectiveBS::obliqueS() const { double ratio = v() * v() / Lambda_NP / Lambda_NP; double sW_SM = sqrt(trueSM.sW2()); /* This has to be the SM value. */ double cW_SM = sqrt(trueSM.cW2()); /* This has to be the SM value. */ return ( 4.0 * sW_SM * cW_SM * cWB / alphaMz() * ratio); }
double NPSTUVWXY::obliqueT() const { double sW2_SM = trueSM.sW2(); double sW_SM = sqrt(sW2_SM); double cW2_SM = trueSM.cW2(); double cW_SM = sqrt(cW2_SM); return ( (myObliqueThat - myObliqueW + 2.0 * sW_SM / cW_SM * myObliqueX - sW2_SM / cW2_SM * myObliqueY) / alphaMz()); }
double NPSTUVWXY::GammaW() const { double Gamma_W = trueSM.GammaW(); double Wbar = (obliqueV() - obliqueW()) / alphaMz(); double alpha = StandardModel::alphaMz(); double c2 = trueSM.cW2(); double s2 = trueSM.sW2(); Gamma_W *= 1.0 - 3.0 * alpha / 4.0 / (c2 - s2) *(obliqueS() - 2.0 * c2 * obliqueT() - (c2 - s2) * obliqueU() / 2.0 / s2 - 2.0 * (c2 - s2) * Wbar) - (1.0 + c2) / 2.0 / (c2 - s2) * DeltaGF(); return Gamma_W; }
double NPEffectiveBS::GammaW() const { double Gamma_W = trueSM.GammaW(); double alpha = alphaMz(); double c2 = trueSM.cW2(); double s2 = trueSM.sW2(); double ratio = v() * v() / Lambda_NP / Lambda_NP; Gamma_W *= 1.0 - 3.0 * alpha / 4.0 / (c2 - s2) *(obliqueS() - 2.0 * c2 * obliqueT() - (c2 - s2) * obliqueU() / 2.0 / s2) - (1.0 + c2) / 2.0 / (c2 - s2) * DeltaGF() //+ (cHL1p + cHL2p + cHL3p + cHQ1p + cHQ2p) * ratio; // incorrect + 2.0 / 9.0 * (cHL1p + cHL2p + cHL3p + 3.0 * cHQ1p + 3.0 * cHQ2p) * ratio; return Gamma_W; }
double NPbase::deltaGamma_Z() const { double deltaGamma_Z = 0.; bool nonZeroNP = false; double delGVl[6], delGAl[6], delGVq[6], delGAq[6]; for (int p = 0; p < 6; ++p) { delGVl[p] = deltaGV_f(leptons[p]); delGAl[p] = deltaGA_f(leptons[p]); delGVq[p] = deltaGV_f(quarks[p]); delGAq[p] = deltaGA_f(quarks[p]); if (delGVl[p] != 0.0 || delGAl[p] != 0.0 || delGVq[p] != 0.0 || delGAq[p] != 0.0) nonZeroNP = true; } if (nonZeroNP) { double gVf, gAf; double deltaGl[6], deltaGq[6]; double delGammaZ = 0.0; for (int p = 0; p < 6; ++p) { gVf = trueSM.gV_f(leptons[p]).real(); gAf = trueSM.gA_f(leptons[p]).real(); deltaGl[p] = 2.0 * (gVf * delGVl[p] + gAf * delGAl[p]); gVf = trueSM.gV_f(quarks[p]).real(); gAf = trueSM.gA_f(quarks[p]).real(); deltaGq[p] = 2.0 * (gVf * delGVq[p] + gAf * delGAq[p]); delGammaZ += deltaGl[p] + 3.0 * deltaGq[p]; } double sW2_SM = trueSM.sW2(); double cW2_SM = trueSM.cW2(); deltaGamma_Z = alphaMz() * Mz / 12.0 / sW2_SM / cW2_SM * delGammaZ; } return deltaGamma_Z; }
double NPEffectiveBS::obliqueT() const { double ratio = v() * v() / Lambda_NP / Lambda_NP; return ( -cH / 2.0 / alphaMz() * ratio); }