a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
GeorgiMachacek.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef GEORGIMACHACEK_H
9 #define GEORGIMACHACEK_H
10 
11 //#include "StandardModel.h"
12 #include "GMMatching.h"
13 #include "NPbase.h"
14 
109 class GMcache; //forward reference to GMcache class
110 
111 
112 
120 class GeorgiMachacek: public NPbase {
121 public:
122 
123  static const int NGMvars = 8;
124  //The parameters of the Higgs potential for Georgi Machacek model according to 1511.00865v1
125  //We choose the physical basis: vDelta, alpha, mHh=mH1, mA=mH3, mH5, Mu1, Mu2
126  static std::string GMvars[NGMvars];
127 
131  GeorgiMachacek();
132 
139  virtual bool InitializeModel();
140 
145  virtual bool Init(const std::map<std::string, double>& DPars);
146 
151  virtual bool PreUpdate();
152 
159  virtual bool Update(const std::map<std::string, double>& DPars);
160 
167  virtual bool PostUpdate();
168 
176  virtual bool CheckParameters(const std::map<std::string, double>& DPars);
177 
182  virtual GMMatching& getMatching() const
183  {
184  return GMM.getObj();
185  }
186 
192  {
193  return myGMcache;
194  }
195 
197  // Flags
198 
199 // virtual bool setFlagStr(const std::string name, const std::string value);
200  virtual bool setFlag(const std::string, const bool);
201 
203 
205 
210  double getvDelta() const {
211  return vDelta;
212  }
213 
218  double getalpha() const {
219  return alpha;
220  }
221 
226  double getcosa() const{
227  return cos(alpha);
228  }
229 
234  double getsina() const{
235  return sin(alpha);
236  }
237 
242  double getmHl2() const {
243  if(flag_use_sq_masses) {
244  if(mHhsq < mHl2) {
245  return mHhsq;
246  }
247  else
248  {
249  return mHl2;
250  }
251  }
252  else
253  {
254  if(mHh*mHh < mHl2) {
255  return mHh*mHh;
256  }
257  else
258  {
259  return mHl2;
260  }
261  }
262  }
263 
268  double getmHh2() const {
269  if(flag_use_sq_masses) {
270  if(mHhsq < 0.) {
271  return 0.;
272  }
273  else if(mHhsq < mHl2) {
274  return mHl2;
275  }
276  else
277  {
278  return mHhsq;
279  }
280  }
281  else
282  {
283  if(mHh*mHh < mHl2) {
284  return mHl2;
285  }
286  else
287  {
288  return mHh*mHh;
289  }
290  }
291  }
292 
297  double getmHh() const {
298  if(flag_use_sq_masses) {
299  if(mHhsq < 0.) {
300  return 0.;
301  }
302  else if(mHhsq < mHl2) {
303  return sqrt(mHl2);
304  }
305  else
306  {
307  return sqrt(mHhsq);
308  }
309  }
310  else
311  {
312  if(mHh*mHh < mHl2) {
313  return sqrt(mHl2);
314  }
315  else
316  {
317  return mHh;
318  }
319  }
320  }
321 
326  double getinputmHh2() const {
327  if(flag_use_sq_masses) {
328  if(mHhsq < 0.) {
329  return 0.;
330  }
331  return mHhsq;
332  }
333  else
334  {
335  return mHh*mHh;
336  }
337  }
338 
343  double getmAsq() const {
344  if(flag_use_sq_masses) {
345  return mAsq;
346  }
347  else
348  {
349  return mA*mA;
350  }
351  }
352 
357  double getmA() const {
358  if(flag_use_sq_masses) {
359  if(mA < 0.) {
360  return 0.;
361  }
362  else
363  {
364  return sqrt(mAsq);
365  }
366  }
367  else
368  {
369  return mA;
370  }
371  }
372 
377  double getmH5sq() const {
378  if(flag_use_sq_masses) {
379  return mH5sq;
380  }
381  else
382  {
383  return mH5*mH5;
384  }
385  }
386 
391  double getmH5() const {
392  if(flag_use_sq_masses) {
393  if(mH5 < 0.) {
394  return 0.;
395  }
396  else
397  {
398  return sqrt(mH5sq);
399  }
400  }
401  else
402  {
403  return mH5;
404  }
405  }
406 
411  double getMu1() const {
412  return Mu1;
413  }
414 
419  double getMu2() const {
420  return Mu2;
421  }
422 
427  double getQ_GM() const {
428  return Q_GM;
429  }
430 
431  virtual double Mw() const;
432 
433  virtual double muggH(const double sqrt_s) const;
434  virtual double muVBF(const double sqrt_s) const;
435  virtual double mueeWBF(const double sqrt_s) const;
436  virtual double muWH(const double sqrt_s) const;
437  virtual double muZH(const double sqrt_s) const;
438  virtual double mueeZH(const double sqrt_s) const;
439  virtual double muVH(const double sqrt_s) const;
440  virtual double muVBFpVH(const double sqrt_s) const;
441  virtual double muttH(const double sqrt_s) const;
442  virtual double GammaTotal() const;
443  virtual double BrHggRatio() const;
444  virtual double BrHWWRatio() const;
445  virtual double BrHZZRatio() const;
446  virtual double BrHZgaRatio() const;
447  virtual double BrHgagaRatio() const;
448  virtual double BrHmumuRatio() const;
449  virtual double BrHtautauRatio() const;
450  virtual double BrHccRatio() const;
451  virtual double BrHbbRatio() const;
452  virtual double muggHgaga(const double sqrt_s) const;
453  virtual double muVBFHgaga(const double sqrt_s) const;
454  virtual double muVHgaga(const double sqrt_s) const;
455  virtual double muttHgaga(const double sqrt_s) const;
456  virtual double muggHZZ(const double sqrt_s) const;
457  virtual double muVBFHZZ(const double sqrt_s) const;
458  virtual double muVHZZ(const double sqrt_s) const;
459  virtual double muttHZZ(const double sqrt_s) const;
460  virtual double muggHWW(const double sqrt_s) const;
461  virtual double muVBFHWW(const double sqrt_s) const;
462  virtual double muVHWW(const double sqrt_s) const;
463  virtual double muttHWW(const double sqrt_s) const;
464  virtual double muggHtautau(const double sqrt_s) const;
465  virtual double muVBFHtautau(const double sqrt_s) const;
466  virtual double muVHtautau(const double sqrt_s) const;
467  virtual double muttHtautau(const double sqrt_s) const;
468  virtual double muggHbb(const double sqrt_s) const;
469  virtual double muVBFHbb(const double sqrt_s) const;
470  virtual double muVHbb(const double sqrt_s) const;
471  virtual double muttHbb(const double sqrt_s) const;
472  virtual double muppHmumu(const double sqrt_s) const;
473  virtual double muppHZga(const double sqrt_s) const;
474  virtual double computeGammaTotalRatio() const;
475 
476 
477 protected:
483  virtual void setParameter(const std::string, const double&);
484 
486 
487 private:
488 
490 
492  double mHl2;
494 // double sign(const double x) const;
495 
496 };
497 
502 #endif /* GEORGIMACHACEK_H */
GeorgiMachacek::BrHccRatio
virtual double BrHccRatio() const
Definition: GeorgiMachacek.cpp:232
gslpp::cos
complex cos(const complex &z)
Definition: gslpp_complex.cpp:429
GeorgiMachacek::computeGammaTotalRatio
virtual double computeGammaTotalRatio() const
Definition: GeorgiMachacek.cpp:187
GeorgiMachacek::Init
virtual bool Init(const std::map< std::string, double > &DPars)
Initializes the GeorgiMachacek parameters found in the argument.
Definition: GeorgiMachacek.cpp:38
GeorgiMachacek::muggH
virtual double muggH(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:142
GeorgiMachacek::mHhsq
double mHhsq
Definition: GeorgiMachacek.h:491
GeorgiMachacek::muggHZZ
virtual double muggHZZ(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:262
GeorgiMachacek::getmH5sq
double getmH5sq() const
A method to get the squared quintet mass.
Definition: GeorgiMachacek.h:377
GeorgiMachacek::InitializeModel
virtual bool InitializeModel()
A method to initialize the model.
Definition: GeorgiMachacek.cpp:30
GeorgiMachacek::Mu2
double Mu2
Definition: GeorgiMachacek.h:491
GeorgiMachacek::vDelta
double vDelta
Definition: GeorgiMachacek.h:491
GeorgiMachacek::muVHWW
virtual double muVHWW(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:292
GeorgiMachacek::BrHZgaRatio
virtual double BrHZgaRatio() const
Definition: GeorgiMachacek.cpp:212
GeorgiMachacek::getMatching
virtual GMMatching & getMatching() const
A get method to access the member reference of type GeorgiMachacekMatching.
Definition: GeorgiMachacek.h:182
NPbase.h
gslpp::sin
complex sin(const complex &z)
Definition: gslpp_complex.cpp:420
Matching::getObj
T & getObj()
Definition: Matching.h:14
GeorgiMachacek::PreUpdate
virtual bool PreUpdate()
The pre-update method for GeorgiMachacek.
Definition: GeorgiMachacek.cpp:42
GeorgiMachacek::BrHmumuRatio
virtual double BrHmumuRatio() const
Definition: GeorgiMachacek.cpp:222
GeorgiMachacek::getMu2
double getMu2() const
A method to get the massive parameter of the scalar potential .
Definition: GeorgiMachacek.h:419
GeorgiMachacek::getcosa
double getcosa() const
A method to get .
Definition: GeorgiMachacek.h:226
GeorgiMachacek::muVBFHZZ
virtual double muVBFHZZ(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:267
GeorgiMachacek::getmHl2
double getmHl2() const
A method to get the squared mass of the lighter singlet Higgs.
Definition: GeorgiMachacek.h:242
GMMatching
A class for the Wilson coefficients in the Georgi-Machacek model.
Definition: GMMatching.h:23
GeorgiMachacek::mHh
double mHh
Definition: GeorgiMachacek.h:491
GeorgiMachacek::CheckParameters
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for GeorgiMachacek have been provided in model init...
Definition: GeorgiMachacek.cpp:109
GeorgiMachacek::muttH
virtual double muttH(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:182
GeorgiMachacek::BrHZZRatio
virtual double BrHZZRatio() const
Definition: GeorgiMachacek.cpp:207
GeorgiMachacek::BrHtautauRatio
virtual double BrHtautauRatio() const
Definition: GeorgiMachacek.cpp:227
GeorgiMachacek::getmAsq
double getmAsq() const
A method to get the squared triplet mass.
Definition: GeorgiMachacek.h:343
GeorgiMachacek::getmA
double getmA() const
A method to get the triplet mass.
Definition: GeorgiMachacek.h:357
GeorgiMachacek::muZH
virtual double muZH(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:162
GeorgiMachacek::BrHbbRatio
virtual double BrHbbRatio() const
Definition: GeorgiMachacek.cpp:237
GeorgiMachacek::muttHgaga
virtual double muttHgaga(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:257
GeorgiMachacek::muVHZZ
virtual double muVHZZ(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:272
GeorgiMachacek::muVBFHtautau
virtual double muVBFHtautau(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:307
GeorgiMachacek::getalpha
double getalpha() const
A method to get .
Definition: GeorgiMachacek.h:218
GeorgiMachacek::Mu1
double Mu1
Definition: GeorgiMachacek.h:491
GeorgiMachacek::mH5
double mH5
Definition: GeorgiMachacek.h:491
GeorgiMachacek
A base class for the GeorgiMachacek model.
Definition: GeorgiMachacek.h:120
GeorgiMachacek::muVBFHbb
virtual double muVBFHbb(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:327
GeorgiMachacek::getMu1
double getMu1() const
A method to get the massive parameter of the scalar potential .
Definition: GeorgiMachacek.h:411
GeorgiMachacek::mueeWBF
virtual double mueeWBF(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:152
GeorgiMachacek::muVH
virtual double muVH(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:172
NPbase
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
GeorgiMachacek::muttHbb
virtual double muttHbb(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:337
GeorgiMachacek::getmHh2
double getmHh2() const
A method to get the squared mass of the heavier singlet Higgs.
Definition: GeorgiMachacek.h:268
GeorgiMachacek::mA
double mA
Definition: GeorgiMachacek.h:491
GeorgiMachacek::muVHbb
virtual double muVHbb(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:332
GeorgiMachacek::muVBF
virtual double muVBF(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:147
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
GeorgiMachacek::setParameter
virtual void setParameter(const std::string, const double &)
A method to set the value of a parameter of GeorgiMachacek.
Definition: GeorgiMachacek.cpp:75
GeorgiMachacek::getQ_GM
double getQ_GM() const
A method to get the Georgi-Machacek scale.
Definition: GeorgiMachacek.h:427
GeorgiMachacek::mueeZH
virtual double mueeZH(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:167
GeorgiMachacek::muVHtautau
virtual double muVHtautau(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:312
GeorgiMachacek::myGMcache
GMcache * myGMcache
Definition: GeorgiMachacek.h:489
GeorgiMachacek::alpha
double alpha
Definition: GeorgiMachacek.h:491
GeorgiMachacek::Q_GM
double Q_GM
Definition: GeorgiMachacek.h:491
GeorgiMachacek::muttHZZ
virtual double muttHZZ(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:277
GeorgiMachacek::Mw
virtual double Mw() const
Definition: GeorgiMachacek.cpp:375
GeorgiMachacek::mAsq
double mAsq
Definition: GeorgiMachacek.h:491
GeorgiMachacek::muVBFHWW
virtual double muVBFHWW(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:287
GeorgiMachacek::muggHtautau
virtual double muggHtautau(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:302
GeorgiMachacek::muVHgaga
virtual double muVHgaga(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:252
GeorgiMachacek::muttHWW
virtual double muttHWW(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:297
GeorgiMachacek::muVBFHgaga
virtual double muVBFHgaga(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:247
GeorgiMachacek::BrHgagaRatio
virtual double BrHgagaRatio() const
Definition: GeorgiMachacek.cpp:217
GMMatching.h
GeorgiMachacek::mH5sq
double mH5sq
Definition: GeorgiMachacek.h:491
GeorgiMachacek::NGMvars
static const int NGMvars
Definition: GeorgiMachacek.h:123
GeorgiMachacek::getvDelta
double getvDelta() const
A method to get .
Definition: GeorgiMachacek.h:210
GeorgiMachacek::BrHWWRatio
virtual double BrHWWRatio() const
Definition: GeorgiMachacek.cpp:202
GeorgiMachacek::BrHggRatio
virtual double BrHggRatio() const
Definition: GeorgiMachacek.cpp:197
Matching< GMMatching, GeorgiMachacek >
GeorgiMachacek::getsina
double getsina() const
A method to get .
Definition: GeorgiMachacek.h:234
GeorgiMachacek::muggHWW
virtual double muggHWW(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:282
GeorgiMachacek::getinputmHh2
double getinputmHh2() const
A method to get the squared mass of the singlet Higgs input.
Definition: GeorgiMachacek.h:326
GeorgiMachacek::muggHgaga
virtual double muggHgaga(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:242
GeorgiMachacek::muttHtautau
virtual double muttHtautau(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:317
GeorgiMachacek::mHl2
double mHl2
Definition: GeorgiMachacek.h:492
GeorgiMachacek::GeorgiMachacek
GeorgiMachacek()
GeorgiMachacek constructor.
Definition: GeorgiMachacek.cpp:14
GeorgiMachacek::Update
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for GeorgiMachacek.
Definition: GeorgiMachacek.cpp:49
GeorgiMachacek::GammaTotal
virtual double GammaTotal() const
Definition: GeorgiMachacek.cpp:192
GeorgiMachacek::muWH
virtual double muWH(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:157
GeorgiMachacek::getMyGMCache
GMcache * getMyGMCache() const
A method get the GeorgiMachacekCache.
Definition: GeorgiMachacek.h:191
GeorgiMachacek::PostUpdate
virtual bool PostUpdate()
The post-update method for GeorgiMachacek.
Definition: GeorgiMachacek.cpp:66
GeorgiMachacek::flag_use_sq_masses
bool flag_use_sq_masses
Definition: GeorgiMachacek.h:493
GeorgiMachacek::muVBFpVH
virtual double muVBFpVH(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:177
GeorgiMachacek::setFlag
virtual bool setFlag(const std::string, const bool)
Definition: GeorgiMachacek.cpp:120
GeorgiMachacek::muppHmumu
virtual double muppHmumu(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:342
GeorgiMachacek::getmH5
double getmH5() const
A method to get the quintet mass.
Definition: GeorgiMachacek.h:391
GeorgiMachacek::muggHbb
virtual double muggHbb(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:322
GeorgiMachacek::GMvars
static std::string GMvars[NGMvars]
Definition: GeorgiMachacek.h:126
GMcache
A class for the caching of GeorgiMachacek objects.
Definition: GMcache.h:23
GeorgiMachacek::muppHZga
virtual double muppHZga(const double sqrt_s) const
Definition: GeorgiMachacek.cpp:358
GeorgiMachacek::GMM
Matching< GMMatching, GeorgiMachacek > GMM
An object of type Matching.
Definition: GeorgiMachacek.h:485
GeorgiMachacek::getmHh
double getmHh() const
A method to get the mass of the heavier singlet Higgs.
Definition: GeorgiMachacek.h:297