a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
THDM Class Reference

A base class for \(Z_2\) symmetric Two-Higgs-Doublet models. More...

#include <THDM.h>

+ Inheritance diagram for THDM:

Detailed Description

A base class for \(Z_2\) symmetric Two-Higgs-Doublet models.

Author
HEPfit Collaboration

Model parameters

The model parameters of THDM are summarized below. The current implementation only allows for a Two-Higgs-Doublet model with a softly broken \(Z_2\) symmetry and without CP violation in the Higgs potential. The scalar 125 GeV resonance is assumed to be the one of the CP-even Higgs states of the model; the other is attributed to mHh in the THDM configuration.

Label LaTeX symbol Description
logtb \(\log_{10} \tan \beta\) The decadic logarithm of the tangent of the mixing angle \(\beta \equiv \arctan \frac{v_2}{v_1}\).
bma \(\beta - \alpha\) The difference of the mixing angles \(\beta\) and \(\alpha\).
mHh2 \(m_H^2\) The mass square of the "non-125 GeV" CP-even Higgs state.
mA2 \(m_A^2\) The squared masses of the CP-odd Higgs \(A\).
mHp2 \(m_{H^+}^2\) The squared masses of the charged Higgs.
m12_2 \(m_{12}^2\) The soft \(Z_2\) symmetry breaking parameter.
bsgamma_theoryerror \(\theta_{b\to s\gamma}^{\text{theo}}\) A nuisance parameter between -1 and +1 for the theoretical error in the determination of \(BR(B\to X_s \gamma)\).
Q_THDM \(Q_{\text{THDM}}\) The THDM scale.
Rpeps \(\varepsilon_{\text{R'}}\) Minimal value for which the R' perturbativity criterion should be applied for the unitarity bounds.
NLOuniscale \(Q_{\text{min}}^{\text{NLOuni}}\) Minimal scale at which the NLO unitarity conditions are checked.

Model flags

Label Value Description
modelTypeflag typeI / typeII / typeX / typeY This flag determines the type of \(Z_2\) symmetry.
RGEorder LO / approxNLO / NLO This flag determines the order in perturbation theory of the renormalization group equations.
wavefunctionrenormalization true / false Whether to use wavefunction renormalization for NLO unitarity constraints.

Definition at line 120 of file THDM.h.

Public Member Functions

virtual bool CheckParameters (const std::map< std::string, double > &DPars)
 A method to check if all the mandatory parameters for THDM have been provided in model initialization. More...
 
double getBDstartaunu_A () const
 A method get the \( B\to D^*\tau\nu \) coefficient A. More...
 
double getBDstartaunu_B () const
 A method get the \( B\to D \tau\nu\) coefficient B. More...
 
double getBDstartaunu_SM () const
 A method get the \( B\to D^*\tau\nu \) SM expectation. More...
 
double getBDtaunu_A () const
 A method get the \( B\to D \tau\nu\) coefficient A. More...
 
double getBDtaunu_B () const
 A method get the \( B\to D \tau\nu\) coefficient B. More...
 
double getBDtaunu_SM () const
 A method get the \( B\to D \tau\nu\) SM expectation. More...
 
double getbma () const
 A method get \(\beta-\alpha\). More...
 
double getbsgamma_theoryerror () const
 A method get the nuisance parameter for the theoretical error on \( b\to s\gamma\). More...
 
double getcosa () const
 A method get \(\cos \alpha\). More...
 
double getcosb () const
 A method get \(\cos \beta\). More...
 
double getlogtb () const
 A method get \(\log_{10}(\tan \beta)\). More...
 
double getm12_2 () const
 A method get the parameter of the Higgs potential \(m_{12}^2\). More...
 
double getmA () const
 A method get the mass of the pseudoscalar Higgs A. More...
 
double getmA2 () const
 A method get the squared mass of the pseudoscalar Higgs A. More...
 
virtual THDMMatchinggetMatching () const
 A get method to access the member reference of type THDMMatching. More...
 
double getmHh () const
 A method get the mass of the "non-125 GeV" neutral scalar Higgs. More...
 
double getmHh2 () const
 A method get the squared mass of the "non-125 GeV" neutral scalar Higgs. More...
 
double getmHl2 () const
 A method get the squared mass of the lighter neutral scalar Higgs. More...
 
double getmHp () const
 A method get the charged Higgs mass. More...
 
double getmHp2 () const
 A method get the squared charged Higgs mass. More...
 
std::string getModelTypeflag () const
 A method get the THDM model type. More...
 
THDMcachegetMyTHDMCache () const
 A method get the THDMCache. More...
 
double getNLOuniscale () const
 A method get the minimal NLO unitarity check scale. More...
 
double getQ_THDM () const
 A method get the THDM scale. More...
 
std::string getRGEorderflag () const
 A method get switch for NLO RGE and approximate NLO RGE. More...
 
double getRpeps () const
 A method get the minimal R' value. More...
 
double getsin_ba () const
 A method get \(\sin(\beta-\alpha)\). More...
 
double getsina () const
 A method get \(\sin \alpha\). More...
 
double getsinb () const
 A method get \(\sin \beta\). More...
 
bool getsqmassesflag () const
 A method choose if you want to use the THDM masses or rather their squares. More...
 
double gettanb () const
 A method get \(\tan \beta\). More...
 
double getv1 () const
 A method get the VEV \(v_1\). More...
 
double getv2 () const
 A method get the VEV \(v_2\). More...
 
bool getWFRflag () const
 A method get the flag to switch on wavefunction renormalization for the NLO unitarity conditions. More...
 
virtual bool Init (const std::map< std::string, double > &DPars)
 Initializes the THDM parameters found in the argument. More...
 
virtual bool InitializeModel ()
 A method to initialize the model. More...
 
virtual bool PostUpdate ()
 The post-update method for THDM. More...
 
virtual bool PreUpdate ()
 The pre-update method for THDM. More...
 
virtual bool setFlag (const std::string name, const bool value)
 A method to set a flag of THDM. More...
 
virtual bool setFlagStr (const std::string name, const std::string value)
 A method to set a string flag of THDM. More...
 
 THDM ()
 THDM constructor. More...
 
virtual bool Update (const std::map< std::string, double > &DPars)
 The update method for THDM. More...
 
 ~THDM ()
 THDM destructor. More...
 
- Public Member Functions inherited from StandardModel
virtual const 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 const double AFB (const Particle f) const
 
gslpp::complex AH_f (const double tau) const
 Fermionic loop function entering in the calculation of the effective \(Hgg\) and \(H\gamma\gamma\) couplings. More...
 
gslpp::complex AH_W (const double tau) const
 W loop function entering in the calculation of the effective \(H\gamma\gamma\) coupling. More...
 
gslpp::complex AHZga_f (const double tau, const double lambda) const
 Fermionic loop function entering in the calculation of the effective \(HZ\gamma\) coupling. More...
 
gslpp::complex AHZga_W (const double tau, const double lambda) const
 W loop function entering in the calculation of the effective \(HZ\gamma\) coupling. More...
 
const double Ale (double mu, orders order, bool Nf_thr=true) const
 The running electromagnetic coupling \(\alpha_e(\mu)\) in the \(\overline{MS}\) scheme. More...
 
const double ale_OS (const double mu, orders order=FULLNLO) const
 The running electromagnetic coupling \(\alpha(\mu)\) in the on-shell scheme. More...
 
virtual const double alphaMz () const
 The electromagnetic coupling at the \(Z\)-mass scale, \(\alpha(M_Z^2)=\alpha/(1-\Delta\alpha(M_Z^2))\). More...
 
virtual const double alrmoller (const double q2, const double y) const
 The computation of the parity violating asymmetry in Moller scattering. More...
 
const double Als (const double mu, const int Nf_in, const orders order=FULLNLO) const
 Computes the running strong coupling \(\alpha_s(\mu)\) with \(N_f\) active flavours in the \(\overline{\mathrm{MS}}\) scheme. In the cases of LO, NLO and FULLNLO, the coupling is computed with AlsWithInit(). On the other hand, in the cases of NNLO and FULLNNLO, the coupling is computed with AlsWithLambda(). More...
 
const double Als (const double mu, const orders order, const bool Nf_thr, const bool qed_flag) const
 The running QCD coupling \(\alpha(\mu)\) in the \(\overline{MS}\) scheme including QED corrections. More...
 
const double Als (const double mu, const orders order=FULLNLO, const bool Nf_thr=true) const
 
const double Alstilde5 (const double mu) const
 The value of \(\frac{\alpha_s^{\mathrm{FULLNLO}}}{4\pi}\) at any scale \(\mu\) with the number of flavours \(n_f = 4\) and full EW corrections. More...
 
virtual const double amuon () const
 The computation of the anomalous magnetic moment of the muon \(a_\mu=(g_\mu-2)/2\). More...
 
const double Beta_e (int nm, unsigned int nf) const
 QED beta function coefficients - eq. (36) hep-ph/0512066. More...
 
const double Beta_s (int nm, unsigned int nf) const
 QCD beta function coefficients including QED corrections - eq. (36) hep-ph/0512066. More...
 
virtual const double BrHtobb () const
 The Br \((H\to b \bar{b})\) in the Standard Model. More...
 
virtual const double BrHtocc () const
 The Br \((H\to c \bar{c})\) in the Standard Model. More...
 
virtual const double BrHtogaga () const
 The Br \((H\to \gamma \gamma)\) in the Standard Model. More...
 
virtual const double BrHtogg () const
 The Br \(\(H\to gg)\) in the Standard Model. More...
 
virtual const double BrHtomumu () const
 The Br \((H\to \mu^+ \mu^-)\) in the Standard Model. More...
 
virtual const double BrHtoss () const
 The Br \((H\to s \bar{s})\) in the Standard Model. More...
 
virtual const double BrHtotautau () const
 The Br \((H\to \tau^+ \tau^-)\) in the Standard Model. More...
 
virtual const double BrHtoWWstar () const
 The Br \((H\to W W^*)\) in the Standard Model. More...
 
virtual const double BrHtoZga () const
 The Br \((H\to Z \gamma)\) in the Standard Model. More...
 
virtual const double BrHtoZZstar () const
 The Br \((H\to Z Z^*)\) in the Standard Model. More...
 
virtual const double BrW (const Particle fi, const Particle fj) const
 The branching ratio of the \(W\) boson decaying into a SM fermion pair, \(Br(W\to f_i f_j)\). More...
 
const 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...
 
bool checkSMparamsForEWPO ()
 A method to check whether the parameters relevant to the EWPO are updated. More...
 
const double computeBrHto4f () const
 The Br \((H\to 4f)\) in the Standard Model. More...
 
const double computeBrHto4l2 () const
 The Br \((H\to 4l)\) \(l=e,\mu\) in the Standard Model. More...
 
const double computeBrHto4l3 () const
 The Br \((H\to 4l)\) \(l=e,\mu,\tau\) in the Standard Model. More...
 
const double computeBrHto4q () const
 The Br \((H\to 4q)\) in the Standard Model. More...
 
const double computeBrHto4v () const
 The Br \((H\to 4\nu)\) in the Standard Model. More...
 
const double computeBrHtobb () const
 The Br \((H\to bb)\) in the Standard Model. More...
 
const double computeBrHtocc () const
 The Br \((H\to cc)\) in the Standard Model. More...
 
const double computeBrHtoevmuv () const
 The Br \((H\to e \nu \mu \nu)\) in the Standard Model. More...
 
const double computeBrHtogaga () const
 The Br \((H\to\gamma\gamma)\) in the Standard Model. More...
 
const double computeBrHtogg () const
 The Br \((H\to gg)\) in the Standard Model. More...
 
const double computeBrHtollvv2 () const
 The Br \((H\to l^+ l^- \nu \nu)\) \(l=e,\mu\) in the Standard Model. More...
 
const double computeBrHtollvv3 () const
 The Br \((H\to l^+ l^- \nu \nu)\) \(l=e,\mu,\tau\) in the Standard Model. More...
 
const double computeBrHtomumu () const
 The Br \((H\to \mu\mu)\) in the Standard Model. More...
 
const double computeBrHtoss () const
 The Br \((H\to ss)\) in the Standard Model. More...
 
const double computeBrHtotautau () const
 The Br \((H\to \tau\tau)\) in the Standard Model. More...
 
const double computeBrHtoWW () const
 The Br \((H\to WW)\) in the Standard Model. More...
 
const double computeBrHtoZga () const
 The Br \((H\to Z\gamma)\) in the Standard Model. More...
 
const 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...
 
const double computeGammaHgaga_tt () const
 The top loop contribution to \(H\to\gamma\gamma\) in the Standard Model. More...
 
const double computeGammaHgaga_tW () const
 The mixed \(t-W\) loop contribution to \(H\to\gamma\gamma\) in the Standard Model. More...
 
const double computeGammaHgaga_WW () const
 The \(W\) loop contribution to \(H\to\gamma\gamma\) in the Standard Model. More...
 
const double computeGammaHgg_bb () const
 The bottom loop contribution to \(H\to gg\) in the Standard Model. More...
 
const double computeGammaHgg_tb () const
 The top-bottom interference contribution to \(H\to gg\) in the Standard Model. More...
 
const double computeGammaHgg_tt () const
 The top loop contribution to \(H\to gg\) in the Standard Model. More...
 
const double computeGammaHTotal () const
 The Higgs total width in the Standard Model. More...
 
const double computeGammaHZga_tt () const
 The top loop contribution to \(H\to Z\gamma\) in the Standard Model. More...
 
const double computeGammaHZga_tW () const
 The mixed \(t-W\) loop contribution to \(H\to Z\gamma\) in the Standard Model. More...
 
const 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. [Heinemeyer:2013tqa]. More...
 
const double computeSigmabbH (const double sqrt_s) const
 The bbH production cross section in the Standard Model. More...
 
const double computeSigmaggH (const double sqrt_s) const
 The ggH cross section in the Standard Model. More...
 
const 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...
 
const double computeSigmaggH_tb (const double sqrt_s) const
 The top-bottom interference contribution to the ggH cross section in the Standard Model. More...
 
const 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...
 
const double computeSigmatHq (const double sqrt_s) const
 The tHq production cross section in the Standard Model. More...
 
const double computeSigmattH (const double sqrt_s) const
 The ttH production cross section in the Standard Model. More...
 
const double computeSigmaVBF (const double sqrt_s) const
 The VBF cross section in the Standard Model. More...
 
const double computeSigmaWF (const double sqrt_s) const
 The W fusion contribution \(\sigma_{WF}\) to higgs-production cross section in the Standard Model. More...
 
const double computeSigmaWH (const double sqrt_s) const
 The WH production cross section in the Standard Model. More...
 
const double computeSigmaZF (const double sqrt_s) const
 The Z fusion contribution \(\sigma_{ZF}\) to higgs-production cross section in the Standard Model. More...
 
const double computeSigmaZH (const double sqrt_s) const
 The ZH production cross section in the Standard Model. More...
 
const 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 const double cW2 () const
 
virtual const 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 const double Dalpha5hMz () const
 The 5-quark contribution to the running of the em constant to the \(Z\) pole. \(\Delta\alpha_{had}^{(5)}(M_Z)\). More...
 
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...
 
const 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...
 
const double DeltaAlphaLepton (const double s) const
 Leptonic contribution to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{lept}}(s)\). More...
 
const double DeltaAlphaTop (const double s) const
 Top-quark contribution to the electromagnetic coupling \(\alpha\), denoted as \(\Delta\alpha_{\mathrm{top}}(s)\). More...
 
virtual const 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 const double DeltaR () const
 The SM prediction for \(\Delta r\) derived from that for the \(W\) boson mass. More...
 
virtual const double DeltaRbar () const
 The SM prediction for \(\Delta \overline{r}\) derived from that for the \(W\)-boson mass. More...
 
virtual const 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 const double eeffAFBbottom (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffAFBcharm (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffAFBe (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffAFBetsub (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffAFBmu (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffAFBstrange (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffAFBtau (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffRbottom (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffRcharm (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffRelectron (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffRelectrontsub (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffRmuon (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffRstrange (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffRtau (const double pol_e, const double pol_p, const double s) const
 
const double eeffsigma (const Particle f, const double pol_e, const double pol_p, const double s, const double cosmin, const double cosmax) const
 
virtual const double eeffsigmaBottom (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffsigmaCharm (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffsigmaE (const double pol_e, const double pol_p, const double s) const
 
const double eeffsigmaEbin (const double pol_e, const double pol_p, const double s, const double cosmin, const double cosmax) const
 
virtual const double eeffsigmaEtsub (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffsigmaHadron (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffsigmaMu (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffsigmaStrange (const double pol_e, const double pol_p, const double s) const
 
virtual const double eeffsigmaTau (const double pol_e, const double pol_p, const double s) const
 
virtual const double epsilon1 () const
 The SM contribution to the epsilon parameter \(\varepsilon_1\). More...
 
virtual const double epsilon2 () const
 The SM contribution to the epsilon parameter \(\varepsilon_2\). More...
 
virtual const double epsilon3 () const
 The SM contribution to the epsilon parameter \(\varepsilon_3\). More...
 
virtual const double epsilonb () const
 The SM contribution to the epsilon parameter \(\varepsilon_b\). More...
 
gslpp::complex f_triangle (const double tau) const
 Loop function entering in the calculation of the effective \(Hgg\) and \(H\gamma\gamma\) couplings. More...
 
gslpp::complex g_triangle (const double tau) const
 Loop function entering in the calculation of the effective \(HZ\gamma\) coupling. More...
 
virtual const gslpp::complex gA_f (const Particle f) const
 The effective leptonic neutral-current axial-vector coupling \(g_A^l\) in the SM. More...
 
virtual const double Gamma_had () const
 The hadronic decay width of the \(Z\) boson, \(\Gamma_{h}\). More...
 
virtual const double Gamma_inv () const
 The invisible partial decay width of the \(Z\) boson, \(\Gamma_{\mathrm{inv}}\). More...
 
virtual const double Gamma_muon () const
 The computation of the muon decay. More...
 
virtual const double Gamma_tau_l_nunu (const Particle l) const
 The computation of the leptonic tau decays. More...
 
virtual const double Gamma_Z () const
 The total decay width of the \(Z\) boson, \(\Gamma_Z\). More...
 
virtual const double GammaHtobb () const
 The \(\Gamma(H\to b \bar{b})\) in the Standard Model. More...
 
virtual const double GammaHtocc () const
 The \(\Gamma(H\to c \bar{c})\) in the Standard Model. More...
 
virtual const double GammaHtogaga () const
 The \(\Gamma(H\to \gamma \gamma)\) in the Standard Model. More...
 
virtual const double GammaHtogg () const
 The \(\Gamma(H\to gg)\) in the Standard Model. More...
 
virtual const double GammaHtomumu () const
 The \(\Gamma(H\to \mu^+ \mu^-)\) in the Standard Model. More...
 
virtual const double GammaHtoss () const
 The \(\Gamma(H\to s \bar{s})\) in the Standard Model. More...
 
virtual const double GammaHTot () const
 The total Higgs width \(\Gamma(H)\) in the Standard Model. More...
 
virtual const double GammaHtotautau () const
 The \(\Gamma(H\to \tau^+ \tau^-)\) in the Standard Model. More...
 
virtual const double GammaHtoWWstar () const
 The \(\Gamma(H\to W W^*)\) in the Standard Model. More...
 
virtual const double GammaHtoZga () const
 The \(\Gamma(H\to Z \gamma)\) in the Standard Model. More...
 
virtual const double GammaHtoZZstar () const
 The \(\Gamma(H\to Z Z^*)\) in the Standard Model. More...
 
virtual const double GammaW () const
 The total width of the \(W\) boson, \(\Gamma_W\). More...
 
virtual const 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 const double GammaZ (const Particle f) const
 The \(Z\to \ell\bar{\ell}\) partial decay width, \(\Gamma_\ell\). More...
 
virtual const double gAnue () const
 The effective (muon) neutrino-electron axial-vector coupling: gAnue. More...
 
const double getAle () const
 A get method to retrieve the fine-structure constant \(\alpha\). More...
 
const double getAlsMz () const
 A get method to access the value of \(\alpha_s(M_Z)\). More...
 
virtual const double getCBd () const
 The ratio of the absolute value of the $B_d$ mixing amplitude over the Standard Model value. More...
 
virtual const double getCBs () const
 The ratio of the absolute value of the $B_s$ mixing amplitude over the Standard Model value. More...
 
virtual const double getCCC1 () const
 A virtual implementation for the RealWeakEFTCC class. More...
 
virtual const double getCCC2 () const
 A virtual implementation for the RealWeakEFTCC class. More...
 
virtual const double getCCC3 () const
 A virtual implementation for the RealWeakEFTCC class. More...
 
virtual const double getCCC4 () const
 A virtual implementation for the RealWeakEFTCC class. More...
 
virtual const double getCCC5 () const
 A virtual implementation for the RealWeakEFTCC class. More...
 
virtual const double getCDMK () const
 The ratio of the real part of the $K$ mixing amplitude over the Standard Model value. More...
 
virtual const double getCepsK () const
 The ratio of the imaginary part of the $K$ mixing amplitude over the Standard Model value. More...
 
const CKMgetCKM () const
 A get method to retrieve the member object of type CKM. More...
 
const 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...
 
const double getDelGammaZ () const
 A get method to retrieve the theoretical uncertainty in \(\Gamma_Z\), denoted as \(\delta\,\Gamma_Z\). More...
 
const double getDelMw () const
 A get method to retrieve the theoretical uncertainty in \(M_W\), denoted as \(\delta\,M_W\). More...
 
const double getDelR0b () const
 A get method to retrieve the theoretical uncertainty in \(R_b^0\), denoted as \(\delta\,R_b^0\). More...
 
const double getDelR0c () const
 A get method to retrieve the theoretical uncertainty in \(R_c^0\), denoted as \(\delta\,R_c^0\). More...
 
const double getDelR0l () const
 A get method to retrieve the theoretical uncertainty in \(R_l^0\), denoted as \(\delta\,R_l^0\). More...
 
const double getDelSigma0H () const
 A get method to retrieve the theoretical uncertainty in \(\sigma_{Hadron}^0\), denoted as \(\delta\,\sigma_{Hadron}^0\). More...
 
const double getDelSin2th_b () const
 A get method to retrieve the theoretical uncertainty in \(\sin^2\theta_{\rm eff}^{b}\), denoted as \(\delta\sin^2\theta_{\rm eff}^{b}\). More...
 
const 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...
 
const double getDelSin2th_q () const
 A get method to retrieve the theoretical uncertainty in \(\sin^2\theta_{\rm eff}^{q\not = b,t}\), denoted as \(\delta\sin^2\theta_{\rm eff}^{q\not = b,t}\). More...
 
const std::string getFlagKappaZ () const
 A method to retrieve the model flag KappaZ. More...
 
const std::string getFlagMw () const
 A method to retrieve the model flag Mw. More...
 
const std::string getFlagRhoZ () const
 A method to retrieve the model flag RhoZ. More...
 
const FlavourgetFlavour () const
 
const double getGF () const
 A get method to retrieve the Fermi constant \(G_\mu\). More...
 
const int getIterationNo () const
 
const ParticlegetLeptons (const QCD::lepton p) const
 A get method to retrieve the member object of a lepton. More...
 
virtual const double getMHl () const
 A get method to retrieve the Higgs mass \(m_h\). More...
 
virtual const double getmq (const QCD::quark q, const double mu) const
 The MSbar running quark mass computed at NLO. More...
 
const double getMuw () const
 A get method to retrieve the matching scale \(\mu_W\) around the weak scale. More...
 
const double getMw () const
 A get method to access the input value of the mass of the \(W\) boson \(M_W\). 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...
 
LeptonFlavourgetMyLeptonFlavour () const
 
EWSMOneLoopEWgetMyOneLoopEW () const
 A get method to retrieve the member pointer of type EWSMOneLoopEW,. More...
 
EWSMThreeLoopEWgetMyThreeLoopEW () const
 
EWSMThreeLoopEW2QCDgetMyThreeLoopEW2QCD () const
 
EWSMThreeLoopQCDgetMyThreeLoopQCD () const
 
EWSMTwoFermionsLEP2getMyTwoFermionsLEP2 () const
 A get method to retrieve the member pointer of type EWSMTwoFermionsLEP2. More...
 
EWSMTwoLoopEWgetMyTwoLoopEW () const
 
EWSMTwoLoopQCDgetMyTwoLoopQCD () const
 
const double getMz () const
 A get method to access the mass of the \(Z\) boson \(M_Z\). More...
 
virtual const double getPhiBd () const
 Half the relative phase of the $B_d$ mixing amplitude w.r.t. the Standard Model one. More...
 
virtual const double getPhiBs () const
 Half the relative phase of the $B_s$ mixing amplitude w.r.t. the Standard Model one. More...
 
virtual const StandardModelgetTrueSM () const
 
const gslpp::matrix< gslpp::complex > getUPMNS () const
 A get method to retrieve the object of the PMNS matrix. More...
 
const gslpp::matrix< gslpp::complex > getVCKM () const
 A get method to retrieve the CKM matrix. More...
 
const gslpp::matrix< gslpp::complex > & getYd () const
 A get method to retrieve the Yukawa matrix of the down-type quarks, \(Y_d\). More...
 
const gslpp::matrix< gslpp::complex > & getYe () const
 A get method to retrieve the Yukawa matrix of the charged leptons, \(Y_e\). More...
 
const gslpp::matrix< gslpp::complex > & getYn () const
 A get method to retrieve the Yukawa matrix of the neutrinos, \(Y_\nu\). More...
 
const gslpp::matrix< gslpp::complex > & getYu () const
 A get method to retrieve the Yukawa matrix of the up-type quarks, \(Y_u\). More...
 
virtual const double gLnuN2 () const
 The effective neutrino nucleon LH coupling: gLnuN2. More...
 
virtual const double gRnuN2 () const
 The effective neutrino nucleon RH coupling: gRnuN2. More...
 
virtual const gslpp::complex gV_f (const Particle f) const
 The effective leptonic neutral-current vector coupling \(g_V^l\) in the SM. More...
 
virtual const double gVnue () const
 The effective (muon) neutrino-electron vector coupling: gVnue. More...
 
gslpp::complex I_triangle_1 (const double tau, const double lambda) const
 Loop function entering in the calculation of the effective \(HZ\gamma\) coupling. More...
 
gslpp::complex I_triangle_2 (const double tau, const double lambda) const
 Loop function entering in the calculation of the effective \(HZ\gamma\) coupling. More...
 
const double intMLL2eeeeus2 (const double s, const double t0, const double t1) const
 
const double intMLR2eeeets2 (const double s, const double t0, const double t1) const
 
const double intMLRtilde2eeeest2 (const double s, const double t0, const double t1) const
 
const double intMRR2eeeeus2 (const double s, const double t0, const double t1) const
 
const bool IsFlagNoApproximateGammaZ () const
 A method to retrieve the model flag NoApproximateGammaZ. More...
 
const bool IsFlagWithoutNonUniversalVC () const
 A method to retrieve the model flag WithoutNonUniversalVC. More...
 
const bool isSMSuccess () const
 A get method to retrieve the success status of the Standard Model update and matching. More...
 
virtual const gslpp::complex kappaZ_f (const Particle f) const
 The effective leptonic neutral-current coupling \(\kappa_Z^l\) in the SM. More...
 
virtual const double LEP2AFBbottom (const double s) const
 
virtual const double LEP2AFBcharm (const double s) const
 
virtual const double LEP2AFBe (const double s) const
 
virtual const double LEP2AFBmu (const double s) const
 
virtual const double LEP2AFBtau (const double s) const
 
virtual const double LEP2dsigmadcosBinE (const double s, const double cos, const double cosmin, const double cosmax) const
 
virtual const double LEP2dsigmadcosBinMu (const double s, const double cos, const double cosmin, const double cosmax) const
 
virtual const double LEP2dsigmadcosBinTau (const double s, const double cos, const double cosmin, const double cosmax) const
 
virtual const double LEP2dsigmadcosE (const double s, const double cos) const
 
virtual const double LEP2dsigmadcosMu (const double s, const double cos) const
 
virtual const double LEP2dsigmadcosTau (const double s, const double cos) const
 
virtual const double LEP2Rbottom (const double s) const
 
virtual const double LEP2Rcharm (const double s) const
 
virtual const double LEP2sigmaBottom (const double s) const
 
virtual const double LEP2sigmaCharm (const double s) const
 
virtual const double LEP2sigmaE (const double s) const
 
virtual const double LEP2sigmaHadron (const double s) const
 
virtual const double LEP2sigmaMu (const double s) const
 
virtual const double LEP2sigmaTau (const double s) const
 
const double MLL2eeff (const Particle f, const double s, const double t) const
 
const double MLR2eeff (const Particle f, const double s) const
 
const double MRL2eeff (const Particle f, const double s) const
 
const double MRR2eeff (const Particle f, const double s, const double t) const
 
virtual const double Mw () const
 The SM prediction for the \(W\)-boson mass in the on-shell scheme, \(M_{W,\mathrm{SM}}\). More...
 
const double Mw_tree () const
 The tree-level mass of the \(W\) boson, \(M_W^{\mathrm{tree}}\). More...
 
const 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...
 
const 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 const double N_nu () const
 The number of neutrinos obtained indirectly from the measurements at the Z pole, \(N_{\nu}\). More...
 
virtual const double Qwemoller (const double q2, const double y) const
 The computation of the electron's weak charge. More...
 
virtual const double Qwn () const
 The computation of the neutron weak charge: Qwn. More...
 
virtual const double Qwp () const
 The computation of the proton weak charge: Qwp. More...
 
virtual const double R0_f (const Particle f) const
 The ratio \(R_\ell^0=\Gamma(Z\to {\rm hadrons})/\Gamma(Z\to \ell^+ \ell^-)\). More...
 
virtual const double R_inv () const
 The ratio of the invisible and leptonic (electron) decay widths of the \(Z\) boson, \(R_{inv}\). More...
 
virtual const 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 const gslpp::complex rhoZ_f (const Particle f) const
 The effective leptonic neutral-current coupling \(\rho_Z^l\) in the SM. More...
 
virtual const double Ruc () const
 
virtual const double RWc () const
 The ratio \(R_{W,c)=\Gamma(W\to c + X)/\Gamma(W\to had)\). More...
 
virtual const double RWlilj (const Particle li, const Particle lj) const
 The lepton universality ratio \(R_{W,l_i/l_j)=\Gamma(W\to l_i \nu_i)/\Gamma(W\to l_j \nu_j)\). More...
 
virtual const double RZlilj (const Particle li, const Particle lj) const
 The lepton universality ratio \(R_{Z,l_i/l_j)=\Gamma(Z\to l_i^+ l_i^-)/\Gamma(Z\to l_j^+ l_j^-)\). More...
 
const double s02 () const
 The square of the sine of the weak mixing angle \(s_0^2\) defined without weak radiative corrections. More...
 
void setCKM (const CKM &CKMMatrix)
 A set method to change the CKM matrix. More...
 
void setFlagCacheInStandardModel (bool FlagCacheInStandardModel)
 A set method to change the model flag CacheInStandardModel of StandardModel. More...
 
void setFlagNoApproximateGammaZ (bool FlagNoApproximateGammaZ)
 
bool setFlagSigmaForAFB (const bool flagSigmaForAFB_i)
 
bool setFlagSigmaForR (const bool flagSigmaForR_i)
 
void setRequireCKM (bool requireCKM)
 A set method to change the value of requireCKM. More...
 
void setSMSuccess (bool success) const
 A set method to change the success status of the Standard Model update and matching. More...
 
void setYd (const gslpp::matrix< gslpp::complex > &Yd)
 A set method to set the Yukawa matrix of the down-type quarks, \(Y_d\). More...
 
void setYe (const gslpp::matrix< gslpp::complex > &Ye)
 A set method to set the Yukawa matrix of the charged leptons, \(Y_e\). More...
 
void setYu (const gslpp::matrix< gslpp::complex > &Yu)
 A set method to set the Yukawa matrix of the up-type quarks, \(Y_u\). More...
 
virtual const 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 const double SigmaeeHee (const double sqrt_s, const double Pe, const double Pp) const
 The \(\sigma(e^+ e^- \to e^+ e^- H)\) in the Standard Model. More...
 
virtual const double SigmaeeHvv (const double sqrt_s, const double Pe, const double Pp) const
 The \(\sigma(e^+ e^- \to \nu \bar{\nu} H)\) in the Standard Model. More...
 
virtual const double SigmaeeZH (const double sqrt_s, const double Pe, const double Pp) const
 The \(\sigma(e^+ e^- \to Z H)\) in the Standard Model. More...
 
virtual const 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...
 
const double sW2 () const
 
virtual const 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...
 
const double sW2_MSbar_Approx () const
 The (approximated formula for the) square of the sine of the weak mixing angle in the MSbar scheme, denoted as \(\hat{s}_{W}^2\). See: PDG 22, R.L. Workman et al. (Particle Data Group), Prog. Theor. Exp. Phys. 2022, 083C01 (2022) More...
 
const double sW2_ND () const
 The square of the sine of the weak mixing angle in the MSbar-ND scheme (w/o decoupling $\alpha\ln(m_t/M_Z)$ terms), denoted as \(\hat{s}_{ND}^2\). See: PDG 22, R.L. Workman et al. (Particle Data Group), Prog. Theor. Exp. Phys. 2022, 083C01 (2022) (eq. 10.13a/10.13b) More...
 
virtual const double TauLFU_gmuge () const
 The computation of the LFU ratio \(g_\mu/ g_e \). More...
 
virtual const double TauLFU_gtauge () const
 The computation of the LFU ratio \(g_\tau/ g_e \). More...
 
virtual const double TauLFU_gtaugmu () const
 The computation of the LFU ratio \(g_\tau/ g_\mu \). More...
 
virtual const double TauLFU_gtaugmuK () const
 The computation of the LFU ratio \(\left(g_\tau/ g_\mu\right)_K \). More...
 
virtual const double TauLFU_gtaugmuPi () const
 The computation of the LFU ratio \(\left(g_\tau/ g_\mu\right)_\pi \). More...
 
virtual const double ThetaLnuN () const
 The effective neutrino nucleon LH parameter: ThetaLnuN. More...
 
virtual const double ThetaRnuN () const
 The effective neutrino nucleon RH parameter: ThetaRnuN. More...
 
const double tovers2 (const double cosmin, const double cosmax) const
 
const double uovers2 (const double cosmin, const double cosmax) const
 
const double v () const
 The Higgs vacuum expectation value. More...
 
virtual ~StandardModel ()
 The default destructor. More...
 
- Public Member Functions inherited from QCD
const double AboveTh (const double mu) const
 The active flavour threshold above the scale \(\mu\) as defined in QCD::Thresholds(). More...
 
void addParameters (std::vector< std::string > params_i)
 A method to add parameters that are specific to only one set of observables. More...
 
const double Als (const double mu, const int Nf_in, const orders order=FULLNLO) const
 Computes the running strong coupling \(\alpha_s(\mu)\) with \(N_f\) active flavours in the \(\overline{\mathrm{MS}}\) scheme. In the cases of LO, NLO and FULLNLO, the coupling is computed with AlsWithInit(). On the other hand, in the cases of NNLO and FULLNNLO, the coupling is computed with AlsWithLambda(). More...
 
const double Als (const double mu, const orders order=FULLNLO, const bool Nf_thr=true) const
 
const 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...
 
const double AlsByOrder (const double mu, const int Nf_in, const orders order=FULLNLO) const
 
const double AlsByOrder (const double mu, const orders order=FULLNLO, bool Nf_thr=true) const
 
const double AlsOLD (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...
 
const double AlsWithInit (const double mu, const double alsi, const double mu_i, const int nf, 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...
 
const 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...
 
const double BelowTh (const double mu) const
 The active flavour threshold below the scale \(\mu\) as defined in QCD::Thresholds(). More...
 
const double Beta0 (const double nf) const
 The \(\beta_0(n_f)\) coefficient for a certain number of flavours \(n_f\). More...
 
const double Beta1 (const double nf) const
 The \(\beta_1(n_f)\) coefficient for a certain number of flavours \(n_f\). More...
 
const double Beta2 (const double nf) const
 The \(\beta_2(n_f)\) coefficient for a certain number of flavours \(n_f\). More...
 
const double Beta3 (const double nf) const
 The \(\beta_3(n_f)\) coefficient for a certain number of flavours \(n_f\). More...
 
void CacheShift (double cache[][5], int n) const
 A member used to manage the caching for this class. More...
 
void CacheShift (int cache[][5], int n) const
 
const orders FullOrder (orders order) const
 Return the FULLORDER enum corresponding to order. More...
 
const double Gamma0 (const double nf) const
 The \(\gamma_0\) coefficient used to compute the running of a mass. More...
 
const double Gamma1 (const double nf) const
 The \(\gamma_1\) coefficient used to compute the running of a mass. More...
 
const double Gamma2 (const double nf) const
 The \(\gamma_2\) coefficient used to compute the running of a mass. More...
 
const double getAlsM () const
 A get method to access the value of \(\alpha_s(M_{\alpha_s})\). More...
 
const BParametergetBBd () 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...
 
const BParametergetBBd_subleading () const
 For getting the subleading bag parameters \(R_2 - R_3\) in \(\Delta b = 2\) process in the \(B_d\) meson system. More...
 
const BParametergetBBs () 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...
 
const BParametergetBBs_subleading () const
 For getting the subleading bag parameters \(R_2 - R_3\) in \(\Delta b = 2\) process in the \(B_s\) meson system. More...
 
const BParametergetBD () 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...
 
const BParametergetBK () 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...
 
const BParametergetBKd1 () const
 
const BParametergetBKd3 () const
 
const double getCF () const
 A get method to access the Casimir factor of QCD. More...
 
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...
 
const MesongetMesons (const QCD::meson m) const
 A get method to access a meson as an object of the type Meson. More...
 
const double getMtpole () const
 A get method to access the pole mass of the top quark. More...
 
const double getMub () const
 A get method to access the threshold between five- and four-flavour theory in GeV. More...
 
const double getMuc () const
 A get method to access the threshold between four- and three-flavour theory in GeV. More...
 
const double getMut () const
 A get method to access the threshold between six- and five-flavour theory in GeV. More...
 
const double getNc () const
 A get method to access the number of colours \(N_c\). More...
 
const double getOptionalParameter (std::string name) const
 A method to get parameters that are specific to only one set of observables. More...
 
const ParticlegetQuarks (const QCD::quark q) const
 A get method to access a quark as an object of the type Particle. More...
 
std::vector< std::string > getUnknownParameters ()
 A method to get the vector of the parameters that have been specified in the configuration file but not being used. More...
 
void initializeBParameter (std::string name_i) const
 A method to initialize B Parameter and the corresponding meson. More...
 
void initializeMeson (QCD::meson meson_i) const
 A method to initialize a meson. More...
 
bool isQCDsuccess () const
 A getter for the QCDsuccess flag. More...
 
const double logLambda (const double nf, orders order) const
 Computes \(\ln\Lambda_\mathrm{QCD}\) with nf flavours in GeV. More...
 
const double Mbar2Mp (const double mbar, const quark q, const orders order=FULLNNLO) const
 Converts the \(\overline{\mathrm{MS}}\) mass \(m(m)\) to the pole mass. More...
 
const double Mofmu2Mbar (const double m, const double mu, const quark q) const
 Converts a quark running mass at an arbitrary scale to the corresponding \(\overline{\mathrm{MS}}\) mass \(m(m)\). More...
 
const double Mp2Mbar (const double mp, const quark q, orders order=FULLNNLO) const
 Converts a quark pole mass to the corresponding \(\overline{\mathrm{MS}}\) mass \(m(m)\). More...
 
const double Mrun (const double mu, const double m, const quark q, const orders order=FULLNNLO) const
 Computes a running quark mass \(m(\mu)\) from \(m(m)\). More...
 
const double Mrun (const double mu_f, const double mu_i, const double m, const quark q, const orders order=FULLNNLO) const
 Runs a quark mass from \(\mu_i\) to \(\mu_f\). More...
 
const double Mrun4 (const double mu_f, const double mu_i, const double m) const
 The running of a mass with the number of flavours \(n_f = 4\). More...
 
const double MS2DRqmass (const double MSbar) const
 Converts a quark mass from the \(\overline{\mathrm{MS}}\) scheme to the \(\overline{\mathrm{DR}}\) scheme. More...
 
const double MS2DRqmass (const double MSscale, const double MSbar) const
 Converts a quark mass from the \(\overline{\mathrm{MS}}\) scheme to the \(\overline{\mathrm{DR}}\) scheme. More...
 
const double Nf (const double mu) const
 The number of active flavour at scale \(\mu\). More...
 
const double NfThresholdCorrections (double mu, double M, double als, int nf, orders order) const
 Threshold corrections in matching \(\alpha_s(n_f+1)\) with \(\alpha_s(n_f)\) from eq. (34) of hep-ph/0512060. More...
 
const std::string orderToString (const orders order) const
 Converts an object of the enum type "orders" to the corresponding string. More...
 
 QCD ()
 Constructor. More...
 
void setComputemt (bool computemt)
 A set method to change the value of computemt. More...
 
void setMtpole (double mtpole_in)
 A method to set the pole mass of the top quark. More...
 
void setNc (double Nc)
 A set method to change the number of colours \(N_c\). More...
 
void setOptionalParameter (std::string name, double value)
 A method to set the parameter value for the parameters that are specific to only one set of observables. More...
 
void setQuarkMass (const quark q, const double mass)
 A set method to change the mass of a quark. More...
 
const double Thresholds (const int i) const
 For accessing the active flavour threshold scales. More...
 
- Public Member Functions inherited from Model
void addMissingModelParameter (const std::string &missingParameterName)
 
std::vector< std::string > getmissingModelParameters ()
 
unsigned int getMissingModelParametersCount ()
 
std::string getModelName () const
 A method to fetch the name of the model. More...
 
const double & getModelParam (std::string name) const
 
bool isModelFWC_DF2 () const
 
bool isModelGeneralTHDM () const
 
bool isModelGeorgiMachacek () const
 
bool IsModelInitialized () const
 A method to check if the model is initialized. More...
 
bool isModelLinearized () const
 
bool isModelNPquadratic () const
 
bool isModelParam (std::string name) const
 
bool isModelSUSY () const
 
bool isModelTHDM () const
 
bool isModelTHDMW () const
 
bool IsUpdateError () const
 A method to check if there was any error in the model update process. More...
 
 Model ()
 The default constructor. More...
 
void raiseMissingModelParameterCount ()
 
void setModelFWC_DF2 ()
 
void setModelGeneralTHDM ()
 
void setModelGeorgiMachacek ()
 
void setModelInitialized (bool ModelInitialized)
 A set method to fix the failure or success of the initialization of the model. More...
 
void setModelLinearized (bool linearized=true)
 
void setModelName (const std::string name)
 A method to set the name of the model. More...
 
void setModelNPquadratic (bool NPquadratic=true)
 
void setModelSUSY ()
 
void setModelTHDM ()
 
void setModelTHDMW ()
 
void setSliced (bool Sliced)
 
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 int NTHDMvars = 16
 
static std::string THDMvars [NTHDMvars]
 
- Static Public Attributes inherited from StandardModel
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 = 33
 The number of the SM parameters that are relevant to the EW precision observables. More...
 
static 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 = 11
 The number of model parameters in QCD. More...
 
static 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 checkmodelType (const std::string modeltype) const
 A method to check if the model type name in string form is valid. More...
 
bool checkRGEorder (const std::string RGEorder) const
 A method to check if the RGE order name in string form is valid. More...
 
virtual void setParameter (const std::string name, const double &value)
 A method to set the value of a parameter of THDM. More...
 
- Protected Member Functions inherited from StandardModel
const double AFB_NoISR_l (const QCD::lepton l_flavor, const double s) const
 
const double AFB_NoISR_q (const QCD::quark q_flavor, const double s) const
 
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 Yukawas matrix. 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...
 
const double getIntegrand_AFBnumeratorWithISR_bottom133 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom167 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom172 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom183 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom189 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom192 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom196 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom200 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom202 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom205 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_bottom207 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm133 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm167 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm172 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm183 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm189 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm192 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm196 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm200 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm202 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm205 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_charm207 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu130 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu136 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu161 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu172 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu183 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu189 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu192 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu196 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu200 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu202 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu205 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_mu207 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau130 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau136 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau161 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau172 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau183 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau189 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau192 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau196 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau200 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau202 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau205 (double x) const
 
const double getIntegrand_AFBnumeratorWithISR_tau207 (double x) const
 
const double getIntegrand_dsigmaBox_bottom130 (double x) const
 
const double getIntegrand_dsigmaBox_bottom133 (double x) const
 
const double getIntegrand_dsigmaBox_bottom136 (double x) const
 
const double getIntegrand_dsigmaBox_bottom161 (double x) const
 
const double getIntegrand_dsigmaBox_bottom167 (double x) const
 
const double getIntegrand_dsigmaBox_bottom172 (double x) const
 
const double getIntegrand_dsigmaBox_bottom183 (double x) const
 
const double getIntegrand_dsigmaBox_bottom189 (double x) const
 
const double getIntegrand_dsigmaBox_bottom192 (double x) const
 
const double getIntegrand_dsigmaBox_bottom196 (double x) const
 
const double getIntegrand_dsigmaBox_bottom200 (double x) const
 
const double getIntegrand_dsigmaBox_bottom202 (double x) const
 
const double getIntegrand_dsigmaBox_bottom205 (double x) const
 
const double getIntegrand_dsigmaBox_bottom207 (double x) const
 
const double getIntegrand_dsigmaBox_charm130 (double x) const
 
const double getIntegrand_dsigmaBox_charm133 (double x) const
 
const double getIntegrand_dsigmaBox_charm136 (double x) const
 
const double getIntegrand_dsigmaBox_charm161 (double x) const
 
const double getIntegrand_dsigmaBox_charm167 (double x) const
 
const double getIntegrand_dsigmaBox_charm172 (double x) const
 
const double getIntegrand_dsigmaBox_charm183 (double x) const
 
const double getIntegrand_dsigmaBox_charm189 (double x) const
 
const double getIntegrand_dsigmaBox_charm192 (double x) const
 
const double getIntegrand_dsigmaBox_charm196 (double x) const
 
const double getIntegrand_dsigmaBox_charm200 (double x) const
 
const double getIntegrand_dsigmaBox_charm202 (double x) const
 
const double getIntegrand_dsigmaBox_charm205 (double x) const
 
const double getIntegrand_dsigmaBox_charm207 (double x) const
 
const double getIntegrand_dsigmaBox_down130 (double x) const
 
const double getIntegrand_dsigmaBox_down133 (double x) const
 
const double getIntegrand_dsigmaBox_down136 (double x) const
 
const double getIntegrand_dsigmaBox_down161 (double x) const
 
const double getIntegrand_dsigmaBox_down167 (double x) const
 
const double getIntegrand_dsigmaBox_down172 (double x) const
 
const double getIntegrand_dsigmaBox_down183 (double x) const
 
const double getIntegrand_dsigmaBox_down189 (double x) const
 
const double getIntegrand_dsigmaBox_down192 (double x) const
 
const double getIntegrand_dsigmaBox_down196 (double x) const
 
const double getIntegrand_dsigmaBox_down200 (double x) const
 
const double getIntegrand_dsigmaBox_down202 (double x) const
 
const double getIntegrand_dsigmaBox_down205 (double x) const
 
const double getIntegrand_dsigmaBox_down207 (double x) const
 
const double getIntegrand_dsigmaBox_mu130 (double x) const
 
const double getIntegrand_dsigmaBox_mu133 (double x) const
 
const double getIntegrand_dsigmaBox_mu136 (double x) const
 
const double getIntegrand_dsigmaBox_mu161 (double x) const
 
const double getIntegrand_dsigmaBox_mu167 (double x) const
 
const double getIntegrand_dsigmaBox_mu172 (double x) const
 
const double getIntegrand_dsigmaBox_mu183 (double x) const
 
const double getIntegrand_dsigmaBox_mu189 (double x) const
 
const double getIntegrand_dsigmaBox_mu192 (double x) const
 
const double getIntegrand_dsigmaBox_mu196 (double x) const
 
const double getIntegrand_dsigmaBox_mu200 (double x) const
 
const double getIntegrand_dsigmaBox_mu202 (double x) const
 
const double getIntegrand_dsigmaBox_mu205 (double x) const
 
const double getIntegrand_dsigmaBox_mu207 (double x) const
 
const double getIntegrand_dsigmaBox_strange130 (double x) const
 
const double getIntegrand_dsigmaBox_strange133 (double x) const
 
const double getIntegrand_dsigmaBox_strange136 (double x) const
 
const double getIntegrand_dsigmaBox_strange161 (double x) const
 
const double getIntegrand_dsigmaBox_strange167 (double x) const
 
const double getIntegrand_dsigmaBox_strange172 (double x) const
 
const double getIntegrand_dsigmaBox_strange183 (double x) const
 
const double getIntegrand_dsigmaBox_strange189 (double x) const
 
const double getIntegrand_dsigmaBox_strange192 (double x) const
 
const double getIntegrand_dsigmaBox_strange196 (double x) const
 
const double getIntegrand_dsigmaBox_strange200 (double x) const
 
const double getIntegrand_dsigmaBox_strange202 (double x) const
 
const double getIntegrand_dsigmaBox_strange205 (double x) const
 
const double getIntegrand_dsigmaBox_strange207 (double x) const
 
const double getIntegrand_dsigmaBox_tau130 (double x) const
 
const double getIntegrand_dsigmaBox_tau133 (double x) const
 
const double getIntegrand_dsigmaBox_tau136 (double x) const
 
const double getIntegrand_dsigmaBox_tau161 (double x) const
 
const double getIntegrand_dsigmaBox_tau167 (double x) const
 
const double getIntegrand_dsigmaBox_tau172 (double x) const
 
const double getIntegrand_dsigmaBox_tau183 (double x) const
 
const double getIntegrand_dsigmaBox_tau189 (double x) const
 
const double getIntegrand_dsigmaBox_tau192 (double x) const
 
const double getIntegrand_dsigmaBox_tau196 (double x) const
 
const double getIntegrand_dsigmaBox_tau200 (double x) const
 
const double getIntegrand_dsigmaBox_tau202 (double x) const
 
const double getIntegrand_dsigmaBox_tau205 (double x) const
 
const double getIntegrand_dsigmaBox_tau207 (double x) const
 
const double getIntegrand_dsigmaBox_up130 (double x) const
 
const double getIntegrand_dsigmaBox_up133 (double x) const
 
const double getIntegrand_dsigmaBox_up136 (double x) const
 
const double getIntegrand_dsigmaBox_up161 (double x) const
 
const double getIntegrand_dsigmaBox_up167 (double x) const
 
const double getIntegrand_dsigmaBox_up172 (double x) const
 
const double getIntegrand_dsigmaBox_up183 (double x) const
 
const double getIntegrand_dsigmaBox_up189 (double x) const
 
const double getIntegrand_dsigmaBox_up192 (double x) const
 
const double getIntegrand_dsigmaBox_up196 (double x) const
 
const double getIntegrand_dsigmaBox_up200 (double x) const
 
const double getIntegrand_dsigmaBox_up202 (double x) const
 
const double getIntegrand_dsigmaBox_up205 (double x) const
 
const double getIntegrand_dsigmaBox_up207 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom130 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom133 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom136 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom161 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom167 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom172 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom183 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom189 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom192 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom196 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom200 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom202 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom205 (double x) const
 
const double getIntegrand_sigmaWithISR_bottom207 (double x) const
 
const double getIntegrand_sigmaWithISR_charm130 (double x) const
 
const double getIntegrand_sigmaWithISR_charm133 (double x) const
 
const double getIntegrand_sigmaWithISR_charm136 (double x) const
 
const double getIntegrand_sigmaWithISR_charm161 (double x) const
 
const double getIntegrand_sigmaWithISR_charm167 (double x) const
 
const double getIntegrand_sigmaWithISR_charm172 (double x) const
 
const double getIntegrand_sigmaWithISR_charm183 (double x) const
 
const double getIntegrand_sigmaWithISR_charm189 (double x) const
 
const double getIntegrand_sigmaWithISR_charm192 (double x) const
 
const double getIntegrand_sigmaWithISR_charm196 (double x) const
 
const double getIntegrand_sigmaWithISR_charm200 (double x) const
 
const double getIntegrand_sigmaWithISR_charm202 (double x) const
 
const double getIntegrand_sigmaWithISR_charm205 (double x) const
 
const double getIntegrand_sigmaWithISR_charm207 (double x) const
 
const double getIntegrand_sigmaWithISR_down130 (double x) const
 
const double getIntegrand_sigmaWithISR_down133 (double x) const
 
const double getIntegrand_sigmaWithISR_down136 (double x) const
 
const double getIntegrand_sigmaWithISR_down161 (double x) const
 
const double getIntegrand_sigmaWithISR_down167 (double x) const
 
const double getIntegrand_sigmaWithISR_down172 (double x) const
 
const double getIntegrand_sigmaWithISR_down183 (double x) const
 
const double getIntegrand_sigmaWithISR_down189 (double x) const
 
const double getIntegrand_sigmaWithISR_down192 (double x) const
 
const double getIntegrand_sigmaWithISR_down196 (double x) const
 
const double getIntegrand_sigmaWithISR_down200 (double x) const
 
const double getIntegrand_sigmaWithISR_down202 (double x) const
 
const double getIntegrand_sigmaWithISR_down205 (double x) const
 
const double getIntegrand_sigmaWithISR_down207 (double x) const
 
const double getIntegrand_sigmaWithISR_mu130 (double x) const
 
const double getIntegrand_sigmaWithISR_mu136 (double x) const
 
const double getIntegrand_sigmaWithISR_mu161 (double x) const
 
const double getIntegrand_sigmaWithISR_mu172 (double x) const
 
const double getIntegrand_sigmaWithISR_mu183 (double x) const
 
const double getIntegrand_sigmaWithISR_mu189 (double x) const
 
const double getIntegrand_sigmaWithISR_mu192 (double x) const
 
const double getIntegrand_sigmaWithISR_mu196 (double x) const
 
const double getIntegrand_sigmaWithISR_mu200 (double x) const
 
const double getIntegrand_sigmaWithISR_mu202 (double x) const
 
const double getIntegrand_sigmaWithISR_mu205 (double x) const
 
const double getIntegrand_sigmaWithISR_mu207 (double x) const
 
const double getIntegrand_sigmaWithISR_strange130 (double x) const
 
const double getIntegrand_sigmaWithISR_strange133 (double x) const
 
const double getIntegrand_sigmaWithISR_strange136 (double x) const
 
const double getIntegrand_sigmaWithISR_strange161 (double x) const
 
const double getIntegrand_sigmaWithISR_strange167 (double x) const
 
const double getIntegrand_sigmaWithISR_strange172 (double x) const
 
const double getIntegrand_sigmaWithISR_strange183 (double x) const
 
const double getIntegrand_sigmaWithISR_strange189 (double x) const
 
const double getIntegrand_sigmaWithISR_strange192 (double x) const
 
const double getIntegrand_sigmaWithISR_strange196 (double x) const
 
const double getIntegrand_sigmaWithISR_strange200 (double x) const
 
const double getIntegrand_sigmaWithISR_strange202 (double x) const
 
const double getIntegrand_sigmaWithISR_strange205 (double x) const
 
const double getIntegrand_sigmaWithISR_strange207 (double x) const
 
const double getIntegrand_sigmaWithISR_tau130 (double x) const
 
const double getIntegrand_sigmaWithISR_tau136 (double x) const
 
const double getIntegrand_sigmaWithISR_tau161 (double x) const
 
const double getIntegrand_sigmaWithISR_tau172 (double x) const
 
const double getIntegrand_sigmaWithISR_tau183 (double x) const
 
const double getIntegrand_sigmaWithISR_tau189 (double x) const
 
const double getIntegrand_sigmaWithISR_tau192 (double x) const
 
const double getIntegrand_sigmaWithISR_tau196 (double x) const
 
const double getIntegrand_sigmaWithISR_tau200 (double x) const
 
const double getIntegrand_sigmaWithISR_tau202 (double x) const
 
const double getIntegrand_sigmaWithISR_tau205 (double x) const
 
const double getIntegrand_sigmaWithISR_tau207 (double x) const
 
const double getIntegrand_sigmaWithISR_up130 (double x) const
 
const double getIntegrand_sigmaWithISR_up133 (double x) const
 
const double getIntegrand_sigmaWithISR_up136 (double x) const
 
const double getIntegrand_sigmaWithISR_up161 (double x) const
 
const double getIntegrand_sigmaWithISR_up167 (double x) const
 
const double getIntegrand_sigmaWithISR_up172 (double x) const
 
const double getIntegrand_sigmaWithISR_up183 (double x) const
 
const double getIntegrand_sigmaWithISR_up189 (double x) const
 
const double getIntegrand_sigmaWithISR_up192 (double x) const
 
const double getIntegrand_sigmaWithISR_up196 (double x) const
 
const double getIntegrand_sigmaWithISR_up200 (double x) const
 
const double getIntegrand_sigmaWithISR_up202 (double x) const
 
const double getIntegrand_sigmaWithISR_up205 (double x) const
 
const double getIntegrand_sigmaWithISR_up207 (double x) const
 
const double Integrand_AFBnumeratorWithISR_l (double x, const QCD::lepton l_flavor, const double s) const
 
const double Integrand_AFBnumeratorWithISR_q (double x, const QCD::quark q_flavor, const double s) const
 
const double Integrand_dsigmaBox_l (double cosTheta, const QCD::lepton l_flavor, const double s) const
 
const double Integrand_dsigmaBox_q (double cosTheta, const QCD::quark q_flavor, const double s) const
 
const double Integrand_sigmaWithISR_l (double x, const QCD::lepton l_flavor, const double s) const
 
const double Integrand_sigmaWithISR_q (double x, const QCD::quark q_flavor, const double s) const
 
double m_q (const QCD::quark q, const double mu, const orders order=FULLNLO) const
 
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...
 
const double sigma_NoISR_l (const QCD::lepton l_flavor, const double s) const
 
const double sigma_NoISR_q (const QCD::quark q_flavor, const double s) const
 
double taub () const
 Top-mass corrections to the \(Zb\bar{b}\) vertex, denoted by \(\tau_b\). More...
 
- Protected Member Functions inherited from QCD
const double MassOfNf (int nf) const
 The Mbar mass of the heaviest quark in the theory with Nf active flavour. More...
 

Protected Attributes

Matching< THDMMatching, THDMTHDMM
 An object of type THDMMatching. More...
 
- Protected Attributes inherited from StandardModel
double A
 The CKM parameter \(A\) in the Wolfenstein parameterization. More...
 
double ale
 The fine-structure constant \(\alpha\). More...
 
double alpha21
 
double alpha31
 
double AlsMz
 The strong coupling constant at the Z-boson mass, \(\alpha_s(M_Z)\). More...
 
bool bSigmaForAFB
 
bool bSigmaForR
 
double dAl5hMz
 The five-flavour hadronic contribution to the electromagnetic coupling, \(\Delta\alpha_{\mathrm{had}}^{(5)}(M_Z^2)\). (Non-input parameter) More...
 
double dAle5Mz
 The five-flavour hadronic contribution to the electromagnetic coupling, \(\Delta\alpha_{\mathrm{had}}^{(5)}(M_Z^2)\), used as input for FlagMWinput = FALSE. 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 delR0b
 The theoretical uncertainty in \(R_b^0\), denoted as \(\delta\,R_b^0\). More...
 
double delR0c
 The theoretical uncertainty in \(R_c^0\), denoted as \(\delta\,R_c^0\). More...
 
double delR0l
 The theoretical uncertainty in \(R_l^0\), denoted as \(\delta\,R_l^0\). More...
 
double delsigma0H
 The theoretical uncertainty in \(\sigma_{Hadron}^0\), denoted as \(\delta\,\sigma_{Hadron}^0\) in nb. More...
 
double delSin2th_b
 The theoretical uncertainty in \(\sin^2\theta_{\rm eff}^{b}\), denoted as \(\delta\sin^2\theta_{\rm eff}^{b}\). 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 delSin2th_q
 The theoretical uncertainty in \(\sin^2\theta_{\rm eff}^{q\not = b,t}\), denoted as \(\delta\sin^2\theta_{\rm eff}^{q\not = b,t}\). More...
 
double delta
 
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...
 
bool FlagFixMuwMut
 A boolean for the model flag FixMuwMut. More...
 
bool flagLEP2 [NUMofLEP2RCs]
 
double gamma
 \(\gamma \) used as an input for FlagWolfenstein = FALSE More...
 
double GF
 The Fermi constant \(G_\mu\) in \({\rm GeV}^{-2}\). More...
 
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...
 
double Mw_inp
 The mass of the \(W\) boson in GeV used as input for FlagMWinput = TRUE. More...
 
CKM myCKM
 An object of type CKM. More...
 
PMNS myPMNS
 
double Mz
 The mass of the \(Z\) boson in GeV. More...
 
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 s12
 
double s13
 
double s23
 
Flavour SMFlavour
 An object of type Flavour. More...
 
Matching< StandardModelMatching, StandardModelSMM
 An object of type Matching. More...
 
double Vcb
 \(\vert V_{cb} \vert \) used as an input for FlagWolfenstein = FALSE More...
 
double Vub
 \(\vert V_{ub} \vert \) used as an input for FlagWolfenstein = FALSE More...
 
double Vud
 \(\vert V_{ud} \vert \) used as an input for FlagWolfenstein = FALSE and FlagUseVud = TRUE More...
 
double Vus
 \(\vert V_{us} \vert \) used as an input for FlagWolfenstein = FALSE More...
 
gslpp::matrix< gslpp::complex > Yd
 The Yukawa matrix of the down-type quarks. More...
 
gslpp::matrix< gslpp::complex > Ye
 The Yukawa matrix of the charged leptons. More...
 
gslpp::matrix< gslpp::complex > Yn
 The Yukawa matrix of the neutrinos. More...
 
gslpp::matrix< gslpp::complex > Yu
 The Yukawa matrix of the up-type quarks. More...
 
- Protected Attributes inherited from QCD
double AlsM
 The strong coupling constant at the mass scale MAls, \(\alpha_s(M_{\alpha_s})\). More...
 
double CA
 
double CF
 
bool computemt
 Switch for computing the \(\overline{\mathrm{MS}}\) mass of the top quark. More...
 
double dAdA_NA
 
double dFdA_NA
 
double dFdF_NA
 
bool FlagMpole2MbarNumeric
 A flag to determine whether the pole mass to \(\over \mathrm{MS}\) mass conversion is done numerically. More...
 
bool FlagMtPole
 A flag to determine whether the pole mass of the top quark is used as input. More...
 
double MAls
 The mass scale in GeV at which the strong coupling measurement is provided. More...
 
double mtpole
 The pole mass of the top quark. More...
 
double mub
 The threshold between five- and four-flavour theory in GeV. More...
 
double muc
 The threshold between four- and three-flavour theory in GeV. More...
 
double mut
 The threshold between six- and five-flavour theory in GeV. More...
 
double NA
 
double Nc
 The number of colours. More...
 
bool QCDsuccess =true
 
Particle quarks [6]
 The vector of all SM quarks. More...
 
bool requireYd
 Switch for generating the Yukawa couplings to the down-type quarks. More...
 
bool requireYu
 Switch for generating the Yukawa couplings to the up-type quarks. More...
 
double TF
 
- Protected Attributes inherited from Model
bool isSliced = false
 A boolean set to true if the current istance is a slice of an extended object. More...
 
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
 
bool UpdateError = false
 A boolean set to false if update is successful. More...
 

Private Attributes

double BDstartaunu_A
 
double BDstartaunu_B
 
double BDstartaunu_SM
 
double BDtaunu_A
 
double BDtaunu_B
 
double BDtaunu_SM
 
double bma
 
double bsgamma_theoryerror
 
double cosb
 
std::string flag_model
 
std::string flag_RGEorder
 
bool flag_use_sq_masses
 
bool flag_wfr
 
double logtb
 
double m12_2
 
double mA1
 
double mA2
 
double mHh1
 
double mHh2
 
double mHl2
 
double mHp1
 
double mHp2
 
THDMcachemyTHDMcache
 An object of type THDMCache. More...
 
double NLOuniscale
 
double Q_THDM
 
double Rpeps
 
double sin_ba
 
double sinb
 
double tanb
 

Additional Inherited Members

- Public Types inherited from StandardModel
enum  LEP2RCs { Weak = 0 , WeakBox , ISR , QEDFSR , QCDFSR , NUMofLEP2RCs }
 
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  lepton { NEUTRINO_1 , ELECTRON , NEUTRINO_2 , MU , NEUTRINO_3 , TAU , NOLEPTON }
 An enum type for leptons. More...
 
enum  meson { P_0 , P_P , K_0 , K_P , D_0 , D_P , D_S , B_D , B_P , B_S , B_C , PHI , K_star , K_star_P , K_S , D_star_P , RHO , RHO_P , OMEGA , MESON_END }
 An enum type for mesons. More...
 
enum  quark { UP , DOWN , CHARM , STRANGE , TOP , BOTTOM }
 An enum type for quarks. More...
 

Constructor & Destructor Documentation

◆ THDM()

THDM::THDM ( )

THDM constructor.

Definition at line 16 of file THDM.cpp.

16 : StandardModel(), THDMM(*this) {
17 SMM.setObj((StandardModelMatching&) THDMM.getObj());
18 ModelParamMap.insert(std::make_pair("logtb", std::cref(logtb)));
19 ModelParamMap.insert(std::make_pair("bma", std::cref(bma)));
20 ModelParamMap.insert(std::make_pair("mHh1", std::cref(mHh1)));
21 ModelParamMap.insert(std::make_pair("mA1", std::cref(mA1)));
22 ModelParamMap.insert(std::make_pair("mHp1", std::cref(mHp1)));
23 ModelParamMap.insert(std::make_pair("mHh2", std::cref(mHh2)));
24 ModelParamMap.insert(std::make_pair("mA2", std::cref(mA2)));
25 ModelParamMap.insert(std::make_pair("mHp2", std::cref(mHp2)));
26 ModelParamMap.insert(std::make_pair("m12_2", std::cref(m12_2)));
27 ModelParamMap.insert(std::make_pair("BDtaunu_SM", std::cref(BDtaunu_SM)));
28 ModelParamMap.insert(std::make_pair("BDtaunu_A", std::cref(BDtaunu_A)));
29 ModelParamMap.insert(std::make_pair("BDtaunu_B", std::cref(BDtaunu_B)));
30 ModelParamMap.insert(std::make_pair("BDstartaunu_SM", std::cref(BDstartaunu_SM)));
31 ModelParamMap.insert(std::make_pair("BDstartaunu_A", std::cref(BDstartaunu_A)));
32 ModelParamMap.insert(std::make_pair("BDstartaunu_B", std::cref(BDstartaunu_B)));
33 ModelParamMap.insert(std::make_pair("bsgamma_theoryerror", std::cref(bsgamma_theoryerror)));
34 ModelParamMap.insert(std::make_pair("Q_THDM", std::cref(Q_THDM)));
35 ModelParamMap.insert(std::make_pair("Rpeps", std::cref(Rpeps)));
36 ModelParamMap.insert(std::make_pair("NLOuniscale", std::cref(NLOuniscale)));
38 flag_wfr = false;
39}
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:280
StandardModel()
The default constructor.
Matching< StandardModelMatching, StandardModel > SMM
An object of type Matching.
A class for the matching in the Standard Model.
double mHh1
Definition: THDM.h:622
Matching< THDMMatching, THDM > THDMM
An object of type THDMMatching.
Definition: THDM.h:616
double mHp1
Definition: THDM.h:622
double BDtaunu_A
Definition: THDM.h:624
double Q_THDM
Definition: THDM.h:622
double BDtaunu_B
Definition: THDM.h:624
double BDstartaunu_SM
Definition: THDM.h:624
double bma
Definition: THDM.h:622
double m12_2
Definition: THDM.h:622
double BDstartaunu_A
Definition: THDM.h:624
double BDtaunu_SM
Definition: THDM.h:624
double mHp2
Definition: THDM.h:622
double BDstartaunu_B
Definition: THDM.h:624
bool flag_wfr
Definition: THDM.h:626
double bsgamma_theoryerror
Definition: THDM.h:622
bool flag_use_sq_masses
Definition: THDM.h:626
double logtb
Definition: THDM.h:622
double mHh2
Definition: THDM.h:622
double Rpeps
Definition: THDM.h:622
double NLOuniscale
Definition: THDM.h:622
double mA1
Definition: THDM.h:622
double mA2
Definition: THDM.h:622

◆ ~THDM()

THDM::~THDM ( )

THDM destructor.

Definition at line 41 of file THDM.cpp.

41 {
42 if (IsModelInitialized()) {
43 if (myTHDMcache != NULL) delete(myTHDMcache);
44 }
45}
bool IsModelInitialized() const
A method to check if the model is initialized.
Definition: Model.h:136
THDMcache * myTHDMcache
An object of type THDMCache.
Definition: THDM.h:620

Member Function Documentation

◆ checkmodelType()

bool THDM::checkmodelType ( const std::string  modeltype) const
inlineprotected

A method to check if the model type name in string form is valid.

Parameters
[in]modeltypeTHDM model type name
Returns
a boolean that is true if the model type name is valid

Definition at line 590 of file THDM.h.

591 {
592 if (modeltype.compare("type1") == 0
593 || modeltype.compare("type2") == 0
594 || modeltype.compare("typeX") == 0
595 || modeltype.compare("typeY") == 0)
596 return true;
597 else
598 return false;
599 }

◆ CheckParameters()

bool THDM::CheckParameters ( const std::map< std::string, double > &  DPars)
virtual

A method to check if all the mandatory parameters for THDM 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 StandardModel.

Definition at line 185 of file THDM.cpp.

185 {
186 for (int i = 0; i < NTHDMvars; i++) {
187 if (DPars.find(THDMvars[i]) == DPars.end()) {
188 std::cout << "ERROR: missing mandatory THDM parameter " << THDMvars[i] << std::endl;
191 }
192 }
194}
std::map< std::string, double > DPars
Definition: Minimal.cpp:11
void addMissingModelParameter(const std::string &missingParameterName)
Definition: Model.h:250
void raiseMissingModelParameterCount()
Definition: Model.h:260
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...
static const int NTHDMvars
Definition: THDM.h:123
static std::string THDMvars[NTHDMvars]
Definition: THDM.h:124

◆ checkRGEorder()

bool THDM::checkRGEorder ( const std::string  RGEorder) const
inlineprotected

A method to check if the RGE order name in string form is valid.

Parameters
[in]RGEorderTHDM RGE order
Returns
a boolean that is true if the RGE order string is valid

Definition at line 606 of file THDM.h.

607 {
608 if (RGEorder.compare("LO") == 0
609 || RGEorder.compare("approxNLO") == 0
610 || RGEorder.compare("NLO") == 0)
611 return true;
612 else
613 return false;
614 }

◆ getBDstartaunu_A()

double THDM::getBDstartaunu_A ( ) const
inline

A method get the \( B\to D^*\tau\nu \) coefficient A.

Returns
\( B\to D^*\tau\nu \) coefficient A

Definition at line 531 of file THDM.h.

531 {
532 return BDstartaunu_A;
533 }

◆ getBDstartaunu_B()

double THDM::getBDstartaunu_B ( ) const
inline

A method get the \( B\to D \tau\nu\) coefficient B.

Returns
\( B\to D \tau\nu\) coefficient B

Definition at line 539 of file THDM.h.

539 {
540 return BDstartaunu_B;
541 }

◆ getBDstartaunu_SM()

double THDM::getBDstartaunu_SM ( ) const
inline

A method get the \( B\to D^*\tau\nu \) SM expectation.

Returns
\( B\to D^*\tau\nu \) SM expectation

Definition at line 523 of file THDM.h.

523 {
524 return BDstartaunu_SM;
525 }

◆ getBDtaunu_A()

double THDM::getBDtaunu_A ( ) const
inline

A method get the \( B\to D \tau\nu\) coefficient A.

Returns
\( B\to D \tau\nu\) coefficient A

Definition at line 507 of file THDM.h.

507 {
508 return BDtaunu_A;
509 }

◆ getBDtaunu_B()

double THDM::getBDtaunu_B ( ) const
inline

A method get the \( B\to D \tau\nu\) coefficient B.

Returns
\( B\to D \tau\nu\) coefficient B

Definition at line 515 of file THDM.h.

515 {
516 return BDtaunu_B;
517 }

◆ getBDtaunu_SM()

double THDM::getBDtaunu_SM ( ) const
inline

A method get the \( B\to D \tau\nu\) SM expectation.

Returns
\( B\to D \tau\nu\) SM expectation

Definition at line 499 of file THDM.h.

499 {
500 return BDtaunu_SM;
501 }

◆ getbma()

double THDM::getbma ( ) const
inline

A method get \(\beta-\alpha\).

Returns
\(\beta-\alpha\)

Definition at line 307 of file THDM.h.

307 {
308 return bma;
309 }

◆ getbsgamma_theoryerror()

double THDM::getbsgamma_theoryerror ( ) const
inline

A method get the nuisance parameter for the theoretical error on \( b\to s\gamma\).

Returns
nuisance parameter for the theoretical error on \( b\to s\gamma\)

Definition at line 547 of file THDM.h.

547 {
548 return bsgamma_theoryerror;
549 }

◆ getcosa()

double THDM::getcosa ( ) const
inline

A method get \(\cos \alpha\).

Returns
\(\cos \alpha\)

Definition at line 323 of file THDM.h.

323 {
324 return cos(atan(pow(10.,logtb))-bma);
325 }

◆ getcosb()

double THDM::getcosb ( ) const
inline

A method get \(\cos \beta\).

Returns
\(\cos \beta\)

Definition at line 299 of file THDM.h.

299 {
300 return cosb;
301 }
double cosb
Definition: THDM.h:622

◆ getlogtb()

double THDM::getlogtb ( ) const
inline

A method get \(\log_{10}(\tan \beta)\).

Returns
\(\log_{10}(\tan \beta)\)

Definition at line 275 of file THDM.h.

275 {
276 return logtb;
277 }

◆ getm12_2()

double THDM::getm12_2 ( ) const
inline

A method get the parameter of the Higgs potential \(m_{12}^2\).

Returns
parameter of the Higgs potential \(m_{12}^2\)

Definition at line 491 of file THDM.h.

491 {
492 return m12_2;
493 }

◆ getmA()

double THDM::getmA ( ) const
inline

A method get the mass of the pseudoscalar Higgs A.

Returns
mass of the pseudoscalar Higgs A

Definition at line 437 of file THDM.h.

437 {
439 if(mA2 < 0.) {
440 return 0.;
441 }
442 else
443 {
444 return sqrt(mA2);
445 }
446 }
447 else
448 {
449 return mA1;
450 }
451 }

◆ getmA2()

double THDM::getmA2 ( ) const
inline

A method get the squared mass of the pseudoscalar Higgs A.

Returns
squared mass of the pseudoscalar Higgs A

Definition at line 423 of file THDM.h.

423 {
425 return mA2;
426 }
427 else
428 {
429 return mA1*mA1;
430 }
431 }

◆ getMatching()

virtual THDMMatching & THDM::getMatching ( ) const
inlinevirtual

A get method to access the member reference of type THDMMatching.

Returns
a reference to a THDMMatching object

Reimplemented from StandardModel.

Definition at line 185 of file THDM.h.

186 {
187 return THDMM.getObj();
188 }

◆ getmHh()

double THDM::getmHh ( ) const
inline

A method get the mass of the "non-125 GeV" neutral scalar Higgs.

Returns
mass of the "non-125 GeV" neutral scalar Higgs

Definition at line 394 of file THDM.h.

394 {
396 if(mHh2 < 0.) {
397 return 0.;
398 }
399 else if(mHh2 < mHl2) {
400 return sqrt(mHl2);
401 }
402 else
403 {
404 return sqrt(mHh2);
405 }
406 }
407 else
408 {
409 if(mHh1*mHh1 < mHl2) {
410 return sqrt(mHl2);
411 }
412 else
413 {
414 return mHh1;
415 }
416 }
417 }
double mHl2
Definition: THDM.h:623

◆ getmHh2()

double THDM::getmHh2 ( ) const
inline

A method get the squared mass of the "non-125 GeV" neutral scalar Higgs.

Returns
squared mass of the "non-125 GeV" neutral scalar Higgs

Definition at line 365 of file THDM.h.

365 {
367 if(mHh2 < 0.) {
368 return 0.;
369 }
370 else if(mHh2 < mHl2) {
371 return mHl2;
372 }
373 else
374 {
375 return mHh2;
376 }
377 }
378 else
379 {
380 if(mHh1*mHh1 < mHl2) {
381 return mHl2;
382 }
383 else
384 {
385 return mHh1*mHh1;
386 }
387 }
388 }

◆ getmHl2()

double THDM::getmHl2 ( ) const
inline

A method get the squared mass of the lighter neutral scalar Higgs.

Returns
squared mass of the lighter neutral scalar Higgs

Definition at line 339 of file THDM.h.

339 {
341 if(mHh2 < mHl2) {
342 return mHh2;
343 }
344 else
345 {
346 return mHl2;
347 }
348 }
349 else
350 {
351 if(mHh1*mHh1 < mHl2) {
352 return mHh1*mHh1;
353 }
354 else
355 {
356 return mHl2;
357 }
358 }
359 }

◆ getmHp()

double THDM::getmHp ( ) const
inline

A method get the charged Higgs mass.

Returns
charged Higgs mass

Definition at line 471 of file THDM.h.

471 {
473 if(mHp2 < 0.) {
474 return 0.;
475 }
476 else
477 {
478 return sqrt(mHp2);
479 }
480 }
481 else
482 {
483 return mHp1;
484 }
485 }

◆ getmHp2()

double THDM::getmHp2 ( ) const
inline

A method get the squared charged Higgs mass.

Returns
squared charged Higgs mass

Definition at line 457 of file THDM.h.

457 {
459 return mHp2;
460 }
461 else
462 {
463 return mHp1*mHp1;
464 }
465 }

◆ getModelTypeflag()

std::string THDM::getModelTypeflag ( ) const
inline

A method get the THDM model type.

Returns
THDM model type

Definition at line 242 of file THDM.h.

242 {
243 return flag_model;
244 }
std::string flag_model
Definition: THDM.h:625

◆ getMyTHDMCache()

THDMcache * THDM::getMyTHDMCache ( ) const
inline

A method get the THDMCache.

Returns
a object of the type THDMCache

Definition at line 213 of file THDM.h.

214 {
215 return myTHDMcache;
216 }

◆ getNLOuniscale()

double THDM::getNLOuniscale ( ) const
inline

A method get the minimal NLO unitarity check scale.

Returns
Minimal NLO unitarity check scale

Definition at line 571 of file THDM.h.

571 {
572 return NLOuniscale;
573 }

◆ getQ_THDM()

double THDM::getQ_THDM ( ) const
inline

A method get the THDM scale.

Returns
THDM scale

Definition at line 555 of file THDM.h.

555 {
556 return Q_THDM;
557 }

◆ getRGEorderflag()

std::string THDM::getRGEorderflag ( ) const
inline

A method get switch for NLO RGE and approximate NLO RGE.

Returns
Switch for NLO RGE and approximate NLO RGE

Definition at line 250 of file THDM.h.

250 {
251 return flag_RGEorder;
252 }
std::string flag_RGEorder
Definition: THDM.h:625

◆ getRpeps()

double THDM::getRpeps ( ) const
inline

A method get the minimal R' value.

Returns
Minimal R' value

Definition at line 563 of file THDM.h.

563 {
564 return Rpeps;
565 }

◆ getsin_ba()

double THDM::getsin_ba ( ) const
inline

A method get \(\sin(\beta-\alpha)\).

Returns
\(\sin(\beta-\alpha)\)

Definition at line 315 of file THDM.h.

315 {
316 return sin_ba;
317 }
double sin_ba
Definition: THDM.h:622

◆ getsina()

double THDM::getsina ( ) const
inline

A method get \(\sin \alpha\).

Returns
\(\sin \alpha\)

Definition at line 331 of file THDM.h.

331 {
332 return sin(atan(pow(10.,logtb))-bma);
333 }

◆ getsinb()

double THDM::getsinb ( ) const
inline

A method get \(\sin \beta\).

Returns
\(\sin \beta\)

Definition at line 291 of file THDM.h.

291 {
292 return sinb;
293 }
double sinb
Definition: THDM.h:622

◆ getsqmassesflag()

bool THDM::getsqmassesflag ( ) const
inline

A method choose if you want to use the THDM masses or rather their squares.

Returns
Choose if you want to use the THDM masses or rather their squares

Definition at line 258 of file THDM.h.

258 {
259 return flag_use_sq_masses;
260 }

◆ gettanb()

double THDM::gettanb ( ) const
inline

A method get \(\tan \beta\).

Returns
\(\tan \beta\)

Definition at line 283 of file THDM.h.

283 {
284 return tanb;
285 }
double tanb
Definition: THDM.h:622

◆ getv1()

double THDM::getv1 ( ) const
inline

A method get the VEV \(v_1\).

Returns
the VEV \(v_1\)

Definition at line 224 of file THDM.h.

224 {
225 return v() * cosb;
226 }
const double v() const
The Higgs vacuum expectation value.

◆ getv2()

double THDM::getv2 ( ) const
inline

A method get the VEV \(v_2\).

Returns
the VEV \(v_2\)

Definition at line 232 of file THDM.h.

232 {
233 return v() * sinb;
234 }

◆ getWFRflag()

bool THDM::getWFRflag ( ) const
inline

A method get the flag to switch on wavefunction renormalization for the NLO unitarity conditions.

Returns
Flag to switch on wavefunction renormalization for the NLO unitarity conditions

Definition at line 267 of file THDM.h.

267 {
268 return flag_wfr;
269 }

◆ Init()

bool THDM::Init ( const std::map< std::string, double > &  DPars)
virtual

Initializes the THDM parameters found in the argument.

Parameters
[in]DParsa map containing the parameters (all as double) to be used in Monte Carlo

Reimplemented from StandardModel.

Definition at line 58 of file THDM.cpp.

58 {
60}
virtual bool Init(const std::map< std::string, double > &DPars)
A method to initialize the model parameters.

◆ InitializeModel()

bool THDM::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

Reimplemented from StandardModel.

Definition at line 50 of file THDM.cpp.

51{
52 myTHDMcache = new THDMcache(*this);
55 return(true);
56}
void setModelTHDM()
Definition: Model.h:194
void setModelInitialized(bool ModelInitialized)
A set method to fix the failure or success of the initialization of the model.
Definition: Model.h:145
virtual bool InitializeModel()
A method to initialize the model.
A class for the caching of some THDM objects.
Definition: THDMcache.h:29

◆ PostUpdate()

bool THDM::PostUpdate ( )
virtual

The post-update method for THDM.

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

Returns
a boolean that is true if the execution is successful

Reimplemented from StandardModel.

Definition at line 85 of file THDM.cpp.

86{
87 if(!StandardModel::PostUpdate()) return (false);
88
90
91 return (true);
92}
virtual bool PostUpdate()
The post-update method for StandardModel.
double updateCache()

◆ PreUpdate()

bool THDM::PreUpdate ( )
virtual

The pre-update method for THDM.

Returns
a boolean that is true if the execution is successful

Reimplemented from StandardModel.

Definition at line 62 of file THDM.cpp.

63{
64 if(!StandardModel::PreUpdate()) return (false);
65
66 return (true);
67}
virtual bool PreUpdate()
The pre-update method for StandardModel.

◆ setFlag()

bool THDM::setFlag ( const std::string  name,
const bool  value 
)
virtual

A method to set a flag of THDM.

Parameters
[in]namename of a model flag
[in]valuethe boolean to be assigned to the flag specified by name
Returns
a boolean that is true if the execution is successful

Reimplemented from StandardModel.

Definition at line 235 of file THDM.cpp.

236{
237 bool res = false;
238 if(name.compare("use_sq_masses") == 0) {
239 flag_use_sq_masses = value;
240 res = true;
241 if (!flag_use_sq_masses) {
242 THDMvars[std::distance(THDMvars,std::find(THDMvars,THDMvars+NTHDMvars,"mHh2"))] = "mHh1";
243 THDMvars[std::distance(THDMvars,std::find(THDMvars,THDMvars+NTHDMvars,"mA2"))] = "mA1";
244 THDMvars[std::distance(THDMvars,std::find(THDMvars,THDMvars+NTHDMvars,"mHp2"))] = "mHp1";
245
246 ModelParamMap.insert(std::make_pair("mHh1", std::cref(mHh1)));
247 ModelParamMap.insert(std::make_pair("mA1", std::cref(mA1)));
248 ModelParamMap.insert(std::make_pair("mHp1", std::cref(mHp1)));
249 }
250 }
251 else if(name.compare("wavefunctionrenormalization") == 0) {
252 flag_wfr = value;
253 res = true;
254 }
255 else
256 res = StandardModel::setFlag(name,value);
257
258 return(res);
259}
std::string name
The name of the model.
Definition: Model.h:285
virtual bool setFlag(const std::string name, const bool value)
A method to set a flag of StandardModel.

◆ setFlagStr()

bool THDM::setFlagStr ( const std::string  name,
const std::string  value 
)
virtual

A method to set a string flag of THDM.

Parameters
[in]namename of a model flag
[in]valuethe string to be assigned to the flag specified by name
Returns
a boolean that is true if the execution is successful

Reimplemented from StandardModel.

Definition at line 199 of file THDM.cpp.

200{
201 bool res = false;
202 if(name.compare("modelTypeflag") == 0)
203 {
204 if (checkmodelType(value))
205 {
206 flag_model = value;
207 res = true;
208 }
209 else
210 {
211 throw std::runtime_error("THDM::setFlagStr(): Invalid flag "
212 + name + "=" + value);
213 }
214 }
215 else if(name.compare("RGEorder") == 0) {
216 if (checkRGEorder(value))
217 {
218 flag_RGEorder = value;
219 res = true;
220 }
221 else
222 {
223 throw std::runtime_error("THDM::setFlagStr(): Invalid flag "
224 + name + "=" + value);
225 }
226 }
227 else
228 {
229 res = StandardModel::setFlagStr(name,value);
230 }
231
232 return(res);
233}
virtual bool setFlagStr(const std::string name, const std::string value)
A method to set a flag of StandardModel.
bool checkmodelType(const std::string modeltype) const
A method to check if the model type name in string form is valid.
Definition: THDM.h:590
bool checkRGEorder(const std::string RGEorder) const
A method to check if the RGE order name in string form is valid.
Definition: THDM.h:606

◆ setParameter()

void THDM::setParameter ( const std::string  name,
const double &  value 
)
protectedvirtual

A method to set the value of a parameter of THDM.

Parameters
[in]namename of a model parameter
[in]valuethe value to be assigned to the parameter specified by name

Reimplemented from StandardModel.

Definition at line 94 of file THDM.cpp.

94 {
95
96 if(name.compare("logtb") == 0) {
97 logtb = value;
98 tanb = pow(10.,logtb);
99 if(tanb > 0.) {
100 sinb = tanb / sqrt(1. + tanb*tanb);
101 cosb = 1. / sqrt(1. + tanb*tanb);
102 }
103 else {
104 throw std::runtime_error("error in THDM::SetParameter, tanb < 0!");
105 }
106 }
107 else if(name.compare("bma") == 0) {
108 bma = value;
109 sin_ba = sin(bma);
110 }
111 else if(name.compare("mHh1") == 0){
113 mHh1 = value;
114 }
115 else{
116 mHh1=sqrt(mHh2);
117 }
118 }
119 else if(name.compare("mA1") == 0){
121 mA1 = value;
122 }
123 else{
124 mA1=sqrt(mA2);
125 }
126 }
127 else if(name.compare("mHp1") == 0){
129 mHp1 = value;
130 }
131 else{
132 mHp1=sqrt(mHp2);
133 }
134 }
135 else if(name.compare("mHh2") == 0){
137 mHh2 = value;
138 }
139 else{
140 mHh2=mHh1*mHh1;
141 }
142 }
143 else if(name.compare("mA2") == 0){
145 mA2 = value;
146 }
147 else{
148 mA2=mA1*mA1;
149 }
150 }
151 else if(name.compare("mHp2") == 0){
153 mHp2 = value;
154 }
155 else{
156 mHp2=mHp1*mHp1;
157 }
158 }
159 else if(name.compare("m12_2") == 0)
160 m12_2 = value;
161 else if(name.compare("BDtaunu_SM") == 0)
162 BDtaunu_SM = value;
163 else if(name.compare("BDtaunu_A") == 0)
164 BDtaunu_A = value;
165 else if(name.compare("BDtaunu_B") == 0)
166 BDtaunu_B = value;
167 else if(name.compare("BDstartaunu_SM") == 0)
168 BDstartaunu_SM = value;
169 else if(name.compare("BDstartaunu_A") == 0)
170 BDstartaunu_A = value;
171 else if(name.compare("BDstartaunu_B") == 0)
172 BDstartaunu_B = value;
173 else if(name.compare("bsgamma_theoryerror") == 0)
174 bsgamma_theoryerror = value;
175 else if(name.compare("Q_THDM") == 0)
176 Q_THDM = value;
177 else if(name.compare("Rpeps") == 0)
178 Rpeps = value;
179 else if(name.compare("NLOuniscale") == 0)
180 NLOuniscale = value;
181 else
183}
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.

◆ Update()

bool THDM::Update ( const std::map< std::string, double > &  DPars)
virtual

The update method for THDM.

This method updates all the model parameters with given DPars.

Parameters
[in]DParsa map of the parameters that are being updated in the Monte Carlo run
Returns
a boolean that is true if the execution is successful

Reimplemented from StandardModel.

Definition at line 69 of file THDM.cpp.

69 {
70
71 if(!PreUpdate()) return (false);
72
73 UpdateError = false;
74
75 for (std::map<std::string, double>::const_iterator it = DPars.begin(); it != DPars.end(); it++)
76 setParameter(it->first, it->second);
77
78 if (UpdateError) return (false);
79
80 if(!PostUpdate()) return (false);
81
82 return (true);
83}
bool UpdateError
A boolean set to false if update is successful.
Definition: Model.h:272
virtual bool PreUpdate()
The pre-update method for THDM.
Definition: THDM.cpp:62
virtual bool PostUpdate()
The post-update method for THDM.
Definition: THDM.cpp:85
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of THDM.
Definition: THDM.cpp:94

Member Data Documentation

◆ BDstartaunu_A

double THDM::BDstartaunu_A
private

Definition at line 624 of file THDM.h.

◆ BDstartaunu_B

double THDM::BDstartaunu_B
private

Definition at line 624 of file THDM.h.

◆ BDstartaunu_SM

double THDM::BDstartaunu_SM
private

Definition at line 624 of file THDM.h.

◆ BDtaunu_A

double THDM::BDtaunu_A
private

Definition at line 624 of file THDM.h.

◆ BDtaunu_B

double THDM::BDtaunu_B
private

Definition at line 624 of file THDM.h.

◆ BDtaunu_SM

double THDM::BDtaunu_SM
private

Definition at line 624 of file THDM.h.

◆ bma

double THDM::bma
private

Definition at line 622 of file THDM.h.

◆ bsgamma_theoryerror

double THDM::bsgamma_theoryerror
private

Definition at line 622 of file THDM.h.

◆ cosb

double THDM::cosb
private

Definition at line 622 of file THDM.h.

◆ flag_model

std::string THDM::flag_model
private

Definition at line 625 of file THDM.h.

◆ flag_RGEorder

std::string THDM::flag_RGEorder
private

Definition at line 625 of file THDM.h.

◆ flag_use_sq_masses

bool THDM::flag_use_sq_masses
private

Definition at line 626 of file THDM.h.

◆ flag_wfr

bool THDM::flag_wfr
private

Definition at line 626 of file THDM.h.

◆ logtb

double THDM::logtb
private

Definition at line 622 of file THDM.h.

◆ m12_2

double THDM::m12_2
private

Definition at line 622 of file THDM.h.

◆ mA1

double THDM::mA1
private

Definition at line 622 of file THDM.h.

◆ mA2

double THDM::mA2
private

Definition at line 622 of file THDM.h.

◆ mHh1

double THDM::mHh1
private

Definition at line 622 of file THDM.h.

◆ mHh2

double THDM::mHh2
private

Definition at line 622 of file THDM.h.

◆ mHl2

double THDM::mHl2
private

Definition at line 623 of file THDM.h.

◆ mHp1

double THDM::mHp1
private

Definition at line 622 of file THDM.h.

◆ mHp2

double THDM::mHp2
private

Definition at line 622 of file THDM.h.

◆ myTHDMcache

THDMcache* THDM::myTHDMcache
private

An object of type THDMCache.

Definition at line 620 of file THDM.h.

◆ NLOuniscale

double THDM::NLOuniscale
private

Definition at line 622 of file THDM.h.

◆ NTHDMvars

const int THDM::NTHDMvars = 16
static

Definition at line 123 of file THDM.h.

◆ Q_THDM

double THDM::Q_THDM
private

Definition at line 622 of file THDM.h.

◆ Rpeps

double THDM::Rpeps
private

Definition at line 622 of file THDM.h.

◆ sin_ba

double THDM::sin_ba
private

Definition at line 622 of file THDM.h.

◆ sinb

double THDM::sinb
private

Definition at line 622 of file THDM.h.

◆ tanb

double THDM::tanb
private

Definition at line 622 of file THDM.h.

◆ THDMM

Matching<THDMMatching,THDM> THDM::THDMM
mutableprotected

An object of type THDMMatching.

Definition at line 616 of file THDM.h.

◆ THDMvars

std::string THDM::THDMvars
static
Initial value:
= {"logtb","bma","mHh2","mA2","mHp2","m12_2",
"BDtaunu_SM","BDtaunu_A","BDtaunu_B","BDstartaunu_SM","BDstartaunu_A","BDstartaunu_B",
"bsgamma_theoryerror","Q_THDM","Rpeps","NLOuniscale"}

Definition at line 124 of file THDM.h.


The documentation for this class was generated from the following files: