a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
NPEpsilons_pureNP.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 "NPEpsilons_pureNP.h"
9 #include <stdexcept>
10 
11 const std::string NPEpsilons_pureNP::EPSILONpureNPvars[NEPSILONpureNPvars]
12  = {"delEps_1", "delEps_2", "delEps_3", "delEps_b"};
13 
15 : NPbase()
16 {
17  ModelParamMap.insert(std::make_pair("delEps_1", std::cref(deltaEps_1)));
18  ModelParamMap.insert(std::make_pair("delEps_2", std::cref(deltaEps_2)));
19  ModelParamMap.insert(std::make_pair("delEps_3", std::cref(deltaEps_3)));
20  ModelParamMap.insert(std::make_pair("delEps_b", std::cref(deltaEps_b)));
21 }
22 
23 void NPEpsilons_pureNP::setParameter(const std::string name, const double& value)
24 {
25  if (name.compare("delEps_1") == 0)
26  deltaEps_1 = value;
27  else if (name.compare("delEps_2") == 0)
28  deltaEps_2 = value;
29  else if (name.compare("delEps_3") == 0)
30  deltaEps_3 = value;
31  else if (name.compare("delEps_b") == 0)
32  deltaEps_b = value;
33  else
34  NPbase::setParameter(name, value);
35 }
36 
37 bool NPEpsilons_pureNP::CheckParameters(const std::map<std::string, double>& DPars)
38 {
39  for (int i = 0; i < NEPSILONpureNPvars; i++) {
40  if (DPars.find(EPSILONpureNPvars[i]) == DPars.end()) {
41  std::cout << "ERROR: Missing mandatory NPEpsilons_pureNP parameter "
42  << EPSILONpureNPvars[i] << std::endl;
45  }
46  }
47  return (NPbase::CheckParameters(DPars));
48 }
49 
51 
53 {
54  return (trueSM.epsilon1() + deltaEps_1);
55 }
56 
58 {
59  return (trueSM.epsilon2() + deltaEps_2);
60 }
61 
63 {
64  return (trueSM.epsilon3() + deltaEps_3);
65 }
66 
68 {
69  return (trueSM.epsilonb() + deltaEps_b);
70 }
71 
72 
74 
75 double NPEpsilons_pureNP::Mw() const
76 {
77  double Mw_SM = trueSM.Mw();
78  double sW2_SM = trueSM.sW2();
79  double cW2_SM = trueSM.cW2();
80  return ( Mw_SM * (1.0 - (-c02() * deltaEps_1
81  + (c02() - s02()) * deltaEps_2
82  + 2.0 * s02() * deltaEps_3) / (cW2_SM - sW2_SM) / 2.0));
83 }
84 
86 {
87  throw std::runtime_error("NPEpsilons_pureNP::GammaW() is not available.");
88 }
89 
90 
92 
94 {
95  if (f.is("TOP")) return 0.0;
96 
97  /* SM values */
98  double gV_SM = trueSM.gV_f(f).real();
99  double gA_SM = trueSM.gA_f(f).real();
100 
101  if (f.is("BOTTOM"))
102  return ( gV_SM * deltaEps_1 / 2.0 + gV_SM * deltaEps_b
103  + (gV_SM - gA_SM)*(deltaEps_3 - c02() * deltaEps_1)
104  / (c02() - s02())
105  - (gV_SM - gA_SM) * deltaEps_b);
106  else
107  return ( gV_SM * deltaEps_1 / 2.0
108  + (gV_SM - gA_SM)*(deltaEps_3 - c02() * deltaEps_1)
109  / (c02() - s02()));
110 }
111 
113 {
114  if (f.is("TOP")) return 0.0;
115 
116  if (f.is("BOTTOM"))
117  return ( f.getIsospin()*(deltaEps_1 / 2.0 + deltaEps_b));
118 
119  return ( f.getIsospin() * deltaEps_1 / 2.0);
120 }
121 
122 
StandardModel::cW2
virtual double cW2(const double Mw_i) const
The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as .
Definition: StandardModel.cpp:989
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
NPEpsilons_pureNP::NPEpsilons_pureNP
NPEpsilons_pureNP()
The default constructor.
Definition: NPEpsilons_pureNP.cpp:14
Particle::is
bool is(std::string name_i) const
Definition: Particle.cpp:23
Particle
A class for particles.
Definition: Particle.h:26
NPEpsilons_pureNP::deltaEps_2
double deltaEps_2
The new physics contribution to .
Definition: NPEpsilons_pureNP.h:230
NPEpsilons_pureNP.h
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
NPEpsilons_pureNP::Mw
virtual double Mw() const
The mass of the boson, .
Definition: NPEpsilons_pureNP.cpp:75
StandardModel::epsilonb
virtual double epsilonb() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1789
NPEpsilons_pureNP::NEPSILONpureNPvars
static const int NEPSILONpureNPvars
The number of the model parameters in NPEpsilons_pureNP.
Definition: NPEpsilons_pureNP.h:103
NPEpsilons_pureNP::epsilon3
double epsilon3() const
The parameter .
Definition: NPEpsilons_pureNP.cpp:62
NPEpsilons_pureNP::epsilonb
double epsilonb() const
The parameter .
Definition: NPEpsilons_pureNP.cpp:67
NPEpsilons_pureNP::deltaEps_1
double deltaEps_1
The new physics contribution to .
Definition: NPEpsilons_pureNP.h:229
Particle::getIsospin
double getIsospin() const
A get method to access the particle isospin.
Definition: Particle.h:115
NPEpsilons_pureNP::deltaGV_f
virtual double deltaGV_f(const Particle f) const
New physics contribution to the neutral-current vector coupling .
Definition: NPEpsilons_pureNP.cpp:93
NPEpsilons_pureNP::GammaW
virtual double GammaW() const
The total width of the boson, .
Definition: NPEpsilons_pureNP.cpp:85
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
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
StandardModel::c02
double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections.
Definition: StandardModel.cpp:939
NPbase
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
NPEpsilons_pureNP::setParameter
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of the model.
Definition: NPEpsilons_pureNP.cpp:23
Model::raiseMissingModelParameterCount
void raiseMissingModelParameterCount()
Definition: Model.h:242
NPEpsilons_pureNP::EPSILONpureNPvars
static const std::string EPSILONpureNPvars[NEPSILONpureNPvars]
A string array containing the labels of the model parameters in NPEpsilons_pureNP.
Definition: NPEpsilons_pureNP.h:108
StandardModel::epsilon1
virtual double epsilon1() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1759
NPEpsilons_pureNP::deltaGA_f
virtual double deltaGA_f(const Particle f) const
New physics contribution to the neutral-current axial-vector coupling .
Definition: NPEpsilons_pureNP.cpp:112
StandardModel::epsilon3
virtual double epsilon3() const
The SM contribution to the epsilon parameter .
Definition: StandardModel.cpp:1779
StandardModel::gV_f
virtual gslpp::complex gV_f(const Particle f) const
The effective leptonic neutral-current vector coupling in the SM.
Definition: StandardModel.cpp:1542
StandardModel::s02
double s02() const
The square of the sine of the weak mixing angle defined without weak radiative corrections.
Definition: StandardModel.cpp:930
NPEpsilons_pureNP::deltaEps_b
double deltaEps_b
The new physics contribution to .
Definition: NPEpsilons_pureNP.h:232
gslpp::complex::real
const double & real() const
Definition: gslpp_complex.cpp:53
Model::name
std::string name
The name of the model.
Definition: Model.h:267
NPEpsilons_pureNP::epsilon1
double epsilon1() const
The parameter .
Definition: NPEpsilons_pureNP.cpp:52
StandardModel::Mw
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
Definition: StandardModel.cpp:944
StandardModel::gA_f
virtual gslpp::complex gA_f(const Particle f) const
The effective leptonic neutral-current axial-vector coupling in the SM.
Definition: StandardModel.cpp:1548
NPEpsilons_pureNP::deltaEps_3
double deltaEps_3
The new physics contribution to .
Definition: NPEpsilons_pureNP.h:231
NPEpsilons_pureNP::epsilon2
double epsilon2() const
The parameter .
Definition: NPEpsilons_pureNP.cpp:57
NPEpsilons_pureNP::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: NPEpsilons_pureNP.cpp:37