a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
NPSTU.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#include "NPSTU.h"
9#include <stdexcept>
10
11
12
13const std::string NPSTU::STUvars[NSTUvars]
14 = {"obliqueS", "obliqueT", "obliqueU"};
15
17: NPbase()
18{
19 ModelParamMap.insert(std::make_pair("obliqueS", std::cref(myObliqueS)));
20 ModelParamMap.insert(std::make_pair("obliqueT", std::cref(myObliqueT)));
21 ModelParamMap.insert(std::make_pair("obliqueU", std::cref(myObliqueU)));
22}
23
24void NPSTU::setParameter(const std::string name, const double& value)
25{
26 if (name.compare("obliqueS") == 0)
27 myObliqueS = value;
28 else if (name.compare("obliqueT") == 0)
29 myObliqueT = value;
30 else if (name.compare("obliqueU") == 0)
31 myObliqueU = value;
32 else
34}
35
36bool NPSTU::CheckParameters(const std::map<std::string, double>& DPars)
37{
38 for (int i = 0; i < NSTUvars; i++) {
39 if (DPars.find(STUvars[i]) == DPars.end()) {
40 std::cout << "ERROR: Missing mandatory NPSTU parameter "
41 << STUvars[i] << std::endl;
44 }
45 }
47}
48
49
51
52const double NPSTU::epsilon1() const
53{
54 double That = alphaMz() * obliqueT();
55
56 return ( trueSM.epsilon1() + That);
57}
58
59const double NPSTU::epsilon2() const
60{
61 double sW2_SM = trueSM.sW2(); /* This has to be the SM value. */
62 double Uhat = -alphaMz() / (4.0 * sW2_SM) * obliqueU();
63
64 return ( trueSM.epsilon2() + Uhat);
65}
66
67const double NPSTU::epsilon3() const
68{
69 double sW2_SM = trueSM.sW2(); /* This has to be the SM value. */
70 double Shat = alphaMz() / (4.0 * sW2_SM) * obliqueS();
71
72 return ( trueSM.epsilon3() + Shat);
73}
74
75const double NPSTU::epsilonb() const
76{
77 return trueSM.epsilonb();
78}
79
80
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 myObliqueS
The oblique parameter .
Definition: NPSTU.h:172
const double epsilon2() const
The parameter .
Definition: NPSTU.cpp:59
const double epsilonb() const
The parameter .
Definition: NPSTU.cpp:75
static const int NSTUvars
The number of the model parameters in NPSTU.
Definition: NPSTU.h:91
virtual const double obliqueS() const
The oblique parameter .
Definition: NPSTU.h:115
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of the model.
Definition: NPSTU.cpp:24
const double epsilon1() const
The parameter .
Definition: NPSTU.cpp:52
virtual const double obliqueT() const
The oblique parameter .
Definition: NPSTU.h:124
NPSTU()
The default constructor.
Definition: NPSTU.cpp:16
double myObliqueT
The oblique parameter .
Definition: NPSTU.h:173
const double epsilon3() const
The parameter .
Definition: NPSTU.cpp:67
static const std::string STUvars[NSTUvars]
A string array containing the labels of the model parameters in NPSTU.
Definition: NPSTU.h:96
virtual const double obliqueU() const
The oblique parameter .
Definition: NPSTU.h:133
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: NPSTU.cpp:36
double myObliqueU
The oblique parameter .
Definition: NPSTU.h:174
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
virtual const double alphaMz() const
The electromagnetic coupling at the -mass scale, .
Definition: NPbase.cpp:51
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 epsilon2() const
The SM contribution to the epsilon parameter .
virtual const double epsilonb() const
The SM contribution to the epsilon parameter .
virtual const double epsilon1() const
The SM contribution to the epsilon parameter .
virtual const double epsilon3() const
The SM contribution to the epsilon parameter .
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
virtual const double sW2(const double Mw_i) const
The square of the sine of the weak mixing angle in the on-shell scheme, denoted as .