a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
THDMWunitarity.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2017 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "THDMWunitarity.h"
9 #include "THDMW.h"
10 #include "THDMWcache.h"
11 
12 THDMWunitarityLO::THDMWunitarityLO(const StandardModel& SM_i, unsigned int index_i)
13 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
14 {
15  index = index_i;
16 }
17 
19 {}
20 
22 {
23  if( index > 10 ) {
24  throw std::runtime_error("Index out of range in THDMWunitarityLO");
25  }
27 }
28 
29 THDMWunitarityNLO::THDMWunitarityNLO(const StandardModel& SM_i, unsigned int index_i)
30 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
31 {
32  index = index_i;
33 }
34 
36 {}
37 
39 {
40  if( index > 10 ) {
41  throw std::runtime_error("Index out of range in THDMWunitarityNLO");
42  }
43 
46 
47  return ( a0 * a0 + 2.0 * a0 * a1.real() ).abs();
48 }
49 
50 THDMWunitarityNLOp::THDMWunitarityNLOp(const StandardModel& SM_i, unsigned int index_i)
51 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
52 {
53  index = index_i;
54 }
55 
57 {}
58 
60 {
61  if( index > 10 ) {
62  throw std::runtime_error("Index out of range in THDMWunitarityNLOp");
63  }
64 
67 
68  return ( a0 + a1.real() ).abs();
69 }
70 
71 THDMWunitarityRp::THDMWunitarityRp(const StandardModel& SM_i, unsigned int index_i)
72 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
73 {
74  index = index_i;
75 }
76 
78 {}
79 
81 {
82  if( index > 10 ) {
83  throw std::runtime_error("Index out of range in THDMWunitarityRp");
84  }
85 
88  double Rpeps = myTHDMW.getMyTHDMWCache()->RpepsTHDMW;
89 
90  double Rp = 0.01;
91  if(a0.abs()>Rpeps)
92  {
93  Rp = ( a1 / a0 ).abs();
94  }
95 
96  return Rp;
97 }
THDMWunitarityLO::computeThValue
double computeThValue()
Definition: THDMWunitarity.cpp:21
THDMWunitarityNLO::~THDMWunitarityNLO
virtual ~THDMWunitarityNLO()
Destructor.
Definition: THDMWunitarity.cpp:35
THDMW.h
THDMWunitarityLO::~THDMWunitarityLO
virtual ~THDMWunitarityLO()
Destructor.
Definition: THDMWunitarity.cpp:18
THDMWunitarityLO::index
unsigned int index
Definition: THDMWunitarity.h:46
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:474
THDMWcache::NLOunitarityeigenvalues
gslpp::vector< gslpp::complex > NLOunitarityeigenvalues
Definition: THDMWcache.h:142
THDMWunitarityNLO::computeThValue
double computeThValue()
Definition: THDMWunitarity.cpp:38
THDMWunitarityRp::myTHDMW
const THDMW & myTHDMW
Definition: THDMWunitarity.h:136
THDMW
A base class for symmetric Two-Higgs-Doublet-Manohar-Wise models.
Definition: THDMW.h:233
THDMWunitarityNLOp::myTHDMW
const THDMW & myTHDMW
Definition: THDMWunitarity.h:107
THDMWunitarityNLOp::index
unsigned int index
Definition: THDMWunitarity.h:108
THDMWcache::RpepsTHDMW
double RpepsTHDMW
Definition: THDMWcache.h:140
gslpp::complex::abs
double abs() const
Definition: gslpp_complex.cpp:81
THDMWunitarityNLOp::~THDMWunitarityNLOp
virtual ~THDMWunitarityNLOp()
Destructor.
Definition: THDMWunitarity.cpp:56
THDMW::getMyTHDMWCache
THDMWcache * getMyTHDMWCache() const
A method get the THDMWCache.
Definition: THDMW.h:318
THDMWcache::unitarityeigenvalues
gslpp::vector< gslpp::complex > unitarityeigenvalues
Definition: THDMWcache.h:141
THDMWunitarity.h
THDMWcache.h
THDMWunitarityNLO::THDMWunitarityNLO
THDMWunitarityNLO(const StandardModel &SM_i, unsigned int index_i)
THDMWunitarityNLO constructor.
Definition: THDMWunitarity.cpp:29
THDMWunitarityRp::THDMWunitarityRp
THDMWunitarityRp(const StandardModel &SM_i, unsigned int index_i)
THDMWunitarityRp constructor.
Definition: THDMWunitarity.cpp:71
THDMWunitarityLO::myTHDMW
const THDMW & myTHDMW
Definition: THDMWunitarity.h:45
THDMWunitarityNLO::index
unsigned int index
Definition: THDMWunitarity.h:79
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
gslpp::complex::real
const double & real() const
Definition: gslpp_complex.cpp:53
THDMWunitarityRp::~THDMWunitarityRp
virtual ~THDMWunitarityRp()
Destructor.
Definition: THDMWunitarity.cpp:77
THDMWunitarityNLOp::computeThValue
double computeThValue()
Definition: THDMWunitarity.cpp:59
THDMWunitarityRp::index
unsigned int index
Definition: THDMWunitarity.h:137
THDMWunitarityLO::THDMWunitarityLO
THDMWunitarityLO(const StandardModel &SM_i, unsigned int index_i)
THDMWunitarityLO constructor.
Definition: THDMWunitarity.cpp:12
THDMWunitarityNLO::myTHDMW
const THDMW & myTHDMW
Definition: THDMWunitarity.h:78
THDMWunitarityRp::computeThValue
double computeThValue()
Definition: THDMWunitarity.cpp:80
THDMWunitarityNLOp::THDMWunitarityNLOp
THDMWunitarityNLOp(const StandardModel &SM_i, unsigned int index_i)
THDMWunitarityNLOp constructor.
Definition: THDMWunitarity.cpp:50