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
109class GMcache; //forward reference to GMcache class
110
111
112
120class GeorgiMachacek: public NPbase {
121public:
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
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 {
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 {
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 {
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 {
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 {
345 return mAsq;
346 }
347 else
348 {
349 return mA*mA;
350 }
351 }
352
357 double getmA() const {
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 {
379 return mH5sq;
380 }
381 else
382 {
383 return mH5*mH5;
384 }
385 }
386
391 double getmH5() const {
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 const double Mw() const;
432
433 virtual const double muggH(const double sqrt_s) const;
434 virtual const double muVBF(const double sqrt_s) const;
435 virtual const double mueeWBF(const double sqrt_s, const double Pol_em, const double Pol_ep) const;
436 virtual const double muWH(const double sqrt_s) const;
437 virtual const double muZH(const double sqrt_s) const;
438 virtual const double mueeZH(const double sqrt_s, const double Pol_em, const double Pol_ep) const;
439 virtual const double muVH(const double sqrt_s) const;
440 virtual const double muVBFpVH(const double sqrt_s) const;
441 virtual const double muttH(const double sqrt_s) const;
442 virtual const double GammaTotal() const;
443 virtual const double BrHggRatio() const;
444 virtual const double BrHWWRatio() const;
445 virtual const double BrHZZRatio() const;
446 virtual const double BrHZgaRatio() const;
447 virtual const double BrHgagaRatio() const;
448 virtual const double BrHmumuRatio() const;
449 virtual const double BrHtautauRatio() const;
450 virtual const double BrHccRatio() const;
451 virtual const double BrHbbRatio() const;
452 virtual const double muggHgaga(const double sqrt_s) const;
453 virtual const double muVBFHgaga(const double sqrt_s) const;
454 virtual const double muVHgaga(const double sqrt_s) const;
455 virtual const double muttHgaga(const double sqrt_s) const;
456 virtual const double muggHZZ(const double sqrt_s) const;
457 virtual const double muVBFHZZ(const double sqrt_s) const;
458 virtual const double muVHZZ(const double sqrt_s) const;
459 virtual const double muttHZZ(const double sqrt_s) const;
460 virtual const double muggHWW(const double sqrt_s) const;
461 virtual const double muVBFHWW(const double sqrt_s) const;
462 virtual const double muVHWW(const double sqrt_s) const;
463 virtual const double muttHWW(const double sqrt_s) const;
464 virtual const double muggHtautau(const double sqrt_s) const;
465 virtual const double muVBFHtautau(const double sqrt_s) const;
466 virtual const double muVHtautau(const double sqrt_s) const;
467 virtual const double muttHtautau(const double sqrt_s) const;
468 virtual const double muggHbb(const double sqrt_s) const;
469 virtual const double muVBFHbb(const double sqrt_s) const;
470 virtual const double muVHbb(const double sqrt_s) const;
471 virtual const double muttHbb(const double sqrt_s) const;
472 virtual const double muppHmumu(const double sqrt_s) const;
473 virtual const double muppHZga(const double sqrt_s) const;
474 virtual const double computeGammaTotalRatio() const;
475
476
477protected:
483 virtual void setParameter(const std::string, const double&);
484
486
487private:
488
490
492 double mHl2;
494// double sign(const double x) const;
495
496};
497
502#endif /* GEORGIMACHACEK_H */
std::map< std::string, double > DPars
Definition: Minimal.cpp:11
A class for the Wilson coefficients in the Georgi-Machacek model.
Definition: GMMatching.h:23
A class for the caching of GeorgiMachacek objects.
Definition: GMcache.h:23
A base class for the GeorgiMachacek model.
double getalpha() const
A method to get .
virtual const double muggHtautau(const double sqrt_s) const
GeorgiMachacek()
GeorgiMachacek constructor.
virtual const double muVBFHbb(const double sqrt_s) const
double getmH5() const
A method to get the quintet mass.
virtual const double muttHZZ(const double sqrt_s) const
virtual const double muttHtautau(const double sqrt_s) const
virtual bool PreUpdate()
The pre-update method for GeorgiMachacek.
static std::string GMvars[NGMvars]
GMcache * getMyGMCache() const
A method get the GeorgiMachacekCache.
virtual const double muVBFHtautau(const double sqrt_s) const
virtual bool setFlag(const std::string, const bool)
virtual const double BrHZZRatio() const
virtual bool Init(const std::map< std::string, double > &DPars)
Initializes the GeorgiMachacek parameters found in the argument.
double getmHh2() const
A method to get the squared mass of the heavier singlet Higgs.
virtual const double muVBF(const double sqrt_s) const
double getinputmHh2() const
A method to get the squared mass of the singlet Higgs input.
virtual const double BrHWWRatio() const
virtual const double muVHtautau(const double sqrt_s) const
double getmHl2() const
A method to get the squared mass of the lighter singlet Higgs.
virtual GMMatching & getMatching() const
A get method to access the member reference of type GeorgiMachacekMatching.
virtual const double GammaTotal() const
virtual bool PostUpdate()
The post-update method for GeorgiMachacek.
virtual const double Mw() const
GMcache * myGMcache
virtual const double muVBFHgaga(const double sqrt_s) const
virtual const double BrHtautauRatio() const
virtual const double BrHZgaRatio() const
virtual const double muVHbb(const double sqrt_s) const
virtual const double muppHZga(const double sqrt_s) const
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for GeorgiMachacek.
virtual bool InitializeModel()
A method to initialize the model.
virtual const double muWH(const double sqrt_s) const
virtual const double muttHWW(const double sqrt_s) const
virtual const double muVHgaga(const double sqrt_s) const
virtual void setParameter(const std::string, const double &)
A method to set the value of a parameter of GeorgiMachacek.
double getmHh() const
A method to get the mass of the heavier singlet Higgs.
virtual const double muggHgaga(const double sqrt_s) const
Matching< GMMatching, GeorgiMachacek > GMM
An object of type Matching.
virtual const double mueeWBF(const double sqrt_s, const double Pol_em, const double Pol_ep) const
virtual const double muttHbb(const double sqrt_s) const
virtual const double muZH(const double sqrt_s) const
virtual const double BrHmumuRatio() const
virtual const double muttHgaga(const double sqrt_s) const
double getMu2() const
A method to get the massive parameter of the scalar potential .
double getmAsq() const
A method to get the squared triplet mass.
static const int NGMvars
double getsina() const
A method to get .
virtual const double muVH(const double sqrt_s) const
double getcosa() const
A method to get .
double getQ_GM() const
A method to get the Georgi-Machacek scale.
virtual const double muggHbb(const double sqrt_s) const
double getMu1() const
A method to get the massive parameter of the scalar potential .
virtual const double muggH(const double sqrt_s) const
virtual const double muVBFHWW(const double sqrt_s) const
virtual const double muggHWW(const double sqrt_s) const
double getvDelta() const
A method to get .
virtual const double muVHZZ(const double sqrt_s) const
virtual const double BrHbbRatio() const
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...
virtual const double muVHWW(const double sqrt_s) const
virtual const double muttH(const double sqrt_s) const
double getmA() const
A method to get the triplet mass.
virtual const double muppHmumu(const double sqrt_s) const
double getmH5sq() const
A method to get the squared quintet mass.
virtual const double mueeZH(const double sqrt_s, const double Pol_em, const double Pol_ep) const
virtual const double muVBFHZZ(const double sqrt_s) const
virtual const double muVBFpVH(const double sqrt_s) const
virtual const double BrHgagaRatio() const
virtual const double muggHZZ(const double sqrt_s) const
virtual const double computeGammaTotalRatio() const
virtual const double BrHccRatio() const
virtual const double BrHggRatio() const
The auxiliary base model class for other model classes.
Definition: NPbase.h:66