NPSTU.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  * All rights reserved.
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::pair<std::string, boost::reference_wrapper<const double> >("obliqueS", boost::cref(myObliqueS)));
20  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("obliqueT", boost::cref(myObliqueT)));
21  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("obliqueU", boost::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;
42  return false;
43  }
44  }
45  return (NPbase::CheckParameters(DPars));
46 }
47 
48 
50 
51 double NPSTU::epsilon1() const
52 {
53  double That = alphaMz() * obliqueT();
54 
55  return ( trueSM.epsilon1() + That);
56 }
57 
58 double NPSTU::epsilon2() const
59 {
60  double sW2_SM = trueSM.sW2(); /* This has to be the SM value. */
61  double Uhat = -alphaMz() / (4.0 * sW2_SM) * obliqueU();
62 
63  return ( trueSM.epsilon2() + Uhat);
64 }
65 
66 double NPSTU::epsilon3() const
67 {
68  double sW2_SM = trueSM.sW2(); /* This has to be the SM value. */
69  double Shat = alphaMz() / (4.0 * sW2_SM) * obliqueS();
70 
71  return ( trueSM.epsilon3() + Shat);
72 }
73 
74 double NPSTU::epsilonb() const
75 {
76  return trueSM.epsilonb();
77 }
78 
79 
virtual double obliqueU() const
The oblique parameter .
Definition: NPSTU.h:133
virtual double epsilon2() const
The SM contribution to the epsilon parameter .
virtual double epsilon1() const
The SM contribution to the epsilon parameter .
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 ...
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
double epsilon3() const
The parameter .
Definition: NPSTU.cpp:66
double epsilonb() const
The parameter .
Definition: NPSTU.cpp:74
virtual double obliqueS() const
The oblique parameter .
Definition: NPSTU.h:115
static const int NSTUvars
The number of the model parameters in NPSTU.
Definition: NPSTU.h:91
double myObliqueS
The oblique parameter .
Definition: NPSTU.h:172
virtual double epsilonb() const
The SM contribution to the epsilon parameter .
StandardModel trueSM
Definition: NPbase.h:543
double myObliqueT
The oblique parameter .
Definition: NPSTU.h:173
virtual double obliqueT() const
The oblique parameter .
Definition: NPSTU.h:124
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
virtual 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.
NPSTU()
The default constructor.
Definition: NPSTU.cpp:16
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...
static const std::string STUvars[NSTUvars]
A string array containing the labels of the model parameters in NPSTU.
Definition: NPSTU.h:96
double myObliqueU
The oblique parameter .
Definition: NPSTU.h:174
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
double alphaMz() const
The electromagnetic coupling at the -mass scale, .
std::map< std::string, boost::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:200
double epsilon2() const
The parameter .
Definition: NPSTU.cpp:58
double epsilon1() const
The parameter .
Definition: NPSTU.cpp:51