StandardModel Class Reference

A model class for the Standard Model. More...

#include <StandardModel.h>

Inheritance diagram for StandardModel:
[legend]
Collaboration diagram for StandardModel:
[legend]

Detailed Description

A model class for the Standard Model.

END: REMOVE FROM THE PACKAGE

Author
HEPfit Collaboration

This is a Model class containing parameters and functions associated with the Standard Model. This class is inherited from the QCD class, which defines parameters related to QCD.

Initialization

The constructor StandardModel() initializes some of the model flags to their default values. After creating an instance of the current class, it is required to call the initialization method InitializeModel(), which allocates memory to the pointers defined in the current class. These pointers are then used in computing EW precision and flavour observables, respectively. In the Monte Carlo run, the constructor as well as the initialization method are called in InputParser::ReadParameters().

The initializations and updates of the model parameters and flags are explained below.

Model parameters

The model parameters of StandardModel are summarized below:

Label LaTeX symbol Description
Mz \(M_Z\) The mass of the \(Z\) boson in GeV.
AlsMz \(\alpha_s(M_Z)\) The strong coupling constant at the Z-boson mass.
GF \(G_\mu\) The Fermi constant in \({\rm GeV}^{-2}\), measured through muon decays.
ale \(\alpha\) The fine-structure constant.
dAle5Mz \(\Delta\alpha_{\mathrm{had}}^{(5)}(M_Z^2)\) The five-flavour hadronic contribution to the electromagnetic coupling.
mHl \(m_h\) The Higgs mass in GeV.
delMw \(\delta\,M_W\) The theoretical uncertainty in \(M_W\) in GeV, which is applicable only when EWSMApproximateFormulae::Mw() is employed for \(M_W\). See also the model flag Mw.
delSin2th_l \(\delta\sin^2\theta_{\rm eff}^{\rm lept}\) The theoretical uncertainty in \(\sin^2\theta_{\rm eff}^{\rm lept}\), which is applicable only when EWSMApproximateFormulae::sin2thetaEff_l() is employed for \(\sin^2\theta_{\rm eff}^{\rm lept}\). See also the model flag KappaZ.
delGammaZ \(\delta\,\Gamma_Z\) The theoretical uncertainty in \(\Gamma_Z\) in GeV, which is applicable only when EWSMApproximateFormulae::X_extended() is employed for \(\Gamma_Z\). See also the model flag NoApproximateGammaZ.
mneutrino_1 \(m_{\nu_1}\) The mass of the first-generation neutrino in GeV.
mneutrino_2 \(m_{\nu_2}\) The mass of the second-generation neutrino in GeV.
mneutrino_3 \(m_{\nu_3}\) The mass of the third-generation neutrino in GeV.
melectron \(m_e\) The electron mass in GeV.
mmu \(m_\mu\) The muon mass in GeV.
mtau \(m_\tau\) The tau mass in GeV.
lambda \(\lambda\) The CKM parameter \(\lambda\) in the Wolfenstein parameterization.
A \(A\) The CKM parameter \(A\) in the Wolfenstein parameterization.
rhob \(\bar{\rho}\) The CKM parameter \(\bar{\rho}\) in the Wolfenstein parameterization.
etab \(\bar{\eta}\) The CKM parameter \(\bar{\eta}\) in the Wolfenstein parameterization.
muw \(\mu_W\) A matching scale around the weak scale in GeV.

The parameters below, associated with flavour observables, may be removed from the current class later:

EpsK \(\varepsilon_{K}\) The experimental value of \(\varepsilon_{K}\).
phiEpsK
KbarEpsK
DeltaMK \(\Delta m_{K}\) The experimental value of \(\Delta m_{K}\) in GeV.
Dmk \(\Delta m_{K}\) The SM contribution to \(\Delta m_{K}\) in GeV.
SM_M12D \(\) The SM amplitude of the \(D^{0}-\bar{D}^{0}\) mixing.

The set of the model parameters are initialized and updated with the methods Init() and Update(), respectively, where the former calls the latter actually. In Update(), the methods PreUpdate() and PostUpdate() are called to run all the procedures that are need to be executed before and after the model parameters are updated. The CKM and PMNS matrices and the Yukawa matrices are recomputed in PostUpdate() with the updated parameters. Inside the Update() method, the individual model parameter is assigned with the protected member function setParameter().

The parameters delMw, delSin2th_l, delGammaZ represent theoretical uncertainties in the \(W\)-boson mass, the leptonic effective weak mixing angle at the \(Z\)-boson mass scale and the total decay width of the \(Z\) boson, respectively, originating from missing higher-order corrections. The contributions from these parameters are incorporated into their two-loop approximate formulae: EWSMApproximateFormulae::Mw(), EWSMApproximateFormulae::sin2thetaEff_l() and EWSMApproximateFormulae::X_extended("GammaZ"). Therefore, the parameters are applicable only when the corresponding approximate formulae are employed. See also the model flags below.

Model flags

The flags of StandardModel are summarized below, where the values of the boolean flags (TRUE or FALSE) are case insensitive, while those of the other flags are case sensitive. The default values of the flags are indicated in bold:

Label Value Description
CacheInStandardModel TRUE / FALSE This flag controls the use of the cashing method implemented in EWSM class. The default value is TRUE.
CacheInEWSMcache TRUE / FALSE This flag controls the use of the cashing method implemented in EWSMcache class. The default value is TRUE.
WithoutNonUniversalVC TRUE / FALSE This flag controls if flavour non-universal vertex corrections are not added to the epsilon parameterization for the EW precision observables. The default value is FALSE; the non-universal corrections are taken into account.
NoApproximateGammaZ TRUE / FALSE This flag is set to true if the two-loop approximate formulae of the partial and total decay widths of the \(Z\) boson defined with the function EWSMApproximateFormulae::X_extended() are NOT employed. The default value is FALSE.
Mw NORESUM / OMSI / INTERMEDIATE / OMSII / APPROXIMATEFORMULA This flag controls the formula used in computing the \(W\)-boson mass. The default flag is APPROXIMATEFORMULA. See EWSM::Mw_SM(), EWSM::resumMw() and EWSMApproximateFormulae::Mw() for detail.
RhoZ NORESUM / OMSI / INTERMEDIATE / OMSII This flag controls the formula used in computing the \(Zf\bar{f}\) couplings \(\rho_Z^f\). The default flag is NORESUM. See EWSM::rhoZ_l_SM(), EWSM::rhoZ_q_SM() and EWSM::resumRhoZ() for detail.
KappaZ NORESUM / OMSI / INTERMEDIATE / OMSII / APPROXIMATEFORMULA This flag controls the formula used in computing the \(Zf\bar{f}\) couplings \(\kappa_Z^f\). The default flag is APPROXIMATEFORMULA. See EWSM::kappaZ_l_SM(), EWSM::kappaZ_q_SM() and EWSM::resumKappaZ() for detail.

These flags can be set via the method setFlag() or setFlagStr(), where the former is applicable for the boolean flags, while the latter is for the other flags. The method CheckFlags() is responsible for checking whether the flags are sane. The public member functions IsFlagWithoutNonUniversalVC(), IsFlagNoApproximateGammaZ() getFlagMw(), getFlagRhoZ() and getFlagKappaZ() are used to retrieve the values of each flag.

The first two flags CacheInStandardModel and CacheInEWSMcache for the cashing methods in EWSM and EWSMcache classes are relevant to the computations of the electroweak precision observables. Those caches are effective when the \(W\)-boson mass, the decay widths of the \(Z\) boson and the \(Zf\bar{f}\) effective couplings \(\kappa_Z^f\) are calculated without using their two-loop approximate formulae.

Notation

The on-mass-shell renormalization scheme [114], [106], [32], [33] is adopted for UV divergences, and the weak mixing angle is defined in terms of the physical masses of the gauge bosons:

\[ s_W^2 \equiv \sin^2\theta_W = 1 - \frac{M_W^2}{M_Z^2}\,, \]

and \(c_W^2=1-s_W^2\).

The Fermi constant \(G_\mu\) in \(\mu\) decay is taken as an input quantity instead of the \(W\)-boson mass, since the latter has not been measured very precisely compared to the former. The relation between \(G_\mu\) and \(M_W\) is written as

\[ G_\mu = \frac{\pi\,\alpha}{\sqrt{2} s_W^2 M_W^2} (1+\Delta r)\,, \]

where \(\Delta r\) represents radiative corrections. From this relation, the \(W\)-boson mass is calculated as

\[ M_W^2 = \frac{M_Z^2}{2} \left( 1+\sqrt{1-\frac{4\pi\alpha}{\sqrt{2}G_\mu M_Z^2}\,(1+\Delta r)}\ \right). \]

The interaction between the \(Z\) boson and the neutral current can be written in terms of the effective \(Zf\bar{f}\) couplings \(g_{V}^f\) and \(g_{A}^f\), of \(g_{R}^f\) and \(g_{L}^f\), or of \(\rho_Z^f\) and \(\kappa_Z^f\):

\begin{eqnarray} \mathcal{L} &=& \frac{e}{2 s_W c_W}\, Z_\mu \sum_f \bar{f} \left( g_{V}^f\gamma_\mu - g_{A}^f \gamma_\mu\gamma_5 \right)\, f\,, \\ &=& \frac{e}{2s_W c_W}\, Z_\mu \sum_f \bar{f} \left[ g_{R}^f \gamma_\mu (1 + \gamma_5) + g_{L}^f \gamma_\mu (1 - \gamma_5) \right]\, f\,, \\ &=& \frac{e}{2 s_W c_W}\sqrt{\rho_Z^f}\, Z_\mu \sum_f \bar{f} \left[( I_3^f - 2Q_f\kappa_Z^f s_W^2)\gamma^\mu - I_3^f\gamma^\mu\gamma_5\right]\,f\,, \end{eqnarray}

where \(\rho_Z^f\) and \(\kappa_Z^f\) are related to \(g_{V}^f\) and \(g_{A}^f\) as the relations:

\begin{eqnarray} g_V^f &=& \sqrt{\rho_Z^f} I_3^f (1 - 4|Q_f|\kappa_Z^fs_W^2) = \sqrt{\rho_Z^f} (I_3^f - 2Q_f\kappa_Z^fs_W^2)\,, \qquad g_A^f &=& \sqrt{\rho_Z^f} I_3^f\,, \end{eqnarray}

and

\begin{eqnarray} \rho_Z^f &=& \left( \frac{g_A^f}{I_3^f} \right)^2, \qquad \kappa_Z^f &=& \frac{1}{4|Q_f|s_W^2} \left( 1 - \frac{g_V^{f}}{g_A^{f}}\right). \end{eqnarray}

Important member functions

The current class handles the following quantities:

  • \(M_W\)   (with Mw_SM()),
  • \(\Delta r\)   (with DeltaR_SM()),
  • \(c_W^2\) and \(s_W^2\)   (with cW2_SM() and sW2_SM()),
  • \(\Gamma_W\)   (with GammaW_SM()),
  • \(\rho_Z^f\)   (with rhoZ_l() and rhoZ_q()),
  • \(\kappa_Z^f\)   (with kappaZ_l() and kappaZ_q()),
  • \(g_V^f\)   (with gVl() and gVq()),
  • \(g_A^f\)   (with gAl() and gAq()),
  • \(\varepsilon_{1,2,3,b}\)   (with epsilon1_SM(), epsilon2_SM(), epsilon3_SM() and epsilonb_SM()).

Moreover, the functions Mzbar(), MwbarFromMw(), MwFromMwbar() and DeltaRbar_SM() can be used for the quantities in the complex-pole/fixed-width scheme.

Schemes

The formulae used for the \(W\)-boson mass \(M_W\) and the effective couplings \(\rho_Z^f\) and \(\kappa_Z^f\) are controlled with the model flags Mw, RhoZ and KappaZ of StandardModel. For each flag, the available schemes are as follows:

  • NORESUM:   No resummation is considered;
  • OMSI:   the so-called OMS-I scheme is adopted;
  • INTERMEDIATE:   an intermediate scheme between OMS-I and OMS-II is adopted;
  • OMSII:   the so-called OMS-II scheme is adopted;
  • APPROXIMATEFORMULA:   the approximate two-loop formula given in EWSMApproximateFormulae class is employed.

The scheme APPROXIMATEFORMULA provides the most accurate SM predictions for \(M_W\) and \(\kappa_Z^f\), while the approximate two-loop formula is not available for \(\rho_Z^f\).

See resumMw(), resumRhoZ() and resumKappaZ() for details on the other schemes.

Cashes

This class contains caching methods for the following functions: DeltaAlphaLepton(), DeltaAlpha(), Mw_SM(), GammaW_SM(), rhoZ_l_SM(), rhoZ_q_SM(), kappaZ_l_SM() and kappaZ_q_SM(), to improve the performance of the Monte Carlo run. The caching methods are implemented with the function checkSMparams().

The use of the caching methods can be controlled with the model flag CacheInStandardModel of StandardModel.

Definition at line 443 of file StandardModel.h.

Public Types

enum  lepton { NEUTRINO_1, ELECTRON, NEUTRINO_2, MU, NEUTRINO_3, TAU }
 An enum type for leptons. More...
 
enum  orders_EW { EW1 = 0, EW1QCD1, EW1QCD2, EW2, EW2QCD1, EW3, orders_EW_size }
 An enumerated type representing perturbative orders of radiative corrections to EW precision observables. More...
 
- Public Types inherited from QCD
enum  meson { P_0, P_P, K_0, K_P, D_0, B_D, B_P, B_S, PHI, K_star, MESON_END }
 An enum type for mesons. More...
 
enum  quark { UP, DOWN, CHARM, STRANGE, TOP, BOTTOM }
 An enum type for quarks. More...
 

Public Member Functions

virtual double A_f (const Particle f) const
 The left-right asymmetry in \(e^+e^-\to Z\to \ell \bar{\ell}\) at the \(Z\)-pole, \(\mathcal{A}_\ell\). More...
 
virtual double AFB (const Particle f) const
 
double ale_OS (const double mu, orders order=FULLNLO) const
 The running electromagnetic coupling \(\alpha(\mu)\) in the on-shell schem. More...
 
double alphaMz () const
 The electromagnetic coupling at the \(Z\)-mass scale, \(\alpha(M_Z^2)=\alpha/(1-\Delta\alpha(M_Z^2))\). More...
 
double c02 () const
 The square of the cosine of the weak mixing angle \(c_0^2\) defined without weak radiative corrections. More...
 
virtual bool CheckFlags () const
 A method to check the sanity of the set of model flags. More...
 
virtual bool CheckParameters (const std::map< std::string, double > &DPars)
 A method to check if all the mandatory parameters for StandardModel have been provided in model initialization. More...
 
bool checkSMparamsForEWPO ()
 A method to check whether the parameters relevant to the EWPO are updated. More...
 
double computeAlpha () const
 The CKM angle \(\alpha\). More...
 
double computeBeta () const
 The CKM angle \(\beta\). More...
 
double computeBetas () const
 The CKM angle \(\beta_s\). More...
 
double computeBrHtobb () const
 The Br \((H\to bb)\) in the Standard Model. More...
 
double computeBrHtocc () const
 The Br \((H\to cc)\) in the Standard Model. More...
 
double computeBrHtogaga () const
 The Br \((H\to\gamma\gamma)\) in the Standard Model. More...
 
double computeBrHtogg () const
 The Br \((H\to gg)\) in the Standard Model. More...
 
double computeBrHtotautau () const
 The Br \((H\to \tau\tau)\) in the Standard Model. More...
 
double computeBrHtoWW () const
 The Br \((H\to WW)\) in the Standard Model. More...
 
double computeBrHtoZga () const
 The Br \((H\to Z\gamma)\) in the Standard Model. More...
 
double computeBrHtoZZ () const
 The Br \((H\to ZZ)\) in the Standard Model. More...
 
void ComputeDeltaR_rem (const double Mw_i, double DeltaR_rem[orders_EW_size]) const
 A method to collect \(\Delta r_{\mathrm{rem}}\) computed via subclasses. More...
 
void ComputeDeltaRho (const double Mw_i, double DeltaRho[orders_EW_size]) const
 A method to collect \(\Delta\rho\) computed via subclasses. More...
 
double computeGamma () const
 The CKM angle \(\gamma\). More...
 
double computeGammaHgaga_tt () const
 The top loop contribution to \(H\to\gamma\gamma\) in the Standard Model. More...
 
double computeGammaHgaga_tW () const
 The mixed \(t-W\) loop contribution to \(H\to\gamma\gamma\) in the Standard Model. More...
 
double computeGammaHgaga_WW () const
 The \(W\) loop contribution to \(H\to\gamma\gamma\) in the Standard Model. More...
 
double computeGammaHgg_bb () const
 The bottom loop contribution to \(H\to gg\) in the Standard Model. More...
 
double computeGammaHgg_tb () const
 The top-bottom interference contribution to \(H\to gg\) in the Standard Model. More...
 
double computeGammaHgg_tt () const
 The top loop contribution to \(H\to gg\) in the Standard Model. More...
 
double computeGammaHTotal () const
 The Higgs total width in the Standard Model. More...
 
double computeGammaHZga_tt () const
 The top loop contribution to \(H\to Z\gamma\) in the Standard Model. More...
 
double computeGammaHZga_tW () const
 The mixed \(t-W\) loop contribution to \(H\to Z\gamma\) in the Standard Model. More...
 
double computeGammaHZga_WW () const
 The \(W\) loop contribution to \(H\to Z\gamma\) in the Standard Model. Currently it returns the value of tab 41 in ref. [89]. More...
 
gslpp::complex computelamc () const
 The product of the CKM elements \(V_{cd} V_{cs}^*\). More...
 
gslpp::complex computelamc_d () const
 The product of the CKM elements \(V_{cd} V_{cb}^*\). More...
 
gslpp::complex computelamc_s () const
 The product of the CKM elements \(V_{cs} V_{cb}^*\). More...
 
gslpp::complex computelamt () const
 The product of the CKM elements \(V_{td} V_{ts}^*\). More...
 
gslpp::complex computelamt_d () const
 The product of the CKM elements \(V_{td} V_{tb}^*\). More...
 
gslpp::complex computelamt_s () const
 The product of the CKM elements \(V_{ts} V_{tb}^*\). More...
 
gslpp::complex computelamu () const
 The product of the CKM elements \(V_{ud} V_{us}^*\). More...
 
gslpp::complex computelamu_d () const
 The product of the CKM elements \(V_{ud} V_{ub}^*\). More...
 
gslpp::complex computelamu_s () const
 The product of the CKM elements \(V_{us} V_{ub}^*\). More...
 
double computeRb () const
 \(R_b=|(V_{ud}V_{ub}^*)/(V_{ud}V_{ub}^*)|\). More...
 
double computeRt () const
 \(R_t=|(V_{td} V_{tb}^*)/(V_{cd}V_{cb}^*)|\). More...
 
double computeRts () const
 \(R_{ts}=|(V_{ts}V_{tb}^*)/(V_{cs}V_{cb}^*)|\). More...
 
double computeSigmaggH (const double sqrt_s) const
 The ggH cross section in the Standard Model. More...
 
double computeSigmaggH_bb (const double sqrt_s) const
 The square of the bottom-quark contribution to the ggH cross section in the Standard Model. More...
 
double computeSigmaggH_tb (const double sqrt_s) const
 The top-bottom interference contribution to the ggH cross section in the Standard Model. More...
 
double computeSigmaggH_tt (const double sqrt_s) const
 The square of the top-quark contribution to the ggH cross section in the Standard Model. More...
 
double computeSigmattH (const double sqrt_s) const
 The ttH production cross section in the Standard Model. More...
 
double computeSigmaVBF (const double sqrt_s) const
 The VBF cross section in the Standard Model. More...
 
double computeSigmaWF (const double sqrt_s) const
 The W fusion contribution \(\sigma_{WF}\) to higgs-production cross section in the Standard Model. More...
 
double computeSigmaWH (const double sqrt_s) const
 The WH production cross section in the Standard Model. More...
 
double computeSigmaZF (const double sqrt_s) const
 The Z fusion contribution \(\sigma_{ZF}\) to higgs-production cross section in the Standard Model. More...
 
double computeSigmaZH (const double sqrt_s) const
 The ZH production cross section in the Standard Model. More...
 
double computeSigmaZWF (const double sqrt_s) const
 The Z W interference fusion contribution \(\sigma_{ZWF}\) to higgs-production cross section in the Standard Model. More...
 
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 \(c_W^2\). More...
 
virtual double cW2 () const
 
double DeltaAlpha () const
 The total corrections to the electromagnetic coupling \(\alpha\) at the \(Z\)-mass scale, denoted as \(\Delta\alpha(M_Z^2)\). More...
 
double DeltaAlphaL5q () const
 The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling \(\alpha\) at the \(Z\)-mass scale, denoted as \(\Delta\alpha^{\ell+5q}(M_Z^2)\). More...
 
double DeltaAlphaLepton (const double s) const
 Leptonic contribution to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{lept}}(s)\). More...
 
double DeltaAlphaTop (const double s) const
 Top-quark contribution to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{top}}(s)\). More...
 
virtual gslpp::complex deltaKappaZ_f (const Particle f) const
 Flavour non-universal vertex corrections to \(\kappa_Z^l\), denoted by \(\Delta\kappa_Z^l\). More...
 
virtual double DeltaR () const
 The SM prediction for \(\Delta r\) derived from that for the \(W\) boson mass. More...
 
virtual double DeltaRbar () const
 The SM prediction for \(\Delta \overline{r}\) derived from that for the \(W\)-boson mass. More...
 
virtual gslpp::complex deltaRhoZ_f (const Particle f) const
 Flavour non-universal vertex corrections to \(\rho_Z^l\), denoted by \(\Delta\rho_Z^l\). More...
 
virtual double epsilon1 () const
 The SM contribution to the epsilon parameter \(\varepsilon_1\). More...
 
virtual double epsilon2 () const
 The SM contribution to the epsilon parameter \(\varepsilon_2\). More...
 
virtual double epsilon3 () const
 The SM contribution to the epsilon parameter \(\varepsilon_3\). More...
 
virtual double epsilonb () const
 The SM contribution to the epsilon parameter \(\varepsilon_b\). More...
 
virtual gslpp::complex gA_f (const Particle f) const
 The effective leptonic neutral-current axial-vector coupling \(g_A^l\) in the SM. More...
 
virtual double Gamma_had () const
 The hadronic decay width of the \(Z\) boson, \(\Gamma_{h}\). More...
 
virtual double Gamma_inv () const
 The invisible partial decay width of the \(Z\) boson, \(\Gamma_{\mathrm{inv}}\). More...
 
virtual double Gamma_Z () const
 The total decay width of the \(Z\) boson, \(\Gamma_Z\). More...
 
virtual double GammaW (const Particle fi, const Particle fj) const
 A partial decay width of the \(W\) boson decay into a SM fermion pair. More...
 
virtual double GammaW () const
 The total width of the \(W\) boson, \(\Gamma_W\). More...
 
virtual double GammaZ (const Particle f) const
 The \(Z\to \ell\bar{\ell}\) partial decay width, \(\Gamma_\ell\). More...
 
double getA () const
 A get method to retrieve the CKM element \(A\). More...
 
double getAle () const
 A get method to retrieve the fine-structure constant \(\alpha\). More...
 
double getAlsMz () const
 A get method to access the value of \(\alpha_s(M_Z)\). More...
 
CKM getCKM () const
 A get method to retrieve the member object of type CKM. More...
 
double getDAle5Mz () const
 A get method to retrieve the five-flavour hadronic contribution to the electromagnetic coupling, \(\Delta\alpha_{\mathrm{had}}^{(5)}(M_Z^2)\). More...
 
double getDelGammaZ () const
 A get method to retrieve the theoretical uncertainty in \(\Gamma_Z\), denoted as \(\delta\,\Gamma_Z\). More...
 
double getDelMw () const
 A get method to retrieve the theoretical uncertainty in \(M_W\), denoted as \(\delta\,M_W\). More...
 
double getDelSin2th_l () const
 A get method to retrieve the theoretical uncertainty in \(\sin^2\theta_{\rm eff}^{\rm lept}\), denoted as \(\delta\sin^2\theta_{\rm eff}^{\rm lept}\). More...
 
double getDeltaMK () const
 
double getDmk () const
 
double getEpsK () const
 
double getEtab () const
 A get method to retrieve the CKM element \(\bar{\eta}\). More...
 
std::string getFlagKappaZ () const
 A method to retrieve the model flag KappaZ. More...
 
std::string getFlagMw () const
 A method to retrieve the model flag Mw. More...
 
std::string getFlagRhoZ () const
 A method to retrieve the model flag RhoZ. More...
 
double getGF () const
 A get method to retrieve the Fermi constant \(G_\mu\). More...
 
int getIterationNo () const
 
double getKbarEpsK () const
 
double getLambda () const
 A get method to retrieve the CKM element \(\lambda\). More...
 
Particle getLeptons (const StandardModel::lepton p) const
 A get method to retrieve the member object of a lepton. More...
 
double getMHl () const
 A get method to retrieve the Higgs mass \(m_h\). More...
 
double getMuw () const
 A get method to retrieve the matching scale \(\mu_W\) around the weak scale. More...
 
EWSMApproximateFormulaegetMyApproximateFormulae () const
 A get method to retrieve the member pointer of type EWSMApproximateFormulae. More...
 
EWSMcachegetMyEWSMcache () const
 A get method to retrieve the member pointer of type EWSMcache. More...
 
FlavourgetMyFlavour () const
 
LeptonFlavourgetMyLeptonFlavour () const
 
virtual StandardModelMatchinggetMyMatching () const
 A get method to access the member pointer of type StandardModelMatching. More...
 
EWSMOneLoopEWgetMyOneLoopEW () const
 A get method to retrieve the member pointer of type EWSMOneLoopEW,. More...
 
EWSMThreeLoopEWgetMyThreeLoopEW () const
 
EWSMThreeLoopEW2QCDgetMyThreeLoopEW2QCD () const
 
EWSMThreeLoopQCDgetMyThreeLoopQCD () const
 
EWSMTwoFermionsLEP2 * getMyTwoFermionsLEP2 () const
 A get method to retrieve the member pointer of type EWSMTwoFermionsLEP2. More...
 
EWSMTwoLoopEWgetMyTwoLoopEW () const
 
EWSMTwoLoopQCDgetMyTwoLoopQCD () const
 
double getMz () const
 A get method to access the mass of the \(Z\) boson \(M_Z\). More...
 
double getphiEpsK () const
 
double getRhob () const
 A get method to retrieve the CKM element \(\bar{\rho}\). More...
 
double getSM_M12D () const
 
virtual StandardModel getTrueSM () const
 
gslpp::matrix< gslpp::complexgetUPMNS () const
 A get method to retrieve the object of the PMNS matrix. More...
 
gslpp::matrix< gslpp::complexgetVCKM () const
 A get method to retrieve the CKM matrix. More...
 
gslpp::matrix< gslpp::complexgetYd () const
 A get method to retrieve the Yukawa matrix of the down-type quarks, \(Y_d\). More...
 
gslpp::matrix< gslpp::complexgetYe () const
 A get method to retrieve the Yukawa matrix of the charged leptons, \(Y_e\). More...
 
gslpp::matrix< gslpp::complexgetYn () const
 A get method to retrieve the Yukawa matrix of the neutrinos, \(Y_\nu\). More...
 
gslpp::matrix< gslpp::complexgetYu () const
 A get method to retrieve the Yukawa matrix of the up-type quarks, \(Y_u\). More...
 
virtual gslpp::complex gV_f (const Particle f) const
 The effective leptonic neutral-current vector coupling \(g_V^l\) in the SM. More...
 
virtual bool Init (const std::map< std::string, double > &DPars)
 A method to initialize the model parameters. More...
 
virtual bool InitializeModel ()
 A method to initialize the model. More...
 
bool IsFlagNoApproximateGammaZ () const
 A method to retrieve the model flag NoApproximateGammaZ. More...
 
bool IsFlagWithoutNonUniversalVC () const
 A method to retrieve the model flag WithoutNonUniversalVC. More...
 
virtual gslpp::complex kappaZ_f (const Particle f) const
 The effective leptonic neutral-current coupling \(\kappa_Z^l\) in the SM. More...
 
virtual double Mw () const
 The SM prediction for the \(W\)-boson mass in the on-shell scheme, \(M_{W,\mathrm{SM}}\). More...
 
virtual double Mw_tree () const
 The tree-level mass of the \(W\) boson, \(M_W^{\mathrm{tree}}\). More...
 
double MwbarFromMw (const double Mw) const
 A method to convert the \(W\)-boson mass in the experimental/running-width scheme to that in the complex-pole/fixed-width scheme. More...
 
double MwFromMwbar (const double Mwbar) const
 A method to convert the \(W\)-boson mass in the complex-pole/fixed-width scheme to that in the experimental/running-width scheme. More...
 
double Mzbar () const
 The \(Z\)-boson mass \(\overline{M}_Z\) in the complex-pole/fixed-width scheme. More...
 
virtual bool PostUpdate ()
 The post-update method for StandardModel. More...
 
virtual bool PreUpdate ()
 The pre-update method for StandardModel. More...
 
virtual double R0_f (const Particle f) const
 The ratio \(R_\ell^0=\Gamma(Z\to {\rm hadrons})/\Gamma(Z\to \ell^+ \ell^-)\). More...
 
virtual double rho_GammaW (const Particle fi, const Particle fj) const
 EW radiative corrections to the width of \(W \to f_i \bar{f}_j\), denoted as \(\rho^W_{ij}\). More...
 
virtual gslpp::complex rhoZ_f (const Particle f) const
 The effective leptonic neutral-current coupling \(\rho_Z^l\) in the SM. More...
 
double s02 () const
 The square of the sine of the weak mixing angle \(s_0^2\) defined without weak radiative corrections. More...
 
virtual bool setFlag (const std::string name, const bool value)
 A method to set a flag of StandardModel. More...
 
void setFlagCacheInStandardModel (bool FlagCacheInStandardModel)
 A set method to change the model flag CacheInStandardModel of StandardModel. More...
 
void setFlagNoApproximateGammaZ (bool FlagNoApproximateGammaZ)
 
virtual bool setFlagStr (const std::string name, const std::string value)
 A method to set a flag of StandardModel. More...
 
virtual double sigma0_had () const
 The hadronic cross section for \(e^+e^- \to Z \to \mathrm{hadrons}\) at the \(Z\)-pole, \(\sigma_h^0\). More...
 
virtual double sin2thetaEff (const Particle f) const
 The effective weak mixing angle \(\sin^2\theta_{\rm eff}^{\,\ell}\) for \(Z\ell\bar{\ell}\) at the the \(Z\)-mass scale. More...
 
 StandardModel ()
 The default constructor. More...
 
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 \(s_W^2\). More...
 
double sW2 () const
 
virtual bool Update (const std::map< std::string, double > &DPars)
 The update method for StandardModel. More...
 
virtual double v () const
 The Higgs vacuum expectation value.

\[ v = \left(\frac{1}{\sqrt{2} G_\mu}\right)^{1/2}, \]

where \(G_\mu\) is the Fermi constant, measured through muon decays. More...

 
virtual ~StandardModel ()
 The default destructor. More...
 
- Public Member Functions inherited from QCD
double AboveTh (const double mu) const
 The active flavour threshold above the scale \(\mu\) as defined in QCD::Thresholds(). More...
 
double Als (const double mu, const orders order=FULLNLO) const
 Computes the running strong coupling \(\alpha_s(\mu)\) in the \(\overline{\mathrm{MS}}\) scheme. In the cases of LO, NLO and FULLNNLO, the coupling is computed with AlsWithInit(). On the other hand, in the cases of NNLO and FULLNNLO, the coupling is computed with AlsWithLambda(). More...
 
double Als4 (const double mu) const
 The value of \(\alpha_s^{\mathrm{FULLNLO}}\) at any scale \(\mu\) with the number of flavours \(n_f = 4\). More...
 
double AlsWithInit (const double mu, const double alsi, const double mu_i, const orders order) const
 Computes the running strong coupling \(\alpha_s(\mu)\) from \(\alpha_s(\mu_i)\) in the \(\overline{\mathrm{MS}}\) scheme, where it is forbidden to across a flavour threshold in the RG running from \(\mu_i\) to \(\mu\). More...
 
double AlsWithLambda (const double mu, const orders order) const
 Computes the running strong coupling \(\alpha_s(\mu)\) in the \(\overline{\mathrm{MS}}\) scheme with the use of \(\Lambda_{\rm QCD}\). More...
 
double BelowTh (const double mu) const
 The active flavour threshold below the scale \(\mu\) as defined in QCD::Thresholds(). More...
 
double Beta0 (const double nf) const
 The \(\beta_0(n_f)\) coefficient for a certain number of flavours \(n_f\). More...
 
double Beta1 (const double nf) const
 The \(\beta_1(n_f)\) coefficient for a certain number of flavours \(n_f\). More...
 
double Beta2 (const double nf) const
 The \(\beta_2(n_f)\) coefficient for a certain number of flavours \(n_f\). More...
 
double geta_0A0 () const
 
double geta_0A0phi () const
 
double geta_0A1 () const
 
double geta_0A12 () const
 
double geta_0A12phi () const
 
double geta_0A1phi () const
 
double geta_0T1 () const
 
double geta_0T1phi () const
 
double geta_0T2 () const
 
double geta_0T23 () const
 
double geta_0T23phi () const
 
double geta_0T2phi () const
 
double geta_0V () const
 
double geta_0Vphi () const
 
double geta_1A0 () const
 
double geta_1A0phi () const
 
double geta_1A1 () const
 
double geta_1A12 () const
 
double geta_1A12phi () const
 
double geta_1A1phi () const
 
double geta_1T1 () const
 
double geta_1T1phi () const
 
double geta_1T2 () const
 
double geta_1T23 () const
 
double geta_1T23phi () const
 
double geta_1T2phi () const
 
double geta_1V () const
 
double geta_1Vphi () const
 
double geta_2A0 () const
 
double geta_2A0phi () const
 
double geta_2A1 () const
 
double geta_2A12 () const
 
double geta_2A12phi () const
 
double geta_2A1phi () const
 
double geta_2T1 () const
 
double geta_2T1phi () const
 
double geta_2T2 () const
 
double geta_2T23 () const
 
double geta_2T23phi () const
 
double geta_2T2phi () const
 
double geta_2V () const
 
double geta_2Vphi () const
 
double getAlsM () const
 A get method to access the value of \(\alpha_s(M_{\alpha_s})\). More...
 
BParameter getBBd () const
 For getting the bag parameters corresponding to the operator basis \(O_1 -O_5\) in \(\Delta b = 2\) process in the \(B_d\) meson system. More...
 
BParameter getBBs () const
 For getting the bag parameters corresponding to the operator basis \(O_1 -O_5\) in \(\Delta b = 2\) process in the \(B_s\) meson system. More...
 
BParameter getBD () const
 For getting the bag parameters corresponding to the operator basis \(O_1 -O_5\) in \(\Delta c = 2\) process in the \(D^0\) meson system. More...
 
BParameter getBK () const
 For getting the bag parameters corresponding to the operator basis \(O_1 -O_5\) in \(\Delta s = 2\) process in the \(K^0\) meson system. More...
 
BParameter getBKd1 () const
 
BParameter getBKd3 () const
 
double getBLNPcorr () const
 
double getBr_B_Xcenu () const
 
double getBr_Kp_munu () const
 
double getBr_Kp_P0enu () const
 
double getbsgamma_E0 () const
 
double getCF () const
 A get method to access the Casimir factor of QCD. More...
 
double getDeltaP_cu () const
 
double getFKstarp () const
 
double getGambino_BRsem () const
 
double getGambino_Mbkin () const
 
double getGambino_Mcatmuc () const
 
double getGambino_muG2 () const
 
double getGambino_mukin () const
 
double getGambino_mupi2 () const
 
double getGambino_rhoD3 () const
 
double getGambino_rhoLS3 () const
 
gslpp::complex geth_0 () const
 
gslpp::complex geth_0_1 () const
 
gslpp::complex geth_0_1_MP () const
 
gslpp::complex geth_0_2 () const
 
gslpp::complex geth_0_MP () const
 
gslpp::complex geth_m () const
 
gslpp::complex geth_m_1 () const
 
gslpp::complex geth_m_2 () const
 
gslpp::complex geth_p () const
 
gslpp::complex geth_p_1 () const
 
gslpp::complex geth_p_2 () const
 
double getIB_Kl () const
 
double getIB_Kp () const
 
double getm_fit2_f0 () const
 
double getm_fit2_fplus () const
 
double getm_fit2_fT () const
 
double getMAls () const
 A get method to access the mass scale \(M_{\alpha_s}\) at which the strong coupling constant measurement is provided. More...
 
Meson getMesons (const meson m) const
 A get method to access a meson as an object of the type Meson. More...
 
double getMRA0 () const
 
double getMRA0phi () const
 
double getMRA1 () const
 
double getMRA12 () const
 
double getMRA12phi () const
 
double getMRA1phi () const
 
double getMRT1 () const
 
double getMRT1phi () const
 
double getMRT2 () const
 
double getMRT23 () const
 
double getMRT23phi () const
 
double getMRT2phi () const
 
double getMRV () const
 
double getMRVphi () const
 
double getMtpole () const
 A get method to access the pole mass of the top quark. More...
 
double getMub () const
 A get method to access the threshold between five- and four-flavour theory in GeV. More...
 
double getMuc () const
 A get method to access the threshold between four- and three-flavour theory in GeV. More...
 
double getMut () const
 A get method to access the threshold between six- and five-flavour theory in GeV. More...
 
double getNc () const
 A get method to access the number of colours \(N_c\). More...
 
double getOmega_eta_etap () const
 
Particle getQuarks (const quark q) const
 A get method to access a quark as an object of the type Particle. More...
 
double getr_1_fplus () const
 
double getr_1_fT () const
 
double getr_2_f0 () const
 
double getr_2_fplus () const
 
double getr_2_fT () const
 
double getReA0_Kd () const
 
double getReA2_Kd () const
 
double logLambda (const double nf, orders order) const
 Computes \(\ln\Lambda_\mathrm{QCD}\) with nf flavours in GeV. More...
 
double Nf (const double mu) const
 The number of active flavour at scale \(\mu\). More...
 
std::string orderToString (const orders order) const
 Converts an object of the enum type "orders" to the corresponding string. More...
 
 QCD ()
 Constructor. More...
 
void setNc (double Nc)
 A set method to change the number of colours \(N_c\). More...
 
double Thresholds (const int i) const
 For accessing the active flavour threshold scales. More...
 
- Public Member Functions inherited from Model
const double & getModelParam (std::string name) const
 
bool IsModelInitialized () const
 A method to check if the model is initialized. More...
 
bool isModelParam (std::string name) const
 
bool isModelSUSY () const
 
bool isModelTHDM () const
 
bool IsUpdateError () const
 A method to check if there was any error in the model update process. More...
 
 Model ()
 The default constructor. More...
 
std::string ModelName () const
 A method to fetch the name of the model. More...
 
void setModelInitialized (bool ModelInitialized)
 A set method to fix the failure or success of the initialization of the model. More...
 
void setModelName (const std::string name)
 A method to set the name of the model. More...
 
void setModelSUSY ()
 
void setModelTHDM ()
 
void setUpdateError (bool UpdateError)
 A set method to fix the update status as success or failure. More...
 
virtual ~Model ()
 The default destructor. More...
 

Static Public Attributes

static const double GeVminus2_to_nb = 389379.338
 
static const double Mw_error = 0.00001
 The target accuracy of the iterative calculation of the \(W\)-boson mass in units of GeV. More...
 
static const int NSMvars = 26
 The number of the model parameters in StandardModel. More...
 
static const int NumSMParamsForEWPO = 27
 The number of the SM parameters that are relevant to the EW precision observables. More...
 
static const std::string SMvars [NSMvars]
 A string array containing the labels of the model parameters in StandardModel. More...
 
- Static Public Attributes inherited from QCD
static const int NQCDvars = 186
 The number of model parameters in QCD. More...
 
static const std::string QCDvars [NQCDvars]
 An array containing the labels under which all QCD parameters are stored in a vector of ModelParameter via InputParser::ReadParameters(). More...
 

Protected Member Functions

bool checkEWPOscheme (const std::string scheme) const
 A method to check if a given scheme name in string form is valid. More...
 
virtual void computeCKM ()
 The method to compute the CKM matrix. More...
 
virtual void computeYukawas ()
 The method to compute the Yukawa matrices. More...
 
double Delta_EWQCD (const QCD::quark q) const
 The non-factorizable EW-QCD corrections to the partial widths for \(Z\to q\bar{q}\), denoted as \(\Delta_{\mathrm{EW/QCD}}\). More...
 
double RAq (const QCD::quark q) const
 The radiator factor associated with the final-state QED and QCD corrections to the the axial-vector-current interactions, \(R_A^q(M_Z^2)\). More...
 
double resumKappaZ (const double DeltaRho[orders_EW_size], const double deltaKappa_rem[orders_EW_size], const double DeltaRbar_rem, const bool bool_Zbb) const
 A method to compute the real part of the effetvive coupling \(\kappa_Z^f\) from \(\Delta\rho\), \(\delta\rho_{\rm rem}^{f}\) and \(\Delta r_{\mathrm{rem}}\). More...
 
double resumMw (const double Mw_i, const double DeltaRho[orders_EW_size], const double DeltaR_rem[orders_EW_size]) const
 A method to compute the \(W\)-boson mass from \(\Delta\rho\) and \(\Delta r_{\mathrm{rem}}\). More...
 
double resumRhoZ (const double DeltaRho[orders_EW_size], const double deltaRho_rem[orders_EW_size], const double DeltaRbar_rem, const bool bool_Zbb) const
 A method to compute the real part of the effective coupling \(\rho_Z^f\) from \(\Delta\rho\), \(\delta\rho_{\rm rem}^{f}\) and \(\Delta r_{\mathrm{rem}}\). More...
 
double RVh () const
 The singlet vector corrections to the hadronic \(Z\)-boson width, denoted as \(R_V^h\). More...
 
double RVq (const QCD::quark q) const
 The radiator factor associated with the final-state QED and QCD corrections to the the vector-current interactions, \(R_V^q(M_Z^2)\). More...
 
double SchemeToDouble (const std::string scheme) const
 A method to convert a given scheme name in string form into a floating-point number with double precision. More...
 
virtual void setParameter (const std::string name, const double &value)
 A method to set the value of a parameter of StandardModel. More...
 
double taub () const
 Top-mass corrections to the \(Zb\bar{b}\) vertex, denoted by \(\tau_b\). More...
 

Protected Attributes

double A
 The CKM parameter \(A\) in the Wolfenstein parameterization. More...
 
double ale
 The fine-structure constant \(\alpha\). More...
 
double AlsMz
 The strong coupling constant at the Z-boson mass, \(\alpha_s(M_Z)\). More...
 
double dAle5Mz
 The five-flavour hadronic contribution to the electromagnetic coupling, \(\Delta\alpha_{\mathrm{had}}^{(5)}(M_Z^2)\). More...
 
double delGammaZ
 The theoretical uncertainty in \(\Gamma_Z\), denoted as \(\delta\,\Gamma_Z\), in GeV. More...
 
double delMw
 The theoretical uncertainty in \(M_W\), denoted as \(\delta\,M_W\), in GeV. More...
 
double delSin2th_l
 The theoretical uncertainty in \(\sin^2\theta_{\rm eff}^{\rm lept}\), denoted as \(\delta\sin^2\theta_{\rm eff}^{\rm lept}\). More...
 
double DeltaMK
 
double Dmk
 
double EpsK
 
double etab
 The CKM parameter \(\bar{\eta}\) in the Wolfenstein parameterization. More...
 
bool flag_order [orders_EW_size]
 An array of internal flags controlling the inclusions of higher-order corrections. More...
 
double GF
 The Fermi constant \(G_\mu\) in \({\rm GeV}^{-2}\). More...
 
double KbarEpsK
 
double lambda
 The CKM parameter \(\lambda\) in the Wolfenstein parameterization. More...
 
Particle leptons [6]
 An array of Particle objects for the leptons. More...
 
double mHl
 The Higgs mass \(m_h\) in GeV. More...
 
double muw
 A matching scale \(\mu_W\) around the weak scale in GeV. More...
 
CKM myCKM
 An object of type CKM. More...
 
double Mz
 The mass of the \(Z\) boson in GeV. More...
 
double phiEpsK
 
bool requireCKM
 An internal flag to control whether the CKM matrix has to be recomputed. More...
 
bool requireYe
 An internal flag to control whether the charged-lepton Yukawa matrix has to be recomputed. More...
 
bool requireYn
 An internal flag to control whether the neutrino Yukawa matrix has to be recomputed. More...
 
double rhob
 The CKM parameter \(\bar{\rho}\) in the Wolfenstein parameterization. More...
 
double SM_M12D
 
gslpp::matrix< gslpp::complexUPMNS
 The PMNS matrix. More...
 
gslpp::matrix< gslpp::complexVCKM
 The CKM matrix. More...
 
gslpp::matrix< gslpp::complexYd
 The Yukawa matrix of the down-type quarks. More...
 
gslpp::matrix< gslpp::complexYe
 The Yukawa matrix of the charged leptons. More...
 
gslpp::matrix< gslpp::complexYn
 The Yukawa matrix of the neutrinos. More...
 
gslpp::matrix< gslpp::complexYu
 The Yukawa matrix of the up-type quarks. More...
 
- Protected Attributes inherited from Model
std::map< std::string, boost::reference_wrapper< const double > > ModelParamMap
 
bool UpdateError
 A boolean set to false if update is successful. More...
 

Private Attributes

double DeltaAlpha_cache
 A cache of the value of \(\Delta\alpha(M_Z^2)\). More...
 
double DeltaAlphaLepton_cache
 A cache of the value of \(\Delta\alpha_{\mathrm{lept}}(M_Z^2)\). More...
 
bool FlagCacheInStandardModel
 A flag for caching (true by default). More...
 
std::string FlagKappaZ
 A string for the model flag KappaZ. More...
 
std::string FlagMw
 A string for the model flag Mw. More...
 
bool FlagNoApproximateGammaZ
 A boolean for the model flag NoApproximateGammaZ. More...
 
std::string FlagRhoZ
 A string for the model flag RhoZ. More...
 
bool FlagWithoutNonUniversalVC
 A boolean for the model flag WithoutNonUniversalVC. More...
 
double GammaW_cache
 A cache of the value of \(\Gamma_W\). More...
 
int iterationNo
 
gslpp::complex kappaZ_f_cache [12]
 A cache of the value of \(\kappa_Z^l\). More...
 
double Mw_cache
 A cache of the value of \(M_W\). More...
 
EWSMApproximateFormulaemyApproximateFormulae
 A pointer to an object of type EWSMApproximateFormulae. More...
 
EWSMcachemyEWSMcache
 A pointer to an object of type EWSMcache. More...
 
FlavourmyFlavour
 A pointer to an object of the type Flavour. More...
 
LeptonFlavourmyLeptonFlavour
 A pointer to an object of the type LeptonFlavour. More...
 
EWSMOneLoopEWmyOneLoopEW
 A pointer to an object of type EWSMOneLoopEW. More...
 
StandardModelMatchingmyStandardModelMatching
 A pointer to an object of type StandardModelMatching. More...
 
EWSMThreeLoopEWmyThreeLoopEW
 A pointer to an object of type EWSMThreeLoopEW. More...
 
EWSMThreeLoopEW2QCDmyThreeLoopEW2QCD
 A pointer to an object of type EWSMThreeLoopEW2QCD. More...
 
EWSMThreeLoopQCDmyThreeLoopQCD
 A pointer to an object of type EWSMThreeLoopQCD. More...
 
EWSMTwoFermionsLEP2 * myTwoFermionsLEP2
 A pointer to an object of type EWSMTwoFermionsLEP2. More...
 
EWSMTwoLoopEWmyTwoLoopEW
 A pointer to an object of type EWSMTwoLoopEW. More...
 
EWSMTwoLoopQCDmyTwoLoopQCD
 A pointer to an object of type EWSMTwoLoopQCD. More...
 
gslpp::complex rhoZ_f_cache [12]
 A cache of the value of \(\rho_Z^l\). More...
 
double SMparamsForEWPO_cache [NumSMParamsForEWPO]
 
bool useDeltaAlpha_cache
 
bool useDeltaAlphaLepton_cache
 
bool useGammaW_cache
 
bool useKappaZ_f_cache [12]
 
bool useMw_cache
 
bool useRhoZ_f_cache [12]
 

Member Enumeration Documentation

An enum type for leptons.

Enumerator
NEUTRINO_1 

The 1st-generation neutrino

ELECTRON 

Electron

NEUTRINO_2 

The 2nd-generation neutrino

MU 

Muon

NEUTRINO_3 

The 3rd-generation neutrino

TAU 

Tau

Definition at line 449 of file StandardModel.h.

An enumerated type representing perturbative orders of radiative corrections to EW precision observables.

Enumerator
EW1 

One-loop of \(\mathcal{O}(\alpha)\).

EW1QCD1 

Two-loop of \(\mathcal{O}(\alpha\alpha_s)\).

EW1QCD2 

Three-loop of \(\mathcal{O}(\alpha\alpha_s^2)\).

EW2 

Two-loop of \(\mathcal{O}(\alpha^2)\).

EW2QCD1 

Three-loop of \(\mathcal{O}(\alpha^2\alpha_s)\).

EW3 

Three-loop of \(\mathcal{O}(\alpha^3)\).

orders_EW_size 

The size of this enum.

Definition at line 462 of file StandardModel.h.

462  {
463  EW1 = 0,
464  EW1QCD1,
465  EW1QCD2,
466  EW2,
467  EW2QCD1,
468  EW3,
470  };
The size of this enum.
Three-loop of .
Two-loop of .
Three-loop of .
One-loop of .
Three-loop of .

Constructor & Destructor Documentation

StandardModel::StandardModel ( )

The default constructor.

BEGIN: REMOVE FROM THE PACKAGE

END: REMOVE FROM THE PACKAGE

Definition at line 42 of file StandardModel.cpp.

43 : QCD(), VCKM(3, 3, 0.), UPMNS(3, 3, 0.), Yu(3, 3, 0.), Yd(3, 3, 0.), Yn(3, 3, 0.),
44 Ye(3, 3, 0.)
45 {
48  FlagMw = "APPROXIMATEFORMULA";
49  FlagRhoZ = "NORESUM";
50  FlagKappaZ = "APPROXIMATEFORMULA";
51 
52  /* Internal flags for EWPO (for debugging) */
53  flag_order[EW1] = true;
54  flag_order[EW1QCD1] = true;
55  flag_order[EW1QCD2] = true;
56  flag_order[EW2] = true;
57  flag_order[EW2QCD1] = true;
58  flag_order[EW3] = true;
59 
60  // Caches for EWPO
61  FlagCacheInStandardModel = true; // use caches in the current class
63  useDeltaAlpha_cache = false;
64  useMw_cache = false;
65  useGammaW_cache = false;
67  DeltaAlpha_cache = 0.0;
68  Mw_cache = 0.0;
69  GammaW_cache = 0.0;
70  for (int i = 0; i < 12; ++i) {
71  useRhoZ_f_cache[i] = false;
72  useKappaZ_f_cache[i] = false;
73  rhoZ_f_cache[i] = gslpp::complex(0.0, 0.0, false);
74  kappaZ_f_cache[i] = gslpp::complex(0.0, 0.0, false);
75  }
76 
77  myEWSMcache = NULL;
78  myOneLoopEW = NULL;
79  myTwoLoopQCD = NULL;
80  myThreeLoopQCD = NULL;
81  myTwoLoopEW = NULL;
82  myThreeLoopEW2QCD = NULL;
83  myThreeLoopEW = NULL;
84  myApproximateFormulae = NULL;
86  myTwoFermionsLEP2 = NULL;
89 
90  // Particle(std::string name, double mass, double mass_scale = 0., double width = 0., double charge = 0.,double isospin = 0.);
91  leptons[NEUTRINO_1] = Particle("NEUTRINO_1", 0., 0., 0., 0., .5);
92  leptons[NEUTRINO_2] = Particle("NEUTRINO_2", 0., 0., 0., 0., .5);
93  leptons[NEUTRINO_3] = Particle("NEUTRINO_3", 0., 0., 0., 0., .5);
94  leptons[ELECTRON] = Particle("ELECTRON", 0., 0., 0., -1., -.5);
95  leptons[MU] = Particle("MU", 0., 0., 0., -1., -.5);
96  leptons[TAU] = Particle("TAU", 0., 0., 0., -1., -.5);
97 
98  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("Mz", boost::cref(Mz)));
99  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("AlsMz", boost::cref(AlsMz)));
100  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("GF", boost::cref(GF)));
101  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("ale", boost::cref(ale)));
102  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("dAle5Mz", boost::cref(dAle5Mz)));
103  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("mHl", boost::cref(mHl)));
104  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("delMw", boost::cref(delMw)));
105  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("delSin2th_l", boost::cref(delSin2th_l)));
106  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("delGammaZ", boost::cref(delGammaZ)));
107  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("mneutrino_1", boost::cref(leptons[NEUTRINO_1].getMass())));
108  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("mneutrino_2", boost::cref(leptons[NEUTRINO_2].getMass())));
109  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("mneutrino_3", boost::cref(leptons[NEUTRINO_3].getMass())));
110  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("melectron", boost::cref(leptons[ELECTRON].getMass())));
111  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("mmu", boost::cref(leptons[MU].getMass())));
112  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("mtau", boost::cref(leptons[TAU].getMass())));
113  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("lambda", boost::cref(lambda)));
114  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("A", boost::cref(A)));
115  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("rhob", boost::cref(rhob)));
116  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("etab", boost::cref(etab)));
117  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("muw", boost::cref(muw)));
118  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("EpsK", boost::cref(EpsK)));
119  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("phiEpsK", boost::cref(phiEpsK)));
120  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("DeltaMK", boost::cref(DeltaMK)));
121  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("KbarEpsK", boost::cref(KbarEpsK)));
122  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("Dmk", boost::cref(Dmk)));
123  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("SM_M12D", boost::cref(SM_M12D)));
124 
125  iterationNo = 0;
126 }
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
gslpp::matrix< gslpp::complex > Ye
The Yukawa matrix of the charged leptons.
gslpp::matrix< gslpp::complex > UPMNS
The PMNS matrix.
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
bool useRhoZ_f_cache[12]
A class for particles.
Definition: Particle.h:26
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
double DeltaAlphaLepton_cache
A cache of the value of .
double AlsMz
The strong coupling constant at the Z-boson mass, .
std::string FlagRhoZ
A string for the model flag RhoZ.
bool flag_order[orders_EW_size]
An array of internal flags controlling the inclusions of higher-order corrections.
Three-loop of .
gslpp::matrix< gslpp::complex > Yn
The Yukawa matrix of the neutrinos.
double ale
The fine-structure constant .
std::string FlagKappaZ
A string for the model flag KappaZ.
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
double GF
The Fermi constant in .
gslpp::complex rhoZ_f_cache[12]
A cache of the value of .
StandardModelMatching * myStandardModelMatching
A pointer to an object of type StandardModelMatching.
double DeltaAlpha_cache
A cache of the value of .
double mHl
The Higgs mass in GeV.
double delSin2th_l
The theoretical uncertainty in , denoted as .
gslpp::matrix< gslpp::complex > Yu
The Yukawa matrix of the up-type quarks.
Two-loop of .
double rhob
The CKM parameter in the Wolfenstein parameterization.
double Mw_cache
A cache of the value of .
double Mz
The mass of the boson in GeV.
gslpp::complex kappaZ_f_cache[12]
A cache of the value of .
bool useDeltaAlpha_cache
double dAle5Mz
The five-flavour hadronic contribution to the electromagnetic coupling, .
QCD()
Constructor.
Definition: QCD.cpp:56
double muw
A matching scale around the weak scale in GeV.
EWSMcache * myEWSMcache
A pointer to an object of type EWSMcache.
double lambda
The CKM parameter in the Wolfenstein parameterization.
bool useDeltaAlphaLepton_cache
double delGammaZ
The theoretical uncertainty in , denoted as , in GeV.
gslpp::matrix< gslpp::complex > Yd
The Yukawa matrix of the down-type quarks.
Three-loop of .
One-loop of .
Particle leptons[6]
An array of Particle objects for the leptons.
bool FlagCacheInStandardModel
A flag for caching (true by default).
double etab
The CKM parameter in the Wolfenstein parameterization.
bool FlagWithoutNonUniversalVC
A boolean for the model flag WithoutNonUniversalVC.
EWSMTwoFermionsLEP2 * myTwoFermionsLEP2
A pointer to an object of type EWSMTwoFermionsLEP2.
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
bool useKappaZ_f_cache[12]
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
double GammaW_cache
A cache of the value of .
double delMw
The theoretical uncertainty in , denoted as , in GeV.
bool FlagNoApproximateGammaZ
A boolean for the model flag NoApproximateGammaZ.
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
Three-loop of .
double A
The CKM parameter in the Wolfenstein parameterization.
std::map< std::string, boost::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:200
std::string FlagMw
A string for the model flag Mw.
StandardModel::~StandardModel ( )
virtual

The default destructor.

BEGIN: REMOVE FROM THE PACKAGE

END: REMOVE FROM THE PACKAGE

Definition at line 128 of file StandardModel.cpp.

129 {
130  if (IsModelInitialized()) {
131  if (myEWSMcache != NULL) delete(myEWSMcache);
132  if (myOneLoopEW != NULL) delete(myOneLoopEW);
133  if (myTwoLoopQCD != NULL) delete(myTwoLoopQCD);
134  if (myThreeLoopQCD != NULL) delete(myThreeLoopQCD);
135  if (myTwoLoopEW != NULL) delete(myTwoLoopEW);
136  if (myThreeLoopEW2QCD != NULL) delete(myThreeLoopEW2QCD);
137  if (myApproximateFormulae != NULL) delete(myApproximateFormulae);
139  if (myFlavour != NULL) delete(myFlavour);
140  if (myLeptonFlavour != NULL) delete(myLeptonFlavour);
142  if (myTwoFermionsLEP2 != NULL) delete(myTwoFermionsLEP2);
144  }
145 }
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
StandardModelMatching * myStandardModelMatching
A pointer to an object of type StandardModelMatching.
bool IsModelInitialized() const
A method to check if the model is initialized.
Definition: Model.h:133
Flavour * myFlavour
A pointer to an object of the type Flavour.
EWSMcache * myEWSMcache
A pointer to an object of type EWSMcache.
EWSMTwoFermionsLEP2 * myTwoFermionsLEP2
A pointer to an object of type EWSMTwoFermionsLEP2.
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
LeptonFlavour * myLeptonFlavour
A pointer to an object of the type LeptonFlavour.
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.

Member Function Documentation

double StandardModel::A_f ( const Particle  f) const
virtual

The left-right asymmetry in \(e^+e^-\to Z\to \ell \bar{\ell}\) at the \(Z\)-pole, \(\mathcal{A}_\ell\).

The asymmetry \(\mathcal{A}_\ell\) is given by

\[ \mathcal{A}_\ell = \frac{2\, {\rm Re}\left(g_{V}^\ell/g_{A}^\ell\right)} {1+\left[{\rm Re}\left(g_{V}^\ell/g_{A}^\ell\right)\right]^2}\,, \]

where the ratio of the effective couplings \(g_{V}^\ell/g_{A}^\ell\) is computed via the two-loop approximate formula of \(\sin^2\theta_{\rm eff}^{\,\ell}\), EWSMApproximateFormulae::sin2thetaEff_l(), when checkNPZff_linearized() returns true and the model flag KappaZ of StandardModel is set to APPROXIMATEFORMULA.

Parameters
[in]fa lepton or quark
Returns
\(\mathcal{A}_\ell\)

Reimplemented in NPbase, NPEpsilons, and NPZbbbar.

Definition at line 933 of file StandardModel.cpp.

934 {
935  double Re_kappa = kappaZ_f(f).real();
936  double Re_gV_over_gA = 1.0 - 4.0 * fabs(f.getCharge()) * Re_kappa * sW2();
937  return ( 2.0 * Re_gV_over_gA / (1.0 + pow(Re_gV_over_gA, 2.0)));
938 }
complex pow(const complex &z1, const complex &z2)
const double & real() const
double sW2() const
double getCharge() const
A get method to access the particle charge.
Definition: Particle.h:97
virtual gslpp::complex kappaZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
double StandardModel::AFB ( const Particle  f) const
virtual
Parameters
[in]fa lepton or quark
Returns

Reimplemented in NPbase, NPEpsilons, and NPZbbbar.

Definition at line 940 of file StandardModel.cpp.

941 {
942  return (3.0 / 4.0 * A_f(leptons[ELECTRON]) * A_f(f));
943 }
Particle leptons[6]
An array of Particle objects for the leptons.
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
double StandardModel::ale_OS ( const double  mu,
orders  order = FULLNLO 
) const

The running electromagnetic coupling \(\alpha(\mu)\) in the on-shell schem.

See [24].

Parameters
[in]murenormalization scale \(\mu\) in GeV.
[in]orderLO/FULLNLO
Returns
\(\alpha(\mu)\) in the on-shell scheme
Attention
This function is applicable to the scale where the three charged leptons and the five quarks, not the top quark, run in the loops.

Definition at line 575 of file StandardModel.cpp.

576 {
577  if (mu < 50.0)
578  throw std::runtime_error("out of range in StandardModel::ale_OS()");
579 
580  double N = 20.0 / 3.0;
581  double beta1 = N / 3.0;
582  double beta2 = N / 4.0;
583  double alpha_ini = alphaMz();
584  double v = 1.0 + 2.0 * beta1 * alpha_ini / M_PI * log(Mz / mu);
585 
586  switch (order) {
587  case LO:
588  return ( alpha_ini / v);
589  case FULLNLO:
590  return ( alpha_ini / v * (1.0 - beta2 / beta1 * alpha_ini / M_PI * log(v) / v));
591  default:
592  throw std::runtime_error("Error in StandardModel::ale_OS()");
593  }
594 }
double Mz
The mass of the boson in GeV.
virtual double v() const
The Higgs vacuum expectation value. where is the Fermi constant, measured through muon decays...
Definition: OrderScheme.h:33
complex log(const complex &z)
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
double StandardModel::alphaMz ( ) const
virtual

The electromagnetic coupling at the \(Z\)-mass scale, \(\alpha(M_Z^2)=\alpha/(1-\Delta\alpha(M_Z^2))\).

The radiative corrections are included with Dyson resummation:

\[ \alpha(M_Z^2) = \frac{\alpha}{1 - \Delta\alpha(M_Z^2)}. \]

Returns
\(\alpha(M_Z^2)\)

Implements QCD.

Definition at line 661 of file StandardModel.cpp.

662 {
663  return (ale / (1.0 - DeltaAlpha()));
664 }
double DeltaAlpha() const
The total corrections to the electromagnetic coupling at the -mass scale, denoted as ...
double ale
The fine-structure constant .
double StandardModel::c02 ( ) const

The square of the cosine of the weak mixing angle \(c_0^2\) defined without weak radiative corrections.

The quantity \(c_0^2\) is given by

\[ c_0^2 = 1 - s_0^2\,, \]

where \(s_0^2\) is defined in s02().

See [10] and [11].

Returns
\(s_0^2\)

Definition at line 691 of file StandardModel.cpp.

692 {
693  return ( 1.0 - s02());
694 }
double s02() const
The square of the sine of the weak mixing angle defined without weak radiative corrections.
bool StandardModel::checkEWPOscheme ( const std::string  scheme) const
inlineprotected

A method to check if a given scheme name in string form is valid.

Parameters
[in]schemescheme name for \(M_W\), \(\rho_Z^f\) or \(\kappa_Z^f\)
Returns
a boolean that is true if the scheme name is valid

Definition at line 2358 of file StandardModel.h.

2359  {
2360  if (scheme.compare("NORESUM") == 0
2361  || scheme.compare("OMSI") == 0
2362  || scheme.compare("INTERMEDIATE") == 0
2363  || scheme.compare("OMSII") == 0
2364  || scheme.compare("APPROXIMATEFORMULA") == 0)
2365  return true;
2366  else
2367  return false;
2368  }
bool StandardModel::CheckFlags ( ) const
virtual

A method to check the sanity of the set of model flags.

Returns
a boolean that is true if the set of model flags is sane

Reimplemented from QCD.

Definition at line 425 of file StandardModel.cpp.

426 {
427  return (QCD::CheckFlags());
428 }
virtual bool CheckFlags() const
A method to check the sanity of the set of model flags.
Definition: QCD.cpp:828
bool StandardModel::CheckParameters ( const std::map< std::string, double > &  DPars)
virtual

A method to check if all the mandatory parameters for StandardModel have been provided in model initialization.

Parameters
[in]DParsa map of the parameters that are being updated in the Monte Carlo run (including parameters that are varied and those that are held constant)
Returns
a boolean that is true if the execution is successful

Reimplemented from QCD.

Reimplemented in NPEffectiveGIMR, NPEffectiveBS, HiggsKvKfgen, NPZbbbarLinearized, NPZbbbar, NPHiggs, HiggsKvgenKf, NPEpsilons, HiggsKvKf, NPSTUZbbbarLR, THDM, NPEpsilons_pureNP, NPSTU, SUSY, SUSYMassInsertion, FlavourWilsonCoefficient, myModel, and GeneralSUSY.

Definition at line 320 of file StandardModel.cpp.

321 {
322  for (int i = 0; i < NSMvars; i++) {
323  if (DPars.find(SMvars[i]) == DPars.end()) {
324  std::cout << "missing mandatory SM parameter " << SMvars[i] << std::endl;
325  return false;
326  }
327  }
328  return (QCD::CheckParameters(DPars));
329 }
static const std::string SMvars[NSMvars]
A string array containing the labels of the model parameters in StandardModel.
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for StandardModel have been provided in model initi...
Definition: QCD.cpp:804
static const int NSMvars
The number of the model parameters in StandardModel.
bool StandardModel::checkSMparamsForEWPO ( )

A method to check whether the parameters relevant to the EWPO are updated.

This function is used for the cashing methods implemented in the current class: DeltaAlphaLepton(), DeltaAlpha(), Mw_SM(), rhoZ_l_SM(), rhoZ_q_SM(), kappaZ_l_SM(), kappaZ_q_SM() and GammaW_SM(). When the values of the StandardModel parameters are updated in the Monte Carlo run and differ from those stored in the cache SMparamsForEWPO_cache, this function updates the cache, and returns false.

Returns
a boolean that is true if the parameters are not updated.
See also
NumSMParamsForEWPO

Definition at line 434 of file StandardModel.cpp.

435 {
436  // 11 parameters in QCD:
437  // AlsMz, Mz, mup, mdown, mcharm, mstrange, mtop, mbottom,
438  // mut, mub, muc
439  // 13 parameters in StandardModel
440  // GF, ale, dAle5Mz, mHl,
441  // mneutrino_1, mneutrino_2, mneutrino_3, melectron, mmu, mtau,
442  // delMw, delSin2th_l, delGammaZ
443  // 3 flags in StandardModel
444  // FlagMw_cache, FlagRhoZ_cache, FlagKappaZ_cache
445 
446  // Note: When modifying the array below, the constant NumSMParams has to
447  // be modified accordingly.
448  double SMparams[NumSMParamsForEWPO] = {
449  AlsMz, Mz, GF, ale, dAle5Mz,
450  mHl, mtpole,
455  leptons[MU].getMass(),
456  leptons[TAU].getMass(),
457  quarks[UP].getMass(),
458  quarks[DOWN].getMass(),
459  quarks[CHARM].getMass(),
460  quarks[STRANGE].getMass(),
461  quarks[BOTTOM].getMass(),
462  mut, mub, muc,
467  };
468 
469  // check updated parameters
470  bool bNotUpdated = true;
471  for (int i = 0; i < NumSMParamsForEWPO; ++i) {
472  if (SMparamsForEWPO_cache[i] != SMparams[i]) {
473  SMparamsForEWPO_cache[i] = SMparams[i];
474  bNotUpdated &= false;
475  }
476  }
477 
478  return bNotUpdated;
479 }
double SMparamsForEWPO_cache[NumSMParamsForEWPO]
static const int NumSMParamsForEWPO
The number of the SM parameters that are relevant to the EW precision observables.
double AlsMz
The strong coupling constant at the Z-boson mass, .
std::string FlagRhoZ
A string for the model flag RhoZ.
double ale
The fine-structure constant .
std::string FlagKappaZ
A string for the model flag KappaZ.
Definition: QCD.h:731
double GF
The Fermi constant in .
double mHl
The Higgs mass in GeV.
double delSin2th_l
The theoretical uncertainty in , denoted as .
double SchemeToDouble(const std::string scheme) const
A method to convert a given scheme name in string form into a floating-point number with double preci...
double Mz
The mass of the boson in GeV.
double dAle5Mz
The five-flavour hadronic contribution to the electromagnetic coupling, .
Definition: QCD.h:732
double delGammaZ
The theoretical uncertainty in , denoted as , in GeV.
Particle leptons[6]
An array of Particle objects for the leptons.
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
double delMw
The theoretical uncertainty in , denoted as , in GeV.
std::string FlagMw
A string for the model flag Mw.
double StandardModel::computeAlpha ( ) const

The CKM angle \(\alpha\).

Returns
\(\alpha\) in radians

Definition at line 497 of file StandardModel.cpp.

498 {
499  return (-VCKM(2, 0) * VCKM(2, 2).conjugate() / (VCKM(0, 0) * VCKM(0, 2).conjugate())).arg();
500 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
double StandardModel::computeBeta ( ) const

The CKM angle \(\beta\).

Returns
\(\beta\) in radians

Definition at line 487 of file StandardModel.cpp.

488 {
489  return (-VCKM(1, 0) * VCKM(1, 2).conjugate() / (VCKM(2, 0) * VCKM(2, 2).conjugate())).arg();
490 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
double StandardModel::computeBetas ( ) const

The CKM angle \(\beta_s\).

Returns
\(\beta_s\) in radians

Definition at line 502 of file StandardModel.cpp.

503 {
504  return (-VCKM(2, 1) * VCKM(2, 2).conjugate() / (VCKM(1, 1) * VCKM(1, 2).conjugate())).arg();
505 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
double StandardModel::computeBrHtobb ( ) const
inline

The Br \((H\to bb)\) in the Standard Model.

Currently it returns the value of tables in appendix A (Mh=125.1 GeV) in ref. [89]

Returns
Br \((H\to bb)\) in the Standard Model

Definition at line 2145 of file StandardModel.h.

2146  {
2147  return 5.75e-1; // Mh=125.1 GeV
2148  //return 5.67e-1; // Mh=125.6 GeV
2149  }
double StandardModel::computeBrHtocc ( ) const
inline

The Br \((H\to cc)\) in the Standard Model.

Currently it returns the value of tables in appendix A (Mh=125.1 GeV) in ref. [89]

Returns
Br \((H\to cc)\) in the Standard Model

Definition at line 2134 of file StandardModel.h.

2135  {
2136  return 2.90e-2; // Mh=125.1 GeV
2137  //return 2.86e-2; // Mh=125.6 GeV
2138  }
double StandardModel::computeBrHtogaga ( ) const
inline

The Br \((H\to\gamma\gamma)\) in the Standard Model.

Currently it returns the value of tables in appendix A (Mh=125.1 GeV) in ref. [89]

Returns
Br \((H\to\gamma\gamma)\) in the Standard Model

Definition at line 2113 of file StandardModel.h.

2114  {
2115  return 2.28e-3; // Mh=125.1 GeV
2116  }
double StandardModel::computeBrHtogg ( ) const
inline

The Br \((H\to gg)\) in the Standard Model.

Currently it returns the value of tables in appendix A (Mh=125.1 GeV) in ref. [89]

Returns
Br \((H\to gg)\)

Definition at line 2070 of file StandardModel.h.

2071  {
2072  return 8.56e-2; // Mh=125.1 GeV
2073  }
double StandardModel::computeBrHtotautau ( ) const
inline

The Br \((H\to \tau\tau)\) in the Standard Model.

Currently it returns the value of tables in appendix A (Mh=125.1 GeV) in ref. [89]

Returns
Br \((H\to \tau\tau)\) in the Standard Model

Definition at line 2123 of file StandardModel.h.

2124  {
2125  return 6.30e-2; // Mh=125.1 GeV
2126  //return 6.22e-2; // Mh=125.6 GeV
2127  }
double StandardModel::computeBrHtoWW ( ) const
inline

The Br \((H\to WW)\) in the Standard Model.

Currently it returns the value of tables in appendix A (Mh=125.1 GeV) in ref. [89]

Returns
Br \((H\to WW)\) in the Standard Model

Definition at line 2080 of file StandardModel.h.

2081  {
2082  //return 2.23e-1; // Mh=125.5 GeV
2083  return 2.16e-1; // Mh=125.1 GeV
2084  }
double StandardModel::computeBrHtoZga ( ) const
inline

The Br \((H\to Z\gamma)\) in the Standard Model.

Currently it returns the value of tables in appendix A (Mh=125.1 GeV) in ref. [89]

Returns
Br \((H\to Z\gamma)\) in the Standard Model

Definition at line 2102 of file StandardModel.h.

2103  {
2104  return 1.55e-3; // Mh=125.1 GeV
2105  //return 1.59e-3; // Mh=125.6 GeV
2106  }
double StandardModel::computeBrHtoZZ ( ) const
inline

The Br \((H\to ZZ)\) in the Standard Model.

Currently it returns the value of tables in appendix A (Mh=125.1 GeV) in ref. [89]

Returns
Br \((H\to ZZ)\) in the Standard Model

Definition at line 2091 of file StandardModel.h.

2092  {
2093  return 2.67e-2; // Mh=125.1 GeV
2094  //return 2.79e-2; // Mh=125.6 GeV
2095  }
void StandardModel::computeCKM ( )
protectedvirtual

The method to compute the CKM matrix.

Definition at line 331 of file StandardModel.cpp.

332 {
333  if (requireCKM) {
335  myCKM.getCKM(VCKM);
336  }
338 }
gslpp::matrix< gslpp::complex > UPMNS
The PMNS matrix.
A base class for defining operations on matrices, both real and complex.
bool requireCKM
An internal flag to control whether the CKM matrix has to be recomputed.
void setWolfenstein(double, double, double, double)
Definition: CKM.cpp:71
double rhob
The CKM parameter in the Wolfenstein parameterization.
CKM myCKM
An object of type CKM.
double lambda
The CKM parameter in the Wolfenstein parameterization.
double etab
The CKM parameter in the Wolfenstein parameterization.
Definition: VCKM.h:13
double A
The CKM parameter in the Wolfenstein parameterization.
void getCKM(gslpp::matrix< gslpp::complex > &) const
Definition: CKM.cpp:58
void StandardModel::ComputeDeltaR_rem ( const double  Mw_i,
double  DeltaR_rem[orders_EW_size] 
) const

A method to collect \(\Delta r_{\mathrm{rem}}\) computed via subclasses.

This function collects \(\Delta r_{\mathrm{rem}}\) computed via EWSMOneLoopEW, EWSMTwoLoopQCD, EWSMTwoLoopEW, EWSMThreeLoopQCD, EWSMThreeLoopEW2QCD and EWSMThreeLoopEW classes.

Parameters
[in]Mw_ithe \(W\)-boson mass
[out]DeltaR_remArray of \(\Delta r_{\mathrm{rem}}\)

Definition at line 803 of file StandardModel.cpp.

805 {
806  if (flag_order[EW1])
807  DeltaR_rem[EW1] = myOneLoopEW->DeltaR_rem(Mw_i);
808  else
809  DeltaR_rem[EW1] = 0.0;
810  if (flag_order[EW1QCD1])
811  DeltaR_rem[EW1QCD1] = myTwoLoopQCD->DeltaR_rem(Mw_i);
812  else
813  DeltaR_rem[EW1QCD1] = 0.0;
814  if (flag_order[EW1QCD2])
815  DeltaR_rem[EW1QCD2] = myThreeLoopQCD->DeltaR_rem(Mw_i);
816  else
817  DeltaR_rem[EW1QCD2] = 0.0;
818  if (flag_order[EW2])
819  DeltaR_rem[EW2] = myTwoLoopEW->DeltaR_rem(Mw_i);
820  else
821  DeltaR_rem[EW2] = 0.0;
822  if (flag_order[EW2QCD1])
823  DeltaR_rem[EW2QCD1] = myThreeLoopEW2QCD->DeltaR_rem(Mw_i);
824  else
825  DeltaR_rem[EW2QCD1] = 0.0;
826  if (flag_order[EW3])
827  DeltaR_rem[EW3] = myThreeLoopEW->DeltaR_rem(Mw_i);
828  else
829  DeltaR_rem[EW3] = 0.0;
830 }
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
double DeltaR_rem(const double Mw_i) const
Remainder contribution of to , denoted as .
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
bool flag_order[orders_EW_size]
An array of internal flags controlling the inclusions of higher-order corrections.
Three-loop of .
double DeltaR_rem(const double Mw_i) const
Remainder contribution of to , denoted as .
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
Two-loop of .
double DeltaR_rem(const double Mw_i) const
Remainder contribution of to , denoted as .
double DeltaR_rem(const double Mw_i) const
Remainder contribution of to , denoted as .
Three-loop of .
One-loop of .
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
double DeltaR_rem(const double Mw_i) const
Remainder contribution of to , denoted as .
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
double DeltaR_rem(const double Mw_i) const
Remainder contribution of to , denoted as .
Three-loop of .
void StandardModel::ComputeDeltaRho ( const double  Mw_i,
double  DeltaRho[orders_EW_size] 
) const

A method to collect \(\Delta\rho\) computed via subclasses.

This function collects \(\Delta\rho\) computed via EWSMOneLoopEW, EWSMTwoLoopQCD, EWSMTwoLoopEW, EWSMThreeLoopQCD, EWSMThreeLoopEW2QCD and EWSMThreeLoopEW classes.

Parameters
[in]Mw_ithe \(W\)-boson mass
[out]DeltaRhoArray of \(\Delta\rho\)

Definition at line 774 of file StandardModel.cpp.

776 {
777  if (flag_order[EW1])
778  DeltaRho[EW1] = myOneLoopEW->DeltaRho(Mw_i);
779  else
780  DeltaRho[EW1] = 0.0;
781  if (flag_order[EW1QCD1])
782  DeltaRho[EW1QCD1] = myTwoLoopQCD->DeltaRho(Mw_i);
783  else
784  DeltaRho[EW1QCD1] = 0.0;
785  if (flag_order[EW1QCD2])
786  DeltaRho[EW1QCD2] = myThreeLoopQCD->DeltaRho(Mw_i);
787  else
788  DeltaRho[EW1QCD2] = 0.0;
789  if (flag_order[EW2])
790  DeltaRho[EW2] = myTwoLoopEW->DeltaRho(Mw_i);
791  else
792  DeltaRho[EW2] = 0.0;
793  if (flag_order[EW2QCD1])
794  DeltaRho[EW2QCD1] = myThreeLoopEW2QCD->DeltaRho(Mw_i);
795  else
796  DeltaRho[EW2QCD1] = 0.0;
797  if (flag_order[EW3])
798  DeltaRho[EW3] = myThreeLoopEW->DeltaRho(Mw_i);
799  else
800  DeltaRho[EW3] = 0.0;
801 }
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
double DeltaRho(const double Mw_i) const
Leading three-loop contribution of to , denoted as .
double DeltaRho(const double Mw_i) const
Leading one-loop contribution of to , denoted as .
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
bool flag_order[orders_EW_size]
An array of internal flags controlling the inclusions of higher-order corrections.
Three-loop of .
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
Two-loop of .
Three-loop of .
One-loop of .
double DeltaRho(const double Mw_i) const
Leading three-loop QCD contribution of to , denoted as .
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
double DeltaRho(const double Mw_i) const
Leading three-loop contribution of to , denoted as .
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
double DeltaRho(const double Mw_i) const
Leading two-loop contribution of to , denoted as .
Three-loop of .
double DeltaRho(const double Mw_i) const
Leading two-loop QCD contribution of to , denoted as .
double StandardModel::computeGamma ( ) const

The CKM angle \(\gamma\).

Returns
\(\gamma\) in radians

Definition at line 492 of file StandardModel.cpp.

493 {
494  return (-VCKM(0, 0) * VCKM(0, 2).conjugate() / (VCKM(1, 0) * VCKM(1, 2).conjugate())).arg();
495 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
double StandardModel::computeGammaHgaga_tt ( ) const
inline

The top loop contribution to \(H\to\gamma\gamma\) in the Standard Model.

Currently it returns the value of tab 40 in ref. [89]

Returns
Width of \(H\to\gamma\gamma\) (top loop contribution squared) in eV

Definition at line 2233 of file StandardModel.h.

2234  {
2235  return 662.84; // in eV for Mh=125 GeV
2236  //return 680.39; // in eV for Mh=126 GeV
2237  }
double StandardModel::computeGammaHgaga_tW ( ) const
inline

The mixed \(t-W\) loop contribution to \(H\to\gamma\gamma\) in the Standard Model.

Currently it returns the value of tab 40 in ref. [89]

Returns
Width of \(H\to\gamma\gamma\) (top W loop interference) in eV

Definition at line 2255 of file StandardModel.h.

2256  {
2257  return -6249.93; // in eV for Mh=125 GeV
2258  //return -6436.35; // in eV for Mh=126 GeV
2259  }
double StandardModel::computeGammaHgaga_WW ( ) const
inline

The \(W\) loop contribution to \(H\to\gamma\gamma\) in the Standard Model.

Currently it returns the value of tab 40 in ref. [89]

Returns
Width of \(H\to\gamma\gamma\) (W loop contribution squared) in eV

Definition at line 2244 of file StandardModel.h.

2245  {
2246  return 14731.86; // in eV for Mh=125 GeV
2247  //return 15221.98; // in eV for Mh=126 GeV
2248  }
double StandardModel::computeGammaHgg_bb ( ) const
inline

The bottom loop contribution to \(H\to gg\) in the Standard Model.

Currently it returns the value of tab 39 in ref. [89]

Returns
Width of \(H\to gg\) (bottom loop contribution squared) in keV

Definition at line 2178 of file StandardModel.h.

2179  {
2180  return 3.96; // in keV for Mh=125 GeV
2181  //return 3.95; // in keV for Mh=126 GeV
2182  }
double StandardModel::computeGammaHgg_tb ( ) const
inline

The top-bottom interference contribution to \(H\to gg\) in the Standard Model.

Currently it returns the value of tab 39 in ref. [89]

Returns
Width of \(H\to gg\) (top-bottom interference contribution) in keV

Definition at line 2189 of file StandardModel.h.

2190  {
2191  return -42.1; // in keV for Mh=125 GeV
2192  //return -42.7; // in keV for Mh=126 GeV
2193  }
double StandardModel::computeGammaHgg_tt ( ) const
inline

The top loop contribution to \(H\to gg\) in the Standard Model.

Currently it returns the value of tab 39 in ref. [89]

Returns
Width of \(H\to gg\) (top loop contribution squared) in keV

Definition at line 2167 of file StandardModel.h.

2168  {
2169  return 380.8; // in keV for Mh=125 GeV
2170  //return 389.6; // in keV for Mh=126 GeV
2171  }
double StandardModel::computeGammaHTotal ( ) const
inline

The Higgs total width in the Standard Model.

Currently it returns the value of tables in appendix A (Mh=125.1 GeV) in ref. [89]

Returns
\(\Gamma_h\) in GeV in the Standard Model

Definition at line 2156 of file StandardModel.h.

2157  {
2158  return 4.08e-3; // Mh=125.1 GeV
2159  //return 4.15e-3; // Mh=125.6 GeV
2160  }
double StandardModel::computeGammaHZga_tt ( ) const
inline

The top loop contribution to \(H\to Z\gamma\) in the Standard Model.

Currently it returns the value of tab 41 in ref. [89]

Returns
Width of \(H\to Z\gamma\) (top loop contribution squared) in eV

Definition at line 2200 of file StandardModel.h.

2201  {
2202  return 21.74; // in eV for Mh=125 GeV
2203  //return 23.51; // in eV for Mh=126 GeV
2204  }
double StandardModel::computeGammaHZga_tW ( ) const
inline

The mixed \(t-W\) loop contribution to \(H\to Z\gamma\) in the Standard Model.

Currently it returns the value of tab 41 in ref. [89]

Returns
Width of \(H\to Z\gamma\) (top W loop interference) in eV

Definition at line 2222 of file StandardModel.h.

2223  {
2224  return -780.4; // in eV for Mh=125 GeV
2225  //return -848.1; // in eV for Mh=126 GeV
2226  }
double StandardModel::computeGammaHZga_WW ( ) const
inline

The \(W\) loop contribution to \(H\to Z\gamma\) in the Standard Model. Currently it returns the value of tab 41 in ref. [89].

Returns
Width of \(H\to Z\gamma\) (W loop contribution squared) in eV

Definition at line 2211 of file StandardModel.h.

2212  {
2213  return 7005.6; // in eV for Mh=125 GeV
2214  //return 7648.4; // in eV for Mh=126 GeV
2215  }
gslpp::complex StandardModel::computelamc ( ) const

The product of the CKM elements \(V_{cd} V_{cs}^*\).

Returns
\(V_{cd} V_{cs}^*\)

Definition at line 514 of file StandardModel.cpp.

515 {
516  return VCKM(1, 0) * VCKM(1, 1).conjugate();
517 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
gslpp::complex StandardModel::computelamc_d ( ) const

The product of the CKM elements \(V_{cd} V_{cb}^*\).

Returns
\(V_{cd} V_{cb}^*\)

Definition at line 529 of file StandardModel.cpp.

530 {
531  return VCKM(1, 0) * VCKM(1, 2).conjugate();
532 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
gslpp::complex StandardModel::computelamc_s ( ) const

The product of the CKM elements \(V_{cs} V_{cb}^*\).

Returns
\(V_{cs} V_{cb}^*\)

Definition at line 544 of file StandardModel.cpp.

545 {
546  return VCKM(1, 1) * VCKM(1, 2).conjugate();
547 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
gslpp::complex StandardModel::computelamt ( ) const

The product of the CKM elements \(V_{td} V_{ts}^*\).

Returns
\(V_{td} V_{ts}^*\)

Definition at line 509 of file StandardModel.cpp.

510 {
511  return VCKM(2, 0) * VCKM(2, 1).conjugate();
512 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
gslpp::complex StandardModel::computelamt_d ( ) const

The product of the CKM elements \(V_{td} V_{tb}^*\).

Returns
\(V_{td} V_{tb}^*\)

Definition at line 524 of file StandardModel.cpp.

525 {
526  return VCKM(2, 0) * VCKM(2, 2).conjugate();
527 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
gslpp::complex StandardModel::computelamt_s ( ) const

The product of the CKM elements \(V_{ts} V_{tb}^*\).

Returns
\(V_{ts} V_{tb}^*\)

Definition at line 539 of file StandardModel.cpp.

540 {
541  return VCKM(2, 1) * VCKM(2, 2).conjugate();
542 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
gslpp::complex StandardModel::computelamu ( ) const

The product of the CKM elements \(V_{ud} V_{us}^*\).

Returns
\(V_{ud} V_{us}^*\)

Definition at line 519 of file StandardModel.cpp.

520 {
521  return VCKM(0, 0) * VCKM(0, 1).conjugate();
522 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
gslpp::complex StandardModel::computelamu_d ( ) const

The product of the CKM elements \(V_{ud} V_{ub}^*\).

Returns
\(V_{ud} V_{ub}^*\)

Definition at line 534 of file StandardModel.cpp.

535 {
536  return VCKM(0, 0) * VCKM(0, 2).conjugate();
537 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
gslpp::complex StandardModel::computelamu_s ( ) const

The product of the CKM elements \(V_{us} V_{ub}^*\).

Returns
\(V_{us} V_{ub}^*\)

Definition at line 549 of file StandardModel.cpp.

550 {
551  return VCKM(0, 1) * VCKM(0, 2).conjugate();
552 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
double StandardModel::computeRb ( ) const

\(R_b=|(V_{ud}V_{ub}^*)/(V_{ud}V_{ub}^*)|\).

Returns
\(R_b\)

Definition at line 566 of file StandardModel.cpp.

567 {
568  return (VCKM(0, 0) * VCKM(0, 2).conjugate()
569  / (VCKM(1, 0) * VCKM(1, 2).conjugate())).abs();
570 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
double StandardModel::computeRt ( ) const

\(R_t=|(V_{td} V_{tb}^*)/(V_{cd}V_{cb}^*)|\).

Returns
\(R_t\)

Definition at line 554 of file StandardModel.cpp.

555 {
556  return (VCKM(2, 0) * VCKM(2, 2).conjugate()
557  / (VCKM(1, 0) * VCKM(1, 2).conjugate())).abs();
558 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
double StandardModel::computeRts ( ) const

\(R_{ts}=|(V_{ts}V_{tb}^*)/(V_{cs}V_{cb}^*)|\).

Returns
\(R_{ts}\)

Definition at line 560 of file StandardModel.cpp.

561 {
562  return (VCKM(2, 1) * VCKM(2, 2).conjugate()
563  / (VCKM(1, 1) * VCKM(1, 2).conjugate())).abs();
564 }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
double StandardModel::computeSigmaggH ( const double  sqrt_s) const
inline

The ggH cross section in the Standard Model.

See Tables B.67 and B.74 in ref. [89]

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
ggH cross section in pb

Definition at line 1858 of file StandardModel.h.

1859  {
1860  if (sqrt_s == 7.0) {
1861  return 15.11; // in pb for Mh=125.1 GeV
1862  //return 14.99; // in pb for Mh=125.6 GeV
1863  } else if (sqrt_s == 8.0) {
1864  return 19.24; // in pb for Mh=125.1 GeV
1865  //return 19.09; // in pb for Mh=125.6 GeV
1866  } else if (sqrt_s == 1.96) {
1867  return 0.9493; // in pb for Mh=125 GeV
1868  } else
1869  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH()");
1870  }
double StandardModel::computeSigmaggH_bb ( const double  sqrt_s) const
inline

The square of the bottom-quark contribution to the ggH cross section in the Standard Model.

The values have been obtained from M. Spira. See also Table 38 in ref. [89], which are calculated with a scale choice of Mh.

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
\(\sigma_{ggH}^{bb}\) in pb

Definition at line 1900 of file StandardModel.h.

1901  {
1902  if (sqrt_s == 7.0) {
1903  //return 0.09528; // in pb for Mh=125 GeV with a scale choice of Mh
1904  return 0.1079; // in pb for Mh=125 GeV with a scale choice of Mh/2
1905  //return 0.1057; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1906  } else if (sqrt_s == 8.0) {
1907  //return 0.1206; // in pb for Mh=125 GeV with a scale choice of Mh
1908  return 0.1357; // in pb for Mh=125 GeV with a scale choice of Mh/2
1909  //return 0.1330; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1910  } else
1911  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH_bb()");
1912  }
double StandardModel::computeSigmaggH_tb ( const double  sqrt_s) const
inline

The top-bottom interference contribution to the ggH cross section in the Standard Model.

The values have been obtained from M. Spira. See also Table 38 in ref. [89], which are calculated with a scale choice of Mh.

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
\(\sigma_{ggH}^{tb}\) in pb

Definition at line 1921 of file StandardModel.h.

1922  {
1923  if (sqrt_s == 7.0) {
1924  //return -0.8970; // in pb for Mh=125 GeV with a scale choice of Mh
1925  return -0.9726; // in pb for Mh=125 GeV with a scale choice of Mh/2
1926  //return -0.9609; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1927  } else if (sqrt_s == 8.0) {
1928  //return -1.125; // in pb for Mh=125 GeV with a scale choice of Mh
1929  return -1.206; // in pb for Mh=125 GeV with a scale choice of Mh/2
1930  //return -1.192; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1931  } else
1932  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH_tb()");
1933  }
double StandardModel::computeSigmaggH_tt ( const double  sqrt_s) const
inline

The square of the top-quark contribution to the ggH cross section in the Standard Model.

The values have been obtained from M. Spira. See also Table 38 in ref. [89], which are calculated with a scale choice of Mh.

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
\(\sigma_{ggH}^{tt}\) in pb

Definition at line 1879 of file StandardModel.h.

1880  {
1881  if (sqrt_s == 7.0) {
1882  //return 14.355; // in pb for Mh=125 GeV with a scale choice of Mh (corrected from the value in 1307.1347v2)
1883  return 15.89; // in pb for Mh=125 GeV with a scale choice of Mh/2
1884  //return 15.76; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1885  } else if (sqrt_s == 8.0) {
1886  //return 18.31; // in pb for Mh=125 GeV with a scale choice of Mh
1887  return 20.18; // in pb for Mh=125 GeV with a scale choice of Mh/2
1888  //return 20.02; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1889  } else
1890  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH_tt()");
1891  }
double StandardModel::computeSigmattH ( const double  sqrt_s) const
inline

The ttH production cross section in the Standard Model.

See Tables B.67 and B.74 in ref. [89]

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
ttH production cross section in pb

Definition at line 2051 of file StandardModel.h.

2052  {
2053  if (sqrt_s == 7.0) {
2054  return 0.0861; // in pb for Mh=125.1 GeV
2055  //return 0.0851; // in pb for Mh=125.6 GeV
2056  } else if (sqrt_s == 8.0) {
2057  return 0.129; // in pb for Mh=125.1 GeV
2058  //return 0.1274; // in pb for Mh=125.6 GeV
2059  } else if (sqrt_s == 1.96) {
2060  return 0.0043; // in pb for Mh=125 GeV
2061  } else
2062  throw std::runtime_error("Bad argument in StandardModel::computeSigmattH()");
2063  }
double StandardModel::computeSigmaVBF ( const double  sqrt_s) const
inline

The VBF cross section in the Standard Model.

See Tables B.67 and B.74 in ref. [89]

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
VBF cross section in pb

Definition at line 1941 of file StandardModel.h.

1942  {
1943  if (sqrt_s == 7.0) {
1944  return 1.222; // in pb for Mh=125.1 GeV
1945  //return 1.214; // in pb for Mh=125.6 GeV
1946  } else if (sqrt_s == 8.0) {
1947  return 1.579; // in pb for Mh=125.1 GeV
1948  //return 1.572; // in pb for Mh=125.6 GeV
1949  } else if (sqrt_s == 1.96) {
1950  return 0.0653; // in pb for Mh=125 GeV
1951  } else
1952  throw std::runtime_error("Bad argument in StandardModel::computeSigmaVBF()");
1953  }
double StandardModel::computeSigmaWF ( const double  sqrt_s) const
inline

The W fusion contribution \(\sigma_{WF}\) to higgs-production cross section in the Standard Model.

Currently it returns the value of tab 37 in ref. [89]

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
W fusion contribution \(\sigma_{WF}\) to cross section in pb

Definition at line 1962 of file StandardModel.h.

1963  {
1964  if (sqrt_s == 7.0) {
1965  return 0.938; // in pb for Mh=125 GeV
1966  } else if (sqrt_s == 8.0) {
1967  return 1.210; // in pb for Mh=125 GeV
1968  } else if (sqrt_s == 1.96) {
1969  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(7.) * computeSigmaWF(7.); // in the absence of individual cross sections for TeVatron we rescale the LHC ones
1970  } else
1971  throw std::runtime_error("Bad argument in StandardModel::computeSigmaWF()");
1972  }
double computeSigmaWF(const double sqrt_s) const
The W fusion contribution to higgs-production cross section in the Standard Model.
double computeSigmaVBF(const double sqrt_s) const
The VBF cross section in the Standard Model.
double StandardModel::computeSigmaWH ( const double  sqrt_s) const
inline

The WH production cross section in the Standard Model.

See Tables B.67 and B.74 in ref. [89]

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
WH production cross section in pb

Definition at line 2011 of file StandardModel.h.

2012  {
2013  if (sqrt_s == 7.0) {
2014  return 0.577; // in pb for Mh=125.1 GeV
2015  //return 0.5688; // in pb for Mh=125.6 GeV
2016  } else if (sqrt_s == 8.0) {
2017  return 0.7027; // in pb for Mh=125.1 GeV
2018  //return 0.6931; // in pb for Mh=125.6 GeV
2019  } else if (sqrt_s == 1.96) {
2020  return 0.1295; // in pb for Mh=125 GeV
2021  } else
2022  throw std::runtime_error("Bad argument in StandardModel::computeSigmaWH()");
2023  }
double StandardModel::computeSigmaZF ( const double  sqrt_s) const
inline

The Z fusion contribution \(\sigma_{ZF}\) to higgs-production cross section in the Standard Model.

Currently it returns the value of tab 37 in ref. [89]

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
W fusion contribution \(\sigma_{ZF}\) to cross section in pb

Definition at line 1981 of file StandardModel.h.

1982  {
1983  if (sqrt_s == 7.0) {
1984  return 0.321; // in pb for Mh=125 GeV
1985  } else if (sqrt_s == 8.0) {
1986  return 0.417; // in pb for Mh=125 GeV
1987  } else if (sqrt_s == 1.96) {
1988  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(7.) * computeSigmaZF(7.); // in the absence of individual cross sections for TeVatron we rescale the LHC ones
1989  } else
1990  throw std::runtime_error("Bad argument in StandardModel::computeSigmaZF()");
1991  }
double computeSigmaZF(const double sqrt_s) const
The Z fusion contribution to higgs-production cross section in the Standard Model.
double computeSigmaVBF(const double sqrt_s) const
The VBF cross section in the Standard Model.
double StandardModel::computeSigmaZH ( const double  sqrt_s) const
inline

The ZH production cross section in the Standard Model.

See Tables B.67 and B.74 in ref. [89]

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
ZH production cross section in pb

Definition at line 2031 of file StandardModel.h.

2032  {
2033  if (sqrt_s == 7.0) {
2034  return 0.3341; // in pb for Mh=125.1 GeV
2035  //return 0.3299; // in pb for Mh=125.6 GeV
2036  } else if (sqrt_s == 8.0) {
2037  return 0.4142; // in pb for Mh=125.1 GeV
2038  //return 0.4091; // in pb for Mh=125.6 GeV
2039  } else if (sqrt_s == 1.96) {
2040  return 0.0785; // in pb for Mh=125 GeV
2041  } else
2042  throw std::runtime_error("Bad argument in StandardModel::computeSigmaZH()");
2043  }
double StandardModel::computeSigmaZWF ( const double  sqrt_s) const
inline

The Z W interference fusion contribution \(\sigma_{ZWF}\) to higgs-production cross section in the Standard Model.

Negligible (0.1%) in the Standard model.

Parameters
[in]sqrt_sthe center-of-mass energy in TeV
Returns
Z W interference fusion contribution \(\sigma_{ZWF}\) to cross section in pb

Definition at line 2000 of file StandardModel.h.

2001  {
2002  return 0.;
2003  }
void StandardModel::computeYukawas ( )
protectedvirtual

The method to compute the Yukawa matrices.

Attention
This function has not been correctly implemented yet.

Reimplemented in SUSY.

Definition at line 340 of file StandardModel.cpp.

341 {
342  /* THE FOLLOWING CODES HAVE TO BE MODIFIED!!
343  * The Yukawa matrices have to be computed at a common scale
344  * for all the fermions!!! */
345  if (requireYu || requireCKM) {
347  for (int i = 0; i < 3; i++)
348  Yu.assign(i, i, this->quarks[UP + 2 * i].getMass() / v() * sqrt(2.));
349  Yu = VCKM.transpose() * Yu;
350  }
351  if (requireYd) {
353  for (int i = 0; i < 3; i++)
354  Yd.assign(i, i, this->quarks[DOWN + 2 * i].getMass() / v() * sqrt(2.));
355  }
356  if (requireYe) {
358  for (int i = 0; i < 3; i++)
359  Ye.assign(i, i, this->leptons[ELECTRON + 2 * i].getMass() / v() * sqrt(2.));
360  }
361  if (requireYn) {
363  for (int i = 0; i < 3; i++)
364  Yn.assign(i, i, this->leptons[NEUTRINO_1 + 2 * i].getMass() / v() * sqrt(2.));
365  Yn = Yn * UPMNS.hconjugate();
366  }
367 }
gslpp::matrix< gslpp::complex > Ye
The Yukawa matrix of the charged leptons.
gslpp::matrix< gslpp::complex > UPMNS
The PMNS matrix.
A base class for defining operations on matrices, both real and complex.
bool requireCKM
An internal flag to control whether the CKM matrix has to be recomputed.
gslpp::matrix< gslpp::complex > Yn
The Yukawa matrix of the neutrinos.
bool requireYe
An internal flag to control whether the charged-lepton Yukawa matrix has to be recomputed.
Definition: QCD.h:731
gslpp::matrix< gslpp::complex > Yu
The Yukawa matrix of the up-type quarks.
virtual double v() const
The Higgs vacuum expectation value. where is the Fermi constant, measured through muon decays...
bool requireYn
An internal flag to control whether the neutrino Yukawa matrix has to be recomputed.
Definition: QCD.h:732
gslpp::matrix< gslpp::complex > Yd
The Yukawa matrix of the down-type quarks.
Definition: VCKM.h:13
complex sqrt(const complex &z)
double StandardModel::cW2 ( const double  Mw_i) const
virtual

The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as \(c_W^2\).

\[ c_W^2=\cos^2{\theta_W}=\frac{M_W^2}{M_Z^2}. \]

Returns
\(c_W^2\)

Definition at line 740 of file StandardModel.cpp.

741 {
742  return ( Mw_i * Mw_i / Mz / Mz);
743 }
double Mz
The mass of the boson in GeV.
double StandardModel::cW2 ( ) const
virtual

Definition at line 745 of file StandardModel.cpp.

746 {
747  return ( cW2(Mw()));
748 }
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
virtual double cW2() const
double StandardModel::Delta_EWQCD ( const QCD::quark  q) const
protected

The non-factorizable EW-QCD corrections to the partial widths for \(Z\to q\bar{q}\), denoted as \(\Delta_{\mathrm{EW/QCD}}\).

See [62] and [88].

Parameters
[in]qname of a quark (see QCD::quark)
Returns
\(\Delta_{\mathrm{EW/QCD}}\) in GeV

Definition at line 1611 of file StandardModel.cpp.

1612 {
1613  switch (q) {
1614  case QCD::UP:
1615  case QCD::CHARM:
1616  return ( -0.000113);
1617  case QCD::TOP:
1618  return ( 0.0);
1619  case QCD::DOWN:
1620  case QCD::STRANGE:
1621  return ( -0.000160);
1622  case QCD::BOTTOM:
1623  return ( -0.000040);
1624  default:
1625  throw std::runtime_error("Error in StandardModel::Delta_EWQCD");
1626  }
1627 }
Definition: QCD.h:731
Definition: QCD.h:735
Definition: QCD.h:732
double StandardModel::DeltaAlpha ( ) const

The total corrections to the electromagnetic coupling \(\alpha\) at the \(Z\)-mass scale, denoted as \(\Delta\alpha(M_Z^2)\).

\[ \Delta\alpha(M_Z^2) = \Delta\alpha_{\rm lept}(M_Z^2) + \Delta\alpha_{\rm had}^{(5)}(M_Z^2) + \Delta\alpha_{\rm top}(M_Z^2)\,. \]

Returns
\(\Delta\alpha(M_Z^2)\)

Definition at line 649 of file StandardModel.cpp.

650 {
653  return DeltaAlpha_cache;
654 
655  double Mz2 = Mz*Mz;
657  useDeltaAlpha_cache = true;
658  return DeltaAlpha_cache;
659 }
double DeltaAlphaTop(const double s) const
Top-quark contribution to the electromagnetic coupling , denoted as .
double DeltaAlpha_cache
A cache of the value of .
double Mz
The mass of the boson in GeV.
bool useDeltaAlpha_cache
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
bool FlagCacheInStandardModel
A flag for caching (true by default).
double StandardModel::DeltaAlphaL5q ( ) const

The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling \(\alpha\) at the \(Z\)-mass scale, denoted as \(\Delta\alpha^{\ell+5q}(M_Z^2)\).

\[ \Delta\alpha^{\ell+5q}(M_Z^2) = \Delta\alpha_{\rm lept}(M_Z^2) + \Delta\alpha_{\rm had}^{(5)}(M_Z^2)\,. \]

Returns
\(\Delta\alpha^{\ell+5q}(M_Z^2)\)

Definition at line 624 of file StandardModel.cpp.

625 {
626  double Mz2 = Mz*Mz;
627  return (DeltaAlphaLepton(Mz2) + dAle5Mz);
628 }
double DeltaAlphaLepton(const double s) const
Leptonic contribution to the electromagnetic coupling , denoted as .
double Mz
The mass of the boson in GeV.
double dAle5Mz
The five-flavour hadronic contribution to the electromagnetic coupling, .
double StandardModel::DeltaAlphaLepton ( const double  s) const

Leptonic contribution to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{lept}}(s)\).

Parameters
[in]sinvariant mass squared
Returns
\(\Delta\alpha_{\mathrm{lept}}(s)\)

Definition at line 596 of file StandardModel.cpp.

597 {
598  if (s == Mz * Mz)
601  return DeltaAlphaLepton_cache;
602 
603  double DeltaAlphaL = 0.0;
604  if (flag_order[EW1])
605  DeltaAlphaL += myOneLoopEW->DeltaAlpha_l(s);
606  if (flag_order[EW1QCD1])
607  DeltaAlphaL += myTwoLoopQCD->DeltaAlpha_l(s);
608  if (flag_order[EW1QCD2])
609  DeltaAlphaL += myThreeLoopQCD->DeltaAlpha_l(s);
610  if (flag_order[EW2])
611  DeltaAlphaL += myTwoLoopEW->DeltaAlpha_l(s);
612  if (flag_order[EW2QCD1])
613  DeltaAlphaL += myThreeLoopEW2QCD->DeltaAlpha_l(s);
614  if (flag_order[EW3])
615  DeltaAlphaL += myThreeLoopEW->DeltaAlpha_l(s);
616 
617  if (s == Mz * Mz) {
618  DeltaAlphaLepton_cache = DeltaAlphaL;
620  }
621  return DeltaAlphaL;
622 }
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
double DeltaAlpha_l(const double s) const
Leptonic contribution of to the electromagnetic coupling , denoted as .
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
double DeltaAlphaLepton_cache
A cache of the value of .
bool flag_order[orders_EW_size]
An array of internal flags controlling the inclusions of higher-order corrections.
Three-loop of .
double DeltaAlpha_l(const double s) const
Leptonic contribution of to the electromagnetic coupling , denoted as .
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
double DeltaAlpha_l(const double s) const
Leptonic contribution of to the electromagnetic coupling , denoted as .
Two-loop of .
double Mz
The mass of the boson in GeV.
double DeltaAlpha_l(const double s) const
Leptonic contribution of to the electromagnetic coupling , denoted as .
bool useDeltaAlphaLepton_cache
Three-loop of .
One-loop of .
double DeltaAlpha_l(const double s) const
Leptonic contribution of to the electromagnetic coupling , denoted as .
bool FlagCacheInStandardModel
A flag for caching (true by default).
double DeltaAlpha_l(const double s) const
Leptonic contribution of to the electromagnetic coupling , denoted as .
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
Three-loop of .
double StandardModel::DeltaAlphaTop ( const double  s) const

Top-quark contribution to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{top}}(s)\).

Parameters
[in]sinvariant mass squared
Returns
\(\Delta\alpha_{\mathrm{top}}(s)\)

Definition at line 630 of file StandardModel.cpp.

631 {
632  double DeltaAlpha = 0.0;
633  if (flag_order[EW1])
634  DeltaAlpha += myOneLoopEW->DeltaAlpha_t(s);
635  if (flag_order[EW1QCD1])
636  DeltaAlpha += myTwoLoopQCD->DeltaAlpha_t(s);
637  if (flag_order[EW1QCD2])
638  DeltaAlpha += myThreeLoopQCD->DeltaAlpha_t(s);
639  if (flag_order[EW2])
640  DeltaAlpha += myTwoLoopEW->DeltaAlpha_t(s);
641  if (flag_order[EW2QCD1])
642  DeltaAlpha += myThreeLoopEW2QCD->DeltaAlpha_t(s);
643  if (flag_order[EW3])
644  DeltaAlpha += myThreeLoopEW->DeltaAlpha_t(s);
645 
646  return DeltaAlpha;
647 }
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
double DeltaAlpha() const
The total corrections to the electromagnetic coupling at the -mass scale, denoted as ...
bool flag_order[orders_EW_size]
An array of internal flags controlling the inclusions of higher-order corrections.
Three-loop of .
double DeltaAlpha_t(const double s) const
Top-quark contribution of to the electromagnetic coupling , denoted as .
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
Two-loop of .
double DeltaAlpha_t(const double s) const
Top-quark contribution of to the electromagnetic coupling , denoted as .
double DeltaAlpha_t(const double s) const
Top-quark contribution of to the electromagnetic coupling , denoted as .
Three-loop of .
One-loop of .
double DeltaAlpha_t(const double s) const
Top-quark contribution of to the electromagnetic coupling , denoted as .
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
Three-loop of .
double DeltaAlpha_t(const double s) const
Top-quark contribution of to the electromagnetic coupling , denoted as .
double DeltaAlpha_t(const double s) const
Top-quark contribution of to the electromagnetic coupling , denoted as .
gslpp::complex StandardModel::deltaKappaZ_f ( const Particle  f) const
virtual

Flavour non-universal vertex corrections to \(\kappa_Z^l\), denoted by \(\Delta\kappa_Z^l\).

The non-universal contribution \(\Delta\kappa_Z^l\) is given by

\[ \Delta \kappa_Z^l = \kappa_Z^l - \kappa_Z^e = \frac{\alpha}{4\pi s_W^2} \left( \frac{\delta_l^2-\delta_e^2}{4c_W^2}\,\mathcal{F}_Z(M_Z^2) -u_l+u_e\right), \]

where \(u_l\) and \(\delta_l\) are defined as

\[ u_l = \frac{3v_l^2+a_l^2}{4c_W^2}\mathcal{F}_Z(M_Z^2) + \mathcal{F}_W^l(M_Z^2)\,, \qquad \delta_l = v_l - a_l \]

with the tree-level vector and axial-vector couplings \(v_l = I_3^l - 2Q_l s_W^2\) and \(a_l = I_3^l\), and the form factors \(\mathcal{F}_Z\) and \(\mathcal{F}_W^l\).

See [58] and references therein.

Parameters
[in]fa lepton or quark
Returns
\(\Delta\kappa_Z^l\)

Definition at line 1242 of file StandardModel.cpp.

1243 {
1244  Particle p1 = f, pe = leptons[ELECTRON];
1245 
1246  if (f.is("TOP") || f.is("ELECTRON")) return (gslpp::complex(0.0, 0.0, false));
1247 
1248  /* In the case of BOTTOM, the top contribution has to be subtracted.
1249  * The remaining contribution is the same as that for DOWN and STRANGE. */
1250  if (f.is("BOTTOM")) p1 = quarks[DOWN];
1251 
1252  double myMw = Mw();
1253  double cW2 = myMw * myMw / Mz / Mz, sW2 = 1.0 - cW2;
1254  gslpp::complex ul = (3.0 * myEWSMcache->v_f(pe, myMw) * myEWSMcache->v_f(pe, myMw)
1255  + myEWSMcache->a_f(pe) * myEWSMcache->a_f(pe)) / 4.0 / cW2 * myOneLoopEW->FZ(Mz*Mz, myMw)
1256  + myOneLoopEW->FW(Mz*Mz, pe, myMw);
1257  double deltal = myEWSMcache->delta_f(pe, myMw);
1258  gslpp::complex uf = (3.0 * myEWSMcache->v_f(p1, myMw) * myEWSMcache->v_f(p1, myMw)
1259  + myEWSMcache->a_f(p1) * myEWSMcache->a_f(p1)) / 4.0 / cW2 * myOneLoopEW->FZ(Mz*Mz, myMw)
1260  + myOneLoopEW->FW(Mz*Mz, p1, myMw);
1261  double deltaf = myEWSMcache->delta_f(p1, myMw);
1262 
1263  gslpp::complex dKappa = (deltaf * deltaf - deltal * deltal) / 4.0 / cW2 * myOneLoopEW->FZ(Mz*Mz, myMw)
1264  - uf + ul;
1265  dKappa *= ale / 4.0 / M_PI / sW2;
1266  return dKappa;
1267 }
A class for particles.
Definition: Particle.h:26
double ale
The fine-structure constant .
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
double a_f(const Particle f) const
The tree-level axial-vector coupling for , denoted as .
Definition: EWSMcache.h:301
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
bool is(std::string name_i) const
Definition: Particle.cpp:23
double Mz
The mass of the boson in GeV.
double sW2() const
double delta_f(const Particle f, const double Mw_i) const
.
Definition: EWSMcache.h:323
EWSMcache * myEWSMcache
A pointer to an object of type EWSMcache.
Definition: QCD.h:732
virtual double cW2() const
Particle leptons[6]
An array of Particle objects for the leptons.
gslpp::complex FZ(const double s, const double Mw_i) const
The unified form factor .
double v_f(const Particle f, const double Mw_i) const
The tree-level vector coupling for , denoted as .
Definition: EWSMcache.h:290
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex FW(const double s, const Particle f, const double Mw_i) const
The unified form factor for .
double StandardModel::DeltaR ( ) const
virtual

The SM prediction for \(\Delta r\) derived from that for the \(W\) boson mass.

If the model flag Mw of StandardModel is set to NORESUM or APPROXIMATEFORMULA, the quantity \(\Delta r\) is computed by using the following relation:

\[ s_W^2 M_W^2 = \frac{\pi\,\alpha}{\sqrt{2}G_\mu}(1+\Delta r)\,. \]

Otherwise, the following relation is employed instead:

\[ s_W^2 M_W^2 = \frac{\pi\,\alpha}{\sqrt{2}G_\mu(1-\Delta r)}\,, \]

where the resummation for \(\Delta r\) is considered.

Returns
\(\Delta r_{\mathrm{SM}}\)
See also
The corresponding quantity in the complex-pole/fixed-width scheme (instead of the experimental/running-widthr scheme) is defined in DeltaRbar_SM().

Definition at line 760 of file StandardModel.cpp.

761 {
762  /* in the experimental/running-width scheme */
763  double myMw = Mw();
764  double sW2 = 1.0 - myMw * myMw / Mz / Mz;
765  double tmp = sqrt(2.0) * GF * sW2 * myMw * myMw / M_PI / ale;
766  if (FlagMw.compare("NORESUM") == 0
767  || FlagMw.compare("APPROXIMATEFORMULA") == 0) {
768  return (tmp - 1.0);
769  } else {
770  return (1.0 - 1.0 / tmp);
771  }
772 }
double ale
The fine-structure constant .
double GF
The Fermi constant in .
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
double Mz
The mass of the boson in GeV.
double sW2() const
std::string FlagMw
A string for the model flag Mw.
complex sqrt(const complex &z)
double StandardModel::DeltaRbar ( ) const
virtual

The SM prediction for \(\Delta \overline{r}\) derived from that for the \(W\)-boson mass.

The quantity \(\Delta \overline{r}\) is computed by using the following relation:

\[ \overline{s}_W^2 \overline{M}_W^2 = \frac{\pi\,\alpha}{\sqrt{2}G_\mu}(1+\Delta \overline{r})\,, \]

where \(\overline{M}_W\) and \(\overline{s}_W\) are the \(W\)-boson mass and the sine of the weak mixing angle in the complex-pole/fixed-width scheme [35].

Returns
\(\Delta \overline{r}_{\mathrm{SM}}\)
See also
DeltaR_SM(), defining the corresponding quantity in the experimental/running-width scheme.

Definition at line 870 of file StandardModel.cpp.

871 {
872  double Mwbar_SM = MwbarFromMw(Mw());
873  double sW2bar = 1.0 - Mwbar_SM * Mwbar_SM / Mzbar() / Mzbar();
874  double tmp = sqrt(2.0) * GF * sW2bar * Mwbar_SM * Mwbar_SM / M_PI / ale;
875 
876  return (tmp - 1.0);
877 }
double ale
The fine-structure constant .
double GF
The Fermi constant in .
double MwbarFromMw(const double Mw) const
A method to convert the -boson mass in the experimental/running-width scheme to that in the complex-p...
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
double Mzbar() const
The -boson mass in the complex-pole/fixed-width scheme.
complex sqrt(const complex &z)
gslpp::complex StandardModel::deltaRhoZ_f ( const Particle  f) const
virtual

Flavour non-universal vertex corrections to \(\rho_Z^l\), denoted by \(\Delta\rho_Z^l\).

The non-universal contribution \(\Delta\rho_Z^l\) is given by

\[ \Delta \rho_Z^l = \rho_Z^l - \rho_Z^e = \frac{\alpha}{2\pi s_W^2}\left(u_l - u_e\right), \]

where \(u_l\) is defined as

\[ u_l = \frac{3v_l^2+a_l^2}{4c_W^2}\mathcal{F}_Z(M_Z^2) + \mathcal{F}_W^l(M_Z^2) \]

with the tree-level vector and axial-vector couplings \(v_l = I_3^l - 2Q_l s_W^2\) and \(a_l = I_3^l\) and the form factors, \(\mathcal{F}_Z\) and \(\mathcal{F}_W^l\).

See [58] and references therein.

Parameters
[in]fa lepton or quark
Returns
\(\Delta\rho_Z^l\)

Definition at line 1217 of file StandardModel.cpp.

1218 {
1219  Particle p1 = f, pe = leptons[ELECTRON];
1220 
1221  if (f.is("TOP") || f.is("ELECTRON")) return (gslpp::complex(0.0, 0.0, false));
1222 
1223  /* In the case of BOTTOM, the top contribution has to be subtracted.
1224  * The remaining contribution is the same as that for DOWN and STRANGE. */
1225  if (f.is("BOTTOM")) p1 = quarks[DOWN];
1226 
1227  double myMw = Mw();
1228  double cW2 = myMw * myMw / Mz / Mz, sW2 = 1.0 - cW2;
1229 
1230  gslpp::complex ul = (3.0 * myEWSMcache->v_f(pe, myMw) * myEWSMcache->v_f(pe, myMw)
1231  + myEWSMcache->a_f(pe) * myEWSMcache->a_f(pe)) / 4.0 / cW2 * myOneLoopEW->FZ(Mz*Mz, myMw)
1232  + myOneLoopEW->FW(Mz*Mz, pe, myMw);
1233  gslpp::complex uf = (3.0 * myEWSMcache->v_f(p1, myMw) * myEWSMcache->v_f(p1, myMw)
1234  + myEWSMcache->a_f(p1) * myEWSMcache->a_f(p1)) / 4.0 / cW2 * myOneLoopEW->FZ(Mz*Mz, myMw)
1235  + myOneLoopEW->FW(Mz*Mz, p1, myMw);
1236 
1237  gslpp::complex dRho = 2.0 * (uf - ul);
1238  dRho *= ale / 4.0 / M_PI / sW2;
1239  return dRho;
1240 }
A class for particles.
Definition: Particle.h:26
double ale
The fine-structure constant .
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
double a_f(const Particle f) const
The tree-level axial-vector coupling for , denoted as .
Definition: EWSMcache.h:301
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
bool is(std::string name_i) const
Definition: Particle.cpp:23
double Mz
The mass of the boson in GeV.
double sW2() const
EWSMcache * myEWSMcache
A pointer to an object of type EWSMcache.
Definition: QCD.h:732
virtual double cW2() const
Particle leptons[6]
An array of Particle objects for the leptons.
gslpp::complex FZ(const double s, const double Mw_i) const
The unified form factor .
double v_f(const Particle f, const double Mw_i) const
The tree-level vector coupling for , denoted as .
Definition: EWSMcache.h:290
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex FW(const double s, const Particle f, const double Mw_i) const
The unified form factor for .
double StandardModel::epsilon1 ( ) const
virtual

The SM contribution to the epsilon parameter \(\varepsilon_1\).

The parameters \(\varepsilon_1\) is defined as

\[ \varepsilon_1 = \Delta\rho'\,, \]

where \(\Delta\rho'=2\left(\sqrt{{\rm Re}(\rho_Z^e)}-1\right)\).

See [10] and [11].

Returns
\(\varepsilon_{1,\mathrm{SM}}\)

Reimplemented in NPEpsilons, NPSTU, and NPEpsilons_pureNP.

Definition at line 1272 of file StandardModel.cpp.

1273 {
1274  double rhoZe = rhoZ_f(leptons[ELECTRON]).real();
1275  double DeltaRhoPrime = 2.0 * (sqrt(rhoZe) - 1.0);
1276 
1277  return DeltaRhoPrime;
1278 }
const double & real() const
virtual gslpp::complex rhoZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
Particle leptons[6]
An array of Particle objects for the leptons.
complex sqrt(const complex &z)
double StandardModel::epsilon2 ( ) const
virtual

The SM contribution to the epsilon parameter \(\varepsilon_2\).

The parameters \(\varepsilon_2\) is computed via the formula:

\[ \varepsilon_2 = c_0^2 \Delta\rho' + \frac{s_0^2}{c_0^2 - s_0^2} \Delta r_W - 2 s_0^2 \Delta\kappa'\,, \]

where \(\Delta\rho'\), \(\Delta r_W\) and \(\Delta\kappa'\) are defined as

\begin{align} \Delta\rho'=2\left(\sqrt{{\rm Re}(\rho_Z^e)}-1\right),\qquad \Delta r_W = 1 - \frac{\pi\,\alpha(M_Z^2)}{\sqrt{2}\,G_\mu M_Z^2 s_W^2 c_W^2},\qquad \Delta\kappa' = \frac{\sin^2\theta_{\mathrm{eff}}^e}{s_0^2} - 1\,, \end{align}

and \(s_0^2\) and \(c_0^2\) are given in s02() and c02(), respectively.

See [10] and [11].

Returns
\(\varepsilon_{2,\mathrm{SM}}\)

Reimplemented in NPEpsilons, NPSTU, and NPEpsilons_pureNP.

Definition at line 1280 of file StandardModel.cpp.

1281 {
1282  double rhoZe = rhoZ_f(leptons[ELECTRON]).real();
1283  double sin2thetaEff = kappaZ_f(leptons[ELECTRON]).real() * sW2();
1284  double DeltaRhoPrime = 2.0 * (sqrt(rhoZe) - 1.0);
1285  double DeltaKappaPrime = sin2thetaEff / s02() - 1.0;
1286  double DeltaRW = 1.0 - M_PI * alphaMz() / (sqrt(2.0) * GF * Mz * Mz * sW2() * cW2());
1287 
1288  return ( c02() * DeltaRhoPrime + s02() * DeltaRW / (c02() - s02())
1289  - 2.0 * s02() * DeltaKappaPrime);
1290 }
const double & real() const
double GF
The Fermi constant in .
An observable class for the leptonic effective weak mixing angle at the pole.
Definition: sin2thetaEff.h:28
double Mz
The mass of the boson in GeV.
virtual gslpp::complex rhoZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
double sW2() const
virtual gslpp::complex kappaZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
virtual double cW2() const
Particle leptons[6]
An array of Particle objects for the leptons.
double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections...
double s02() const
The square of the sine of the weak mixing angle defined without weak radiative corrections.
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
complex sqrt(const complex &z)
double StandardModel::epsilon3 ( ) const
virtual

The SM contribution to the epsilon parameter \(\varepsilon_3\).

The parameters \(\varepsilon_3\) is computed via the formula:

\[ \varepsilon_3 = c_0^2\Delta\rho' + (c_0^2-s_0^2)\Delta\kappa'\,, \]

where \(\Delta\rho'\) and \(\Delta\kappa'\) are defined as

\begin{align} \Delta\rho'=2\left(\sqrt{{\rm Re}(\rho_Z^e)}-1\right),\qquad \Delta\kappa' = \frac{\sin^2\theta_{\mathrm{eff}}^e}{s_0^2} - 1\,, \end{align}

and \(s_0^2\) and \(c_0^2\) are given in s02() and c02(), respectively.

See [10] and [11].

Returns
\(\varepsilon_{3,\mathrm{SM}}\)

Reimplemented in NPEpsilons, NPSTU, and NPEpsilons_pureNP.

Definition at line 1292 of file StandardModel.cpp.

1293 {
1294  double rhoZe = rhoZ_f(leptons[ELECTRON]).real();
1295  double sin2thetaEff = kappaZ_f(leptons[ELECTRON]).real() * sW2();
1296  double DeltaRhoPrime = 2.0 * (sqrt(rhoZe) - 1.0);
1297  double DeltaKappaPrime = sin2thetaEff / s02() - 1.0;
1298 
1299  return ( c02() * DeltaRhoPrime + (c02() - s02()) * DeltaKappaPrime);
1300 }
const double & real() const
An observable class for the leptonic effective weak mixing angle at the pole.
Definition: sin2thetaEff.h:28
virtual gslpp::complex rhoZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
double sW2() const
virtual gslpp::complex kappaZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
Particle leptons[6]
An array of Particle objects for the leptons.
double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections...
double s02() const
The square of the sine of the weak mixing angle defined without weak radiative corrections.
complex sqrt(const complex &z)
double StandardModel::epsilonb ( ) const
virtual

The SM contribution to the epsilon parameter \(\varepsilon_b\).

The parameters \(\varepsilon_b\) is computed via the formula:

\[ \epsilon_b = \frac{ {\rm Re}\left[ \kappa_Z^e + \Delta\kappa_Z^b \right]} {{\rm Re}(\kappa_Z^b)} - 1\,, \]

where \(\Delta\kappa_Z^b\), representing flavour non-universal vertex corrections to the \(Zb\bar{b}\) vertex, is neglected when the model flag WithoutNonUniversalVC of StandardModel is set to true.

See [10], [11] and [12] for the \(\varepsilon\) parameterization and [58] for the flavour non-universal vertex corrections.

Returns
\(\varepsilon_{b,\mathrm{SM}}\)

Reimplemented in NPEpsilons, NPSTU, and NPEpsilons_pureNP.

Definition at line 1302 of file StandardModel.cpp.

1303 {
1304  /* epsilon_b from g_A^b
1305  * see Eq.(13) of IJMP A7, 1031 (1998) by Altarelli et al. */
1306  //double rhoZe = rhoZ_l_SM(StandardModel::ELECTRON).real();
1307  //double rhoZb = rhoZ_q_SM(QCD::BOTTOM).real();
1308  //double DeltaRhoPrime = 2.0*( sqrt(rhoZe) - 1.0 );
1309  //double eps1 = DeltaRhoPrime;
1310  //return ( - 1.0 + sqrt(rhoZb)/(1.0 + eps1/2.0) );
1311 
1312  /* epsilon_b from Re(g_V^b/g_A^b), i.e. Re(kappaZ_b)
1313  * see Eq.(13) of IJMP A7, 1031 (1998) by Altarelli et al. */
1315  gslpp::complex kappaZb = kappaZ_f(quarks[BOTTOM]);
1317  return ( kappaZe.real() / kappaZb.real() - 1.0);
1318  else
1319  return ( (kappaZe.real() + deltaKappaZ_f(quarks[BOTTOM]).real())
1320  / kappaZb.real() - 1.0);
1321 
1322  /* epsilon_b from Gamma_b via Eqs.(11), (12) and (16) of IJMP A7,
1323  * 1031 (1998) by Altarelli et al.
1324  * Note: mb has to be mb=4.7, since Eq.(16) were derived with this value.
1325  */
1326  //double als_Mz = Als(myCache->Mz(), FULLNNLO);
1327  //double delta_als = (als_Mz - 0.119)/M_PI;
1328  //double delta_alpha = (alphaMz() - 1.0/128.90)/myCache->ale();
1329  //double Gamma_b_Born = 0.3798*( 1.0 + delta_als - 0.42*delta_alpha);
1330  //double a = als_Mz/M_PI;
1331  //double RQCD = 1.0 + 1.2*a - 1.1*a*a - 13.0*a*a*a;
1332  //double mb = Mrun(myCache->Mz(), quarks[QCD::BOTTOM].getMass(), FULLNNLO);// This is wrong!
1333  //double mb = 4.7;
1334  //std::cout << "mb = " << mb << std::endl;
1335  //double beta = sqrt(1.0 - 4.0*mb*mb/myCache->Mz()/myCache->Mz());
1336  //double Nc = 3.0;
1337  //double factor = myCache->GF()*myCache->Mz()*myCache->Mz()*myCache->Mz()/6.0/M_PI/sqrt(2.0);
1338  //double Gamma_b = factor*beta*((3.0 - beta*beta)/2.0*gVq_SM(QCD::BOTTOM).abs2()
1339  // + beta*beta*gAq_SM(QCD::BOTTOM).abs2())
1340  // *Nc*RQCD*(1.0 + alphaMz()/12.0/M_PI);
1341  //return ( (Gamma_b/Gamma_b_Born - 1.0 - 1.42*epsilon1_SM()
1342  // + 0.54*epsilon3_SM() )/2.29 );
1343 }
bool IsFlagWithoutNonUniversalVC() const
A method to retrieve the model flag WithoutNonUniversalVC.
const double & real() const
virtual gslpp::complex kappaZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
Particle leptons[6]
An array of Particle objects for the leptons.
virtual gslpp::complex deltaKappaZ_f(const Particle f) const
Flavour non-universal vertex corrections to , denoted by .
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex StandardModel::gA_f ( const Particle  f) const
virtual

The effective leptonic neutral-current axial-vector coupling \(g_A^l\) in the SM.

\[ g_A^l = \sqrt{\rho_Z^l}\, I_3^l\,. \]

Parameters
[in]fa lepton or quark
Returns
\(g_{A,\,\mathrm{SM}}^l\)

Reimplemented in NPEpsilons, and NPbase.

Definition at line 1070 of file StandardModel.cpp.

1071 {
1072  return ( sqrt(rhoZ_f(f)) * f.getIsospin());
1073 }
virtual gslpp::complex rhoZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
double getIsospin() const
A get method to access the particle isospin.
Definition: Particle.h:115
complex sqrt(const complex &z)
double StandardModel::Gamma_had ( ) const
virtual

The hadronic decay width of the \(Z\) boson, \(\Gamma_{h}\).

The hadronic width is given by the sum,

\[ \Gamma_h = \Gamma_u + \Gamma_d + \Gamma_c + \Gamma_s + \Gamma_b\,. \]

Furthermore, the singlet vector corrections are added, following the prescription in [38] :

\[ \Gamma_h = \sum_q \Gamma_q + 4N_c\Gamma_0 R_V^h\,. \]

Returns
\(\Gamma_{h}\) in GeV

Definition at line 1003 of file StandardModel.cpp.

1004 {
1005  double Gamma_had_tmp = GammaZ(quarks[UP]) + GammaZ(quarks[DOWN]) + GammaZ(quarks[CHARM])
1006  + GammaZ(quarks[STRANGE]) + GammaZ(quarks[BOTTOM]);
1007 
1008  /* Singlet vector contribution (not included in the approximate formula) */
1009  double G0 = GF * pow(Mz, 3.0) / 24.0 / sqrt(2.0) / M_PI;
1010  Gamma_had_tmp += 4.0 * 3.0 * G0 * RVh();
1011 
1012  return Gamma_had_tmp;
1013 }
complex pow(const complex &z1, const complex &z2)
virtual double GammaZ(const Particle f) const
The partial decay width, .
double RVh() const
The singlet vector corrections to the hadronic -boson width, denoted as .
Definition: QCD.h:731
double GF
The Fermi constant in .
double Mz
The mass of the boson in GeV.
Definition: QCD.h:732
complex sqrt(const complex &z)
double StandardModel::Gamma_inv ( ) const
virtual

The invisible partial decay width of the \(Z\) boson, \(\Gamma_{\mathrm{inv}}\).

\[ \Gamma_{\mathrm{inv}} = 3\,\Gamma_\nu\,, \]

where \(\Gamma_{\nu}\) is the partial width for \(Z\to\nu\bar{\nu}\).

Returns
\(\Gamma_{\mathrm{inv}}\) in GeV

Definition at line 997 of file StandardModel.cpp.

998 {
1000  + GammaZ(leptons[NEUTRINO_3]));
1001 }
virtual double GammaZ(const Particle f) const
The partial decay width, .
Particle leptons[6]
An array of Particle objects for the leptons.
double StandardModel::Gamma_Z ( ) const
virtual

The total decay width of the \(Z\) boson, \(\Gamma_Z\).

When checkNPZff_linearized() returns true and the model flag NoApproximateGammaZ of StandardModel is set to false, this function uses the two-loop approximate formula of \(\Gamma_Z\) via EWSMApproximateFormulae::X_extended(). Otherwise, the total decay width is calculated with

\[ \Gamma_Z = \Gamma_{e} + \Gamma_{\mu} + \Gamma_{\tau} + \Gamma_{\mathrm{inv}} + \Gamma_h\,. \]

Returns
\(\Gamma_Z\) in GeV

Reimplemented in NPbase, NPEpsilons, and NPZbbbar.

Definition at line 1015 of file StandardModel.cpp.

1016 {
1018  /* SM contribution with the approximate formula */
1019  return myApproximateFormulae->X_extended("GammaZ");
1020  else
1021  return ( GammaZ(leptons[ELECTRON]) + GammaZ(leptons[MU]) + GammaZ(leptons[TAU])
1022  + Gamma_inv() + Gamma_had());
1023 }
virtual double Gamma_had() const
The hadronic decay width of the boson, .
double X_extended(const std::string observable) const
, , , , , , , , , , , or .
virtual double Gamma_inv() const
The invisible partial decay width of the boson, .
virtual double GammaZ(const Particle f) const
The partial decay width, .
bool IsFlagNoApproximateGammaZ() const
A method to retrieve the model flag NoApproximateGammaZ.
Particle leptons[6]
An array of Particle objects for the leptons.
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
double StandardModel::GammaW ( const Particle  fi,
const Particle  fj 
) const
virtual

A partial decay width of the \(W\) boson decay into a SM fermion pair.

\[ \Gamma^W_{ij} = |U_{ij}|^2\,\frac{G_\mu M_W^3}{6\sqrt{2}\,\pi}\,\rho^W_{ij} \]

where \(U\) denotes the MNS matrix, and \(\rho^W_{ij}\) represents EW radiative corrections.

\[ \Gamma^W_{ij} = 3 |V_{ij}|^2\,\frac{G_\mu M_W^3}{6\sqrt{2}\,\pi}\,\rho^W_{ij} \left( 1 + \frac{\alpha_s(M_W^2)}{\pi} \right). \]

where \(V\) denotes the CKM matrix, and \(\rho^W_{ij}\) represents EW radiative corrections.

Parameters
[in]fia lepton or quark
[in]fja lepton or quark
Returns
\(\Gamma^W_{ij}\)
See also
rho_GammaW_l_SM()
Attention
Fermion masses are neglected.

Definition at line 890 of file StandardModel.cpp.

891 {
892  if ((fi.getIndex()) % 2 || (fj.getIndex() + 1) % 2)
893  throw std::runtime_error("Error in StandardModel::GammaW()");
894 
895  double G0 = GF * pow(Mw(), 3.0) / 6.0 / sqrt(2.0) / M_PI;
896  gslpp::complex V(0.0, 0.0, false);
897 
898  if (fi.is("TOP"))
899  return (0.0);
900 
901  if (fj.getIndex() - fi.getIndex() == 1)
902  V = gslpp::complex(1.0, 0.0, false);
903  else
904  V = gslpp::complex(0.0, 0.0, false);
905 
906  if (fi.is("LEPTON"))
907  return ( V.abs2() * G0 * rho_GammaW(fi, fj));
908  else {
909  double AlsMw = AlsWithInit(Mw(), AlsMz, Mz, FULLNLO);
910  return ( 3.0 * V.abs2() * G0 * rho_GammaW(fi, fj)*(1.0 + AlsMw / M_PI));
911  }
912 }
double AlsMz
The strong coupling constant at the Z-boson mass, .
complex pow(const complex &z1, const complex &z2)
double GF
The Fermi constant in .
int getIndex() const
Definition: Particle.h:160
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
bool is(std::string name_i) const
Definition: Particle.cpp:23
double Mz
The mass of the boson in GeV.
double AlsWithInit(const double mu, const double alsi, const double mu_i, const orders order) const
Computes the running strong coupling from in the scheme, where it is forbidden to across a flavour...
Definition: QCD.cpp:903
virtual double rho_GammaW(const Particle fi, const Particle fj) const
EW radiative corrections to the width of , denoted as .
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
complex sqrt(const complex &z)
double StandardModel::GammaW ( ) const
virtual

The total width of the \(W\) boson, \(\Gamma_W\).

Returns
\(\Gamma_W\) in GeV

Reimplemented in NPEffectiveGIMR, NPEffectiveBS, NPEpsilons, NPZbbbar, NPEpsilons_pureNP, and NPbase.

Definition at line 914 of file StandardModel.cpp.

915 {
917  if (useGammaW_cache)
918  return GammaW_cache;
919 
920  double GammaWtmp = 0.;
921 
922  for (int i = 0; i < 6; i += 2)
923  GammaWtmp += GammaW(leptons[i], leptons[i + 1]) + GammaW(quarks[i], quarks[i + 1]);
924 
925  GammaW_cache = GammaWtmp;
926  useGammaW_cache = true;
927  return GammaWtmp;
928 }
Particle leptons[6]
An array of Particle objects for the leptons.
bool FlagCacheInStandardModel
A flag for caching (true by default).
virtual double GammaW() const
The total width of the boson, .
double GammaW_cache
A cache of the value of .
double StandardModel::GammaZ ( const Particle  f) const
virtual

The \(Z\to \ell\bar{\ell}\) partial decay width, \(\Gamma_\ell\).

When checkNPZff_linearized() returns true and the model flag NoApproximateGammaZ of StandardModel is set to false, this function uses the two-loop approximate formula of \(\Gamma_\ell\) via EWSMApproximateFormulae::X_extended(). Otherwise, the partial width is calculated with \(\rho_Z^\ell\) and \(g_{V}^\ell/g_{A}^\ell\) [31] :

\[ \Gamma_\ell = \Gamma_0 \big|\rho_Z^f\big| \sqrt{1-\frac{4m_\ell^2}{M_Z^2}} \left[ \left(1+\frac{2m_\ell^2}{M_Z^2}\right) \left(\left|\frac{g_{V}^\ell}{g_{A}^\ell}\right|^2 + 1 \right) - \frac{6m_\ell^2}{M_Z^2} \right] \left( 1 + \frac{3}{4}\frac{\alpha(M_Z^2)}{\pi}\, Q_\ell^2 \right) \]

with \(\Gamma_0=G_\mu M_Z^3/(24\sqrt{2}\pi)\).

Parameters
[in]fa lepton or quark
Returns
\(\Gamma_\ell\) in GeV
Attention
\(\ell\) stands for both a neutrino and a charged lepton.

Definition at line 951 of file StandardModel.cpp.

952 {
953  if (f.is("TOP"))
954  return 0.0;
955  double Gamma;
956  if (!IsFlagNoApproximateGammaZ()) {
957  /* SM contribution with the approximate formula */
958  if (f.is("NEUTRINO_1") || f.is("NEUTRINO_2") || f.is("NEUTRINO_3"))
959  Gamma = myApproximateFormulae->X_extended("Gamma_nu");
960  else if (f.is("ELECTRON") || f.is("MU"))
961  Gamma = myApproximateFormulae->X_extended("Gamma_e_mu");
962  else if (f.is("TAU"))
963  Gamma = myApproximateFormulae->X_extended("Gamma_tau");
964  else if (f.is("UP"))
965  Gamma = myApproximateFormulae->X_extended("Gamma_u");
966  else if (f.is("CHARM"))
967  Gamma = myApproximateFormulae->X_extended("Gamma_c");
968  else if (f.is("DOWN") || f.is("STRANGE"))
969  Gamma = myApproximateFormulae->X_extended("Gamma_d_s");
970  else if (f.is("BOTTOM"))
971  Gamma = myApproximateFormulae->X_extended("Gamma_b");
972  else
973  throw std::runtime_error("Error in StandardModel::GammaZ()");
974  } else {
975  gslpp::complex myrhoZ_f = rhoZ_f(f);
976  gslpp::complex gV_over_gA = gV_f(f) / gA_f(f);
977  double G0 = GF * pow(Mz, 3.0) / 24.0 / sqrt(2.0) / M_PI;
978  if (f.is("LEPTON")) {
979  double myalphaMz = alphaMz();
980  double Q = f.getCharge();
981  double xl = pow(f.getMass() / Mz, 2.0);
982  Gamma = G0 * myrhoZ_f.abs() * sqrt(1.0 - 4.0 * xl)
983  * ((1.0 + 2.0 * xl)*(gV_over_gA.abs2() + 1.0) - 6.0 * xl)
984  * (1.0 + 3.0 / 4.0 * myalphaMz / M_PI * pow(Q, 2.0));
985  } else if (f.is("QUARK")) {
986  Gamma = 3.0 * G0 * myrhoZ_f.abs()*(gV_over_gA.abs2() * RVq((QCD::quark) (f.getIndex() - 6)) + RAq((QCD::quark) (f.getIndex() - 6)));
987 
988  /* Nonfactorizable EW-QCD corrections */
989  Gamma += Delta_EWQCD((QCD::quark) (f.getIndex() - 6));
990  } else
991  throw std::runtime_error("Error in StandardModel::GammaZ()");
992  }
993 
994  return Gamma;
995 }
double X_extended(const std::string observable) const
, , , , , , , , , , , or .
double abs2() const
virtual gslpp::complex gA_f(const Particle f) const
The effective leptonic neutral-current axial-vector coupling in the SM.
quark
An enum type for quarks.
Definition: QCD.h:730
complex pow(const complex &z1, const complex &z2)
double Delta_EWQCD(const QCD::quark q) const
The non-factorizable EW-QCD corrections to the partial widths for , denoted as .
double GF
The Fermi constant in .
double RVq(const QCD::quark q) const
The radiator factor associated with the final-state QED and QCD corrections to the the vector-current...
int getIndex() const
Definition: Particle.h:160
bool is(std::string name_i) const
Definition: Particle.cpp:23
double Mz
The mass of the boson in GeV.
bool IsFlagNoApproximateGammaZ() const
A method to retrieve the model flag NoApproximateGammaZ.
virtual gslpp::complex rhoZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
double getCharge() const
A get method to access the particle charge.
Definition: Particle.h:97
double abs() const
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
double RAq(const QCD::quark q) const
The radiator factor associated with the final-state QED and QCD corrections to the the axial-vector-c...
virtual gslpp::complex gV_f(const Particle f) const
The effective leptonic neutral-current vector coupling in the SM.
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
complex sqrt(const complex &z)
double StandardModel::getA ( ) const
inline

A get method to retrieve the CKM element \(A\).

Returns
\(A\)

Definition at line 799 of file StandardModel.h.

800  {
801  return A;
802  }
double A
The CKM parameter in the Wolfenstein parameterization.
double StandardModel::getAle ( ) const
inline

A get method to retrieve the fine-structure constant \(\alpha\).

Returns
\(\alpha\)

Definition at line 712 of file StandardModel.h.

713  {
714  return ale;
715  }
double ale
The fine-structure constant .
double StandardModel::getAlsMz ( ) const
inline

A get method to access the value of \(\alpha_s(M_Z)\).

Returns
the strong coupling constant at \(M_Z\), \(\alpha_s(M_Z)\)

Definition at line 694 of file StandardModel.h.

695  {
696  return AlsMz;
697  }
double AlsMz
The strong coupling constant at the Z-boson mass, .
CKM StandardModel::getCKM ( ) const
inline

A get method to retrieve the member object of type CKM.

Returns
the object of type CKM

Definition at line 781 of file StandardModel.h.

782  {
783  return myCKM;
784  }
CKM myCKM
An object of type CKM.
double StandardModel::getDAle5Mz ( ) const
inline

A get method to retrieve the five-flavour hadronic contribution to the electromagnetic coupling, \(\Delta\alpha_{\mathrm{had}}^{(5)}(M_Z^2)\).

Returns
\(\Delta\alpha_{\mathrm{had}}^{(5)}(M_Z^2)\)

Definition at line 723 of file StandardModel.h.

724  {
725  return dAle5Mz;
726  }
double dAle5Mz
The five-flavour hadronic contribution to the electromagnetic coupling, .
double StandardModel::getDelGammaZ ( ) const
inline

A get method to retrieve the theoretical uncertainty in \(\Gamma_Z\), denoted as \(\delta\,\Gamma_Z\).

Returns
\(\delta\,\Gamma_Z\) in GeV

Definition at line 763 of file StandardModel.h.

764  {
765  return delGammaZ;
766  }
double delGammaZ
The theoretical uncertainty in , denoted as , in GeV.
double StandardModel::getDelMw ( ) const
inline

A get method to retrieve the theoretical uncertainty in \(M_W\), denoted as \(\delta\,M_W\).

Returns
\(\delta\,M_W\) in GeV

Definition at line 742 of file StandardModel.h.

743  {
744  return delMw;
745  }
double delMw
The theoretical uncertainty in , denoted as , in GeV.
double StandardModel::getDelSin2th_l ( ) const
inline

A get method to retrieve the theoretical uncertainty in \(\sin^2\theta_{\rm eff}^{\rm lept}\), denoted as \(\delta\sin^2\theta_{\rm eff}^{\rm lept}\).

Returns
\(\delta\sin^2\theta_{\rm eff}^{\rm lept}\)

Definition at line 753 of file StandardModel.h.

754  {
755  return delSin2th_l;
756  }
double delSin2th_l
The theoretical uncertainty in , denoted as .
double StandardModel::getDeltaMK ( ) const
inline

Definition at line 896 of file StandardModel.h.

897  {
898  return DeltaMK;
899  }
double StandardModel::getDmk ( ) const
inline

Definition at line 901 of file StandardModel.h.

902  {
903  return Dmk;
904  }
double StandardModel::getEpsK ( ) const
inline

Definition at line 881 of file StandardModel.h.

882  {
883  return EpsK;
884  }
double StandardModel::getEtab ( ) const
inline

A get method to retrieve the CKM element \(\bar{\eta}\).

Returns
\(\bar{\eta}\)

Definition at line 817 of file StandardModel.h.

818  {
819  return etab;
820  }
double etab
The CKM parameter in the Wolfenstein parameterization.
std::string StandardModel::getFlagKappaZ ( ) const
inline

A method to retrieve the model flag KappaZ.

See StandardModelFlags for detail.

Returns

Definition at line 646 of file StandardModel.h.

647  {
648  return FlagKappaZ;
649  }
std::string FlagKappaZ
A string for the model flag KappaZ.
std::string StandardModel::getFlagMw ( ) const
inline

A method to retrieve the model flag Mw.

See StandardModelFlags for detail.

Returns

Definition at line 626 of file StandardModel.h.

627  {
628  return FlagMw;
629  }
std::string FlagMw
A string for the model flag Mw.
std::string StandardModel::getFlagRhoZ ( ) const
inline

A method to retrieve the model flag RhoZ.

See StandardModelFlags for detail.

Returns

Definition at line 636 of file StandardModel.h.

637  {
638  return FlagRhoZ;
639  }
std::string FlagRhoZ
A string for the model flag RhoZ.
double StandardModel::getGF ( ) const
inline

A get method to retrieve the Fermi constant \(G_\mu\).

Returns
\(G_\mu\) in \({\rm GeV}^{-2}\)

Definition at line 703 of file StandardModel.h.

704  {
705  return GF;
706  }
double GF
The Fermi constant in .
int StandardModel::getIterationNo ( ) const
inline

Definition at line 549 of file StandardModel.h.

550  {
551  return iterationNo;
552  }
double StandardModel::getKbarEpsK ( ) const
inline

Definition at line 891 of file StandardModel.h.

892  {
893  return KbarEpsK;
894  }
double StandardModel::getLambda ( ) const
inline

A get method to retrieve the CKM element \(\lambda\).

Returns
\(\lambda\)

Definition at line 790 of file StandardModel.h.

791  {
792  return lambda;
793  }
double lambda
The CKM parameter in the Wolfenstein parameterization.
Particle StandardModel::getLeptons ( const StandardModel::lepton  p) const
inline

A get method to retrieve the member object of a lepton.

Parameters
[in]pname of a lepton
Returns
an object of the lepton specified by name

Definition at line 676 of file StandardModel.h.

677  {
678  return leptons[p];
679  }
Particle leptons[6]
An array of Particle objects for the leptons.
double StandardModel::getMHl ( ) const
inline

A get method to retrieve the Higgs mass \(m_h\).

Returns
\(m_h\) in GeV

Definition at line 732 of file StandardModel.h.

733  {
734  return mHl;
735  }
double mHl
The Higgs mass in GeV.
double StandardModel::getMuw ( ) const
inline

A get method to retrieve the matching scale \(\mu_W\) around the weak scale.

Returns
\(\mu_W\) in GeV

Definition at line 876 of file StandardModel.h.

877  {
878  return muw;
879  }
double muw
A matching scale around the weak scale in GeV.
EWSMApproximateFormulae* StandardModel::getMyApproximateFormulae ( ) const
inline

A get method to retrieve the member pointer of type EWSMApproximateFormulae.

Returns
the pointer myApproximateFormulae

Definition at line 947 of file StandardModel.h.

948  {
949  return myApproximateFormulae;
950  }
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
EWSMcache* StandardModel::getMyEWSMcache ( ) const
inline

A get method to retrieve the member pointer of type EWSMcache.

Returns
the pointer myEWSMcache

Definition at line 929 of file StandardModel.h.

930  {
931  return myEWSMcache;
932  }
EWSMcache * myEWSMcache
A pointer to an object of type EWSMcache.
Flavour* StandardModel::getMyFlavour ( ) const
inline

Definition at line 988 of file StandardModel.h.

989  {
990  return myFlavour;
991  }
Flavour * myFlavour
A pointer to an object of the type Flavour.
LeptonFlavour* StandardModel::getMyLeptonFlavour ( ) const
inline

Definition at line 993 of file StandardModel.h.

994  {
995  return myLeptonFlavour;
996  }
LeptonFlavour * myLeptonFlavour
A pointer to an object of the type LeptonFlavour.
virtual StandardModelMatching* StandardModel::getMyMatching ( ) const
inlinevirtual

A get method to access the member pointer of type StandardModelMatching.

Returns
the pointer myStandardModelMatching

Reimplemented in THDM, SUSY, FlavourWilsonCoefficient, and SUSYMassInsertion.

Definition at line 920 of file StandardModel.h.

921  {
923  }
StandardModelMatching * myStandardModelMatching
A pointer to an object of type StandardModelMatching.
EWSMOneLoopEW* StandardModel::getMyOneLoopEW ( ) const
inline

A get method to retrieve the member pointer of type EWSMOneLoopEW,.

Returns
the pointer myOneLoopEW

Definition at line 938 of file StandardModel.h.

939  {
940  return myOneLoopEW;
941  }
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
EWSMThreeLoopEW* StandardModel::getMyThreeLoopEW ( ) const
inline

END: REMOVE FROM THE PACKAGE

Definition at line 963 of file StandardModel.h.

964  {
965  return myThreeLoopEW;
966  }
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
EWSMThreeLoopEW2QCD* StandardModel::getMyThreeLoopEW2QCD ( ) const
inline

Definition at line 968 of file StandardModel.h.

969  {
970  return myThreeLoopEW2QCD;
971  }
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
EWSMThreeLoopQCD* StandardModel::getMyThreeLoopQCD ( ) const
inline

Definition at line 973 of file StandardModel.h.

974  {
975  return myThreeLoopQCD;
976  }
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
EWSMTwoFermionsLEP2* StandardModel::getMyTwoFermionsLEP2 ( ) const
inline

A get method to retrieve the member pointer of type EWSMTwoFermionsLEP2.

BEGIN: REMOVE FROM THE PACKAGE

Returns
the pointer myTwoFermionsLEP2

Definition at line 957 of file StandardModel.h.

958  {
959  return myTwoFermionsLEP2;
960  }
EWSMTwoFermionsLEP2 * myTwoFermionsLEP2
A pointer to an object of type EWSMTwoFermionsLEP2.
EWSMTwoLoopEW* StandardModel::getMyTwoLoopEW ( ) const
inline

Definition at line 978 of file StandardModel.h.

979  {
980  return myTwoLoopEW;
981  }
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
EWSMTwoLoopQCD* StandardModel::getMyTwoLoopQCD ( ) const
inline

Definition at line 983 of file StandardModel.h.

984  {
985  return myTwoLoopQCD;
986  }
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
double StandardModel::getMz ( ) const
inline

A get method to access the mass of the \(Z\) boson \(M_Z\).

Returns
the \(Z\)-boson mass \(M_Z\)

Definition at line 685 of file StandardModel.h.

686  {
687  return Mz;
688  }
double Mz
The mass of the boson in GeV.
double StandardModel::getphiEpsK ( ) const
inline

Definition at line 886 of file StandardModel.h.

887  {
888  return phiEpsK;
889  }
double StandardModel::getRhob ( ) const
inline

A get method to retrieve the CKM element \(\bar{\rho}\).

Returns
\(\bar{\rho}\)

Definition at line 808 of file StandardModel.h.

809  {
810  return rhob;
811  }
double rhob
The CKM parameter in the Wolfenstein parameterization.
double StandardModel::getSM_M12D ( ) const
inline

Definition at line 906 of file StandardModel.h.

907  {
908  return SM_M12D;
909  }
virtual StandardModel StandardModel::getTrueSM ( ) const
inlinevirtual

Reimplemented in NPbase.

Definition at line 911 of file StandardModel.h.

912  {
913  throw std::runtime_error("StandardModel::getTrueSM() must be overridden by the NP extension.");
914  }
gslpp::matrix<gslpp::complex> StandardModel::getUPMNS ( ) const
inline

A get method to retrieve the object of the PMNS matrix.

Returns
the PMNS matrix

Definition at line 826 of file StandardModel.h.

827  {
828  return UPMNS;
829  }
gslpp::matrix< gslpp::complex > UPMNS
The PMNS matrix.
gslpp::matrix<gslpp::complex> StandardModel::getVCKM ( ) const
inline

A get method to retrieve the CKM matrix.

Returns
the CKM matrix

Definition at line 772 of file StandardModel.h.

773  {
774  return VCKM;
775  }
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
gslpp::matrix<gslpp::complex> StandardModel::getYd ( ) const
inline

A get method to retrieve the Yukawa matrix of the down-type quarks, \(Y_d\).

Returns
\(Y_d\)

Definition at line 846 of file StandardModel.h.

847  {
848  return Yd;
849  }
gslpp::matrix< gslpp::complex > Yd
The Yukawa matrix of the down-type quarks.
gslpp::matrix<gslpp::complex> StandardModel::getYe ( ) const
inline

A get method to retrieve the Yukawa matrix of the charged leptons, \(Y_e\).

Returns
\(Y_e\)

Definition at line 866 of file StandardModel.h.

867  {
868  return Ye;
869  }
gslpp::matrix< gslpp::complex > Ye
The Yukawa matrix of the charged leptons.
gslpp::matrix<gslpp::complex> StandardModel::getYn ( ) const
inline

A get method to retrieve the Yukawa matrix of the neutrinos, \(Y_\nu\).

Returns
\(Y_\nu\)

Definition at line 856 of file StandardModel.h.

857  {
858  return Yn;
859  }
gslpp::matrix< gslpp::complex > Yn
The Yukawa matrix of the neutrinos.
gslpp::matrix<gslpp::complex> StandardModel::getYu ( ) const
inline

A get method to retrieve the Yukawa matrix of the up-type quarks, \(Y_u\).

Returns
\(Y_u\)

Definition at line 836 of file StandardModel.h.

837  {
838  return Yu;
839  }
gslpp::matrix< gslpp::complex > Yu
The Yukawa matrix of the up-type quarks.
gslpp::complex StandardModel::gV_f ( const Particle  f) const
virtual

The effective leptonic neutral-current vector coupling \(g_V^l\) in the SM.

\[ g_V^l = g_A^l (1 - 4|Q_l|\kappa_Z^l s_W^2)\,. \]

Parameters
[in]fa lepton or quark
Returns
\(g_{V,\,\mathrm{SM}}^l\)

Reimplemented in NPEpsilons, and NPbase.

Definition at line 1064 of file StandardModel.cpp.

1065 {
1066  return ( gA_f(f)
1067  *(1.0 - 4.0 * fabs(f.getCharge())*(kappaZ_f(f)) * sW2()));
1068 }
virtual gslpp::complex gA_f(const Particle f) const
The effective leptonic neutral-current axial-vector coupling in the SM.
double sW2() const
double getCharge() const
A get method to access the particle charge.
Definition: Particle.h:97
virtual gslpp::complex kappaZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
bool StandardModel::Init ( const std::map< std::string, double > &  DPars)
virtual

A method to initialize the model parameters.

Parameters
[in]DParsa map of the parameters that are being updated in the Monte Carlo run (including parameters that are varied and those that are held constant)
Returns
a boolean that is true if the execution is successful

Reimplemented from QCD.

Reimplemented in THDM, SUSY, SUSYMassInsertion, FlavourWilsonCoefficient, myModel, and GeneralSUSY.

Definition at line 175 of file StandardModel.cpp.

176 {
177  for (std::map<std::string, double>::const_iterator it = DPars.begin(); it != DPars.end(); it++)
178  if (it->first.compare("AlsM") == 0 || it->first.compare("MAls") == 0)
179  throw std::runtime_error("ERROR: inappropriate parameter " + it->first
180  + " in model initialization");
181 
182  std::map<std::string, double> myDPars(DPars);
183  myDPars["AlsM"] = myDPars.at("AlsMz");
184  myDPars["MAls"] = myDPars.at("Mz");
185  return (QCD::Init(myDPars));
186 }
virtual bool Init(const std::map< std::string, double > &DPars)
Initializes the QCD parameters found in the argument.
Definition: QCD.cpp:287
bool StandardModel::InitializeModel ( )
virtual

A method to initialize the model.

This method, called via InputParser::ReadParameters(), allocates memory to the pointers defined in the current class.

Returns
a boolean that is true if model initialization is successful

< A pointer to an object of type EWSMcache.

< A pointer to an object of type EWSMOneLoopEW.

< A pointer to an object of type EWSMTwoLoopQCD.

< A pointer to an object of type EWSMThreeLoopQCD.

< A pointer to an object of type EWSMTwoLoopEW.

< A pointer to an object of type EWSMThreeLoopEW2QCD.

< A pointer to an object of type EWSMThreeLoopEW.

< A pointer to an object of type EWSMApproximateFormulae.

BEGIN: REMOVE FROM THE PACKAGE

< A pointer to an object of type EWSMTwoFermionsLEP2.

END: REMOVE FROM THE PACKAGE

Reimplemented in THDM, SUSY, FlavourWilsonCoefficient, SUSYMassInsertion, myModel, and GeneralSUSY.

Definition at line 151 of file StandardModel.cpp.

152 {
153  myEWSMcache = new EWSMcache(*this);
162  myFlavour = new Flavour(*this);
163  myLeptonFlavour = new LeptonFlavour(*this);
165  myTwoFermionsLEP2 = new EWSMTwoFermionsLEP2(*myEWSMcache);
166 
167  setModelInitialized(true);
168  return (true);
169 }
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
A class for one-loop corrections to the EW precision observables.
A class for three-loop corrections to the EW precision observables.
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
The parent class in Flavour for calculating all the Wilson coefficients for various Flavor Violating ...
Definition: Flavour.h:28
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
StandardModelMatching * myStandardModelMatching
A pointer to an object of type StandardModelMatching.
A class for the matching in the Standard Model.
void setModelInitialized(bool ModelInitialized)
A set method to fix the failure or success of the initialization of the model.
Definition: Model.h:142
A class for cache variables used in computing radiative corrections to the EW precision observables...
Definition: EWSMcache.h:40
A class for approximate formulae of the EW precision observables.
The parent class in LeptonFlavour for calculating all the Wilson coefficients for various Lepton Flav...
Definition: LeptonFlavour.h:32
Flavour * myFlavour
A pointer to an object of the type Flavour.
EWSMcache * myEWSMcache
A pointer to an object of type EWSMcache.
A class for two-loop corrections to the EW precision observables.
Definition: EWSMTwoLoopEW.h:57
EWSMTwoFermionsLEP2 * myTwoFermionsLEP2
A pointer to an object of type EWSMTwoFermionsLEP2.
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
A class for two-loop corrections to the EW precision observables.
A class for three-loop corrections to the EW precision observables.
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
A class for three-loop corrections to the EW precision observables.
LeptonFlavour * myLeptonFlavour
A pointer to an object of the type LeptonFlavour.
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
bool StandardModel::IsFlagNoApproximateGammaZ ( ) const
inline

A method to retrieve the model flag NoApproximateGammaZ.

See StandardModelFlags for detail.

Returns
a boolean that is true if the two-loop approximate formulae of the partial and total decay widths of the \(Z\) boson defined with the function EWSMApproximateFormulae::X_extended() is NOT employed

Definition at line 611 of file StandardModel.h.

612  {
614  }
bool FlagNoApproximateGammaZ
A boolean for the model flag NoApproximateGammaZ.
bool StandardModel::IsFlagWithoutNonUniversalVC ( ) const
inline

A method to retrieve the model flag WithoutNonUniversalVC.

See StandardModelFlags for detail.

Returns
a boolean that is true if flavour non-universal vertex corrections are NOT added to the epsilon parameters describing new physics contribution
Attention
The flag FlagWithoutNonUniversalVC is applicable only for the models StandardModel and NPEpsilons.

Definition at line 598 of file StandardModel.h.

599  {
601  }
bool FlagWithoutNonUniversalVC
A boolean for the model flag WithoutNonUniversalVC.
gslpp::complex StandardModel::kappaZ_f ( const Particle  f) const
virtual

The effective leptonic neutral-current coupling \(\kappa_Z^l\) in the SM.

This function collects the radiative corrections to \(\kappa_Z^l\) computed via EWSMOneLoopEW, EWSMTwoLoopQCD, EWSMTwoLoopEW, EWSMThreeLoopQCD, EWSMThreeLoopEW2QCD and EWSMThreeLoopEW classes. The real part is computed with the function resumKappaZ(), while only the one-loop contribution is kept in the imaginary part.

As a part of the two-loop EW contribution, a correction associated with the product of the imaginary part of \(\Delta\alpha\) and that of \(\Pi_{Z\gamma}\) is included [31], [37] :

\begin{eqnarray} \Delta \kappa_Z^l = - \frac{1}{s_W^2}\left( \frac{\alpha(M_Z^2)}{4\pi} \right)^2 {\rm Im}\,\overline{\Pi}_{\gamma\gamma}^{\rm fer}(M_Z^2)\,\, {\rm Im}\,\overline{\Pi}_{Z\gamma}^{\rm fer}(M_Z^2) = \frac{35\alpha^2(M_Z^2)}{18 s_W^2}\, \left( 1 - \frac{8}{3}\, {\rm Re}(\kappa_Z^l) s_W^2 \right). \end{eqnarray}

Parameters
[in]fa lepton or quark
Returns
\(\kappa_{Z,\,\mathrm{SM}}^l\)
See also
resumKappaZ()
Attention
If the model flag CacheInStandardModel of StandardModel is set to true, the caching method implemented in the current class is employed.

Reimplemented in NPEpsilons, and NPbase.

Definition at line 1140 of file StandardModel.cpp.

1141 {
1142  if (f.is("TOP")) return (gslpp::complex(0.0, 0.0, false));
1143 
1145  if (useKappaZ_f_cache[f.getIndex()])
1146  return kappaZ_f_cache[f.getIndex()];
1147 
1148  double myMw = Mw();
1149 
1150  double ReKappaZf = 0.0, ImKappaZf = 0.0;
1151  if (FlagKappaZ.compare("APPROXIMATEFORMULA") == 0) {
1152  ReKappaZf = myApproximateFormulae->sin2thetaEff(f) / sW2();
1153  ImKappaZf = myOneLoopEW->deltaKappa_rem_f(f, myMw).imag();
1154 #ifdef WITHIMTWOLOOPQCD
1155  ImKappaZf += myTwoLoopQCD->deltaKappa_rem_f(f, myMw).imag();
1156 
1157  /* TEST */
1158  //ImKappaZf -= myCache->ale()*myCache->alsMz()/24.0/M_PI*(cW2() - sW2())/sW2()/sW2();
1159 #endif
1160  } else {
1161  /* compute Delta rho */
1162  double DeltaRho[orders_EW_size];
1163  ComputeDeltaRho(myMw, DeltaRho);
1164 
1165  /* compute delta kappa_rem^f */
1166  gslpp::complex deltaKappa_remf[orders_EW_size];
1167  deltaKappa_remf[EW1] = gslpp::complex(0.0, 0.0, false);
1168  deltaKappa_remf[EW1QCD1] = gslpp::complex(0.0, 0.0, false);
1169  deltaKappa_remf[EW1QCD2] = gslpp::complex(0.0, 0.0, false);
1170  deltaKappa_remf[EW2] = gslpp::complex(0.0, 0.0, false);
1171  deltaKappa_remf[EW2QCD1] = gslpp::complex(0.0, 0.0, false);
1172  deltaKappa_remf[EW3] = gslpp::complex(0.0, 0.0, false);
1173  if (flag_order[EW1])
1174  deltaKappa_remf[EW1] = myOneLoopEW->deltaKappa_rem_f(f, myMw);
1175  if (flag_order[EW1QCD1])
1176 #ifdef WITHIMTWOLOOPQCD
1177  deltaKappa_remf[EW1QCD1] = gslpp::complex(myTwoLoopQCD->deltaKappa_rem_f(f, myMw).real(),
1178  myTwoLoopQCD->deltaKappa_rem_f(f, myMw).imag(), false);
1179 #else
1180  deltaKappa_remf[EW1QCD1] = gslpp::complex(myTwoLoopQCD->deltaKappa_rem_f(f, myMw).real(), 0.0, false);
1181 #endif
1182  if (flag_order[EW1QCD2])
1183  deltaKappa_remf[EW1QCD2] = gslpp::complex(myThreeLoopQCD->deltaKappa_rem_f(f, myMw).real(), 0.0, false);
1184  if (flag_order[EW2])
1185  deltaKappa_remf[EW2] = gslpp::complex(myTwoLoopEW->deltaKappa_rem_f(f, myMw).real(), 0.0, false);
1186  if (flag_order[EW2QCD1])
1187  deltaKappa_remf[EW2QCD1] = gslpp::complex(myThreeLoopEW2QCD->deltaKappa_rem_f(f, myMw).real(), 0.0, false);
1188  if (flag_order[EW3])
1189  deltaKappa_remf[EW3] = gslpp::complex(myThreeLoopEW->deltaKappa_rem_f(f, myMw).real(), 0.0, false);
1190 
1191  /* compute Delta rbar_rem */
1192  double DeltaRbar_rem = 0.0;
1193  if (flag_order[EW1])
1194  DeltaRbar_rem = myOneLoopEW->DeltaRbar_rem(myMw);
1195 
1196  /* Re[kappa_Z^f] with or without resummation */
1197  double deltaKappa_rem_f_real[orders_EW_size];
1198  for (int j = 0; j < orders_EW_size; ++j)
1199  deltaKappa_rem_f_real[j] = deltaKappa_remf[j].real();
1200 
1201  ReKappaZf = resumKappaZ(DeltaRho, deltaKappa_rem_f_real, DeltaRbar_rem, f.is("BOTTOM"));
1202 
1203  /* O(alpha^2) correction to Re[kappa_Z^f] from the Z-gamma mixing */
1204  ReKappaZf += 35.0 * alphaMz() * alphaMz() / 18.0 / sW2()
1205  *(1.0 - 8.0 / 3.0 * ReKappaZf * sW2());
1206 
1207  /* Im[kappa_Z^f] without resummation */
1208  for (int j = 0; j < orders_EW_size; ++j)
1209  ImKappaZf += deltaKappa_remf[j].imag();
1210  }
1211 
1212  kappaZ_f_cache[f.getIndex()] = gslpp::complex(ReKappaZf, ImKappaZf, false);
1213  useKappaZ_f_cache[f.getIndex()] = true;
1214  return (gslpp::complex(ReKappaZf, ImKappaZf, false));
1215 }
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
gslpp::complex deltaKappa_rem_f(const Particle f, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
The size of this enum.
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
bool flag_order[orders_EW_size]
An array of internal flags controlling the inclusions of higher-order corrections.
gslpp::complex deltaKappa_rem_f(const Particle f, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
Three-loop of .
gslpp::complex deltaKappa_rem_f(const Particle f, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
const double & real() const
gslpp::complex deltaKappa_rem_f(const Particle f, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
std::string FlagKappaZ
A string for the model flag KappaZ.
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
void ComputeDeltaRho(const double Mw_i, double DeltaRho[orders_EW_size]) const
A method to collect computed via subclasses.
int getIndex() const
Definition: Particle.h:160
double sin2thetaEff(const Particle p) const
Two-loop of .
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
bool is(std::string name_i) const
Definition: Particle.cpp:23
gslpp::complex kappaZ_f_cache[12]
A cache of the value of .
gslpp::complex deltaKappa_rem_f(const Particle f, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
double sW2() const
double DeltaRbar_rem(const double Mw_i) const
.
gslpp::complex deltaKappa_rem_f(const Particle f, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
Three-loop of .
One-loop of .
bool FlagCacheInStandardModel
A flag for caching (true by default).
const double & imag() const
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
bool useKappaZ_f_cache[12]
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
double resumKappaZ(const double DeltaRho[orders_EW_size], const double deltaKappa_rem[orders_EW_size], const double DeltaRbar_rem, const bool bool_Zbb) const
A method to compute the real part of the effetvive coupling from , and .
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
Three-loop of .
double StandardModel::Mw ( ) const
virtual

The SM prediction for the \(W\)-boson mass in the on-shell scheme, \(M_{W,\mathrm{SM}}\).

When the model flag Mw of StandardModel is set to APPROXIMATEFORMULA, the current function uses the two-loop approximate formula in EWSMApproximateFormulae::Mw(), which includes the full two-loop EW contribution of \({\cal O}(\alpha^2)\) as well as the leading \({\cal O}(G_\mu^2\alpha_s m_t^4)\) and \({\cal O}(G_\mu^3m_t^6)\) contributions.

When the model flag Mw is not set to APPROXIMATEFORMULA, the \(W\)-boson mass is computed from \(\Delta r(M_W)\) with an iterative procedure. The target accuracy of the iterative calculation is specified with the constant Mw_error. This function calls resumMw(), in which \(M_W\) is computed with a given \(\Delta r\), equivalently with \(\Delta\rho\) and \(\Delta r_{\mathrm{rem}}\)

Returns
\(M_{W,\mathrm{SM}}\) in GeV
See also
resumMw()
Attention
If the model flag CacheInStandardModel of StandardModel is set to true, the caching method implemented in the current class is employed.

Reimplemented in NPEffectiveGIMR, NPEpsilons, NPZbbbar, NPEpsilons_pureNP, and NPbase.

Definition at line 696 of file StandardModel.cpp.

697 {
698  /* Debug */
699  //std::cout << std::boolalpha
700  // << checkScheme(schemeMw_cache,schemeMw,false)
701  // << " [cache:" << schemeMw_cache
702  // << " current:" << schemeMw << "]" << std::endl;
703 
705  if (useMw_cache)
706  return Mw_cache;
707 
708  double Mw;
709  if (FlagMw.compare("APPROXIMATEFORMULA") == 0)
710  Mw = myApproximateFormulae->Mw();
711  else {
712  //std::cout << std::setprecision(12)
713  // << "TEST: Mw_tree = " << Mw_tree() << std::endl;
714 
715  double DeltaRho[orders_EW_size], DeltaR_rem[orders_EW_size];
716  ComputeDeltaRho(Mw_tree(), DeltaRho);
717  ComputeDeltaR_rem(Mw_tree(), DeltaR_rem);
718  Mw = resumMw(Mw_tree(), DeltaRho, DeltaR_rem);
719 
720  /* Mw from iterations */
721  double Mw_org = Mw_tree();
722  while (fabs(Mw - Mw_org) > Mw_error) {
723  Mw_org = Mw;
724  ComputeDeltaRho(Mw, DeltaRho);
725  ComputeDeltaR_rem(Mw, DeltaR_rem);
726  Mw = resumMw(Mw, DeltaRho, DeltaR_rem);
727  /* TEST */
728  //int prec_def = std::cout.precision();
729  //std::cout << std::setprecision(12) << "TEST: Mw_org = " << Mw_org
730  // << " Mw_new = " << Mw << std::endl;
731  //std::cout.precision(prec_def);
732  }
733  }
734 
735  Mw_cache = Mw;
736  useMw_cache = true;
737  return Mw;
738 }
void ComputeDeltaR_rem(const double Mw_i, double DeltaR_rem[orders_EW_size]) const
A method to collect computed via subclasses.
virtual double Mw_tree() const
The tree-level mass of the boson, .
The size of this enum.
void ComputeDeltaRho(const double Mw_i, double DeltaRho[orders_EW_size]) const
A method to collect computed via subclasses.
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
static const double Mw_error
The target accuracy of the iterative calculation of the -boson mass in units of GeV.
double Mw_cache
A cache of the value of .
bool FlagCacheInStandardModel
A flag for caching (true by default).
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
double Mw() const
The -boson mass with the full two-loop EW corrections.
double resumMw(const double Mw_i, const double DeltaRho[orders_EW_size], const double DeltaR_rem[orders_EW_size]) const
A method to compute the -boson mass from and .
std::string FlagMw
A string for the model flag Mw.
double StandardModel::Mw_tree ( ) const
virtual

The tree-level mass of the \(W\) boson, \(M_W^{\mathrm{tree}}\).

Returns
\(M_W^{\mathrm{tree}}\) in GeV.

Reimplemented in NPEffectiveBS.

Definition at line 677 of file StandardModel.cpp.

678 {
679  return ( Mz / sqrt(2.0) * sqrt(1.0 + sqrt(1.0 - 4.0 * M_PI * ale / sqrt(2.0) / GF / Mz / Mz)));
680 }
double ale
The fine-structure constant .
double GF
The Fermi constant in .
double Mz
The mass of the boson in GeV.
complex sqrt(const complex &z)
double StandardModel::MwbarFromMw ( const double  Mw) const

A method to convert the \(W\)-boson mass in the experimental/running-width scheme to that in the complex-pole/fixed-width scheme.

The mass parameter \(\overline{M}_W\) in the complex-pole/fixed-width scheme [35] is given by

\[ \overline{M}_{W} = M_{W} - \frac{\Gamma_{W}^2}{2M_{W}}\,, \]

where \(M_W\) and \(\Gamma_{W}\) are the mass and width of the \(W\) boson in the experimental/running-width scheme:

\[ \Gamma_W = \frac{3G_\mu M_W^3}{2\sqrt{2}\pi} \left( 1 + \frac{2\alpha_s(M_W^2)}{3\pi} \right)\,. \]

Parameters
[in]Mwthe \(W\)-boson mass in the experimental/running-width scheme
Returns
\(\overline{M}_W\) in GeV

Definition at line 852 of file StandardModel.cpp.

853 {
854  double AlsMw = Als(Mw, FULLNLO);
855  double Gw_SM = 3.0 * GF * pow(Mw, 3.0) / 2.0 / sqrt(2.0) / M_PI
856  * (1.0 + 2.0 * AlsMw / 3.0 / M_PI);
857 
858  return ( Mw - Gw_SM * Gw_SM / 2.0 / Mw);
859 }
complex pow(const complex &z1, const complex &z2)
double Als(const double mu, const orders order=FULLNLO) const
Computes the running strong coupling in the scheme. In the cases of LO, NLO and FULLNNLO...
Definition: QCD.cpp:1004
double GF
The Fermi constant in .
An observable class for the -boson mass.
Definition: Mw.h:22
complex sqrt(const complex &z)
double StandardModel::MwFromMwbar ( const double  Mwbar) const

A method to convert the \(W\)-boson mass in the complex-pole/fixed-width scheme to that in the experimental/running-width scheme.

The experimental mass \(M_W\) is derived

\[ M_W = \overline{M}_W + \frac{\Gamma_{W}^2}{2\overline{M}_{W}}\,, \]

where \(\overline{M}_W\) is the mass parameter in the complex-pole/fixed-width scheme [35], and \(\Gamma_{W}\) is the \(W\)-boson width in the experimental/running-width scheme:

\[ \Gamma_W = \frac{3G_\mu M_W^3}{2\sqrt{2}\pi} \left( 1 + \frac{2\alpha_s(M_W^2)}{3\pi} \right) \approx \frac{3G_\mu \overline{M}_W^3}{2\sqrt{2}\pi} \left( 1 + \frac{2\alpha_s(\overline{M}_W^2)}{3\pi} \right)\,. \]

Parameters
[in]Mwbarthe \(W\)-boson mass in the complex-pole/fixed-width scheme
Returns
\(M_W\) in GeV

Definition at line 861 of file StandardModel.cpp.

862 {
863  double AlsMw = Als(Mwbar, FULLNNLO);
864  double Gw_SM = 3.0 * GF * pow(Mwbar, 3.0) / 2.0 / sqrt(2.0) / M_PI
865  * (1.0 + 2.0 * AlsMw / 3.0 / M_PI);
866 
867  return (Mwbar + Gw_SM * Gw_SM / 2.0 / Mwbar);
868 }
complex pow(const complex &z1, const complex &z2)
double Als(const double mu, const orders order=FULLNLO) const
Computes the running strong coupling in the scheme. In the cases of LO, NLO and FULLNNLO...
Definition: QCD.cpp:1004
double GF
The Fermi constant in .
complex sqrt(const complex &z)
double StandardModel::Mzbar ( ) const

The \(Z\)-boson mass \(\overline{M}_Z\) in the complex-pole/fixed-width scheme.

The mass parameter \(\overline{M}_Z\) in the complex-pole/fixed-width scheme [35] is given by

\[ \overline{M}_{Z} = M_{Z} - \frac{\Gamma_{Z}^2}{2M_{Z}}\,, \]

where \(M_Z\) and \(\Gamma_{Z}\) are the mass and width of the \(Z\) boson in the experimental/running-width scheme:

\begin{align} \Gamma(Z\to f\bar{f}) = \frac{G_\mu M_Z^3}{24\sqrt{2}\pi} \left[ \left( \frac{v_f}{a_f} \right)^2 + 1 \right] \times \left\{ \begin{array}{ll} 1 & \mathrm{for}\quad f=\ell\,, \\[2mm] \displaystyle N_c \left( 1 + \frac{\alpha_s(M_Z^2)}{\pi} \right) & \mathrm{for}\quad f=q \end{array} \right. \end{align}

with \(v_f/a_f=1-4|Q_f|s_{W,\mathrm{tree}}^2\).

Returns
\(\overline{M}_Z\) in GeV

Definition at line 835 of file StandardModel.cpp.

836 {
837  double G0 = GF * pow(Mz, 3.0) / 24.0 / sqrt(2.0) / M_PI;
838  double sW2tree = 1.0 - Mw_tree() * Mw_tree() / Mz / Mz;
839  double Gz = 6.0 * G0; // neutrinos
840  Gz += 3.0 * G0 * (pow(1.0 - 4.0 * sW2tree, 2.0) + 1.0); // e, mu and tau
841  Gz += 6.0 * G0 * (pow(1.0 - 8.0 / 3.0 * sW2tree, 2.0) + 1.0)
842  * (1.0 + AlsMz / M_PI); // u and c
843  Gz += 9.0 * G0 * (pow(1.0 - 4.0 / 3.0 * sW2tree, 2.0) + 1.0)
844  * (1.0 + AlsMz / M_PI); // d, s and b
845 
846  //Gz = 2.4952; // experimental data
847  //std::cout << "Gz=" << Gz << std::endl; // for test
848 
849  return ( Mz - Gz * Gz / 2.0 / Mz);
850 }
virtual double Mw_tree() const
The tree-level mass of the boson, .
double AlsMz
The strong coupling constant at the Z-boson mass, .
complex pow(const complex &z1, const complex &z2)
double GF
The Fermi constant in .
double Mz
The mass of the boson in GeV.
complex sqrt(const complex &z)
bool StandardModel::PostUpdate ( )
virtual

The post-update method for StandardModel.

This method runs all the procedures that are need to be executed after the model is successfully updated. This includes

  • computing the updated CKM and PMNS matrices
  • computing the Yukawa matrices
  • updating the Standard Model parameters in the StandardModelMatching class.
    Returns
    a boolean that is true if the execution is successful

Reimplemented from QCD.

Reimplemented in NPEffectiveGIMR, NPZbbbarLinearized, NPZbbbar, NPEpsilons, THDM, NPbase, SUSY, SUSYMassInsertion, FlavourWilsonCoefficient, myModel, and GeneralSUSY.

Definition at line 215 of file StandardModel.cpp.

216 {
217  if (!QCD::PostUpdate()) return (false);
218 
219  /* Set the CKM and PMNS matrices */
220  computeCKM();
221 
222  /* Set the Yukawa matrices */
223  if ( !isModelSUSY() ) {
224  computeYukawas();
225  }
226 
227  /* Check whether the parameters for the EWPO are updated or not */
228  if (!checkSMparamsForEWPO()) {
230  useDeltaAlpha_cache = false;
231  useMw_cache = false;
232  useGammaW_cache = false;
233  for (int i = 0; i < 12; ++i) {
234  useRhoZ_f_cache[i] = false;
235  useKappaZ_f_cache[i] = false;
236  }
237  }
238 
239  /* Necessary for updating StandardModel parameters in StandardModelMatching */
240  if (ModelName() == "StandardModel") {
242  }
243 
245  iterationNo++;
246 
247  return (true);
248 }
bool isModelSUSY() const
Definition: Model.h:179
bool useRhoZ_f_cache[12]
virtual bool PostUpdate()
The post-update method for QCD.
Definition: QCD.cpp:323
void setSMupdated()
a member used for the caching for .
Definition: Flavour.h:259
virtual void computeYukawas()
The method to compute the Yukawa matrices.
StandardModelMatching * myStandardModelMatching
A pointer to an object of type StandardModelMatching.
bool useDeltaAlpha_cache
void updateSMParameters()
Updates to new Standard Model parameter sets.
Flavour * myFlavour
A pointer to an object of the type Flavour.
virtual void computeCKM()
The method to compute the CKM matrix.
bool useDeltaAlphaLepton_cache
bool checkSMparamsForEWPO()
A method to check whether the parameters relevant to the EWPO are updated.
bool useKappaZ_f_cache[12]
std::string ModelName() const
A method to fetch the name of the model.
Definition: Model.h:56
bool StandardModel::PreUpdate ( )
virtual

The pre-update method for StandardModel.

This method initializes the internal flags requireCKM, requireYe and requireYn, and calls QCD::PreUpdate(), before updating the model parameters with the method Update().

Returns
a boolean that is true if the execution is successful

Reimplemented from QCD.

Reimplemented in THDM, SUSY, SUSYMassInsertion, FlavourWilsonCoefficient, myModel, and GeneralSUSY.

Definition at line 188 of file StandardModel.cpp.

189 {
190  requireCKM = false;
191  requireYe = false;
192  requireYn = false;
193 
194  if (!QCD::PreUpdate()) return (false);
195 
196  return (true);
197 }
bool requireCKM
An internal flag to control whether the CKM matrix has to be recomputed.
bool requireYe
An internal flag to control whether the charged-lepton Yukawa matrix has to be recomputed.
virtual bool PreUpdate()
The pre-update method for QCD.
Definition: QCD.cpp:296
bool requireYn
An internal flag to control whether the neutrino Yukawa matrix has to be recomputed.
double StandardModel::R0_f ( const Particle  f) const
virtual

The ratio \(R_\ell^0=\Gamma(Z\to {\rm hadrons})/\Gamma(Z\to \ell^+ \ell^-)\).

When checkNPZff_linearized() returns true and the model flag NoApproximateGammaZ of StandardModel is set to false, this function uses the two-loop approximate formula of \(R_\ell^0\) via EWSMApproximateFormulae::X_extended(). Otherwise, \(R_\ell^0\) is calculated with

\[ R_\ell^0 = \frac{\Gamma_h}{\Gamma_\ell}\,. \]

, where \(\ell\) denotes a charged lepton.

Parameters
[in]fa lepton or quark
Returns
\(R_\ell^0 \)

Reimplemented in NPbase, NPEpsilons, and NPZbbbar.

Definition at line 1036 of file StandardModel.cpp.

1037 {
1038  if (f.is("LEPTON")) {
1040  /* SM contribution with the approximate formula */
1041  return (myApproximateFormulae->X_extended("R0_lepton"));
1042  else
1043  return (Gamma_had() / GammaZ(leptons[ELECTRON]));
1044  } else if (f.is("CHARM")) {
1046  /* SM contribution with the approximate formula */
1047  return (myApproximateFormulae->X_extended("R0_charm"));
1048  else
1049  return (GammaZ(quarks[CHARM]) / Gamma_had());
1050 
1051  } else if (f.is("BOTTOM")) {
1053  /* SM contribution with the approximate formula */
1054  return (