a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
NPHiggs.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2013 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#include "NPHiggs.h"
9#include <stdexcept>
10
11
12const std::string NPHiggs::NPHIGGSvars[NNPHIGGSvars]
13 = {"a", "b", "c_u", "c_d", "c_e", "d_3", "d_4", "LambdaNP"};
14
16: NPbase(), LambdaNP_in(0.0)
17{
18 ModelParamMap.insert(std::make_pair("a", std::cref(a)));
19 ModelParamMap.insert(std::make_pair("b", std::cref(b)));
20 ModelParamMap.insert(std::make_pair("c_u", std::cref(c_u)));
21 ModelParamMap.insert(std::make_pair("c_d", std::cref(c_d)));
22 ModelParamMap.insert(std::make_pair("c_e", std::cref(c_e)));
23 ModelParamMap.insert(std::make_pair("d_3", std::cref(d_3)));
24 ModelParamMap.insert(std::make_pair("d_4", std::cref(d_4)));
25 ModelParamMap.insert(std::make_pair("LambdaNP", std::cref(LambdaNP_in)));
26
27}
28
29void NPHiggs::setParameter(const std::string name, const double& value)
30{
31 if (name.compare("a") == 0)
32 a = value;
33 else if (name.compare("b") == 0)
34 b = value;
35 else if (name.compare("c_u") == 0)
36 c_u = value;
37 else if (name.compare("c_d") == 0)
38 c_d = value;
39 else if (name.compare("c_e") == 0)
40 c_e = value;
41 else if (name.compare("d_3") == 0)
42 d_3 = value;
43 else if (name.compare("d_4") == 0)
44 d_4 = value;
45 else if (name.compare("LambdaNP") == 0)
46 LambdaNP_in = value;
47 else
49}
50
51bool NPHiggs::CheckParameters(const std::map<std::string, double>& DPars)
52{
53 for (int i = 0; i < NNPHIGGSvars; i++) {
54 if (DPars.find(NPHIGGSvars[i]) == DPars.end()) {
55 std::cout << "ERROR: Missing mandatory NPHiggs parameter "
56 << NPHIGGSvars[i] << std::endl;
59 }
60 }
62}
63
65
66const double NPHiggs::obliqueS() const
67{
68 double Lambda;
69 if (LambdaNP_in != 0.0)
70 Lambda = LambdaNP_in;
71 else if (fabs(1.0 - a * a) < pow(10.0, -32.0))
72 Lambda = pow(10.0, 19.0);
73 else
74 Lambda = 4.0 * M_PI * v() / sqrt(fabs(1.0 - a * a));
75
76 return ( 1.0 / 12.0 / M_PI * (1.0 - a * a) * log(Lambda * Lambda / mHl / mHl));
77}
78
79const double NPHiggs::obliqueT() const
80{
81 double Lambda;
82 double cW2_SM = trueSM.cW2(); /* This has to be the SM value. */
83 if (LambdaNP_in != 0.0)
84 Lambda = LambdaNP_in;
85 else if (fabs(1.0 - a * a) < pow(10.0, -32.0))
86 Lambda = pow(10.0, 19.0);
87 else
88 Lambda = 4.0 * M_PI * v() / sqrt(fabs(1.0 - a * a));
89
90 return ( -3.0 / 16.0 / M_PI / cW2_SM * (1.0 - a * a) * log(Lambda * Lambda / mHl / mHl));
91}
92
93const double NPHiggs::obliqueU() const
94{
95 return 0.0;
96}
97
98
std::map< std::string, double > DPars
Definition: Minimal.cpp:11
void addMissingModelParameter(const std::string &missingParameterName)
Definition: Model.h:250
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:280
std::string name
The name of the model.
Definition: Model.h:285
void raiseMissingModelParameterCount()
Definition: Model.h:260
double d_4
The coupling .
Definition: NPHiggs.h:209
double c_e
The coupling .
Definition: NPHiggs.h:207
double c_u
The coupling .
Definition: NPHiggs.h:205
virtual const double obliqueS() const
The oblique parameter .
Definition: NPHiggs.cpp:66
double d_3
The coupling .
Definition: NPHiggs.h:208
virtual const double obliqueT() const
The oblique parameter .
Definition: NPHiggs.cpp:79
static const std::string NPHIGGSvars[NNPHIGGSvars]
A string array containing the labels of the model parameters in NPHiggs.
Definition: NPHiggs.h:153
double a
The coupling .
Definition: NPHiggs.h:203
static const int NNPHIGGSvars
The number of the model parameters in NPHiggs.
Definition: NPHiggs.h:148
double LambdaNP_in
The new physics scale .
Definition: NPHiggs.h:210
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of the model.
Definition: NPHiggs.cpp:29
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for the model have been provided in model initializ...
Definition: NPHiggs.cpp:51
double b
The coupling .
Definition: NPHiggs.h:204
virtual const double obliqueU() const
The oblique parameter .
Definition: NPHiggs.cpp:93
double c_d
The coupling .
Definition: NPHiggs.h:206
NPHiggs()
The default constructor.
Definition: NPHiggs.cpp:15
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
StandardModel trueSM
Definition: NPbase.h:5731
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...
virtual const double cW2(const double Mw_i) const
The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as .
double mHl
The Higgs mass in GeV.
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
const double v() const
The Higgs vacuum expectation value.