a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
HiggsKvKf.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "HiggsKvKf.h"
9 
10 const std::string HiggsKvKf::HKvKfvars[NHKvKfvars] = {
11  "Kv", "Kf", "BrHinv"
12 };
13 
15 : NPbase()
16 {
17  ModelParamMap.insert(std::make_pair("Kv", std::cref(Kv)));
18  ModelParamMap.insert(std::make_pair("Kf", std::cref(Kf)));
19  ModelParamMap.insert(std::make_pair("BrHinv", std::cref(BrHinv)));
20 }
21 
22 void HiggsKvKf::setParameter(const std::string name, const double& value)
23 {
24  if (name.compare("Kv") == 0)
25  Kv = value;
26  else if (name.compare("Kf") == 0)
27  Kf = value;
28  else if (name.compare("BrHinv") == 0)
29  BrHinv = value;
30  else
31  NPbase::setParameter(name, value);
32 }
33 
34 bool HiggsKvKf::CheckParameters(const std::map<std::string, double>& DPars)
35 {
36  for (int i = 0; i < NHKvKfvars; i++) {
37  if (DPars.find(HKvKfvars[i]) == DPars.end()) {
38  std::cout << "ERROR: missing mandatory HiggsKvKf parameter " << HKvKfvars[i] << std::endl;
41  }
42  }
43  return (NPbase::CheckParameters(DPars));
44 }
45 
47 
48 double HiggsKvKf::obliqueS() const
49 {
50  double Lambda;
51  if (fabs(1.0 - Kv * Kv) < pow(10.0, -32.0))
52  Lambda = pow(10.0, 19.0);
53  else
54  Lambda = 4.0 * M_PI * v() / sqrt(fabs(1.0 - Kv * Kv));
55 
56  return ( 1.0 / 12.0 / M_PI * (1.0 - Kv * Kv) * log(Lambda * Lambda / mHl / mHl));
57 }
58 
59 double HiggsKvKf::obliqueT() const
60 {
61  double Lambda;
62  double cW2_SM = trueSM.cW2();
63  if (fabs(1.0 - Kv * Kv) < pow(10.0, -32.0))
64  Lambda = pow(10.0, 19.0);
65  else
66  Lambda = 4.0 * M_PI * v() / sqrt(fabs(1.0 - Kv * Kv));
67 
68  return ( -3.0 / 16.0 / M_PI / cW2_SM * (1.0 - Kv * Kv) * log(Lambda * Lambda / mHl / mHl));
69 }
70 
71 double HiggsKvKf::obliqueU() const
72 {
73  return 0.0;
74 }
75 
77 
78 double HiggsKvKf::muggH(const double sqrt_s) const
79 {
80  return (computeKg() * computeKg());
81 }
82 
83 double HiggsKvKf::muVBF(const double sqrt_s) const
84 {
85  double sigmaWF_SM = trueSM.computeSigmaWF(sqrt_s);
86  double sigmaZF_SM = trueSM.computeSigmaZF(sqrt_s);
87  double sigmaZWF_SM = trueSM.computeSigmaZWF(sqrt_s);
88  return (computeKW() * computeKW() * sigmaWF_SM
89  + computeKZ() * computeKZ() * sigmaZF_SM
90  + computeKW() * computeKZ() * sigmaZWF_SM)
91  / (sigmaWF_SM + sigmaZF_SM + sigmaZWF_SM);
92 }
93 
94 double HiggsKvKf::mueeWBF(const double sqrt_s) const
95 {
96  return (computeKW() * computeKW());
97 }
98 
99 double HiggsKvKf::muWH(const double sqrt_s) const
100 {
101  return (computeKW() * computeKW());
102 }
103 
104 double HiggsKvKf::muZH(const double sqrt_s) const
105 {
106  return (computeKZ() * computeKZ());
107 }
108 
109 double HiggsKvKf::mueeZH(const double sqrt_s) const
110 {
111  return (computeKZ() * computeKZ());
112 }
113 
114 double HiggsKvKf::muVH(const double sqrt_s) const
115 {
116  double sigmaWH_SM = trueSM.computeSigmaWH(sqrt_s);
117  double sigmaZH_SM = trueSM.computeSigmaZH(sqrt_s);
118  return ((computeKW() * computeKW() * sigmaWH_SM
119  + computeKZ() * computeKZ() * sigmaZH_SM)
120  / (sigmaWH_SM + sigmaZH_SM));
121 }
122 
123 double HiggsKvKf::muVBFpVH(const double sqrt_s) const
124 {
125  double sigmaWH_SM = trueSM.computeSigmaWH(sqrt_s);
126  double sigmaZH_SM = trueSM.computeSigmaZH(sqrt_s);
127  double sigmaWF_SM = trueSM.computeSigmaWF(sqrt_s);
128  double sigmaZF_SM = trueSM.computeSigmaZF(sqrt_s);
129  double sigmaZWF_SM = trueSM.computeSigmaZWF(sqrt_s);
130  double sigmaVBF_SM = sigmaWF_SM + sigmaZF_SM + sigmaZWF_SM;
131 
132  double sigmaWH = muWH(sqrt_s) * sigmaWH_SM;
133  double sigmaZH = muZH(sqrt_s) * sigmaZH_SM;
134  double sigmaVBF = muVBF(sqrt_s) * sigmaVBF_SM;
135 
136  return ((sigmaWH + sigmaZH + sigmaVBF) / (sigmaWH_SM + sigmaZH_SM + sigmaVBF_SM));
137 }
138 
139 double HiggsKvKf::muttH(const double sqrt_s) const
140 {
141  return (computeKt() * computeKt());
142 }
143 
144 double HiggsKvKf::muggHpttH(const double sqrt_s) const
145 {
146  double sigmaggH_SM = trueSM.computeSigmaggH(sqrt_s);
147  double sigmattH_SM = trueSM.computeSigmattH(sqrt_s);
148 
149  double sigmaggH = muggH(sqrt_s) * sigmaggH_SM;
150  double sigmattH = muttH(sqrt_s) * sigmattH_SM;
151 
152  return ((sigmaggH + sigmattH) / (sigmaggH_SM + sigmattH_SM));
153 }
154 
155 double HiggsKvKf::mueettH(const double sqrt_s) const
156 {
157  return (computeKt() * computeKt());
158 }
159 
160 double HiggsKvKf::BrHggRatio() const
161 {
162  return (computeKg() * computeKg() / computeGammaTotalRatio());
163 }
164 
165 double HiggsKvKf::BrHWWRatio() const
166 {
167  return (computeKW() * computeKW() / computeGammaTotalRatio());
168 }
169 
170 double HiggsKvKf::BrHZZRatio() const
171 {
172  return (computeKZ() * computeKZ() / computeGammaTotalRatio());
173 }
174 
176 {
178 }
179 
181 {
183 }
184 
186 {
187  return (computeKmu() * computeKmu() / computeGammaTotalRatio());
188 }
189 
191 {
193 }
194 
195 double HiggsKvKf::BrHccRatio() const
196 {
197  return (computeKc() * computeKc() / computeGammaTotalRatio());
198 }
199 
200 double HiggsKvKf::BrHbbRatio() const
201 {
202  return (computeKb() * computeKb() / computeGammaTotalRatio());
203 }
204 
206 {
207  return ((computeKg() * computeKg() * trueSM.computeBrHtogg()
216  + BrHinv)
225  + trueSM.computeBrHtobb()));
226 }
227 
229 
230 double HiggsKvKf::computeKg() const
231 {
232  return Kf;
233 }
234 
235 double HiggsKvKf::computeKW() const
236 {
237  return Kv;
238 }
239 
240 double HiggsKvKf::computeKZ() const
241 {
242  return Kv;
243 }
244 
246 {
247  double gtt_SM = trueSM.computeGammaHZga_tt();
248  double gWW_SM = trueSM.computeGammaHZga_WW();
249  double gtW_SM = trueSM.computeGammaHZga_tW();
250  return (sqrt((computeKt() * computeKt() * gtt_SM
251  + computeKW() * computeKW() * gWW_SM
252  + computeKt() * computeKW() * gtW_SM) / (gtt_SM + gWW_SM + gtW_SM)));
253 }
254 
256 {
257  double gtt_SM = trueSM.computeGammaHgaga_tt();
258  double gWW_SM = trueSM.computeGammaHgaga_WW();
259  double gtW_SM = trueSM.computeGammaHgaga_tW();
260  return (sqrt((computeKt() * computeKt() * gtt_SM
261  + computeKW() * computeKW() * gWW_SM
262  + computeKt() * computeKW() * gtW_SM) / (gtt_SM + gWW_SM + gtW_SM)));
263 }
264 
265 double HiggsKvKf::computeKmu() const
266 {
267  return Kf;
268 }
269 
271 {
272  return Kf;
273 }
274 
275 double HiggsKvKf::computeKc() const
276 {
277  return Kf;
278 }
279 
280 double HiggsKvKf::computeKt() const
281 {
282  return Kf;
283 }
284 
285 double HiggsKvKf::computeKb() const
286 {
287  return Kf;
288 }
289 
290 
sigmattH
Definition: NPSMEFT6dtopquark.h:606
HiggsKvKf::BrHggRatio
virtual double BrHggRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:160
StandardModel::cW2
virtual double cW2(const double Mw_i) const
The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as .
Definition: StandardModel.cpp:989
HiggsKvKf::BrHtautauRatio
virtual double BrHtautauRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:190
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
HiggsKvKf::computeKc
virtual double computeKc() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:275
HiggsKvKf::muttH
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...
Definition: HiggsKvKf.cpp:139
HiggsKvKf::obliqueS
virtual double obliqueS() const
The oblique parameter .
Definition: HiggsKvKf.cpp:48
StandardModel::computeSigmaWH
double computeSigmaWH(const double sqrt_s) const
The WH production cross section in the Standard Model.
Definition: StandardModel.h:2088
StandardModel::computeGammaHZga_tt
double computeGammaHZga_tt() const
The top loop contribution to in the Standard Model.
Definition: StandardModel.h:2355
HiggsKvKf::muggHpttH
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...
Definition: HiggsKvKf.cpp:144
HiggsKvKf::CheckParameters
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for HiggsKvKf have been provided in model initializ...
Definition: HiggsKvKf.cpp:34
HiggsKvKf::mueeWBF
virtual double mueeWBF(const double sqrt_s) const
The ratio between the production cross-section in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:94
HiggsKvKf::computeKW
virtual double computeKW() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:235
StandardModel::computeBrHtotautau
double computeBrHtotautau() const
The Br in the Standard Model.
Definition: StandardModel.h:2264
HiggsKvKf::muggH
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 ...
Definition: HiggsKvKf.cpp:78
HiggsKvKf::mueettH
virtual double mueettH(const double sqrt_s) const
The ratio between the production cross-section in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:155
HiggsKvKf::obliqueT
virtual double obliqueT() const
The oblique parameter .
Definition: HiggsKvKf.cpp:59
HiggsKvKf::computeKZga
virtual double computeKZga() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:245
HiggsKvKf::muZH
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...
Definition: HiggsKvKf.cpp:104
HiggsKvKf::BrHZgaRatio
virtual double BrHZgaRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:175
HiggsKvKf::computeKb
virtual double computeKb() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:285
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
HiggsKvKf::BrHWWRatio
virtual double BrHWWRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:165
StandardModel::computeGammaHgaga_tW
double computeGammaHgaga_tW() const
The mixed loop contribution to in the Standard Model.
Definition: StandardModel.h:2410
HiggsKvKf::obliqueU
virtual double obliqueU() const
The oblique parameter .
Definition: HiggsKvKf.cpp:71
Model::addMissingModelParameter
void addMissingModelParameter(const std::string &missingParameterName)
Definition: Model.h:232
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
HiggsKvKf::computeGammaTotalRatio
virtual double computeGammaTotalRatio() const
The ratio of the in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:205
StandardModel::computeBrHtobb
double computeBrHtobb() const
The Br in the Standard Model.
Definition: StandardModel.h:2299
StandardModel::mHl
double mHl
The Higgs mass in GeV.
Definition: StandardModel.h:2514
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
HiggsKvKf::BrHgagaRatio
virtual double BrHgagaRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:180
HiggsKvKf::BrHbbRatio
virtual double BrHbbRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:200
Model::ModelParamMap
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:262
HiggsKvKf::BrHmumuRatio
virtual double BrHmumuRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:185
HiggsKvKf::muVBFpVH
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 ...
Definition: HiggsKvKf.cpp:123
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
HiggsKvKf::computeKmu
virtual double computeKmu() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:265
NPbase::trueSM
StandardModel trueSM
Definition: NPbase.h:2787
StandardModel::computeBrHtoZZ
double computeBrHtoZZ() const
The Br in the Standard Model.
Definition: StandardModel.h:2208
StandardModel::computeGammaHgaga_tt
double computeGammaHgaga_tt() const
The top loop contribution to in the Standard Model.
Definition: StandardModel.h:2388
NPbase
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
HiggsKvKf::BrHinv
double BrHinv
The branching ratio of invisible Higgs decays.
Definition: HiggsKvKf.h:372
StandardModel::computeGammaHgaga_WW
double computeGammaHgaga_WW() const
The loop contribution to in the Standard Model.
Definition: StandardModel.h:2399
HiggsKvKf::muVH
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...
Definition: HiggsKvKf.cpp:114
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
Model::raiseMissingModelParameterCount
void raiseMissingModelParameterCount()
Definition: Model.h:242
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
HiggsKvKf::Kf
double Kf
The factor rescaling all Higgs couplings to fermions with respect to the SM.
Definition: HiggsKvKf.h:371
StandardModel::computeBrHtoZga
double computeBrHtoZga() const
The Br in the Standard Model.
Definition: StandardModel.h:2230
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
HiggsKvKf::muVBF
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...
Definition: HiggsKvKf.cpp:83
StandardModel::computeGammaHZga_tW
double computeGammaHZga_tW() const
The mixed loop contribution to in the Standard Model.
Definition: StandardModel.h:2377
StandardModel::computeSigmattH
double computeSigmattH(const double sqrt_s) const
The ttH production cross section in the Standard Model.
Definition: StandardModel.h:2157
HiggsKvKf::setParameter
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of HiggsKvKf.
Definition: HiggsKvKf.cpp:22
HiggsKvKf::Kv
double Kv
The factor rescaling all Higgs couplings to vector bosons with respect to the SM.
Definition: HiggsKvKf.h:370
HiggsKvKf::mueeZH
virtual double mueeZH(const double sqrt_s) const
The ratio between the associated production cross-section in the current model and in the Standard ...
Definition: HiggsKvKf.cpp:109
HiggsKvKf::BrHZZRatio
virtual double BrHZZRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:170
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
StandardModel::computeSigmaZH
double computeSigmaZH(const double sqrt_s) const
The ZH production cross section in the Standard Model.
Definition: StandardModel.h:2121
StandardModel::computeBrHtocc
double computeBrHtocc() const
The Br in the Standard Model.
Definition: StandardModel.h:2276
HiggsKvKf::HKvKfvars
static const std::string HKvKfvars[NHKvKfvars]
A string array containing the labels of the model parameters in HiggsKvKf.
Definition: HiggsKvKf.h:73
StandardModel::computeBrHtomumu
double computeBrHtomumu() const
The Br in the Standard Model.
Definition: StandardModel.h:2253
StandardModel::computeBrHtoWW
double computeBrHtoWW() const
The Br in the Standard Model.
Definition: StandardModel.h:2196
HiggsKvKf::computeKtau
virtual double computeKtau() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:270
HiggsKvKf.h
HiggsKvKf::computeKg
virtual double computeKg() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:230
HiggsKvKf::computeKZ
virtual double computeKZ() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:240
HiggsKvKf::NHKvKfvars
static const int NHKvKfvars
The number of the model parameters in HiggsKvKf.
Definition: HiggsKvKf.h:68
HiggsKvKf::computeKt
virtual double computeKt() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:280
HiggsKvKf::HiggsKvKf
HiggsKvKf()
The default constructor.
Definition: HiggsKvKf.cpp:14
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::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
HiggsKvKf::muWH
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...
Definition: HiggsKvKf.cpp:99
HiggsKvKf::computeKgaga
virtual double computeKgaga() const
A method to compute the ratio of the coupling in the current model and in the SM.
Definition: HiggsKvKf.cpp:255
HiggsKvKf::BrHccRatio
virtual double BrHccRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: HiggsKvKf.cpp:195