StandardModel.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef STANDARDMODEL_H
9 #define STANDARDMODEL_H
10 
11 #include <gslpp.h>
12 #include "QCD.h"
13 #include "CKM.h"
14 #include "WilsonCoefficient.h"
15 #include "StandardModelMatching.h"
16 
17 class EWSMcache;
18 class EWSMOneLoopEW;
19 class EWSMTwoLoopQCD;
20 class EWSMTwoLoopEW;
21 class EWSMThreeLoopQCD;
23 class EWSMThreeLoopEW;
25 class Flavour;
26 class LeptonFlavour;
28 class EWSMTwoFermionsLEP2;
443 class StandardModel : public QCD {
444 public:
445 
449  enum lepton {
453  MU,
456  };
457 
462  enum orders_EW {
463  EW1 = 0,
466  EW2,
468  EW3,
470  };
471 
472  static const int NSMvars = 26;
473 
476  static const std::string SMvars[NSMvars];
477 
478  static const double GeVminus2_to_nb;
479 
484  static const double Mw_error;
485 
489  StandardModel();
490 
494  virtual ~StandardModel();
495 
496 
498  // Initialization
499 
506  virtual bool InitializeModel();
507 
508 
510  // Model parameters
511 
518  virtual bool Init(const std::map<std::string, double>& DPars);
519 
527  virtual bool PreUpdate();
528 
536  virtual bool Update(const std::map<std::string, double>& DPars);
537 
547  virtual bool PostUpdate();
548 
549  int getIterationNo() const
550  {
551  return iterationNo;
552  }
553 
561  virtual bool CheckParameters(const std::map<std::string, double>& DPars);
562 
563 
565  // Flags
566 
573  virtual bool setFlag(const std::string name, const bool value);
574 
581  virtual bool setFlagStr(const std::string name, const std::string value);
582 
587  virtual bool CheckFlags() const;
588 
599  {
601  }
602 
612  {
614  }
615 
617  {
618  this->FlagNoApproximateGammaZ = FlagNoApproximateGammaZ;
619  }
620 
626  std::string getFlagMw() const
627  {
628  return FlagMw;
629  }
630 
636  std::string getFlagRhoZ() const
637  {
638  return FlagRhoZ;
639  }
640 
646  std::string getFlagKappaZ() const
647  {
648  return FlagKappaZ;
649  }
650 
663  {
664  this->FlagCacheInStandardModel = FlagCacheInStandardModel;
665  }
666 
667 
669  // get and set methods for class members
670 
677  {
678  return leptons[p];
679  }
680 
685  double getMz() const
686  {
687  return Mz;
688  }
689 
694  double getAlsMz() const
695  {
696  return AlsMz;
697  }
698 
703  double getGF() const
704  {
705  return GF;
706  }
707 
712  double getAle() const
713  {
714  return ale;
715  }
716 
723  double getDAle5Mz() const
724  {
725  return dAle5Mz;
726  }
727 
732  double getMHl() const
733  {
734  return mHl;
735  }
736 
742  double getDelMw() const
743  {
744  return delMw;
745  }
746 
753  double getDelSin2th_l() const
754  {
755  return delSin2th_l;
756  }
757 
763  double getDelGammaZ() const
764  {
765  return delGammaZ;
766  }
767 
773  {
774  return VCKM;
775  }
776 
781  CKM getCKM() const
782  {
783  return myCKM;
784  }
785 
790  double getLambda() const
791  {
792  return lambda;
793  }
794 
799  double getA() const
800  {
801  return A;
802  }
803 
808  double getRhob() const
809  {
810  return rhob;
811  }
812 
817  double getEtab() const
818  {
819  return etab;
820  }
821 
827  {
828  return UPMNS;
829  }
830 
837  {
838  return Yu;
839  }
840 
847  {
848  return Yd;
849  }
850 
857  {
858  return Yn;
859  }
860 
867  {
868  return Ye;
869  }
870 
876  double getMuw() const
877  {
878  return muw;
879  }
880 
881  double getEpsK() const
882  {
883  return EpsK;
884  }
885 
886  double getphiEpsK() const
887  {
888  return phiEpsK;
889  }
890 
891  double getKbarEpsK() const
892  {
893  return KbarEpsK;
894  }
895 
896  double getDeltaMK() const
897  {
898  return DeltaMK;
899  }
900 
901  double getDmk() const
902  {
903  return Dmk;
904  }
905 
906  double getSM_M12D() const
907  {
908  return SM_M12D;
909  }
910 
911  virtual StandardModel getTrueSM() const
912  {
913  throw std::runtime_error("StandardModel::getTrueSM() must be overridden by the NP extension.");
914  }
915 
921  {
923  }
924 
930  {
931  return myEWSMcache;
932  }
933 
939  {
940  return myOneLoopEW;
941  }
942 
948  {
949  return myApproximateFormulae;
950  }
951 
957  EWSMTwoFermionsLEP2* getMyTwoFermionsLEP2() const
958  {
959  return myTwoFermionsLEP2;
960  }
964  {
965  return myThreeLoopEW;
966  }
967 
969  {
970  return myThreeLoopEW2QCD;
971  }
972 
974  {
975  return myThreeLoopQCD;
976  }
977 
979  {
980  return myTwoLoopEW;
981  }
982 
984  {
985  return myTwoLoopQCD;
986  }
987 
989  {
990  return myFlavour;
991  }
992 
994  {
995  return myLeptonFlavour;
996  }
997 
998 
1000  // CKM parameters
1001 
1006  double computeBeta() const;
1007 
1012  double computeGamma() const;
1013 
1018  double computeAlpha() const;
1019 
1024  double computeBetas() const;
1025 
1030  gslpp::complex computelamt() const;
1031 
1036  gslpp::complex computelamc() const;
1037 
1042  gslpp::complex computelamu() const;
1043 
1048  gslpp::complex computelamt_d() const;
1049 
1054  gslpp::complex computelamc_d() const;
1055 
1060  gslpp::complex computelamu_d() const;
1061 
1066  gslpp::complex computelamt_s() const;
1067 
1072  gslpp::complex computelamc_s() const;
1073 
1078  gslpp::complex computelamu_s() const;
1079 
1084  double computeRt() const;
1085 
1090  double computeRts() const;
1091 
1096  double computeRb() const;
1097 
1098 
1100  // QED coupling
1101 
1113  double ale_OS(const double mu, orders order = FULLNLO) const;
1114 
1121  double DeltaAlphaLepton(const double s) const;
1122 
1135  double DeltaAlphaL5q() const;
1136 
1143  double DeltaAlphaTop(const double s) const;
1144 
1157  double DeltaAlpha() const;
1158 
1168  double alphaMz() const;
1169 
1170 
1172  // Higgs VEV
1173 
1182  virtual double v() const;
1183 
1184 
1186  // The W-boson mass
1187 
1192  virtual double Mw_tree() const;
1193 
1209  double s02() const;
1210 
1223  double c02() const;
1224 
1251  virtual double Mw() const;
1252 
1262  virtual double cW2(const double Mw_i) const;
1263  virtual double cW2() const;
1264 
1274  virtual double sW2(const double Mw_i) const;
1275  double sW2() const;
1276 
1298  virtual double DeltaR() const;
1299 
1308  void ComputeDeltaRho(const double Mw_i, double DeltaRho[orders_EW_size]) const;
1309 
1318  void ComputeDeltaR_rem(const double Mw_i, double DeltaR_rem[orders_EW_size]) const;
1319 
1320 
1322  // The W and Z masses in the complex-pole/fixed-width scheme
1323 
1354  double Mzbar() const;
1355 
1376  double MwbarFromMw(const double Mw) const;
1377 
1401  double MwFromMwbar(const double Mwbar) const;
1402 
1420  virtual double DeltaRbar() const;
1421 
1422 
1424  // The W-boson decay width
1425 
1434  virtual double rho_GammaW(const Particle fi, const Particle fj) const;
1435 
1462  virtual double GammaW(const Particle fi, const Particle fj) const;
1463 
1468  virtual double GammaW() const;
1469 
1470 
1472  // EWPO at Z-pole
1473 
1492  virtual double A_f(const Particle f) const;
1493 
1499  virtual double AFB(const Particle f) const;
1500 
1520  virtual double sin2thetaEff(const Particle f) const;
1521 
1547  virtual double GammaZ(const Particle f) const;
1548 
1559  virtual double Gamma_inv() const;
1560 
1575  virtual double Gamma_had() const;
1576 
1590  virtual double Gamma_Z() const;
1591 
1605  virtual double sigma0_had() const;
1606 
1621  virtual double R0_f(const Particle f) const;
1622 
1623 
1625  // Zff effective couplings
1626 
1636  virtual gslpp::complex gV_f(const Particle f) const;
1637 
1647  virtual gslpp::complex gA_f(const Particle f) const;
1648 
1664  virtual gslpp::complex rhoZ_f(const Particle f) const;
1665 
1693  virtual gslpp::complex kappaZ_f(const Particle f) const;
1694 
1715  virtual gslpp::complex deltaRhoZ_f(const Particle f) const;
1716 
1741  virtual gslpp::complex deltaKappaZ_f(const Particle f) const;
1742 
1743 
1745  // Epsilon parameters for EWPO
1746 
1758  virtual double epsilon1() const;
1759 
1780  virtual double epsilon2() const;
1781 
1799  virtual double epsilon3() const;
1800 
1818  virtual double epsilonb() const;
1819 
1820 
1822  // For EWPO caches
1823 
1831  static const int NumSMParamsForEWPO = 27;
1832 
1847  bool checkSMparamsForEWPO();
1848 
1850  // Several Higgs-related quantities used in Higgs coupling analysis
1851 
1858  double computeSigmaggH(const double sqrt_s) const
1859  {
1860  if (sqrt_s == 7.0) {
1861  return 15.11; // in pb for Mh=125.1 GeV
1862  //return 14.99; // in pb for Mh=125.6 GeV
1863  } else if (sqrt_s == 8.0) {
1864  return 19.24; // in pb for Mh=125.1 GeV
1865  //return 19.09; // in pb for Mh=125.6 GeV
1866  } else if (sqrt_s == 1.96) {
1867  return 0.9493; // in pb for Mh=125 GeV
1868  } else
1869  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH()");
1870  }
1871 
1879  double computeSigmaggH_tt(const double sqrt_s) const
1880  {
1881  if (sqrt_s == 7.0) {
1882  //return 14.355; // in pb for Mh=125 GeV with a scale choice of Mh (corrected from the value in 1307.1347v2)
1883  return 15.89; // in pb for Mh=125 GeV with a scale choice of Mh/2
1884  //return 15.76; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1885  } else if (sqrt_s == 8.0) {
1886  //return 18.31; // in pb for Mh=125 GeV with a scale choice of Mh
1887  return 20.18; // in pb for Mh=125 GeV with a scale choice of Mh/2
1888  //return 20.02; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1889  } else
1890  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH_tt()");
1891  }
1892 
1900  double computeSigmaggH_bb(const double sqrt_s) const
1901  {
1902  if (sqrt_s == 7.0) {
1903  //return 0.09528; // in pb for Mh=125 GeV with a scale choice of Mh
1904  return 0.1079; // in pb for Mh=125 GeV with a scale choice of Mh/2
1905  //return 0.1057; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1906  } else if (sqrt_s == 8.0) {
1907  //return 0.1206; // in pb for Mh=125 GeV with a scale choice of Mh
1908  return 0.1357; // in pb for Mh=125 GeV with a scale choice of Mh/2
1909  //return 0.1330; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1910  } else
1911  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH_bb()");
1912  }
1913 
1921  double computeSigmaggH_tb(const double sqrt_s) const
1922  {
1923  if (sqrt_s == 7.0) {
1924  //return -0.8970; // in pb for Mh=125 GeV with a scale choice of Mh
1925  return -0.9726; // in pb for Mh=125 GeV with a scale choice of Mh/2
1926  //return -0.9609; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1927  } else if (sqrt_s == 8.0) {
1928  //return -1.125; // in pb for Mh=125 GeV with a scale choice of Mh
1929  return -1.206; // in pb for Mh=125 GeV with a scale choice of Mh/2
1930  //return -1.192; // in pb for Mh=125.5 GeV with a scale choice of Mh/2
1931  } else
1932  throw std::runtime_error("Bad argument in StandardModel::computeSigmaggH_tb()");
1933  }
1934 
1941  double computeSigmaVBF(const double sqrt_s) const
1942  {
1943  if (sqrt_s == 7.0) {
1944  return 1.222; // in pb for Mh=125.1 GeV
1945  //return 1.214; // in pb for Mh=125.6 GeV
1946  } else if (sqrt_s == 8.0) {
1947  return 1.579; // in pb for Mh=125.1 GeV
1948  //return 1.572; // in pb for Mh=125.6 GeV
1949  } else if (sqrt_s == 1.96) {
1950  return 0.0653; // in pb for Mh=125 GeV
1951  } else
1952  throw std::runtime_error("Bad argument in StandardModel::computeSigmaVBF()");
1953  }
1954 
1962  double computeSigmaWF(const double sqrt_s) const
1963  {
1964  if (sqrt_s == 7.0) {
1965  return 0.938; // in pb for Mh=125 GeV
1966  } else if (sqrt_s == 8.0) {
1967  return 1.210; // in pb for Mh=125 GeV
1968  } else if (sqrt_s == 1.96) {
1969  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(7.) * computeSigmaWF(7.); // in the absence of individual cross sections for TeVatron we rescale the LHC ones
1970  } else
1971  throw std::runtime_error("Bad argument in StandardModel::computeSigmaWF()");
1972  }
1973 
1981  double computeSigmaZF(const double sqrt_s) const
1982  {
1983  if (sqrt_s == 7.0) {
1984  return 0.321; // in pb for Mh=125 GeV
1985  } else if (sqrt_s == 8.0) {
1986  return 0.417; // in pb for Mh=125 GeV
1987  } else if (sqrt_s == 1.96) {
1988  return computeSigmaVBF(sqrt_s) / computeSigmaVBF(7.) * computeSigmaZF(7.); // in the absence of individual cross sections for TeVatron we rescale the LHC ones
1989  } else
1990  throw std::runtime_error("Bad argument in StandardModel::computeSigmaZF()");
1991  }
1992 
2000  double computeSigmaZWF(const double sqrt_s) const
2001  {
2002  return 0.;
2003  }
2004 
2011  double computeSigmaWH(const double sqrt_s) const
2012  {
2013  if (sqrt_s == 7.0) {
2014  return 0.577; // in pb for Mh=125.1 GeV
2015  //return 0.5688; // in pb for Mh=125.6 GeV
2016  } else if (sqrt_s == 8.0) {
2017  return 0.7027; // in pb for Mh=125.1 GeV
2018  //return 0.6931; // in pb for Mh=125.6 GeV
2019  } else if (sqrt_s == 1.96) {
2020  return 0.1295; // in pb for Mh=125 GeV
2021  } else
2022  throw std::runtime_error("Bad argument in StandardModel::computeSigmaWH()");
2023  }
2024 
2031  double computeSigmaZH(const double sqrt_s) const
2032  {
2033  if (sqrt_s == 7.0) {
2034  return 0.3341; // in pb for Mh=125.1 GeV
2035  //return 0.3299; // in pb for Mh=125.6 GeV
2036  } else if (sqrt_s == 8.0) {
2037  return 0.4142; // in pb for Mh=125.1 GeV
2038  //return 0.4091; // in pb for Mh=125.6 GeV
2039  } else if (sqrt_s == 1.96) {
2040  return 0.0785; // in pb for Mh=125 GeV
2041  } else
2042  throw std::runtime_error("Bad argument in StandardModel::computeSigmaZH()");
2043  }
2044 
2051  double computeSigmattH(const double sqrt_s) const
2052  {
2053  if (sqrt_s == 7.0) {
2054  return 0.0861; // in pb for Mh=125.1 GeV
2055  //return 0.0851; // in pb for Mh=125.6 GeV
2056  } else if (sqrt_s == 8.0) {
2057  return 0.129; // in pb for Mh=125.1 GeV
2058  //return 0.1274; // in pb for Mh=125.6 GeV
2059  } else if (sqrt_s == 1.96) {
2060  return 0.0043; // in pb for Mh=125 GeV
2061  } else
2062  throw std::runtime_error("Bad argument in StandardModel::computeSigmattH()");
2063  }
2064 
2070  double computeBrHtogg() const
2071  {
2072  return 8.56e-2; // Mh=125.1 GeV
2073  }
2074 
2080  double computeBrHtoWW() const
2081  {
2082  //return 2.23e-1; // Mh=125.5 GeV
2083  return 2.16e-1; // Mh=125.1 GeV
2084  }
2085 
2091  double computeBrHtoZZ() const
2092  {
2093  return 2.67e-2; // Mh=125.1 GeV
2094  //return 2.79e-2; // Mh=125.6 GeV
2095  }
2096 
2102  double computeBrHtoZga() const
2103  {
2104  return 1.55e-3; // Mh=125.1 GeV
2105  //return 1.59e-3; // Mh=125.6 GeV
2106  }
2107 
2113  double computeBrHtogaga() const
2114  {
2115  return 2.28e-3; // Mh=125.1 GeV
2116  }
2117 
2123  double computeBrHtotautau() const
2124  {
2125  return 6.30e-2; // Mh=125.1 GeV
2126  //return 6.22e-2; // Mh=125.6 GeV
2127  }
2128 
2134  double computeBrHtocc() const
2135  {
2136  return 2.90e-2; // Mh=125.1 GeV
2137  //return 2.86e-2; // Mh=125.6 GeV
2138  }
2139 
2145  double computeBrHtobb() const
2146  {
2147  return 5.75e-1; // Mh=125.1 GeV
2148  //return 5.67e-1; // Mh=125.6 GeV
2149  }
2150 
2156  double computeGammaHTotal() const
2157  {
2158  return 4.08e-3; // Mh=125.1 GeV
2159  //return 4.15e-3; // Mh=125.6 GeV
2160  }
2161 
2167  double computeGammaHgg_tt() const
2168  {
2169  return 380.8; // in keV for Mh=125 GeV
2170  //return 389.6; // in keV for Mh=126 GeV
2171  }
2172 
2178  double computeGammaHgg_bb() const
2179  {
2180  return 3.96; // in keV for Mh=125 GeV
2181  //return 3.95; // in keV for Mh=126 GeV
2182  }
2183 
2189  double computeGammaHgg_tb() const
2190  {
2191  return -42.1; // in keV for Mh=125 GeV
2192  //return -42.7; // in keV for Mh=126 GeV
2193  }
2194 
2200  double computeGammaHZga_tt() const
2201  {
2202  return 21.74; // in eV for Mh=125 GeV
2203  //return 23.51; // in eV for Mh=126 GeV
2204  }
2205 
2211  double computeGammaHZga_WW() const
2212  {
2213  return 7005.6; // in eV for Mh=125 GeV
2214  //return 7648.4; // in eV for Mh=126 GeV
2215  }
2216 
2222  double computeGammaHZga_tW() const
2223  {
2224  return -780.4; // in eV for Mh=125 GeV
2225  //return -848.1; // in eV for Mh=126 GeV
2226  }
2227 
2233  double computeGammaHgaga_tt() const
2234  {
2235  return 662.84; // in eV for Mh=125 GeV
2236  //return 680.39; // in eV for Mh=126 GeV
2237  }
2238 
2244  double computeGammaHgaga_WW() const
2245  {
2246  return 14731.86; // in eV for Mh=125 GeV
2247  //return 15221.98; // in eV for Mh=126 GeV
2248  }
2249 
2255  double computeGammaHgaga_tW() const
2256  {
2257  return -6249.93; // in eV for Mh=125 GeV
2258  //return -6436.35; // in eV for Mh=126 GeV
2259  }
2260 
2262 protected:
2263 
2269  virtual void setParameter(const std::string name, const double& value);
2270 
2274  virtual void computeCKM();
2275 
2281  virtual void computeYukawas();
2282 
2291 
2292  // model parameters
2293  double AlsMz;
2294  double Mz;
2295  double GF;
2296  double ale;
2297  double dAle5Mz;
2298  double mHl;
2299  double delMw;
2300  double delSin2th_l;
2301  double delGammaZ;
2302  double lambda;
2303  double A;
2304  double rhob;
2305  double etab;
2306  double muw;
2307 
2308  double EpsK;
2309  double phiEpsK;
2310  double DeltaMK;
2311  double KbarEpsK;
2312  double Dmk;
2313  double SM_M12D;
2314 
2315 
2317  // For EWPO
2318 
2326 
2337  double SchemeToDouble(const std::string scheme) const
2338  {
2339  if (scheme.compare("NORESUM") == 0)
2340  return 0.0;
2341  else if (scheme.compare("OMSI") == 0)
2342  return 1.0;
2343  else if (scheme.compare("INTERMEDIATE") == 0)
2344  return 2.0;
2345  else if (scheme.compare("OMSII") == 0)
2346  return 3.0;
2347  else if (scheme.compare("APPROXIMATEFORMULA") == 0)
2348  return 4.0;
2349  else
2350  throw std::runtime_error("EWSM::SchemeToDouble: bad scheme");
2351  }
2352 
2358  bool checkEWPOscheme(const std::string scheme) const
2359  {
2360  if (scheme.compare("NORESUM") == 0
2361  || scheme.compare("OMSI") == 0
2362  || scheme.compare("INTERMEDIATE") == 0
2363  || scheme.compare("OMSII") == 0
2364  || scheme.compare("APPROXIMATEFORMULA") == 0)
2365  return true;
2366  else
2367  return false;
2368  }
2369 
2402  double resumMw(const double Mw_i, const double DeltaRho[orders_EW_size],
2403  const double DeltaR_rem[orders_EW_size]) const;
2404 
2431  double resumRhoZ(const double DeltaRho[orders_EW_size],
2432  const double deltaRho_rem[orders_EW_size],
2433  const double DeltaRbar_rem, const bool bool_Zbb) const;
2434 
2461  double resumKappaZ(const double DeltaRho[orders_EW_size],
2462  const double deltaKappa_rem[orders_EW_size],
2463  const double DeltaRbar_rem, const bool bool_Zbb) const;
2464 
2487  double taub() const;
2488 
2497  double Delta_EWQCD(const QCD::quark q) const;
2498 
2508  double RVq(const QCD::quark q) const;
2509 
2519  double RAq(const QCD::quark q) const;
2520 
2534  double RVh() const;
2535 
2536  bool requireCKM;
2537  bool requireYe;
2538  bool requireYn;
2539 
2540 
2542 private:
2543 
2554 
2555  EWSMTwoFermionsLEP2* myTwoFermionsLEP2;
2556 
2559 
2562  std::string FlagMw;
2563  std::string FlagRhoZ;
2564  std::string FlagKappaZ;
2565 
2566 
2567 
2569  // Caches for EWPO
2570 
2573  mutable double DeltaAlphaLepton_cache;
2574  mutable double DeltaAlpha_cache;
2575  mutable double Mw_cache;
2576  mutable double GammaW_cache;
2580  mutable bool useDeltaAlpha_cache;
2581  mutable bool useMw_cache;
2582  mutable bool useGammaW_cache;
2583  mutable bool useRhoZ_f_cache[12];
2584  mutable bool useKappaZ_f_cache[12];
2585 
2587 
2588 };
2589 
2590 #endif /* STANDARDMODEL_H */
virtual double Gamma_had() const
The hadronic decay width of the boson, .
double computeAlpha() const
The CKM angle .
EWSMThreeLoopEW2QCD * myThreeLoopEW2QCD
A pointer to an object of type EWSMThreeLoopEW2QCD.
double computeGammaHgg_tt() const
The top loop contribution to in the Standard Model.
double getDelSin2th_l() const
A get method to retrieve the theoretical uncertainty in , denoted as .
double computeGammaHgg_tb() const
The top-bottom interference contribution to in the Standard Model.
double SMparamsForEWPO_cache[NumSMParamsForEWPO]
virtual double epsilon2() const
The SM contribution to the epsilon parameter .
EWSMTwoFermionsLEP2 * getMyTwoFermionsLEP2() const
A get method to retrieve the member pointer of type EWSMTwoFermionsLEP2.
double computeRt() const
.
EWSMApproximateFormulae * getMyApproximateFormulae() const
A get method to retrieve the member pointer of type EWSMApproximateFormulae.
double computeBeta() const
The CKM angle .
double getEpsK() const
virtual double epsilon1() const
The SM contribution to the epsilon parameter .
gslpp::matrix< gslpp::complex > getYn() const
A get method to retrieve the Yukawa matrix of the neutrinos, .
gslpp::matrix< gslpp::complex > Ye
The Yukawa matrix of the charged leptons.
EWSMThreeLoopEW2QCD * getMyThreeLoopEW2QCD() const
void ComputeDeltaR_rem(const double Mw_i, double DeltaR_rem[orders_EW_size]) const
A method to collect computed via subclasses.
virtual bool PostUpdate()
The post-update method for StandardModel.
CKM getCKM() const
A get method to retrieve the member object of type CKM.
double computeGammaHgaga_tt() const
The top loop contribution to in the Standard Model.
virtual bool setFlagStr(const std::string name, const std::string value)
A method to set a flag of StandardModel.
gslpp::matrix< gslpp::complex > UPMNS
The PMNS matrix.
gslpp::matrix< gslpp::complex > VCKM
The CKM matrix.
static const int NumSMParamsForEWPO
The number of the SM parameters that are relevant to the EW precision observables.
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for StandardModel.
virtual gslpp::complex deltaRhoZ_f(const Particle f) const
Flavour non-universal vertex corrections to , denoted by .
double computeSigmaZH(const double sqrt_s) const
The ZH production cross section in the Standard Model.
virtual gslpp::complex gA_f(const Particle f) const
The effective leptonic neutral-current axial-vector coupling in the SM.
gslpp::complex computelamc_d() const
The product of the CKM elements .
quark
An enum type for quarks.
Definition: QCD.h:730
double getDelMw() const
A get method to retrieve the theoretical uncertainty in , denoted as .
double getRhob() const
A get method to retrieve the CKM element .
bool useRhoZ_f_cache[12]
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
A class for particles.
Definition: Particle.h:26
virtual double Mw_tree() const
The tree-level mass of the boson, .
double computeGammaHgg_bb() const
The bottom loop contribution to in the Standard Model.
double computeSigmaggH_tt(const double sqrt_s) const
The square of the top-quark contribution to the ggH cross section in the Standard Model...
A class for one-loop corrections to the EW precision observables.
The size of this enum.
EWSMThreeLoopQCD * getMyThreeLoopQCD() const
A class for three-loop corrections to the EW precision observables.
double computeSigmaZF(const double sqrt_s) const
The Z fusion contribution to higgs-production cross section in the Standard Model.
double getphiEpsK() const
EWSMThreeLoopEW * myThreeLoopEW
A pointer to an object of type EWSMThreeLoopEW.
virtual StandardModelMatching * getMyMatching() const
A get method to access the member pointer of type StandardModelMatching.
double DeltaAlphaLepton_cache
A cache of the value of .
double DeltaAlpha() const
The total corrections to the electromagnetic coupling at the -mass scale, denoted as ...
double AlsMz
The strong coupling constant at the Z-boson mass, .
std::string FlagRhoZ
A string for the model flag RhoZ.
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
double computeGammaHZga_WW() const
The loop contribution to in the Standard Model. Currently it returns the value of tab 41 in ref...
virtual double epsilonb() const
The SM contribution to the epsilon parameter .
void setFlagNoApproximateGammaZ(bool FlagNoApproximateGammaZ)
double computeBetas() const
The CKM angle .
bool flag_order[orders_EW_size]
An array of internal flags controlling the inclusions of higher-order corrections.
gslpp::complex computelamc_s() const
The product of the CKM elements .
static const std::string SMvars[NSMvars]
A string array containing the labels of the model parameters in StandardModel.
Three-loop of .
double computeGammaHZga_tW() const
The mixed loop contribution to in the Standard Model.
EWSMOneLoopEW * getMyOneLoopEW() const
A get method to retrieve the member pointer of type EWSMOneLoopEW,.
double computeGammaHgaga_WW() const
The loop contribution to in the Standard Model.
double DeltaAlphaLepton(const double s) const
Leptonic contribution to the electromagnetic coupling , denoted as .
virtual bool CheckFlags() const
A method to check the sanity of the set of model flags.
gslpp::matrix< gslpp::complex > getUPMNS() const
A get method to retrieve the object of the PMNS matrix.
std::string getFlagMw() const
A method to retrieve the model flag Mw.
bool requireCKM
An internal flag to control whether the CKM matrix has to be recomputed.
gslpp::matrix< gslpp::complex > Yn
The Yukawa matrix of the neutrinos.
bool IsFlagWithoutNonUniversalVC() const
A method to retrieve the model flag WithoutNonUniversalVC.
gslpp::complex computelamc() const
The product of the CKM elements .
The parent class in Flavour for calculating all the Wilson coefficients for various Flavor Violating ...
Definition: Flavour.h:28
double getLambda() const
A get method to retrieve the CKM element .
double getDeltaMK() const
double computeBrHtoWW() const
The Br in the Standard Model.
double ale
The fine-structure constant .
double getEtab() const
A get method to retrieve the CKM element .
std::string getFlagKappaZ() const
A method to retrieve the model flag KappaZ.
std::string FlagKappaZ
A string for the model flag KappaZ.
virtual double Gamma_inv() const
The invisible partial decay width of the boson, .
virtual double GammaZ(const Particle f) const
The partial decay width, .
EWSMOneLoopEW * myOneLoopEW
A pointer to an object of type EWSMOneLoopEW.
double Delta_EWQCD(const QCD::quark q) const
The non-factorizable EW-QCD corrections to the partial widths for , denoted as .
EWSMTwoLoopQCD * getMyTwoLoopQCD() const
double RVh() const
The singlet vector corrections to the hadronic -boson width, denoted as .
bool requireYe
An internal flag to control whether the charged-lepton Yukawa matrix has to be recomputed.
virtual bool InitializeModel()
A method to initialize the model.
double computeRts() const
.
void ComputeDeltaRho(const double Mw_i, double DeltaRho[orders_EW_size]) const
A method to collect computed via subclasses.
double GF
The Fermi constant in .
int getIterationNo() const
double computeSigmaWH(const double sqrt_s) const
The WH production cross section in the Standard Model.
double computeBrHtoZZ() const
The Br in the Standard Model.
double computeSigmattH(const double sqrt_s) const
The ttH production cross section in the Standard Model.
double computeBrHtobb() const
The Br in the Standard Model.
gslpp::complex rhoZ_f_cache[12]
A cache of the value of .
double DeltaAlphaTop(const double s) const
Top-quark contribution to the electromagnetic coupling , denoted as .
double RVq(const QCD::quark q) const
The radiator factor associated with the final-state QED and QCD corrections to the the vector-current...
virtual double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
std::string name
The name of the model.
Definition: Model.h:203
virtual void computeYukawas()
The method to compute the Yukawa matrices.
A model class for the Standard Model.
virtual double sigma0_had() const
The hadronic cross section for at the -pole, .
StandardModelMatching * myStandardModelMatching
A pointer to an object of type StandardModelMatching.
static const double GeVminus2_to_nb
double DeltaAlpha_cache
A cache of the value of .
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...
double mHl
The Higgs mass in GeV.
double delSin2th_l
The theoretical uncertainty in , denoted as .
gslpp::matrix< gslpp::complex > Yu
The Yukawa matrix of the up-type quarks.
gslpp::complex computelamu() const
The product of the CKM elements .
gslpp::matrix< gslpp::complex > getVCKM() const
A get method to retrieve the CKM matrix.
Two-loop of .
A class for the matching in the Standard Model.
double getMuw() const
A get method to retrieve the matching scale around the weak scale.
EWSMcache * getMyEWSMcache() const
A get method to retrieve the member pointer of type EWSMcache.
double SchemeToDouble(const std::string scheme) const
A method to convert a given scheme name in string form into a floating-point number with double preci...
double computeSigmaggH_bb(const double sqrt_s) const
The square of the bottom-quark contribution to the ggH cross section in the Standard Model...
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
double rhob
The CKM parameter in the Wolfenstein parameterization.
A class for cache variables used in computing radiative corrections to the EW precision observables...
Definition: EWSMcache.h:40
gslpp::matrix< gslpp::complex > getYe() const
A get method to retrieve the Yukawa matrix of the charged leptons, .
static const double Mw_error
The target accuracy of the iterative calculation of the -boson mass in units of GeV.
double Mw_cache
A cache of the value of .
double computeSigmaWF(const double sqrt_s) const
The W fusion contribution to higgs-production cross section in the Standard Model.
double Mz
The mass of the boson in GeV.
double getA() const
A get method to retrieve the CKM element .
virtual ~StandardModel()
The default destructor.
gslpp::complex kappaZ_f_cache[12]
A cache of the value of .
bool IsFlagNoApproximateGammaZ() const
A method to retrieve the model flag NoApproximateGammaZ.
double getDelGammaZ() const
A get method to retrieve the theoretical uncertainty in , denoted as .
double computeBrHtogg() const
The Br in the Standard Model.
bool useDeltaAlpha_cache
virtual gslpp::complex rhoZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
virtual double epsilon3() const
The SM contribution to the epsilon parameter .
double sW2() const
double dAle5Mz
The five-flavour hadronic contribution to the electromagnetic coupling, .
virtual double v() const
The Higgs vacuum expectation value. where is the Fermi constant, measured through muon decays...
gslpp::complex computelamt_d() const
The product of the CKM elements .
bool requireYn
An internal flag to control whether the neutrino Yukawa matrix has to be recomputed.
double computeBrHtotautau() const
The Br in the Standard Model.
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
A class for approximate formulae of the EW precision observables.
double getGF() const
A get method to retrieve the Fermi constant .
virtual bool Init(const std::map< std::string, double > &DPars)
A method to initialize the model parameters.
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
LeptonFlavour * getMyLeptonFlavour() const
virtual bool PreUpdate()
The pre-update method for StandardModel.
The parent class in LeptonFlavour for calculating all the Wilson coefficients for various Lepton Flav...
Definition: LeptonFlavour.h:32
double muw
A matching scale around the weak scale in GeV.
Flavour * myFlavour
A pointer to an object of the type Flavour.
EWSMcache * myEWSMcache
A pointer to an object of type EWSMcache.
CKM myCKM
An object of type CKM.
gslpp::complex computelamu_d() const
The product of the CKM elements .
virtual void computeCKM()
The method to compute the CKM matrix.
double lambda
The CKM parameter in the Wolfenstein parameterization.
virtual gslpp::complex kappaZ_f(const Particle f) const
The effective leptonic neutral-current coupling in the SM.
Flavour * getMyFlavour() const
gslpp::matrix< gslpp::complex > getYd() const
A get method to retrieve the Yukawa matrix of the down-type quarks, .
bool useDeltaAlphaLepton_cache
virtual StandardModel getTrueSM() const
double computeSigmaggH_tb(const double sqrt_s) const
The top-bottom interference contribution to the ggH cross section in the Standard Model...
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...
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 .
gslpp::complex computelamt_s() const
The product of the CKM elements .
void setFlagCacheInStandardModel(bool FlagCacheInStandardModel)
A set method to change the model flag CacheInStandardModel of StandardModel.
double delGammaZ
The theoretical uncertainty in , denoted as , in GeV.
virtual double cW2() const
double getAle() const
A get method to retrieve the fine-structure constant .
gslpp::matrix< gslpp::complex > Yd
The Yukawa matrix of the down-type quarks.
double taub() const
Top-mass corrections to the vertex, denoted by .
Three-loop of .
virtual double DeltaRbar() const
The SM prediction for derived from that for the -boson mass.
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...
double computeGammaHgaga_tW() const
The mixed loop contribution to in the Standard Model.
One-loop of .
Particle leptons[6]
An array of Particle objects for the leptons.
double computeBrHtoZga() const
The Br in the Standard Model.
bool checkSMparamsForEWPO()
A method to check whether the parameters relevant to the EWPO are updated.
A class for the CKM matrix elements.
Definition: CKM.h:23
A class for two-loop corrections to the EW precision observables.
Definition: EWSMTwoLoopEW.h:57
double getDmk() const
double computeRb() const
.
EWSMTwoLoopEW * getMyTwoLoopEW() const
virtual gslpp::complex deltaKappaZ_f(const Particle f) const
Flavour non-universal vertex corrections to , denoted by .
virtual double AFB(const Particle f) const
An observable class for the -boson mass.
Definition: Mw.h:22
bool FlagCacheInStandardModel
A flag for caching (true by default).
virtual double Gamma_Z() const
The total decay width of the boson, .
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...
double Mzbar() const
The -boson mass in the complex-pole/fixed-width scheme.
double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections...
double getSM_M12D() const
virtual gslpp::complex gV_f(const Particle f) const
The effective leptonic neutral-current vector coupling in the SM.
double etab
The CKM parameter in the Wolfenstein parameterization.
virtual double GammaW() const
The total width of the boson, .
virtual double DeltaR() const
The SM prediction for derived from that for the boson mass.
bool FlagWithoutNonUniversalVC
A boolean for the model flag WithoutNonUniversalVC.
virtual double rho_GammaW(const Particle fi, const Particle fj) const
EW radiative corrections to the width of , denoted as .
EWSMTwoFermionsLEP2 * myTwoFermionsLEP2
A pointer to an object of type EWSMTwoFermionsLEP2.
double computeGammaHTotal() const
The Higgs total width in the Standard Model.
EWSMApproximateFormulae * myApproximateFormulae
A pointer to an object of type EWSMApproximateFormulae.
EWSMThreeLoopQCD * myThreeLoopQCD
A pointer to an object of type EWSMThreeLoopQCD.
std::string getFlagRhoZ() const
A method to retrieve the model flag RhoZ.
A class for two-loop corrections to the EW precision observables.
A class for three-loop corrections to the EW precision observables.
double ale_OS(const double mu, orders order=FULLNLO) const
The running electromagnetic coupling in the on-shell schem.
gslpp::matrix< gslpp::complex > getYu() const
A get method to retrieve the Yukawa matrix of the up-type quarks, .
EWSMTwoLoopEW * myTwoLoopEW
A pointer to an object of type EWSMTwoLoopEW.
bool useKappaZ_f_cache[12]
A class for three-loop corrections to the EW precision observables.
double computeSigmaggH(const double sqrt_s) const
The ggH cross section in the Standard Model.
LeptonFlavour * myLeptonFlavour
A pointer to an object of the type LeptonFlavour.
double computeGammaHZga_tt() const
The top loop contribution to in the Standard Model.
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
double computeSigmaZWF(const double sqrt_s) const
The Z W interference fusion contribution to higgs-production cross section in the Standard Model...
double s02() const
The square of the sine of the weak mixing angle defined without weak radiative corrections.
StandardModel()
The default constructor.
EWSMTwoLoopQCD * myTwoLoopQCD
A pointer to an object of type EWSMTwoLoopQCD.
double computeBrHtocc() const
The Br in the Standard Model.
double GammaW_cache
A cache of the value of .
double delMw
The theoretical uncertainty in , denoted as , in GeV.
EWSMThreeLoopEW * getMyThreeLoopEW() const
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 .
bool FlagNoApproximateGammaZ
A boolean for the model flag NoApproximateGammaZ.
gslpp::complex computelamu_s() const
The product of the CKM elements .
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
virtual double R0_f(const Particle f) const
The ratio .
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
double getMHl() const
A get method to retrieve the Higgs mass .
bool checkEWPOscheme(const std::string scheme) const
A method to check if a given scheme name in string form is valid.
double getKbarEpsK() const
double computeSigmaVBF(const double sqrt_s) const
The VBF cross section in the Standard Model.
virtual bool setFlag(const std::string name, const bool value)
A method to set a flag of StandardModel.
Three-loop of .
A class for parameters related to QCD, hadrons and quarks.
Definition: QCD.h:707
static const int NSMvars
The number of the model parameters in StandardModel.
orders_EW
An enumerated type representing perturbative orders of radiative corrections to EW precision observab...
double computeBrHtogaga() const
The Br in the Standard Model.
gslpp::complex computelamt() const
The product of the CKM elements .
double A
The CKM parameter in the Wolfenstein parameterization.
double computeGamma() const
The CKM angle .
double getMz() const
A get method to access the mass of the boson .
lepton
An enum type for leptons.
double getDAle5Mz() const
A get method to retrieve the five-flavour hadronic contribution to the electromagnetic coupling...
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 .
double getAlsMz() const
A get method to access the value of .
std::string FlagMw
A string for the model flag Mw.