a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
StandardModel.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef STANDARDMODEL_H
9 #define STANDARDMODEL_H
10 
11 #include "Flavour.h"
12 #include "QCD.h"
13 #include "CKM.h"
14 #include "PMNS.h"
15 #include "StandardModelMatching.h"
16 #include "Matching.h"
17 #include <gsl/gsl_integration.h>
18 
19 class EWSMcache;
20 class EWSMOneLoopEW;
21 class EWSMTwoLoopQCD;
22 class EWSMTwoLoopEW;
23 class EWSMThreeLoopQCD;
25 class EWSMThreeLoopEW;
27 class LeptonFlavour;
28 
29 
474 class StandardModel : public QCD {
475 public:
476 
477 
478  // Radiative Corrections for the LEP-II observables
479  enum LEP2RCs {
480  Weak = 0,
482  ISR,
486  };
487 
492  enum orders_EW {
493  EW1 = 0,
496  EW2,
498  EW3,
500  };
501 
502 
503 
504 // static const int NSMvars = 38; ///< The number of the model parameters in %StandardModel. !!! PMNS INCLUDED
505  static const int NSMvars = 26;
506 
509  static std::string SMvars[NSMvars];
510 
511  static const double GeVminus2_to_nb;
512 
517  static const double Mw_error;
518 
522  StandardModel();
523 
527  virtual ~StandardModel();
528 
529 
531  // Initialization
532 
539  virtual bool InitializeModel();
540 
541 
543  // Model parameters
544 
551  virtual bool Init(const std::map<std::string, double>& DPars);
552 
560  virtual bool PreUpdate();
561 
569  virtual bool Update(const std::map<std::string, double>& DPars);
570 
580  virtual bool PostUpdate();
581 
582  int getIterationNo() const
583  {
584  return iterationNo;
585  }
586 
594  virtual bool CheckParameters(const std::map<std::string, double>& DPars);
595 
596 
598  // Flags
599 
606  virtual bool setFlag(const std::string name, const bool value);
607 
614  virtual bool setFlagStr(const std::string name, const std::string value);
615 
620  virtual bool CheckFlags() const;
621 
632  {
634  }
635 
645  {
647  }
648 
650  {
651  this->FlagNoApproximateGammaZ = FlagNoApproximateGammaZ;
652  }
653 
659  std::string getFlagMw() const
660  {
661  return FlagMw;
662  }
663 
669  std::string getFlagRhoZ() const
670  {
671  return FlagRhoZ;
672  }
673 
679  std::string getFlagKappaZ() const
680  {
681  return FlagKappaZ;
682  }
683 
696  {
697  this->FlagCacheInStandardModel = FlagCacheInStandardModel;
698  }
699 
700 
702  // get and set methods for class members
703 
710  {
711  return leptons[p];
712  }
713 
718  double getMz() const
719  {
720  return Mz;
721  }
722 
727  double getAlsMz() const
728  {
729  return AlsMz;
730  }
731 
736  double getGF() const
737  {
738  return GF;
739  }
740 
745  double getAle() const
746  {
747  return ale;
748  }
749 
756  double getDAle5Mz() const
757  {
758  return dAle5Mz;
759  }
760 
765  virtual double getMHl() const
766  {
767  return mHl;
768  }
769 
775  double getDelMw() const
776  {
777  return delMw;
778  }
779 
786  double getDelSin2th_l() const
787  {
788  return delSin2th_l;
789  }
790 
797  double getDelSin2th_q() const
798  {
799  return delSin2th_q;
800  }
801 
808  double getDelSin2th_b() const
809  {
810  return delSin2th_b;
811  }
812 
818  double getDelGammaZ() const
819  {
820  return delGammaZ;
821  }
822 
828  double getDelSigma0H() const
829  {
830  return delsigma0H;
831  }
832 
838  double getDelR0l() const
839  {
840  return delR0l;
841  }
842 
848  double getDelR0c() const
849  {
850  return delR0c;
851  }
852 
858  double getDelR0b() const
859  {
860  return delR0b;
861  }
862 
867  gslpp::matrix<gslpp::complex> getVCKM() const // why don't we return a const reference?
868  {
869  return myCKM.getCKM();
870  }
871 
876  CKM getCKM() const
877  {
878  return myCKM;
879  }
880 
886  {
887  return myPMNS.getPMNS();
888  }
889 
896  {
897  return Yu;
898  }
899 
906  {
907  return Yd;
908  }
909 
916  {
917  return Yn;
918  }
919 
926  {
927  return Ye;
928  }
929 
935  double getMuw() const
936  {
937  return muw;
938  }
939 
940  virtual StandardModel getTrueSM() const
941  {
942  throw std::runtime_error("StandardModel::getTrueSM() must be overridden by the NP extension.");
943  }
944 
950  {
951  return SMM.getObj();
952  }
953 
959  {
960  return myEWSMcache;
961  }
962 
968  {
969  return myOneLoopEW;
970  }
971 
977  {
978  return myApproximateFormulae;
979  }
980 
982  {
983  return myThreeLoopEW;
984  }
985 
987  {
988  return myThreeLoopEW2QCD;
989  }
990 
992  {
993  return myThreeLoopQCD;
994  }
995 
997  {
998  return myTwoLoopEW;
999  }
1000 
1002  {
1003  return myTwoLoopQCD;
1004  }
1005 
1006  const Flavour& getFlavour() const
1007  {
1008  return SMFlavour;
1009  }
1010 
1012  {
1013  return myLeptonFlavour;
1014  }
1016  // QED coupling
1017 
1029  double ale_OS(const double mu, orders order = FULLNLO) const;
1030 
1037  double Beta_s(int nm, unsigned int nf) const;
1038 
1045  double Beta_e(int nm, unsigned int nf) const;
1046 
1057 #ifdef __clang__
1058 #pragma clang diagnostic push
1059 #pragma clang diagnostic ignored "-Woverloaded-virtual"
1060 #endif
1061  double Als(double mu, orders order = FULLNLO, bool qed_flag = false, bool Nf_thr = true) const;
1062  double AlsByOrder(double mu, orders order = FULLNLO, bool qed_flag = false, bool Nf_thr = true) const;
1063 #ifdef __clang__
1064 #pragma clang diagnostic pop
1065 #endif
1066 
1076  double Ale(double mu, orders order, bool Nf_thr = true) const;
1077 
1084  double DeltaAlphaLepton(const double s) const;
1085 
1098  double DeltaAlphaL5q() const;
1099 
1106  double DeltaAlphaTop(const double s) const;
1107 
1120  double DeltaAlpha() const;
1121 
1131  double alphaMz() const;
1132 
1139  double Alstilde5(const double mu) const;
1140 
1144  virtual double getCCC1() const { return 0.; };
1145 
1149  virtual double getCCC2() const { return 0.; };
1150 
1154  virtual double getCCC3() const { return 0.; };
1155 
1159  virtual double getCCC4() const { return 0.; };
1160 
1164  virtual double getCCC5() const { return 0.; };
1165 
1166 
1167 
1169  // Higgs VEV
1170 
1179  virtual double v() const;
1180 
1181 
1183  // The W-boson mass
1184 
1189  virtual double Mw_tree() const;
1190 
1206  double s02() const;
1207 
1220  double c02() const;
1221 
1248  virtual double Mw() const;
1249 
1259  virtual double cW2(const double Mw_i) const;
1260  virtual double cW2() const;
1261 
1271  virtual double sW2(const double Mw_i) const;
1272  double sW2() const;
1273 
1295  virtual double DeltaR() const;
1296 
1305  void ComputeDeltaRho(const double Mw_i, double DeltaRho[orders_EW_size]) const;
1306 
1315  void ComputeDeltaR_rem(const double Mw_i, double DeltaR_rem[orders_EW_size]) const;
1316 
1317 
1319  // The W and Z masses in the complex-pole/fixed-width scheme
1320 
1351  double Mzbar() const;
1352 
1373  double MwbarFromMw(const double Mw) const;
1374 
1398  double MwFromMwbar(const double Mwbar) const;
1399 
1417  virtual double DeltaRbar() const;
1418 
1419 
1421  // The W-boson decay width
1422 
1431  virtual double rho_GammaW(const Particle fi, const Particle fj) const;
1432 
1459  virtual double GammaW(const Particle fi, const Particle fj) const;
1460 
1465  virtual double GammaW() const;
1466 
1467 
1469  // EWPO at Z-pole
1470 
1489  virtual double A_f(const Particle f) const;
1490 
1496  virtual double AFB(const Particle f) const;
1497 
1517  virtual double sin2thetaEff(const Particle f) const;
1518 
1544  virtual double GammaZ(const Particle f) const;
1545 
1556  virtual double Gamma_inv() const;
1557 
1572  virtual double Gamma_had() const;
1573 
1587  virtual double Gamma_Z() const;
1588 
1602  virtual double sigma0_had() const;
1603 
1618  virtual double R0_f(const Particle f) const;
1619 
1628  virtual double R_inv() const;
1629 
1639  virtual double N_nu() const;
1640 
1641 
1643  // Zff effective couplings
1644 
1654  virtual gslpp::complex gV_f(const Particle f) const;
1655 
1665  virtual gslpp::complex gA_f(const Particle f) const;
1666 
1682  virtual gslpp::complex rhoZ_f(const Particle f) const;
1683 
1711  virtual gslpp::complex kappaZ_f(const Particle f) const;
1712 
1733  virtual gslpp::complex deltaRhoZ_f(const Particle f) const;
1734 
1759  virtual gslpp::complex deltaKappaZ_f(const Particle f) const;
1760 
1761 
1763  // Epsilon parameters for EWPO
1764 
1776  virtual double epsilon1() const;
1777 
1798  virtual double epsilon2() const;
1799 
1817  virtual double epsilon3() const;
1818 
1836  virtual double epsilonb() const;
1837 
1838 
1840  // For EWPO caches
1841 
1849  static const int NumSMParamsForEWPO = 33;
1850 
1865  bool checkSMparamsForEWPO();
1866 
1868  // Several Higgs-related quantities used in Higgs coupling analysis
1869 
1883  double computeSigmaggH(const double sqrt_s) const
1884  {
1885  if (sqrt_s == 7.0) {
1886  return 16.83; // in pb for Mh=125.1 GeV
1887  } else if (sqrt_s == 8.0) {
1888  return 21.40; // in pb for Mh=125.1 GeV
1889  } else if (sqrt_s == 13.0) {
1890  return 48.61; // in pb for Mh=125.09 GeV
1891  } else if (sqrt_s == 14.0) {
1892  return 54.72; // in pb for Mh=125.09 GeV
1893  } else if (sqrt_s == 27.0) {
1894  return 146.65; // in pb for Mh=125.09 GeV
1895  } else if (sqrt_s == 100.0) {
1896  return 740.3; // in pb for Mh=125. GeV
1897  } else if (sqrt_s == 1.96) {
1898  return 0.9493; // in pb for Mh=125 GeV
1899  } else
1900  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH()");
1901  }
1902 
1910  double computeSigmaggH_tt(const double sqrt_s) const
1911  {
1912  if (sqrt_s == 7.0) {
1913  return 16.69; // in pb for Mh=125.09 GeV
1914  } else if (sqrt_s == 8.0) {
1915  return 21.20; // in pb for Mh=125.09 GeV
1916  } else if (sqrt_s == 13.0) {
1917  return 47.94; // in pb for Mh=125.09 GeV
1918  } else if (sqrt_s == 14.0) {
1919  return 53.93; // in pb for Mh=125.09 GeV
1920  } else if (sqrt_s == 27.0) {
1921  return computeSigmaggH(sqrt_s) / computeSigmaggH(14.) * computeSigmaggH_tt(14.); // in the absence of this value we rescale the LHC result at 14 TeV
1922  } else if (sqrt_s == 100.0) {
1923  return computeSigmaggH(sqrt_s) / computeSigmaggH(14.) * computeSigmaggH_tt(14.); // in the absence of this value we rescale the LHC result at 14 TeV
1924  } else
1925  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH_tt()");
1926  }
1927 
1935  double computeSigmaggH_bb(const double sqrt_s) const
1936  {
1937  if (sqrt_s == 7.0) {
1938  return 0.04; // in pb for Mh=125.09 GeV
1939  } else if (sqrt_s == 8.0) {
1940  return 0.05; // in pb for Mh=125.09 GeV
1941  } else if (sqrt_s == 13.0) {
1942  return 0.10; // in pb for Mh=125.09 GeV
1943  } else if (sqrt_s == 14.0) {
1944  return 0.11; // in pb for Mh=125.09 GeV
1945  } else if (sqrt_s == 27.0) {
1946  return computeSigmaggH(sqrt_s) / computeSigmaggH(14.) * computeSigmaggH_bb(14.); // in the absence of this value we rescale the LHC result at 14 TeV
1947  } else if (sqrt_s == 100.0) {
1948  return computeSigmaggH(sqrt_s) / computeSigmaggH(14.) * computeSigmaggH_bb(14.); // in the absence of this value we rescale the LHC result at 14 TeV
1949  } else
1950  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH_bb()");
1951  }
1952 
1960  double computeSigmaggH_tb(const double sqrt_s) const
1961  {
1962  if (sqrt_s == 7.0) {
1963  return -0.66; // in pb for Mh=125.09 GeV
1964  } else if (sqrt_s == 8.0) {
1965  return -0.82; // in pb for Mh=125.09 GeV
1966  } else if (sqrt_s == 13.0) {
1967  return -1.73; // in pb for Mh=125.09 GeV
1968  } else if (sqrt_s == 14.0) {
1969  return -1.92; // in pb for Mh=125.09 GeV
1970  } else if (sqrt_s == 27.0) {
1971  return computeSigmaggH(sqrt_s) / computeSigmaggH(14.) * computeSigmaggH_tb(14.); // in the absence of this value we rescale the LHC result at 14 TeV
1972  } else if (sqrt_s == 100.0) {
1973  return computeSigmaggH(sqrt_s) / computeSigmaggH(14.) * computeSigmaggH_tb(14.); // in the absence of this value we rescale the LHC result at 14 TeV
1974  } else
1975  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH_tb()");
1976  }
1977 
1989  double computeSigmaVBF(const double sqrt_s) const
1990  {
1991  if (sqrt_s == 7.0) {
1992  return 1.241; // in pb for Mh=125.09 GeV
1993  } else if (sqrt_s == 8.0) {
1994  return 1.601; // in pb for Mh=125.09 GeV
1995  } else if (sqrt_s == 13.0) {
1996  return 3.766; // in pb for Mh=125.09 GeV
1997  } else if (sqrt_s == 14.0) {
1998  return 4.260; // in pb for Mh=125.09 GeV
1999  } else if (sqrt_s == 27.0) {
2000  return 11.838; // in pb for Mh=125.09 GeV
2001  } else if (sqrt_s == 100.0) {
2002  return 82.0; // in pb for Mh=125. GeV
2003  } else if (sqrt_s == 1.96) {
2004  return 0.0653; // in pb for Mh=125 GeV
2005  } else
2006  throw std::runtime_error("Bad argument in StandardModel::computeSigmaVBF()");
2007  }
2008 
2017  double computeSigmaWF(const double sqrt_s) const
2018  {
2019  if (sqrt_s == 7.0) {
2020  return 0.946; // in pb for Mh=125 GeV
2021  } else if (sqrt_s == 8.0) {
2022  return 1.220; // in pb for Mh=125 GeV
2023  } else if (sqrt_s == 13.0) {
2024  return 2.882; // in pb for Mh=125 GeV
2025  } else if (sqrt_s == 14.0) {
2026  return 3.260; // in pb for Mh=125 GeV
2027  } else if (sqrt_s == 27.0) {
2028  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(14.) * computeSigmaWF(14.); // in the absence of this value we rescale the LHC result at 14 TeV
2029  } else if (sqrt_s == 100.0) {
2030  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(14.) * computeSigmaWF(14.); // in the absence of this value we rescale the LHC result at 14 TeV
2031  } else if (sqrt_s == 1.96) {
2032  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(7.) * computeSigmaWF(7.); // in the absence of individual cross sections for TeVatron we rescale the LHC ones
2033  } else
2034  throw std::runtime_error("Bad argument in StandardModel::computeSigmaWF()");
2035  }
2036 
2045  double computeSigmaZF(const double sqrt_s) const
2046  {
2047  if (sqrt_s == 7.0) {
2048  return 0.333; // in pb for Mh=125 GeV
2049  } else if (sqrt_s == 8.0) {
2050  return 0.432; // in pb for Mh=125 GeV
2051  } else if (sqrt_s == 13.0) {
2052  return 1.049; // in pb for Mh=125 GeV
2053  } else if (sqrt_s == 14.0) {
2054  return 1.191; // in pb for Mh=125 GeV
2055  } else if (sqrt_s == 27.0) {
2056  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(14.) * computeSigmaZF(14.); // in the absence of this value we rescale the LHC result at 14 TeV
2057  } else if (sqrt_s == 100.0) {
2058  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(14.) * computeSigmaZF(14.); // in the absence of this value we rescale the LHC result at 14 TeV
2059  } else if (sqrt_s == 1.96) {
2060  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(7.) * computeSigmaZF(7.); // in the absence of individual cross sections for TeVatron we rescale the LHC ones
2061  } else
2062  throw std::runtime_error("Bad argument in StandardModel::computeSigmaZF()");
2063  }
2064 
2072  double computeSigmaZWF(const double sqrt_s) const
2073  {
2074  return 0.;
2075  }
2076 
2088  double computeSigmaWH(const double sqrt_s) const
2089  {
2090  if (sqrt_s == 7.0) {
2091  return 0.577; // in pb for Mh=125.1 GeV
2092  //return 0.5688; // in pb for Mh=125.6 GeV
2093  } else if (sqrt_s == 8.0) {
2094  return 0.7027; // in pb for Mh=125.1 GeV
2095  //return 0.6931; // in pb for Mh=125.6 GeV
2096  } else if (sqrt_s == 13.0) {
2097  return 1.358; // in pb for Mh=125.09 GeV
2098  } else if (sqrt_s == 14.0) {
2099  return 1.498; // in pb for Mh=125.09 GeV
2100  } else if (sqrt_s == 27.0) {
2101  return 3.397; // in pb for Mh=125.09 GeV
2102  } else if (sqrt_s == 100.0) {
2103  return 15.9; // in pb for Mh=125. GeV
2104  } else if (sqrt_s == 1.96) {
2105  return 0.1295; // in pb for Mh=125 GeV
2106  } else
2107  throw std::runtime_error("Bad argument in StandardModel::computeSigmaWH()");
2108  }
2109 
2121  double computeSigmaZH(const double sqrt_s) const
2122  {
2123  if (sqrt_s == 7.0) {
2124  return 0.3341; // in pb for Mh=125.1 GeV
2125  //return 0.3299; // in pb for Mh=125.6 GeV
2126  } else if (sqrt_s == 8.0) {
2127  return 0.4142; // in pb for Mh=125.1 GeV
2128  //return 0.4091; // in pb for Mh=125.6 GeV
2129  } else if (sqrt_s == 13.0) {
2130  return 0.880; // in pb for Mh=125.09 GeV
2131  } else if (sqrt_s == 14.0) {
2132  return 0.981; // in pb for Mh=125.09 GeV
2133  } else if (sqrt_s == 27.0) {
2134  return 2.463; // in pb for Mh=125.09 GeV
2135  } else if (sqrt_s == 100.0) {
2136  return 11.26; // in pb for Mh=125. GeV
2137  } else if (sqrt_s == 1.96) {
2138  return 0.0785; // in pb for Mh=125 GeV
2139  } else
2140  throw std::runtime_error("Bad argument in StandardModel::computeSigmaZH()");
2141  }
2142 
2157  double computeSigmattH(const double sqrt_s) const
2158  {
2159  if (sqrt_s == 7.0) {
2160  return 0.0861; // in pb for Mh=125.1 GeV
2161  //return 0.0851; // in pb for Mh=125.6 GeV
2162  } else if (sqrt_s == 8.0) {
2163  return 0.129; // in pb for Mh=125.1 GeV
2164  //return 0.1274; // in pb for Mh=125.6 GeV
2165  } else if (sqrt_s == 13.0) {
2166  return 0.5060; // in pb for Mh=125.1 GeV
2167  } else if (sqrt_s == 14.0) {
2168  return 0.6128; // in pb for Mh=125.09 GeV
2169  } else if (sqrt_s == 27.0) {
2170  return 2.86; // in pb for Mh=125.09 GeV
2171  } else if (sqrt_s == 100.0) {
2172  return 37.9; // in pb for Mh=125. GeV
2173  } else if (sqrt_s == 1.96) {
2174  return 0.0043; // in pb for Mh=125 GeV
2175  } else
2176  throw std::runtime_error("Bad argument in StandardModel::computeSigmattH()");
2177  }
2178 
2185  double computeBrHtogg() const
2186  {
2187  return 8.179e-2; // Mh=125.1 GeV
2188  }
2189 
2196  double computeBrHtoWW() const
2197  {
2198  //return 2.23e-1; // Mh=125.5 GeV
2199  return 2.154e-1; // Mh=125.1 GeV
2200  }
2201 
2208  double computeBrHtoZZ() const
2209  {
2210  return 2.643e-2; // Mh=125.1 GeV
2211  //return 2.79e-2; // Mh=125.6 GeV
2212  }
2213 
2219  double computeBrHtoZZinv() const
2220  {
2221  return 1.06e-3;
2222  }
2223 
2230  double computeBrHtoZga() const
2231  {
2232  return 1.541e-3; // Mh=125.1 GeV
2233  //return 1.59e-3; // Mh=125.6 GeV
2234  }
2235 
2242  double computeBrHtogaga() const
2243  {
2244  return 2.27e-3; // Mh=125.1 GeV
2245  }
2246 
2253  double computeBrHtomumu() const
2254  {
2255  return 2.17e-4; // Mh=125.1 GeV
2256  }
2257 
2264  double computeBrHtotautau() const
2265  {
2266  return 6.256e-2; // Mh=125.1 GeV
2267  //return 6.22e-2; // Mh=125.6 GeV
2268  }
2269 
2276  double computeBrHtocc() const
2277  {
2278  return 2.883e-2; // Mh=125.1 GeV
2279  //return 2.86e-2; // Mh=125.6 GeV
2280  }
2281 
2288  double computeBrHtoss() const
2289  {
2290  return 4.0e-4;
2291  }
2292 
2299  double computeBrHtobb() const
2300  {
2301  return 5.807e-1; // Mh=125.1 GeV
2302  //return 5.67e-1; // Mh=125.6 GeV
2303  }
2304 
2311  double computeGammaHTotal() const
2312  {
2313  return 4.101e-3; // Mh=125.1 GeV
2314  //return 4.15e-3; // Mh=125.6 GeV
2315  }
2316 
2322  double computeGammaHgg_tt() const
2323  {
2324  return 380.8; // in keV for Mh=125 GeV
2325  //return 389.6; // in keV for Mh=126 GeV
2326  }
2327 
2333  double computeGammaHgg_bb() const
2334  {
2335  return 3.96; // in keV for Mh=125 GeV
2336  //return 3.95; // in keV for Mh=126 GeV
2337  }
2338 
2344  double computeGammaHgg_tb() const
2345  {
2346  return -42.1; // in keV for Mh=125 GeV
2347  //return -42.7; // in keV for Mh=126 GeV
2348  }
2349 
2355  double computeGammaHZga_tt() const
2356  {
2357  return 21.74; // in eV for Mh=125 GeV
2358  //return 23.51; // in eV for Mh=126 GeV
2359  }
2360 
2366  double computeGammaHZga_WW() const
2367  {
2368  return 7005.6; // in eV for Mh=125 GeV
2369  //return 7648.4; // in eV for Mh=126 GeV
2370  }
2371 
2377  double computeGammaHZga_tW() const
2378  {
2379  return -780.4; // in eV for Mh=125 GeV
2380  //return -848.1; // in eV for Mh=126 GeV
2381  }
2382 
2388  double computeGammaHgaga_tt() const
2389  {
2390  return 662.84; // in eV for Mh=125 GeV
2391  //return 680.39; // in eV for Mh=126 GeV
2392  }
2393 
2399  double computeGammaHgaga_WW() const
2400  {
2401  return 14731.86; // in eV for Mh=125 GeV
2402  //return 15221.98; // in eV for Mh=126 GeV
2403  }
2404 
2410  double computeGammaHgaga_tW() const
2411  {
2412  return -6249.93; // in eV for Mh=125 GeV
2413  //return -6436.35; // in eV for Mh=126 GeV
2414  }
2415 
2420  virtual double getCBd() const
2421  {
2422  return 1.;
2423  }
2424 
2429  virtual double getCBs() const
2430  {
2431  return 1.;
2432  }
2433 
2438  virtual double getCDMK() const
2439  {
2440  return 1.;
2441  }
2442 
2447  virtual double getCepsK() const
2448  {
2449  return 1.;
2450  }
2451 
2456  virtual double getPhiBs() const
2457  {
2458  return 0.;
2459  }
2460 
2465  virtual double getPhiBd() const
2466  {
2467  return 0.;
2468  }
2469 
2470  virtual double getmq(const QCD::quark q, const double mu) const
2471  {
2472  return m_q(q, mu, FULLNLO);
2473  }
2475 protected:
2476 
2482  virtual void setParameter(const std::string name, const double& value);
2483 
2487  virtual void computeCKM();
2488 
2494  virtual void computeYukawas();
2495 
2499 // gslpp::matrix<gslpp::complex> VCKM; ///< The %CKM matrix.
2500 // gslpp::matrix<gslpp::complex> UPMNS; ///< The %PMNS matrix.
2505 
2507 
2508  // model parameters
2509  double AlsMz;
2510  double Mz;
2511  double GF;
2512  double ale;
2513  double dAle5Mz;
2514  double mHl;
2515  double delMw;
2516  double delSin2th_l;
2517  double delSin2th_q;
2518  double delSin2th_b;
2519  double delGammaZ;
2520  double delsigma0H;
2521  double delR0l;
2522  double delR0c;
2523  double delR0b;
2524  double lambda;
2525  double A;
2526  double rhob;
2527  double etab;
2528  double Vus;
2529  double Vcb;
2530  double Vub;
2531  double gamma;
2532  double muw;
2534 
2535 
2537  // For EWPO
2538 
2546 
2557  double SchemeToDouble(const std::string scheme) const
2558  {
2559  if (scheme.compare("NORESUM") == 0)
2560  return 0.0;
2561  else if (scheme.compare("OMSI") == 0)
2562  return 1.0;
2563  else if (scheme.compare("INTERMEDIATE") == 0)
2564  return 2.0;
2565  else if (scheme.compare("OMSII") == 0)
2566  return 3.0;
2567  else if (scheme.compare("APPROXIMATEFORMULA") == 0)
2568  return 4.0;
2569  else
2570  throw std::runtime_error("EWSM::SchemeToDouble: bad scheme");
2571  }
2572 
2578  bool checkEWPOscheme(const std::string scheme) const
2579  {
2580  if (scheme.compare("NORESUM") == 0
2581  || scheme.compare("OMSI") == 0
2582  || scheme.compare("INTERMEDIATE") == 0
2583  || scheme.compare("OMSII") == 0
2584  || scheme.compare("APPROXIMATEFORMULA") == 0)
2585  return true;
2586  else
2587  return false;
2588  }
2589 
2590 
2591  double m_q(const QCD::quark q, const double mu, const orders order=FULLNLO) const
2592  {
2593  switch(q) {
2594  case QCD::UP:
2595  case QCD::DOWN:
2596  case QCD::STRANGE:
2597  return Mrun(mu, getQuarks(q).getMass_scale(),
2598  getQuarks(q).getMass(), order);
2599  case QCD::CHARM:
2600  case QCD::BOTTOM:
2601  return Mrun(mu, getQuarks(q).getMass(), order);
2602  case QCD::TOP:
2603  return getMtpole(); // the pole mass
2604  default:
2605  throw std::runtime_error("Error in StandardModel::m_q()");
2606  }
2607  }
2608 
2641  double resumMw(const double Mw_i, const double DeltaRho[orders_EW_size],
2642  const double DeltaR_rem[orders_EW_size]) const;
2643 
2670  double resumRhoZ(const double DeltaRho[orders_EW_size],
2671  const double deltaRho_rem[orders_EW_size],
2672  const double DeltaRbar_rem, const bool bool_Zbb) const;
2673 
2700  double resumKappaZ(const double DeltaRho[orders_EW_size],
2701  const double deltaKappa_rem[orders_EW_size],
2702  const double DeltaRbar_rem, const bool bool_Zbb) const;
2703 
2726  double taub() const;
2727 
2736  double Delta_EWQCD(const QCD::quark q) const;
2737 
2747  double RVq(const QCD::quark q) const;
2748 
2758  double RAq(const QCD::quark q) const;
2759 
2773  double RVh() const;
2774 
2775  bool requireCKM;
2776  bool requireYe;
2777  bool requireYn;
2778 
2780 
2781 private:
2791 
2794  std::string FlagMw;
2795  std::string FlagRhoZ;
2796  std::string FlagKappaZ;
2798 
2799  bool FlagSMAux;
2800 
2802  // Caches for EWPO
2803 
2806  mutable double DeltaAlphaLepton_cache;
2807  mutable double DeltaAlpha_cache;
2808  mutable double Mw_cache;
2809  mutable double GammaW_cache;
2813  mutable bool useDeltaAlpha_cache;
2814  mutable bool useMw_cache;
2815  mutable bool useGammaW_cache;
2816  mutable bool useRhoZ_f_cache[12];
2817  mutable bool useKappaZ_f_cache[12];
2818 
2820 
2821  double AlsWithInit(double mu, double alsi, double mu_i, orders order, bool qed_flag) const;
2822  double AleWithInit(double mu, double alsi, double mu_i, orders order) const;
2823  static const int CacheSize = 5;
2824  mutable double als_cache[11][CacheSize];
2825  mutable double ale_cache[10][CacheSize];
2827 
2828 
2829 };
2830 
2831 #endif /* STANDARDMODEL_H */
StandardModel::delR0c
double delR0c
The theoretical uncertainty in , denoted as .
Definition: StandardModel.h:2522
StandardModel::m_q
double m_q(const QCD::quark q, const double mu, const orders order=FULLNLO) const
Definition: StandardModel.h:2591
StandardModel::getMyOneLoopEW
EWSMOneLoopEW * getMyOneLoopEW() const
A get method to retrieve the member pointer of type EWSMOneLoopEW,.
Definition: StandardModel.h:967
StandardModel::Mw_cache
double Mw_cache
A cache of the value of .
Definition: StandardModel.h:2808
StandardModel::FlagWithoutNonUniversalVC
bool FlagWithoutNonUniversalVC
A boolean for the model flag WithoutNonUniversalVC.
Definition: StandardModel.h:2792
StandardModel::~StandardModel
virtual ~StandardModel()
The default destructor.
Definition: StandardModel.cpp:121
StandardModel::Gamma_inv
virtual double Gamma_inv() const
The invisible partial decay width of the boson, .
Definition: StandardModel.cpp:1277
StandardModel::EW2
Two-loop of .
Definition: StandardModel.h:496
StandardModel::rhoZ_f
virtual gslpp::complex rhoZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
Definition: StandardModel.cpp:1553
StandardModel::taub
double taub() const
Top-mass corrections to the vertex, denoted by .
Definition: StandardModel.cpp:2078
StandardModel::setParameter
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
Definition: StandardModel.cpp:231
StandardModel::v
virtual double v() const
The Higgs vacuum expectation value.
Definition: StandardModel.cpp:917
StandardModel::getIterationNo
int getIterationNo() const
Definition: StandardModel.h:582
StandardModel::NSMvars
static const int NSMvars
The number of the model parameters in StandardModel.
Definition: StandardModel.h:505
StandardModel::delSin2th_q
double delSin2th_q
The theoretical uncertainty in , denoted as .
Definition: StandardModel.h:2517
StandardModel::useRhoZ_f_cache
bool useRhoZ_f_cache[12]
Definition: StandardModel.h:2816
QCD::BOTTOM
Definition: QCD.h:329
EWSMTwoLoopQCD
A class for two-loop corrections to the EW precision observables.
Definition: EWSMTwoLoopQCD.h:55
StandardModel::A
double A
The CKM parameter in the Wolfenstein parameterization.
Definition: StandardModel.h:2525
StandardModel::DeltaRbar
virtual double DeltaRbar() const
The SM prediction for derived from that for the -boson mass.
Definition: StandardModel.cpp:1120
QCD
A class for parameters related to QCD, hadrons and quarks.
Definition: QCD.h:304
Particle
A class for particles.
Definition: Particle.h:26
StandardModel::computeSigmaWH
double computeSigmaWH(const double sqrt_s) const
The WH production cross section in the Standard Model.
Definition: StandardModel.h:2088
StandardModel::ISR
Definition: StandardModel.h:482
StandardModel::rhob
double rhob
The CKM parameter in the Wolfenstein parameterization.
Definition: StandardModel.h:2526
StandardModel::setFlagNoApproximateGammaZ
void setFlagNoApproximateGammaZ(bool FlagNoApproximateGammaZ)
Definition: StandardModel.h:649
StandardModel::computeGammaHZga_tt
double computeGammaHZga_tt() const
The top loop contribution to in the Standard Model.
Definition: StandardModel.h:2355
StandardModel::gamma
double gamma
used as an input for FlagWolfenstein = FALSE
Definition: StandardModel.h:2531
StandardModel::getMyLeptonFlavour
LeptonFlavour * getMyLeptonFlavour() const
Definition: StandardModel.h:1011
StandardModel::getCCC5
virtual double getCCC5() const
A virtual implementation for the RealWeakEFTCC class.
Definition: StandardModel.h:1164
StandardModel::realorder
orders realorder
Definition: StandardModel.h:2826
StandardModel::Ye
gslpp::matrix< gslpp::complex > Ye
The Yukawa matrix of the charged leptons.
Definition: StandardModel.h:2504
StandardModel::computeBrHtotautau
double computeBrHtotautau() const
The Br in the Standard Model.
Definition: StandardModel.h:2264
StandardModel::rho_GammaW
virtual double rho_GammaW(const Particle fi, const Particle fj) const
EW radiative corrections to the width of , denoted as .
Definition: StandardModel.cpp:1132
StandardModel::getDelSigma0H
double getDelSigma0H() const
A get method to retrieve the theoretical uncertainty in , denoted as .
Definition: StandardModel.h:828
StandardModel::Yu
gslpp::matrix< gslpp::complex > Yu
The Yukawa matrix of the up-type quarks.
Definition: StandardModel.h:2501
EWSMThreeLoopEW2QCD
A class for three-loop corrections to the EW precision observables.
Definition: EWSMThreeLoopEW2QCD.h:34
StandardModel::NumSMParamsForEWPO
static const int NumSMParamsForEWPO
The number of the SM parameters that are relevant to the EW precision observables.
Definition: StandardModel.h:1849
StandardModel::ale_cache
double ale_cache[10][CacheSize]
Cache for .
Definition: StandardModel.h:2825
StandardModel::QCDFSR
Definition: StandardModel.h:484
StandardModel::getFlagRhoZ
std::string getFlagRhoZ() const
A method to retrieve the model flag RhoZ.
Definition: StandardModel.h:669
StandardModel::EW1
One-loop of .
Definition: StandardModel.h:493
StandardModel::getCCC1
virtual double getCCC1() const
A virtual implementation for the RealWeakEFTCC class.
Definition: StandardModel.h:1144
StandardModel::getMyEWSMcache
EWSMcache * getMyEWSMcache() const
A get method to retrieve the member pointer of type EWSMcache.
Definition: StandardModel.h:958
StandardModel::MwbarFromMw
double MwbarFromMw(const double Mw) const
A method to convert the -boson mass in the experimental/running-width scheme to that in the complex-p...
Definition: StandardModel.cpp:1102
StandardModel::delR0l
double delR0l
The theoretical uncertainty in , denoted as .
Definition: StandardModel.h:2521
StandardModel::getMyTwoLoopQCD
EWSMTwoLoopQCD * getMyTwoLoopQCD() const
Definition: StandardModel.h:1001
EWSMThreeLoopQCD
A class for three-loop corrections to the EW precision observables.
Definition: EWSMThreeLoopQCD.h:33
StandardModel::Delta_EWQCD
double Delta_EWQCD(const QCD::quark q) const
The non-factorizable EW-QCD corrections to the partial widths for , denoted as .
Definition: StandardModel.cpp:2098
StandardModel::getAlsMz
double getAlsMz() const
A get method to access the value of .
Definition: StandardModel.h:727
Matching::getObj
T & getObj()
Definition: Matching.h:14
StandardModel::getDelR0l
double getDelR0l() const
A get method to retrieve the theoretical uncertainty in , denoted as .
Definition: StandardModel.h:838
StandardModel::computeSigmaWF
double computeSigmaWF(const double sqrt_s) const
The W fusion contribution to higgs-production cross section in the Standard Model.
Definition: StandardModel.h:2017
StandardModel::FlagSMAux
bool FlagSMAux
A boolean for the model flag SMAux.
Definition: StandardModel.h:2799
StandardModel::getYu
gslpp::matrix< gslpp::complex > getYu() const
A get method to retrieve the Yukawa matrix of the up-type quarks, .
Definition: StandardModel.h:895
QCD::UP
Definition: QCD.h:324
StandardModel::GF
double GF
The Fermi constant in .
Definition: StandardModel.h:2511
StandardModel::A_f
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
Definition: StandardModel.cpp:1183
StandardModel::sigma0_had
virtual double sigma0_had() const
The hadronic cross section for at the -pole, .
Definition: StandardModel.cpp:1344
StandardModel::getMyThreeLoopQCD
EWSMThreeLoopQCD * getMyThreeLoopQCD() const
Definition: StandardModel.h:991
StandardModel::computeGammaHgaga_tW
double computeGammaHgaga_tW() const
The mixed loop contribution to in the Standard Model.
Definition: StandardModel.h:2410
StandardModel::getmq
virtual double getmq(const QCD::quark q, const double mu) const
Definition: StandardModel.h:2470
StandardModel::delMw
double delMw
The theoretical uncertainty in , denoted as , in GeV.
Definition: StandardModel.h:2515
StandardModel::SchemeToDouble
double SchemeToDouble(const std::string scheme) const
A method to convert a given scheme name in string form into a floating-point number with double preci...
Definition: StandardModel.h:2557
StandardModel::computeGammaHgg_tb
double computeGammaHgg_tb() const
The top-bottom interference contribution to in the Standard Model.
Definition: StandardModel.h:2344
StandardModel::Beta_e
double Beta_e(int nm, unsigned int nf) const
QED beta function coefficients - eq. (36) hep-ph/0512066.
Definition: StandardModel.cpp:556
StandardModel::CheckParameters
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for StandardModel have been provided in model initi...
Definition: StandardModel.cpp:313
StandardModel::alphaMz
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
Definition: StandardModel.cpp:867
QCD::CHARM
Definition: QCD.h:326
StandardModel::DeltaAlphaL5q
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
Definition: StandardModel.cpp:830
StandardModel::computeBrHtobb
double computeBrHtobb() const
The Br in the Standard Model.
Definition: StandardModel.h:2299
StandardModel::getYe
gslpp::matrix< gslpp::complex > getYe() const
A get method to retrieve the Yukawa matrix of the charged leptons, .
Definition: StandardModel.h:925
StandardModel::getCCC2
virtual double getCCC2() const
A virtual implementation for the RealWeakEFTCC class.
Definition: StandardModel.h:1149
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
PMNS.h
StandardModel::ComputeDeltaR_rem
void ComputeDeltaR_rem(const double Mw_i, double DeltaR_rem[orders_EW_size]) const
A method to collect computed via subclasses.
Definition: StandardModel.cpp:1053
StandardModel::mHl
double mHl
The Higgs mass in GeV.
Definition: StandardModel.h:2514
StandardModel::epsilonb
virtual double epsilonb() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1789
StandardModel::getPhiBs
virtual double getPhiBs() const
Half the relative phase of the $B_s$ mixing amplitude w.r.t. the Standard Model one.
Definition: StandardModel.h:2456
StandardModel::s23
double s23
Definition: StandardModel.h:2533
StandardModel::GammaW
virtual double GammaW() const
The total width of the boson, .
Definition: StandardModel.cpp:1164
gslpp::matrix< gslpp::complex >
CKM.h
StandardModel::flag_order
bool flag_order[orders_EW_size]
An array of internal flags controlling the inclusions of higher-order corrections.
Definition: StandardModel.h:2545
StandardModel::getMyThreeLoopEW
EWSMThreeLoopEW * getMyThreeLoopEW() const
Definition: StandardModel.h:981
StandardModel::GammaW_cache
double GammaW_cache
A cache of the value of .
Definition: StandardModel.h:2809
StandardModel::getCepsK
virtual double getCepsK() const
The ratio of the imaginary part of the $K$ mixing amplitude over the Standard Model value.
Definition: StandardModel.h:2447
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:474
StandardModel::DeltaAlphaLepton_cache
double DeltaAlphaLepton_cache
A cache of the value of .
Definition: StandardModel.h:2806
EWSMOneLoopEW
A class for one-loop corrections to the EW precision observables.
Definition: EWSMOneLoopEW.h:105
StandardModel::DeltaAlpha_cache
double DeltaAlpha_cache
A cache of the value of .
Definition: StandardModel.h:2807
StandardModel::FlagRhoZ
std::string FlagRhoZ
A string for the model flag RhoZ.
Definition: StandardModel.h:2795
StandardModel::DeltaAlpha
double DeltaAlpha() const
The total corrections to the electromagnetic coupling at the -mass scale, denoted as .
Definition: StandardModel.cpp:855
StandardModel::SMM
Matching< StandardModelMatching, StandardModel > SMM
An object of type Matching.
Definition: StandardModel.h:2506
StandardModel::getDelMw
double getDelMw() const
A get method to retrieve the theoretical uncertainty in , denoted as .
Definition: StandardModel.h:775
StandardModel::DeltaR
virtual double DeltaR() const
The SM prediction for derived from that for the boson mass.
Definition: StandardModel.cpp:1010
StandardModel::cW2
virtual double cW2() const
Definition: StandardModel.cpp:994
StandardModel::myThreeLoopQCD
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
Definition: StandardModel.h:2785
StandardModel::ale
double ale
The fine-structure constant .
Definition: StandardModel.h:2512
StandardModel::Alstilde5
double Alstilde5(const double mu) const
The value of at any scale with the number of flavours and full EW corrections.
Definition: StandardModel.cpp:873
StandardModel::setFlag
virtual bool setFlag(const std::string name, const bool value)
A method to set a flag of StandardModel.
Definition: StandardModel.cpp:378
StandardModel::myTwoLoopEW
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
Definition: StandardModel.h:2786
StandardModel::DeltaAlphaTop
double DeltaAlphaTop(const double s) const
Top-quark contribution to the electromagnetic coupling , denoted as .
Definition: StandardModel.cpp:836
StandardModel::AlsByOrder
double AlsByOrder(double mu, orders order=FULLNLO, bool qed_flag=false, bool Nf_thr=true) const
Definition: StandardModel.cpp:597
StandardModel::useDeltaAlphaLepton_cache
bool useDeltaAlphaLepton_cache
Definition: StandardModel.h:2812
StandardModel::DeltaAlphaLepton
double DeltaAlphaLepton(const double s) const
Leptonic contribution to the electromagnetic coupling , denoted as .
Definition: StandardModel.cpp:802
StandardModel::IsFlagWithoutNonUniversalVC
bool IsFlagWithoutNonUniversalVC() const
A method to retrieve the model flag WithoutNonUniversalVC.
Definition: StandardModel.h:631
StandardModel::RVh
double RVh() const
The singlet vector corrections to the hadronic -boson width, denoted as .
Definition: StandardModel.cpp:2373
StandardModel::epsilon2
virtual double epsilon2() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1767
LeptonFlavour
The parent class in LeptonFlavour for calculating all the Wilson coefficients for various Lepton Flav...
Definition: LeptonFlavour.h:26
StandardModel::StandardModel
StandardModel()
The default constructor.
Definition: StandardModel.cpp:35
StandardModel::computeSigmaZF
double computeSigmaZF(const double sqrt_s) const
The Z fusion contribution to higgs-production cross section in the Standard Model.
Definition: StandardModel.h:2045
Matching.h
StandardModel::delGammaZ
double delGammaZ
The theoretical uncertainty in , denoted as , in GeV.
Definition: StandardModel.h:2519
StandardModel::computeBrHtoZZ
double computeBrHtoZZ() const
The Br in the Standard Model.
Definition: StandardModel.h:2208
StandardModel::computeGammaHgg_bb
double computeGammaHgg_bb() const
The bottom loop contribution to in the Standard Model.
Definition: StandardModel.h:2333
StandardModel::rhoZ_f_cache
gslpp::complex rhoZ_f_cache[12]
A cache of the value of .
Definition: StandardModel.h:2810
StandardModel::c02
double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections.
Definition: StandardModel.cpp:939
StandardModel::Init
virtual bool Init(const std::map< std::string, double > &DPars)
A method to initialize the model parameters.
Definition: StandardModel.cpp:159
StandardModel::computeGammaHgaga_tt
double computeGammaHgaga_tt() const
The top loop contribution to in the Standard Model.
Definition: StandardModel.h:2388
StandardModelMatching
A class for the matching in the Standard Model.
Definition: StandardModelMatching.h:26
StandardModel::ale_OS
double ale_OS(const double mu, orders order=FULLNLO) const
The running electromagnetic coupling in the on-shell scheme.
Definition: StandardModel.cpp:507
StandardModel::dAle5Mz
double dAle5Mz
The five-flavour hadronic contribution to the electromagnetic coupling, .
Definition: StandardModel.h:2513
StandardModel::Vub
double Vub
used as an input for FlagWolfenstein = FALSE
Definition: StandardModel.h:2530
StandardModel::useMw_cache
bool useMw_cache
Definition: StandardModel.h:2814
StandardModel::AlsMz
double AlsMz
The strong coupling constant at the Z-boson mass, .
Definition: StandardModel.h:2509
StandardModel::sW2
double sW2() const
Definition: StandardModel.cpp:1005
CKM::getCKM
gslpp::matrix< gslpp::complex > getCKM() const
A member for returning the CKM matrix.
Definition: CKM.h:49
StandardModel::getCCC4
virtual double getCCC4() const
A virtual implementation for the RealWeakEFTCC class.
Definition: StandardModel.h:1159
StandardModel::EW1QCD1
Two-loop of .
Definition: StandardModel.h:494
Flavour.h
StandardModel::PreUpdate
virtual bool PreUpdate()
The pre-update method for StandardModel.
Definition: StandardModel.cpp:172
StandardModel::Gamma_had
virtual double Gamma_had() const
The hadronic decay width of the boson, .
Definition: StandardModel.cpp:1283
StandardModel::resumRhoZ
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 from , and .
Definition: StandardModel.cpp:1922
StandardModel::computeSigmaggH_bb
double computeSigmaggH_bb(const double sqrt_s) const
The square of the bottom-quark contribution to the ggH cross section in the Standard Model.
Definition: StandardModel.h:1935
QCD::TOP
Definition: QCD.h:328
StandardModel::computeGammaHgaga_WW
double computeGammaHgaga_WW() const
The loop contribution to in the Standard Model.
Definition: StandardModel.h:2399
StandardModel::computeGammaHTotal
double computeGammaHTotal() const
The Higgs total width in the Standard Model.
Definition: StandardModel.h:2311
StandardModel::RAq
double RAq(const QCD::quark q) const
The radiator factor associated with the final-state QED and QCD corrections to the the axial-vector-c...
Definition: StandardModel.cpp:2236
StandardModel::getGF
double getGF() const
A get method to retrieve the Fermi constant .
Definition: StandardModel.h:736
StandardModel::SMvars
static std::string SMvars[NSMvars]
A string array containing the labels of the model parameters in StandardModel.
Definition: StandardModel.h:509
StandardModel::myLeptonFlavour
LeptonFlavour * myLeptonFlavour
A pointer to an object of the type LeptonFlavour.
Definition: StandardModel.h:2790
StandardModel::getDAle5Mz
double getDAle5Mz() const
A get method to retrieve the five-flavour hadronic contribution to the electromagnetic coupling,...
Definition: StandardModel.h:756
StandardModel::EW3
Three-loop of .
Definition: StandardModel.h:498
EWSMcache
A class for cache variables used in computing radiative corrections to the EW precision observables.
Definition: EWSMcache.h:40
StandardModel::getTrueSM
virtual StandardModel getTrueSM() const
Definition: StandardModel.h:940
StandardModel::FlagMw
std::string FlagMw
A string for the model flag Mw.
Definition: StandardModel.h:2794
StandardModel::computeBrHtoZga
double computeBrHtoZga() const
The Br in the Standard Model.
Definition: StandardModel.h:2230
QCD::getMtpole
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:588
StandardModel::lambda
double lambda
The CKM parameter in the Wolfenstein parameterization.
Definition: StandardModel.h:2524
StandardModel::MwFromMwbar
double MwFromMwbar(const double Mwbar) const
A method to convert the -boson mass in the complex-pole/fixed-width scheme to that in the experimenta...
Definition: StandardModel.cpp:1111
EWSMTwoLoopEW
A class for two-loop corrections to the EW precision observables.
Definition: EWSMTwoLoopEW.h:57
EWSMApproximateFormulae
A class for approximate formulae of the EW precision observables.
Definition: EWSMApproximateFormulae.h:33
StandardModel::useDeltaAlpha_cache
bool useDeltaAlpha_cache
Definition: StandardModel.h:2813
StandardModel::getUPMNS
gslpp::matrix< gslpp::complex > getUPMNS() const
A get method to retrieve the object of the PMNS matrix.
Definition: StandardModel.h:885
StandardModel::computeBrHtogaga
double computeBrHtogaga() const
The Br in the Standard Model.
Definition: StandardModel.h:2242
StandardModel::computeSigmaggH
double computeSigmaggH(const double sqrt_s) const
The ggH cross section in the Standard Model.
Definition: StandardModel.h:1883
StandardModel::PostUpdate
virtual bool PostUpdate()
The post-update method for StandardModel.
Definition: StandardModel.cpp:199
StandardModel::getCBs
virtual double getCBs() const
The ratio of the absolute value of the $B_s$ mixing amplitude over the Standard Model value.
Definition: StandardModel.h:2429
StandardModel::getYn
gslpp::matrix< gslpp::complex > getYn() const
A get method to retrieve the Yukawa matrix of the neutrinos, .
Definition: StandardModel.h:915
StandardModel::IsFlagNoApproximateGammaZ
bool IsFlagNoApproximateGammaZ() const
A method to retrieve the model flag NoApproximateGammaZ.
Definition: StandardModel.h:644
StandardModel::myOneLoopEW
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
Definition: StandardModel.h:2783
StandardModel::setFlagStr
virtual bool setFlagStr(const std::string name, const std::string value)
A method to set a flag of StandardModel.
Definition: StandardModel.cpp:418
StandardModel::Mw_error
static const double Mw_error
The target accuracy of the iterative calculation of the -boson mass in units of GeV.
Definition: StandardModel.h:517
StandardModel::getMyTwoLoopEW
EWSMTwoLoopEW * getMyTwoLoopEW() const
Definition: StandardModel.h:996
StandardModel::Ale
double Ale(double mu, orders order, bool Nf_thr=true) const
The running electromagnetic coupling in the scheme.
Definition: StandardModel.cpp:706
StandardModel::epsilon1
virtual double epsilon1() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1759
StandardModel::computeGammaHZga_tW
double computeGammaHZga_tW() const
The mixed loop contribution to in the Standard Model.
Definition: StandardModel.h:2377
StandardModel::s13
double s13
Definition: StandardModel.h:2533
StandardModel::Als
double Als(double mu, orders order=FULLNLO, bool qed_flag=false, bool Nf_thr=true) const
The running QCD coupling in the scheme including QED corrections.
Definition: StandardModel.cpp:576
StandardModel::computeSigmattH
double computeSigmattH(const double sqrt_s) const
The ttH production cross section in the Standard Model.
Definition: StandardModel.h:2157
StandardModel::checkEWPOscheme
bool checkEWPOscheme(const std::string scheme) const
A method to check if a given scheme name in string form is valid.
Definition: StandardModel.h:2578
QCD::getQuarks
Particle getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:534
StandardModel::getDelSin2th_l
double getDelSin2th_l() const
A get method to retrieve the theoretical uncertainty in , denoted as .
Definition: StandardModel.h:786
StandardModel::deltaKappaZ_f
virtual gslpp::complex deltaKappaZ_f(const Particle f) const
Flavour non-universal vertex corrections to , denoted by .
Definition: StandardModel.cpp:1729
StandardModel::getVCKM
gslpp::matrix< gslpp::complex > getVCKM() const
A get method to retrieve the CKM matrix.
Definition: StandardModel.h:867
StandardModel::FlagKappaZ
std::string FlagKappaZ
A string for the model flag KappaZ.
Definition: StandardModel.h:2796
StandardModel::getMyApproximateFormulae
EWSMApproximateFormulae * getMyApproximateFormulae() const
A get method to retrieve the member pointer of type EWSMApproximateFormulae.
Definition: StandardModel.h:976
QCD::quark
quark
An enum type for quarks.
Definition: QCD.h:323
StandardModel::CacheSize
static const int CacheSize
Defines the depth of the cache.
Definition: StandardModel.h:2823
StandardModel::getDelSin2th_q
double getDelSin2th_q() const
A get method to retrieve the theoretical uncertainty in , denoted as .
Definition: StandardModel.h:797
StandardModel::getFlavour
const Flavour & getFlavour() const
Definition: StandardModel.h:1006
StandardModel::R0_f
virtual double R0_f(const Particle f) const
The ratio .
Definition: StandardModel.cpp:1369
StandardModel::AleWithInit
double AleWithInit(double mu, double alsi, double mu_i, orders order) const
Definition: StandardModel.cpp:779
QCD.h
StandardModel::myCKM
CKM myCKM
An object of type CKM.
Definition: StandardModel.h:2497
StandardModel::getPhiBd
virtual double getPhiBd() const
Half the relative phase of the $B_d$ mixing amplitude w.r.t. the Standard Model one.
Definition: StandardModel.h:2465
StandardModel::resumKappaZ
double resumKappaZ(const double DeltaRho[orders_EW_size], const double deltaKappa_rem[orders_EW_size], const double DeltaRbar_rem, const bool bool_Zbb) const
A method to compute the real part of the effetvive coupling from , and .
Definition: StandardModel.cpp:2001
StandardModel::epsilon3
virtual double epsilon3() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1779
PMNS::getPMNS
gslpp::matrix< gslpp::complex > getPMNS() const
A member for returning the PMNS matrix.
Definition: PMNS.h:42
StandardModel::Beta_s
double Beta_s(int nm, unsigned int nf) const
QCD beta function coefficients including QED corrections - eq. (36) hep-ph/0512066.
Definition: StandardModel.cpp:528
StandardModel::LEP2RCs
LEP2RCs
Definition: StandardModel.h:479
StandardModel::myThreeLoopEW
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
Definition: StandardModel.h:2788
StandardModel::InitializeModel
virtual bool InitializeModel()
A method to initialize the model.
Definition: StandardModel.cpp:140
orders
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
Matching< StandardModelMatching, StandardModel >
StandardModelMatching.h
StandardModel::myEWSMcache
EWSMcache * myEWSMcache
A pointer to an object of type EWSMcache.
Definition: StandardModel.h:2782
StandardModel::s12
double s12
Definition: StandardModel.h:2533
StandardModel::resumMw
double resumMw(const double Mw_i, const double DeltaRho[orders_EW_size], const double DeltaR_rem[orders_EW_size]) const
A method to compute the -boson mass from and .
Definition: StandardModel.cpp:1835
StandardModel::computeGammaHZga_WW
double computeGammaHZga_WW() const
The loop contribution to in the Standard Model. Currently it returns the value of tab 41 in ref....
Definition: StandardModel.h:2366
Flavour
The parent class in Flavour for calculating all the Wilson coefficients for various Flavor Violating ...
Definition: Flavour.h:32
StandardModel::computeYukawas
virtual void computeYukawas()
The method to compute the Yukawa matrices.
Definition: StandardModel.cpp:345
StandardModel::computeSigmaZH
double computeSigmaZH(const double sqrt_s) const
The ZH production cross section in the Standard Model.
Definition: StandardModel.h:2121
StandardModel::getMz
double getMz() const
A get method to access the mass of the boson .
Definition: StandardModel.h:718
StandardModel::AFB
virtual double AFB(const Particle f) const
Definition: StandardModel.cpp:1190
StandardModel::computeBrHtocc
double computeBrHtocc() const
The Br in the Standard Model.
Definition: StandardModel.h:2276
StandardModel::computeCKM
virtual void computeCKM()
The method to compute the CKM matrix.
Definition: StandardModel.cpp:325
StandardModel::iterationNo
int iterationNo
Definition: StandardModel.h:2819
StandardModel::Update
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for StandardModel.
Definition: StandardModel.cpp:183
StandardModel::Weak
Definition: StandardModel.h:480
StandardModel::RVq
double RVq(const QCD::quark q) const
The radiator factor associated with the final-state QED and QCD corrections to the the vector-current...
Definition: StandardModel.cpp:2116
EWSMThreeLoopEW
A class for three-loop corrections to the EW precision observables.
Definition: EWSMThreeLoopEW.h:35
StandardModel::alpha31
double alpha31
Definition: StandardModel.h:2533
StandardModel::gV_f
virtual gslpp::complex gV_f(const Particle f) const
The effective leptonic neutral-current vector coupling in the SM.
Definition: StandardModel.cpp:1542
StandardModel::Mw_tree
virtual double Mw_tree() const
The tree-level mass of the boson, .
Definition: StandardModel.cpp:925
StandardModel::s02
double s02() const
The square of the sine of the weak mixing angle defined without weak radiative corrections.
Definition: StandardModel.cpp:930
StandardModel::Yn
gslpp::matrix< gslpp::complex > Yn
The Yukawa matrix of the neutrinos.
Definition: StandardModel.h:2503
StandardModel::computeBrHtomumu
double computeBrHtomumu() const
The Br in the Standard Model.
Definition: StandardModel.h:2253
StandardModel::requireCKM
bool requireCKM
An internal flag to control whether the CKM matrix has to be recomputed.
Definition: StandardModel.h:2775
StandardModel::computeSigmaVBF
double computeSigmaVBF(const double sqrt_s) const
The VBF cross section in the Standard Model.
Definition: StandardModel.h:1989
StandardModel::getDelR0b
double getDelR0b() const
A get method to retrieve the theoretical uncertainty in , denoted as .
Definition: StandardModel.h:858
StandardModel::useKappaZ_f_cache
bool useKappaZ_f_cache[12]
Definition: StandardModel.h:2817
StandardModel::getFlagKappaZ
std::string getFlagKappaZ() const
A method to retrieve the model flag KappaZ.
Definition: StandardModel.h:679
Mw
An observable class for the -boson mass.
Definition: Mw.h:22
StandardModel::R_inv
virtual double R_inv() const
The ratio of the invisible and leptonic (electron) decay widths of the boson, .
Definition: StandardModel.cpp:1515
StandardModel::computeBrHtoWW
double computeBrHtoWW() const
The Br in the Standard Model.
Definition: StandardModel.h:2196
StandardModel::getMatching
virtual StandardModelMatching & getMatching() const
A get method to access the member reference of type StandardModelMatching.
Definition: StandardModel.h:949
StandardModel::computeBrHtoss
double computeBrHtoss() const
The Br in the Standard Model.
Definition: StandardModel.h:2288
StandardModel::getDelR0c
double getDelR0c() const
A get method to retrieve the theoretical uncertainty in , denoted as .
Definition: StandardModel.h:848
StandardModel::computeSigmaggH_tt
double computeSigmaggH_tt(const double sqrt_s) const
The square of the top-quark contribution to the ggH cross section in the Standard Model.
Definition: StandardModel.h:1910
QCD::Mrun
double Mrun(const double mu, const double m, const orders order=FULLNNLO) const
Computes a running quark mass from .
Definition: QCD.cpp:1064
StandardModel::SMFlavour
Flavour SMFlavour
An object of type Flavour.
Definition: StandardModel.h:2779
QCD::STRANGE
Definition: QCD.h:327
StandardModel::sin2thetaEff
virtual double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
Definition: StandardModel.cpp:1195
StandardModel::AlsWithInit
double AlsWithInit(double mu, double alsi, double mu_i, orders order, bool qed_flag) const
Definition: StandardModel.cpp:663
StandardModel::als_cache
double als_cache[11][CacheSize]
Cache for .
Definition: StandardModel.h:2824
StandardModel::getFlagMw
std::string getFlagMw() const
A method to retrieve the model flag Mw.
Definition: StandardModel.h:659
StandardModel::leptons
Particle leptons[6]
An array of Particle objects for the leptons.
Definition: StandardModel.h:2496
StandardModel::GammaZ
virtual double GammaZ(const Particle f) const
The partial decay width, .
Definition: StandardModel.cpp:1201
StandardModel::etab
double etab
The CKM parameter in the Wolfenstein parameterization.
Definition: StandardModel.h:2527
StandardModel::getCCC3
virtual double getCCC3() const
A virtual implementation for the RealWeakEFTCC class.
Definition: StandardModel.h:1154
CKM
A class for the CKM matrix elements.
Definition: CKM.h:23
StandardModel::requireYe
bool requireYe
An internal flag to control whether the charged-lepton Yukawa matrix has to be recomputed.
Definition: StandardModel.h:2776
StandardModel::computeBrHtogg
double computeBrHtogg() const
The Br in the Standard Model.
Definition: StandardModel.h:2185
Model::name
std::string name
The name of the model.
Definition: Model.h:267
StandardModel::Mz
double Mz
The mass of the boson in GeV.
Definition: StandardModel.h:2510
StandardModel::myPMNS
PMNS myPMNS
Definition: StandardModel.h:2498
StandardModel::kappaZ_f_cache
gslpp::complex kappaZ_f_cache[12]
A cache of the value of .
Definition: StandardModel.h:2811
StandardModel::NUMofLEP2RCs
Definition: StandardModel.h:485
StandardModel::N_nu
virtual double N_nu() const
The number of neutrinos obtained indirectly from the measurements at the Z pole, .
Definition: StandardModel.cpp:1521
StandardModel::computeBrHtoZZinv
double computeBrHtoZZinv() const
The Br in the Standard Model.
Definition: StandardModel.h:2219
StandardModel::EW2QCD1
Three-loop of .
Definition: StandardModel.h:497
StandardModel::computeSigmaZWF
double computeSigmaZWF(const double sqrt_s) const
The Z W interference fusion contribution to higgs-production cross section in the Standard Model.
Definition: StandardModel.h:2072
StandardModel::FlagCacheInStandardModel
bool FlagCacheInStandardModel
A flag for caching (true by default).
Definition: StandardModel.h:2804
StandardModel::ComputeDeltaRho
void ComputeDeltaRho(const double Mw_i, double DeltaRho[orders_EW_size]) const
A method to collect computed via subclasses.
Definition: StandardModel.cpp:1024
StandardModel::getMHl
virtual double getMHl() const
A get method to retrieve the Higgs mass .
Definition: StandardModel.h:765
StandardModel::Mw
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
Definition: StandardModel.cpp:944
StandardModel::myApproximateFormulae
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
Definition: StandardModel.h:2789
StandardModel::Mzbar
double Mzbar() const
The -boson mass in the complex-pole/fixed-width scheme.
Definition: StandardModel.cpp:1085
StandardModel::gA_f
virtual gslpp::complex gA_f(const Particle f) const
The effective leptonic neutral-current axial-vector coupling in the SM.
Definition: StandardModel.cpp:1548
StandardModel::requireYn
bool requireYn
An internal flag to control whether the neutrino Yukawa matrix has to be recomputed.
Definition: StandardModel.h:2777
StandardModel::delR0b
double delR0b
The theoretical uncertainty in , denoted as .
Definition: StandardModel.h:2523
StandardModel::Vus
double Vus
used as an input for FlagWolfenstein = FALSE
Definition: StandardModel.h:2528
StandardModel::GeVminus2_to_nb
static const double GeVminus2_to_nb
Definition: StandardModel.h:511
StandardModel::myThreeLoopEW2QCD
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
Definition: StandardModel.h:2787
StandardModel::useGammaW_cache
bool useGammaW_cache
Definition: StandardModel.h:2815
StandardModel::delSin2th_l
double delSin2th_l
The theoretical uncertainty in , denoted as .
Definition: StandardModel.h:2516
StandardModel::getDelSin2th_b
double getDelSin2th_b() const
A get method to retrieve the theoretical uncertainty in , denoted as .
Definition: StandardModel.h:808
StandardModel::getDelGammaZ
double getDelGammaZ() const
A get method to retrieve the theoretical uncertainty in , denoted as .
Definition: StandardModel.h:818
StandardModel::QEDFSR
Definition: StandardModel.h:483
StandardModel::SMparamsForEWPO_cache
double SMparamsForEWPO_cache[NumSMParamsForEWPO]
Definition: StandardModel.h:2805
StandardModel::Gamma_Z
virtual double Gamma_Z() const
The total decay width of the boson, .
Definition: StandardModel.cpp:1318
StandardModel::getCBd
virtual double getCBd() const
The ratio of the absolute value of the $B_d$ mixing amplitude over the Standard Model value.
Definition: StandardModel.h:2420
StandardModel::deltaRhoZ_f
virtual gslpp::complex deltaRhoZ_f(const Particle f) const
Flavour non-universal vertex corrections to , denoted by .
Definition: StandardModel.cpp:1704
PMNS
A class for the PMNS matrix elements.
Definition: PMNS.h:23
StandardModel::delsigma0H
double delsigma0H
The theoretical uncertainty in , denoted as in nb.
Definition: StandardModel.h:2520
StandardModel::setFlagCacheInStandardModel
void setFlagCacheInStandardModel(bool FlagCacheInStandardModel)
A set method to change the model flag CacheInStandardModel of StandardModel.
Definition: StandardModel.h:695
QCD::DOWN
Definition: QCD.h:325
StandardModel::CheckFlags
virtual bool CheckFlags() const
A method to check the sanity of the set of model flags.
Definition: StandardModel.cpp:449
StandardModel::kappaZ_f
virtual gslpp::complex kappaZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
Definition: StandardModel.cpp:1618
StandardModel::muw
double muw
A matching scale around the weak scale in GeV.
Definition: StandardModel.h:2532
StandardModel::computeGammaHgg_tt
double computeGammaHgg_tt() const
The top loop contribution to in the Standard Model.
Definition: StandardModel.h:2322
StandardModel::Yd
gslpp::matrix< gslpp::complex > Yd
The Yukawa matrix of the down-type quarks.
Definition: StandardModel.h:2502
StandardModel::EW1QCD2
Three-loop of .
Definition: StandardModel.h:495
FULLNLO
Definition: OrderScheme.h:37
StandardModel::getAle
double getAle() const
A get method to retrieve the fine-structure constant .
Definition: StandardModel.h:745
StandardModel::FlagWolfenstein
bool FlagWolfenstein
A boolean for the model flag Wolfenstein.
Definition: StandardModel.h:2797
StandardModel::getCDMK
virtual double getCDMK() const
The ratio of the real part of the $K$ mixing amplitude over the Standard Model value.
Definition: StandardModel.h:2438
StandardModel::getYd
gslpp::matrix< gslpp::complex > getYd() const
A get method to retrieve the Yukawa matrix of the down-type quarks, .
Definition: StandardModel.h:905
StandardModel::checkSMparamsForEWPO
bool checkSMparamsForEWPO()
A method to check whether the parameters relevant to the EWPO are updated.
Definition: StandardModel.cpp:458
StandardModel::WeakBox
Definition: StandardModel.h:481
StandardModel::orders_EW_size
The size of this enum.
Definition: StandardModel.h:499
StandardModel::myTwoLoopQCD
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
Definition: StandardModel.h:2784
StandardModel::getCKM
CKM getCKM() const
A get method to retrieve the member object of type CKM.
Definition: StandardModel.h:876
StandardModel::Vcb
double Vcb
used as an input for FlagWolfenstein = FALSE
Definition: StandardModel.h:2529
StandardModel::getMuw
double getMuw() const
A get method to retrieve the matching scale around the weak scale.
Definition: StandardModel.h:935
StandardModel::delSin2th_b
double delSin2th_b
The theoretical uncertainty in , denoted as .
Definition: StandardModel.h:2518
StandardModel::getMyThreeLoopEW2QCD
EWSMThreeLoopEW2QCD * getMyThreeLoopEW2QCD() const
Definition: StandardModel.h:986
QCD::lepton
lepton
An enum type for leptons.
Definition: QCD.h:310
StandardModel::computeSigmaggH_tb
double computeSigmaggH_tb(const double sqrt_s) const
The top-bottom interference contribution to the ggH cross section in the Standard Model.
Definition: StandardModel.h:1960
StandardModel::delta
double delta
Definition: StandardModel.h:2533
StandardModel::alpha21
double alpha21
Definition: StandardModel.h:2533
StandardModel::FlagNoApproximateGammaZ
bool FlagNoApproximateGammaZ
A boolean for the model flag NoApproximateGammaZ.
Definition: StandardModel.h:2793
StandardModel::getLeptons
Particle getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
Definition: StandardModel.h:709
StandardModel::orders_EW
orders_EW
An enumerated type representing perturbative orders of radiative corrections to EW precision observab...
Definition: StandardModel.h:492