HiggsKvgenKf.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "HiggsKvgenKf.h"
9 
10 const std::string HiggsKvgenKf::HKvgenKfvars[NHKvgenKfvars] = {
11  "KW", "KZ", "Kf", "BrHinv"
12 
13 };
14 
16 : NPbase()
17 {
18  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("KW", boost::cref(KW)));
19  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("KZ", boost::cref(KZ)));
20  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("Kf", boost::cref(Kf)));
21  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("BrHinv", boost::cref(BrHinv)));
22 }
23 
24 void HiggsKvgenKf::setParameter(const std::string name, const double& value)
25 {
26  if (name.compare("KW") == 0)
27  KW = value;
28  else if (name.compare("KZ") == 0)
29  KZ = value;
30  else if (name.compare("Kf") == 0)
31  Kf = value;
32  else if (name.compare("BrHinv") == 0)
33  BrHinv = value;
34  else
35  NPbase::setParameter(name, value);
36 }
37 
38 bool HiggsKvgenKf::CheckParameters(const std::map<std::string, double>& DPars)
39 {
40  for (int i = 0; i < NHKvgenKfvars; i++) {
41  if (DPars.find(HKvgenKfvars[i]) == DPars.end()) {
42  std::cout << "missing mandatory HiggsKvgenKf parameter " << HKvgenKfvars[i] << std::endl;
43  return false;
44  }
45  }
46  return (NPbase::CheckParameters(DPars));
47 }
48 
50 
51 double HiggsKvgenKf::muggH(const double sqrt_s) const
52 {
53  return (computeKg() * computeKg());
54 }
55 
56 double HiggsKvgenKf::muVBF(const double sqrt_s) const
57 {
58  double sigmaWF_SM = trueSM.computeSigmaWF(sqrt_s);
59  double sigmaZF_SM = trueSM.computeSigmaZF(sqrt_s);
60  double sigmaZWF_SM = trueSM.computeSigmaZWF(sqrt_s);
61  return (computeKW() * computeKW() * sigmaWF_SM
62  + computeKZ() * computeKZ() * sigmaZF_SM
63  + computeKW() * computeKZ() * sigmaZWF_SM)
64  / (sigmaWF_SM + sigmaZF_SM + sigmaZWF_SM);
65 }
66 
67 double HiggsKvgenKf::muWH(const double sqrt_s) const
68 {
69  return (computeKW() * computeKW());
70 }
71 
72 double HiggsKvgenKf::muZH(const double sqrt_s) const
73 {
74  return (computeKZ() * computeKZ());
75 }
76 
77 double HiggsKvgenKf::muVH(const double sqrt_s) const
78 {
79  double sigmaWH_SM = trueSM.computeSigmaWH(sqrt_s);
80  double sigmaZH_SM = trueSM.computeSigmaZH(sqrt_s);
81  return ((computeKW() * computeKW() * sigmaWH_SM
82  + computeKZ() * computeKZ() * sigmaZH_SM)
83  / (sigmaWH_SM + sigmaZH_SM));
84 }
85 
86 double HiggsKvgenKf::muVBFpVH(const double sqrt_s) const
87 {
88  double sigmaWH_SM = trueSM.computeSigmaWH(sqrt_s);
89  double sigmaZH_SM = trueSM.computeSigmaZH(sqrt_s);
90  double sigmaWF_SM = trueSM.computeSigmaWF(sqrt_s);
91  double sigmaZF_SM = trueSM.computeSigmaZF(sqrt_s);
92  double sigmaZWF_SM = trueSM.computeSigmaZWF(sqrt_s);
93  double sigmaVBF_SM = sigmaWF_SM + sigmaZF_SM + sigmaZWF_SM;
94 
95  double sigmaWH = muWH(sqrt_s) * sigmaWH_SM;
96  double sigmaZH = muZH(sqrt_s) * sigmaZH_SM;
97  double sigmaVBF = muVBF(sqrt_s) * sigmaVBF_SM;
98 
99  return ((sigmaWH + sigmaZH + sigmaVBF) / (sigmaWH_SM + sigmaZH_SM + sigmaVBF_SM));
100 }
101 
102 double HiggsKvgenKf::muttH(const double sqrt_s) const
103 {
104  return (computeKt() * computeKt());
105 }
106 
107 double HiggsKvgenKf::muggHpttH(const double sqrt_s) const
108 {
109  double sigmaggH_SM = trueSM.computeSigmaggH(sqrt_s);
110  double sigmattH_SM = trueSM.computeSigmattH(sqrt_s);
111 
112  double sigmaggH = muggH(sqrt_s) * sigmaggH_SM;
113  double sigmattH = muttH(sqrt_s) * sigmattH_SM;
114 
115  return ((sigmaggH + sigmattH) / (sigmaggH_SM + sigmattH_SM));
116 }
117 
119 {
120  return (computeKg() * computeKg() / computeGammaTotalRatio());
121 }
122 
124 {
125  return (computeKW() * computeKW() / computeGammaTotalRatio());
126 }
127 
129 {
130  return (computeKZ() * computeKZ() / computeGammaTotalRatio());
131 }
132 
134 {
136 }
137 
139 {
141 }
142 
144 {
146 }
147 
149 {
150  return (computeKc() * computeKc() / computeGammaTotalRatio());
151 }
152 
154 {
155  return (computeKb() * computeKb() / computeGammaTotalRatio());
156 }
157 
159 {
160  return ((computeKg() * computeKg() * trueSM.computeBrHtogg()
168  / (1.0 - BrHinv));
169 }
170 
172 
174 {
175  return Kf;
176 }
177 
179 {
180  return KW;
181 }
182 
184 {
185  return KZ;
186 }
187 
189 {
190  double gtt_SM = trueSM.computeGammaHZga_tt();
191  double gWW_SM = trueSM.computeGammaHZga_WW();
192  double gtW_SM = trueSM.computeGammaHZga_tW();
193  return (sqrt((computeKt() * computeKt() * gtt_SM
194  + computeKW() * computeKW() * gWW_SM
195  + computeKt() * computeKW() * gtW_SM) / (gtt_SM + gWW_SM + gtW_SM)));
196 }
197 
199 {
200  double gtt_SM = trueSM.computeGammaHgaga_tt();
201  double gWW_SM = trueSM.computeGammaHgaga_WW();
202  double gtW_SM = trueSM.computeGammaHgaga_tW();
203  return (sqrt((computeKt() * computeKt() * gtt_SM
204  + computeKW() * computeKW() * gWW_SM
205  + computeKt() * computeKW() * gtW_SM) / (gtt_SM + gWW_SM + gtW_SM)));
206 }
207 
209 {
210  return Kf;
211 }
212 
214 {
215  return Kf;
216 }
217 
219 {
220  return Kf;
221 }
222 
224 {
225  return Kf;
226 }
227 
228 
virtual double computeKt() const
A method to compute the ratio of the coupling in the current model and in the SM.
virtual double muVBFpVH(const double sqrt_s) const
The ratio between the sum of VBF and WH+ZH associated production cross-section in the current model ...
double computeGammaHgaga_tt() const
The top loop contribution to in the Standard Model.
virtual double BrHWWRatio() const
The ratio of the Br in the current model and in the Standard Model.
double computeSigmaZH(const double sqrt_s) const
The ZH production cross section in the Standard Model.
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
virtual double BrHZgaRatio() const
The ratio of the Br in the current model and in the Standard Model.
double KZ
The factor rescaling Higgs couplings to bosons with respect to the SM.
Definition: HiggsKvgenKf.h:344
double computeSigmaZF(const double sqrt_s) const
The Z fusion contribution to higgs-production cross section in the Standard Model.
virtual double BrHggRatio() const
The ratio of the Br in the current model and in the Standard Model.
double computeGammaHZga_WW() const
The loop contribution to in the Standard Model. Currently it returns the value of tab 41 in ref...
double computeGammaHZga_tW() const
The mixed loop contribution to in the Standard Model.
double computeGammaHgaga_WW() const
The loop contribution to in the Standard Model.
StandardModel trueSM
Definition: NPbase.h:543
virtual double muVBF(const double sqrt_s) const
The ratio between the vector-boson fusion Higgs production cross-section in the current model and in...
double computeBrHtoWW() const
The Br in the Standard Model.
virtual double computeKb() const
A method to compute the ratio of the coupling in the current model and in the SM.
virtual double computeKgaga() const
A method to compute the ratio of the coupling in the current model and in the SM.
virtual double muttH(const double sqrt_s) const
The ratio between the t-tbar-Higgs associated production cross-section in the current model and in t...
virtual double computeKZ() const
A method to compute the ratio of the coupling in the current model and in the SM.
virtual double muVH(const double sqrt_s) const
The ratio between the WH+ZH associated production cross-section in the current model and in the Stan...
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.
virtual double muWH(const double sqrt_s) const
The ratio between the W-Higgs associated production cross-section in the current model and in the St...
double computeBrHtobb() const
The Br in the Standard Model.
double Kf
The factor rescaling all Higgs couplings to fermions with respect to the SM.
Definition: HiggsKvgenKf.h:345
virtual double BrHccRatio() const
The ratio of the Br in the current model and in the Standard Model.
virtual double BrHZZRatio() const
The ratio of the Br in the current model and in the Standard Model.
double computeSigmaWF(const double sqrt_s) const
The W fusion contribution to higgs-production cross section in the Standard Model.
virtual double muggHpttH(const double sqrt_s) const
The ratio between the sum of gluon-gluon fusion and t-tbar-Higgs associated production cross-section...
double computeBrHtogg() const
The Br in the Standard Model.
virtual double BrHbbRatio() const
The ratio of the Br in the current model and in the Standard Model.
virtual double computeKW() const
A method to compute the ratio of the coupling in the current model and in the SM.
double computeBrHtotautau() const
The Br in the Standard Model.
virtual double BrHtautauRatio() const
The ratio of the Br in the current model and in the Standard Model.
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
HiggsKvgenKf()
The default constructor.
virtual double BrHgagaRatio() const
The ratio of the Br in the current model and in the Standard Model.
virtual double computeKZga() const
A method to compute the ratio of the coupling in the current model and in the SM.
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...
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of HiggsKvKf.
double computeGammaHgaga_tW() const
The mixed loop contribution to in the Standard Model.
double computeBrHtoZga() const
The Br in the Standard Model.
double BrHinv
The branching ratio of invisible Higgs decays.
Definition: HiggsKvgenKf.h:346
static const std::string HKvgenKfvars[NHKvgenKfvars]
A string array containing the labels of the model parameters in HiggsKvgenKf.
Definition: HiggsKvgenKf.h:80
virtual double computeGammaTotalRatio() const
The ratio of the in the current model and in the Standard Model.
virtual double computeKtau() const
A method to compute the ratio of the coupling in the current model and in the SM.
virtual double computeKg() const
A method to compute the ratio of the coupling in the current model and in the SM.
double computeSigmaggH(const double sqrt_s) const
The ggH cross section in the Standard Model.
double computeGammaHZga_tt() const
The top loop contribution to in the Standard Model.
double computeSigmaZWF(const double sqrt_s) const
The Z W interference fusion contribution to higgs-production cross section in the Standard Model...
virtual double muZH(const double sqrt_s) const
The ratio between the Z-Higgs associated production cross-section in the current model and in the St...
double computeBrHtocc() const
The Br in the Standard Model.
virtual double muggH(const double sqrt_s) const
The ratio between the gluon-gluon fusion Higgs production cross-section in the current model and in ...
double KW
The factor rescaling Higgs couplings to bosons with respect to the SM.
Definition: HiggsKvgenKf.h:343
virtual double computeKc() const
A method to compute the ratio of the coupling in the current model and in the SM.
double computeBrHtogaga() const
The Br in the Standard Model.
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for HiggsKvgenKf have been provided in model initia...
std::map< std::string, boost::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:200
static const int NHKvgenKfvars
The number of the model parameters in HiggsKvgenKf.
Definition: HiggsKvgenKf.h:75
complex sqrt(const complex &z)