HiggsThObservables.h
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 #ifndef HIGGSTHOBSERVABLES_H
9 #define HIGGSTHOBSERVABLES_H
10 
11 #include "ThObservable.h"
12 #include "NPbase.h"
13 
23 class muggH : public ThObservable {
24 public:
25 
31  muggH(const StandardModel& SM_i, const double sqrt_s_i)
32  : ThObservable(SM_i), sqrt_s(sqrt_s_i)
33  {
34  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
35  throw std::runtime_error("muggH called with a class whose parent is not NPbase");
36  }
37 
42  double computeThValue()
43  {
44  return myNPbase->muggH(sqrt_s);
45  }
46 
47 private:
48  const NPbase* myNPbase;
49  const double sqrt_s;
50 };
51 
61 class muVBF : public ThObservable {
62 public:
63 
69  muVBF(const StandardModel& SM_i, const double sqrt_s_i)
70  : ThObservable(SM_i), sqrt_s(sqrt_s_i)
71  {
72  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
73  throw std::runtime_error("muVBF called with a class whose parent is not NPbase");
74 
75  }
76 
81  double computeThValue()
82  {
83  return myNPbase->muVBF(sqrt_s);
84  }
85 
86 private:
87  const NPbase* myNPbase;
88  const double sqrt_s;
89 };
90 
100 class muWH : public ThObservable {
101 public:
102 
108  muWH(const StandardModel& SM_i, const double sqrt_s_i)
109  : ThObservable(SM_i), sqrt_s(sqrt_s_i)
110  {
111  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
112  throw std::runtime_error("muWH called with a class whose parent is not NPbase");
113  }
114 
119  double computeThValue()
120  {
121  return myNPbase->muWH(sqrt_s);
122  }
123 
124 private:
125  const NPbase* myNPbase;
126  const double sqrt_s;
127 };
128 
138 class muZH : public ThObservable {
139 public:
140 
146  muZH(const StandardModel& SM_i, const double sqrt_s_i)
147  : ThObservable(SM_i), sqrt_s(sqrt_s_i)
148  {
149  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
150  throw std::runtime_error("muZH called with a class whose parent is not NPbase");
151  }
152 
157  double computeThValue()
158  {
159  return myNPbase->muZH(sqrt_s);
160  }
161 
162 private:
163  const NPbase* myNPbase;
164  const double sqrt_s;
165 };
166 
177 class mueeZH : public ThObservable {
178 public:
179 
185  mueeZH(const StandardModel& SM_i, const double sqrt_s_i)
186  : ThObservable(SM_i), sqrt_s(sqrt_s_i)
187  {
188  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
189  throw std::runtime_error("mueeZH called with a class whose parent is not NPbase");
190  }
191 
196  double computeThValue()
197  {
198  return myNPbase->mueeZH(sqrt_s);
199  }
200 
201 private:
202  const NPbase* myNPbase;
203  const double sqrt_s;
204 };
205 
215 class muVH : public ThObservable {
216 public:
217 
223  muVH(const StandardModel& SM_i, const double sqrt_s_i)
224  : ThObservable(SM_i), sqrt_s(sqrt_s_i)
225  {
226  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
227  throw std::runtime_error("muVH called with a class whose parent is not NPbase");
228  }
229 
234  double computeThValue()
235  {
236  return myNPbase->muVH(sqrt_s);
237  }
238 
239 private:
240  const NPbase* myNPbase;
241  const double sqrt_s;
242 };
243 
254 class muVBFpVH : public ThObservable {
255 public:
256 
262  muVBFpVH(const StandardModel& SM_i, const double sqrt_s_i)
263  : ThObservable(SM_i), sqrt_s(sqrt_s_i)
264  {
265  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
266  throw std::runtime_error("muVBFpVH called with a class whose parent is not NPbase");
267  }
268 
273  double computeThValue()
274  {
275  return myNPbase->muVBFpVH(sqrt_s);
276  }
277 
278 private:
279  const NPbase* myNPbase;
280  const double sqrt_s;
281 };
282 
292 class muttH : public ThObservable {
293 public:
294 
300  muttH(const StandardModel& SM_i, const double sqrt_s_i)
301  : ThObservable(SM_i), sqrt_s(sqrt_s_i)
302  {
303  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
304  throw std::runtime_error("muttH called with a class whose parent is not NPbase");
305  }
306 
311  double computeThValue()
312  {
313  return myNPbase->muttH(sqrt_s);
314  }
315 
316 private:
317  const NPbase* myNPbase;
318  const double sqrt_s;
319 };
320 
331 class muggHpttH : public ThObservable {
332 public:
333 
339  muggHpttH(const StandardModel& SM_i, const double sqrt_s_i)
340  : ThObservable(SM_i), sqrt_s(sqrt_s_i)
341  {
342  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
343  throw std::runtime_error("muggHpttH called with a class whose parent is not NPbase");
344  }
345 
350  double computeThValue()
351  {
352  return myNPbase->muggHpttH(sqrt_s);
353  }
354 
355 private:
356  const NPbase* myNPbase;
357  const double sqrt_s;
358 };
359 
369 class BrHtoggRatio : public ThObservable {
370 public:
371 
377  : ThObservable(SM_i)
378  {
379  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
380  throw std::runtime_error("BrHtoggRatio called with a class whose parent is not NPbase");
381  }
382 
388  double computeThValue()
389  {
390  return myNPbase->BrHggRatio();
391  }
392 
393 private:
394  const NPbase* myNPbase;
395 };
396 
406 class BrHtoWWRatio : public ThObservable {
407 public:
408 
414  : ThObservable(SM_i)
415  {
416  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
417  throw std::runtime_error("BrHtoWWRatio called with a class whose parent is not NPbase");
418  }
419 
425  double computeThValue()
426  {
427  return myNPbase->BrHWWRatio();
428  }
429 
430 private:
431  const NPbase* myNPbase;
432 };
433 
443 class BrHtoZZRatio : public ThObservable {
444 public:
445 
451  : ThObservable(SM_i)
452  {
453  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
454  throw std::runtime_error("BrHtoZZRatio called with a class whose parent is not NPbase");
455  }
456 
462  double computeThValue()
463  {
464  return myNPbase->BrHZZRatio();
465  }
466 
467 private:
468  const NPbase* myNPbase;
469 };
470 
480 class BrHtoZgaRatio : public ThObservable {
481 public:
482 
488  {
489  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
490  throw std::runtime_error("BrHtoZgaRatio called with a class whose parent is not NPbase");
491  }
492 
498  double computeThValue()
499  {
500  return myNPbase->BrHZgaRatio();
501  }
502 
503 private:
504  const NPbase* myNPbase;
505 };
506 
516 class BrHtogagaRatio : public ThObservable {
517 public:
518 
524  {
525  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
526  throw std::runtime_error("BrHtogagaRatio called with a class whose parent is not NPbase");
527  }
528 
534  double computeThValue()
535  {
536  return myNPbase->BrHgagaRatio();
537  }
538 
539 private:
540  const NPbase* myNPbase;
541 };
542 
553 public:
554 
560  {
561  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
562  throw std::runtime_error("BrHtotautauRatio called with a class whose parent is not NPbase");
563  }
564 
570  double computeThValue()
571  {
572  return myNPbase->BrHtautauRatio();
573  }
574 
575 private:
576  const NPbase* myNPbase;
577 };
578 
588 class BrHtoccRatio : public ThObservable {
589 public:
590 
596  {
597  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
598  throw std::runtime_error("BrHtoccRatio called with a class whose parent is not NPbase");
599  }
600 
606  double computeThValue()
607  {
608  return myNPbase->BrHccRatio();
609  }
610 
611 private:
612  const NPbase* myNPbase;
613 };
614 
624 class BrHtobbRatio : public ThObservable {
625 public:
626 
632  {
633  if ((myNPbase = dynamic_cast<const NPbase*> (&SM)) == NULL)
634  throw std::runtime_error("BrHtobbRatio called with a class whose parent is not NPbase");
635  }
636 
642  double computeThValue()
643  {
644  return myNPbase->BrHbbRatio();
645  }
646 
647 private:
648  const NPbase* myNPbase;
649 };
650 
651 #endif /* HIGGSTHOBSERVABLES_H */
652 
const NPbase * myNPbase
virtual double BrHgagaRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: NPbase.h:496
const double sqrt_s
const double sqrt_s
double computeThValue()
A method to compute the the ratio of the Br in the current model and in the Standard Model...
muWH(const StandardModel &SM_i, const double sqrt_s_i)
Constructor.
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
A class for computing the ratio .
muVBFpVH(const StandardModel &SM_i, const double sqrt_s_i)
Constructor.
const double sqrt_s
double computeThValue()
A method to compute the the ratio of the Br in the current model and in the Standard Model...
const double sqrt_s
muggHpttH(const StandardModel &SM_i, const double sqrt_s_i)
Constructor.
A class for computing the ratio .
BrHtoZgaRatio(const StandardModel &SM_i)
Constructor.
const double sqrt_s
mueeZH(const StandardModel &SM_i, const double sqrt_s_i)
Constructor.
muVBF(const StandardModel &SM_i, const double sqrt_s_i)
Constructor.
virtual double BrHZgaRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: NPbase.h:486
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: NPbase.h:378
virtual double BrHZZRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: NPbase.h:476
const NPbase * myNPbase
const NPbase * myNPbase
virtual double BrHWWRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: NPbase.h:466
A class for computing the ratio .
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: NPbase.h:356
double computeThValue()
A method to compute the value of in the current model.
double computeThValue()
A method to compute the value of in the current model.
BrHtoWWRatio(const StandardModel &SM_i)
Constructor.
const NPbase * myNPbase
const double sqrt_s
double computeThValue()
A method to compute the value of in the current model.
double computeThValue()
A method to compute the the ratio of the Br in the current model and in the Standard Model...
double computeThValue()
A method to compute the value of in the current model.
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: NPbase.h:423
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: NPbase.h:401
A class for a model prediction of an observable.
Definition: ThObservable.h:22
const NPbase * myNPbase
const NPbase * myNPbase
virtual double BrHbbRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: NPbase.h:526
const NPbase * myNPbase
A class for computing the ratio of the Br .
A model class for the Standard Model.
const NPbase * myNPbase
virtual double BrHggRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: NPbase.h:456
A class for computing the ratio of the Br .
BrHtoggRatio(const StandardModel &SM_i)
Constructor.
A class for computing the ratio of the Br .
BrHtoZZRatio(const StandardModel &SM_i)
Constructor.
BrHtobbRatio(const StandardModel &SM_i)
Constructor.
const NPbase * myNPbase
double computeThValue()
A method to compute the the ratio of the Br in the current model and in the Standard Model...
A class for computing the ratio .
A class for computing the ratio .
A class for computing the ratio .
const NPbase * myNPbase
A class for computing the ratio .
A class for computing the ratio of the Br .
const NPbase * myNPbase
muttH(const StandardModel &SM_i, const double sqrt_s_i)
Constructor.
const NPbase * myNPbase
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: NPbase.h:412
double computeThValue()
A method to compute the value of in the current model.
const NPbase * myNPbase
double computeThValue()
A method to compute the value of in the current model.
virtual double BrHtautauRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: NPbase.h:506
const NPbase * myNPbase
double computeThValue()
A method to compute the the ratio of the Br in the current model and in the Standard Model...
const NPbase * myNPbase
BrHtotautauRatio(const StandardModel &SM_i)
Constructor.
A class for computing the ratio .
A class for computing the ratio of the Br .
const double sqrt_s
A class for computing the ratio .
double computeThValue()
A method to compute the value of in the current model.
double computeThValue()
A method to compute the the ratio of the Br in the current model and in the Standard Model...
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:99
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: NPbase.h:389
double computeThValue()
A method to compute the value of in the current model.
muggH(const StandardModel &SM_i, const double sqrt_s_i)
Constructor.
double computeThValue()
A method to compute the the ratio of the Br in the current model and in the Standard Model...
BrHtogagaRatio(const StandardModel &SM_i)
Constructor.
BrHtoccRatio(const StandardModel &SM_i)
Constructor.
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: NPbase.h:434
A class for computing the ratio of the Br .
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: NPbase.h:446
const NPbase * myNPbase
double computeThValue()
A method to compute the value of in the current model.
muZH(const StandardModel &SM_i, const double sqrt_s_i)
Constructor.
const double sqrt_s
double computeThValue()
A method to compute the the ratio of the Br in the current model and in the Standard Model...
A class for computing the ratio of the Br .
const double sqrt_s
const NPbase * myNPbase
A class for computing the ratio of the Br .
muVH(const StandardModel &SM_i, const double sqrt_s_i)
Constructor.
virtual double BrHccRatio() const
The ratio of the Br in the current model and in the Standard Model.
Definition: NPbase.h:516
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: NPbase.h:367