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 
13 const 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 
24 void 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
33  NPbase::setParameter(name, value);
34 }
35 
36 bool 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  }
46  return (NPbase::CheckParameters(DPars));
47 }
48 
49 
51 
52 double NPSTU::epsilon1() const
53 {
54  double That = alphaMz() * obliqueT();
55 
56  return ( trueSM.epsilon1() + That);
57 }
58 
59 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 
67 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 
75 double NPSTU::epsilonb() const
76 {
77  return trueSM.epsilonb();
78 }
79 
80 
NPSTU.h
StandardModel::setParameter
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
Definition: StandardModel.cpp:231
NPSTU::myObliqueT
double myObliqueT
The oblique parameter .
Definition: NPSTU.h:173
NPSTU::epsilon2
double epsilon2() const
The parameter .
Definition: NPSTU.cpp:59
Model::addMissingModelParameter
void addMissingModelParameter(const std::string &missingParameterName)
Definition: Model.h:232
StandardModel::CheckParameters
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...
Definition: StandardModel.cpp:313
StandardModel::alphaMz
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
Definition: StandardModel.cpp:867
NPSTU::epsilon1
double epsilon1() const
The parameter .
Definition: NPSTU.cpp:52
NPSTU::epsilon3
double epsilon3() const
The parameter .
Definition: NPSTU.cpp:67
StandardModel::epsilonb
virtual double epsilonb() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1789
NPSTU::myObliqueS
double myObliqueS
The oblique parameter .
Definition: NPSTU.h:172
NPSTU::NSTUvars
static const int NSTUvars
The number of the model parameters in NPSTU.
Definition: NPSTU.h:91
StandardModel::sW2
virtual double sW2(const double Mw_i) const
The square of the sine of the weak mixing angle in the on-shell scheme, denoted as .
Definition: StandardModel.cpp:1000
Model::ModelParamMap
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:262
NPSTU::obliqueS
virtual double obliqueS() const
The oblique parameter .
Definition: NPSTU.h:115
NPSTU::obliqueT
virtual double obliqueT() const
The oblique parameter .
Definition: NPSTU.h:124
StandardModel::epsilon2
virtual double epsilon2() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1767
NPbase::trueSM
StandardModel trueSM
Definition: NPbase.h:2787
NPSTU::epsilonb
double epsilonb() const
The parameter .
Definition: NPSTU.cpp:75
NPbase
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
NPSTU::NPSTU
NPSTU()
The default constructor.
Definition: NPSTU.cpp:16
Model::raiseMissingModelParameterCount
void raiseMissingModelParameterCount()
Definition: Model.h:242
NPSTU::CheckParameters
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
StandardModel::epsilon1
virtual double epsilon1() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1759
NPSTU::myObliqueU
double myObliqueU
The oblique parameter .
Definition: NPSTU.h:174
NPSTU::STUvars
static const std::string STUvars[NSTUvars]
A string array containing the labels of the model parameters in NPSTU.
Definition: NPSTU.h:96
StandardModel::epsilon3
virtual double epsilon3() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1779
Model::name
std::string name
The name of the model.
Definition: Model.h:267
NPSTU::setParameter
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
NPSTU::obliqueU
virtual double obliqueU() const
The oblique parameter .
Definition: NPSTU.h:133