a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
NPZbbbar.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 "NPZbbbar.h"
9 #include <stdexcept>
10 
11 
12 const std::string NPZbbbar::ZbbbarVAVars[NZbbbarVars]
13  = {"deltaGVb", "deltaGAb"};
14 
15 const std::string NPZbbbar::ZbbbarLRVars[NZbbbarVars]
16  = {"deltaGLb", "deltaGRb"};
17 
18 NPZbbbar::NPZbbbar(const bool FlagNPZbbbarLR_in)
19 : NPbase(), FlagNPZbbbarLR(FlagNPZbbbarLR_in)
20 {
22 
23  ModelParamMap.insert(std::make_pair("deltaGVb", std::cref(myDeltaGVb)));
24  ModelParamMap.insert(std::make_pair("deltaGAb", std::cref(myDeltaGAb)));
25  ModelParamMap.insert(std::make_pair("deltaGLb", std::cref(myDeltaGLb)));
26  ModelParamMap.insert(std::make_pair("deltaGRb", std::cref(myDeltaGRb)));
27 }
28 
30 {
31  if (!NPbase::PostUpdate()) return (false);
32  if (FlagNPZbbbarLR) {
35  } else {
36  myDeltaGLb = (myDeltaGVb + myDeltaGAb) / 2.0;
37  myDeltaGRb = (myDeltaGVb - myDeltaGAb) / 2.0;
38  }
39  return (true);
40 }
41 
42 void NPZbbbar::setParameter(const std::string name, const double& value)
43 {
44  if (FlagNPZbbbarLR) {
45  if (name.compare("deltaGLb") == 0)
46  myDeltaGLb = value;
47  else if (name.compare("deltaGRb") == 0)
48  myDeltaGRb = value;
49  else
50  NPbase::setParameter(name, value);
51  } else {
52  if (name.compare("deltaGVb") == 0)
53  myDeltaGVb = value;
54  else if (name.compare("deltaGAb") == 0)
55  myDeltaGAb = value;
56  else
57  NPbase::setParameter(name, value);
58  }
59 }
60 
61 bool NPZbbbar::CheckParameters(const std::map<std::string, double>& DPars)
62 {
63  for (int i = 0; i < NZbbbarVars; i++) {
64  if (FlagNPZbbbarLR) {
65  if (DPars.find(ZbbbarLRVars[i]) == DPars.end()) {
66  std::cout << "ERROR: Missing mandatory NPZbbbarLR parameter "
67  << ZbbbarLRVars[i] << std::endl;
70  }
71  } else {
72  if (DPars.find(ZbbbarVAVars[i]) == DPars.end()) {
73  std::cout << "ERROR: Missing mandatory NPZbbbar parameter "
74  << ZbbbarVAVars[i] << std::endl;
77  }
78  }
79  }
80  return (NPbase::CheckParameters(DPars));
81 }
82 
84 
85 double NPZbbbar::deltaGV_f(const Particle f) const
86 {
87  if (f.is("BOTTOM"))
88  return myDeltaGVb;
89  else
90  return 0.0;
91 }
92 
93 double NPZbbbar::deltaGA_f(const Particle f) const
94 {
95  if (f.is("BOTTOM"))
96  return myDeltaGAb;
97  else
98  return 0.0;
99 }
100 
102 
103 double NPZbbbar::Mw() const
104 {
105  return (StandardModel::Mw());
106 }
107 
108 double NPZbbbar::GammaW() const
109 {
110  return (StandardModel::GammaW());
111 }
112 
113 double NPZbbbar::Gamma_Z() const
114 {
115  return (StandardModel::Gamma_Z());
116 }
117 
118 double NPZbbbar::sigma0_had() const
119 {
120  return (StandardModel::sigma0_had());
121 }
122 
123 double NPZbbbar::sin2thetaEff(const Particle f) const
124 {
125  return (StandardModel::sin2thetaEff(f));
126 }
127 
128 double NPZbbbar::A_f(const Particle f) const
129 {
130  return (StandardModel::A_f(f));
131 }
132 
133 double NPZbbbar::AFB(const Particle f) const
134 {
135  return (StandardModel::AFB(f));
136 }
137 
138 double NPZbbbar::R0_f(const Particle f) const
139 {
140  return (StandardModel::R0_f(f));
141 }
142 
NPZbbbar::AFB
virtual double AFB(const Particle f) const
The forward-backward asymmetry in at the -pole, .
Definition: NPZbbbar.cpp:133
NPZbbbar::PostUpdate
virtual bool PostUpdate()
The post-update method for NPZbbbar.
Definition: NPZbbbar.cpp:29
NPZbbbar::myDeltaGRb
double myDeltaGRb
New physics contribution to .
Definition: NPZbbbar.h:259
NPZbbbar::deltaGV_f
virtual double deltaGV_f(const Particle f) const
New physics contribution to the neutral-current vector coupling .
Definition: NPZbbbar.cpp:85
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
NPZbbbar::NZbbbarVars
static const int NZbbbarVars
The number of the model parameters in NPZbbbar.
Definition: NPZbbbar.h:132
Particle::is
bool is(std::string name_i) const
Definition: Particle.cpp:23
Particle
A class for particles.
Definition: Particle.h:26
StandardModel::setFlagNoApproximateGammaZ
void setFlagNoApproximateGammaZ(bool FlagNoApproximateGammaZ)
Definition: StandardModel.h:649
NPZbbbar::ZbbbarLRVars
static const std::string ZbbbarLRVars[NZbbbarVars]
A string array containing the labels of the model parameters in NPZbbbar, used for NPZbbbarLR=TRUE.
Definition: NPZbbbar.h:144
NPZbbbar::GammaW
virtual double GammaW() const
The total width of the boson, .
Definition: NPZbbbar.cpp:108
NPZbbbar::R0_f
virtual double R0_f(const Particle f) const
The ratio or , for leptons or quarks, respectively.
Definition: NPZbbbar.cpp:138
NPZbbbar::NPZbbbar
NPZbbbar(const bool FlagNPZbbbarLR_in=false)
Constructor.
Definition: NPZbbbar.cpp:18
StandardModel::A_f
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
Definition: StandardModel.cpp:1183
StandardModel::sigma0_had
virtual double sigma0_had() const
The hadronic cross section for at the -pole, .
Definition: StandardModel.cpp:1344
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
NPZbbbar::A_f
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
Definition: NPZbbbar.cpp:128
StandardModel::GammaW
virtual double GammaW() const
The total width of the boson, .
Definition: StandardModel.cpp:1164
Model::ModelParamMap
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:262
NPZbbbar.h
NPbase
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
NPZbbbar::ZbbbarVAVars
static const std::string ZbbbarVAVars[NZbbbarVars]
A string array containing the labels of the model parameters in NPZbbbar, used for NPZbbbarLR=FALSE.
Definition: NPZbbbar.h:138
NPZbbbar::FlagNPZbbbarLR
const bool FlagNPZbbbarLR
An internal boolean flag. This flag is initialized in the constructor.
Definition: NPZbbbar.h:265
Model::raiseMissingModelParameterCount
void raiseMissingModelParameterCount()
Definition: Model.h:242
StandardModel::R0_f
virtual double R0_f(const Particle f) const
The ratio .
Definition: StandardModel.cpp:1369
NPZbbbar::Mw
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
Definition: NPZbbbar.cpp:103
NPZbbbar::sigma0_had
virtual double sigma0_had() const
The hadronic cross section for at the -pole, .
Definition: NPZbbbar.cpp:118
StandardModel::AFB
virtual double AFB(const Particle f) const
Definition: StandardModel.cpp:1190
NPZbbbar::myDeltaGAb
double myDeltaGAb
New physics contribution to .
Definition: NPZbbbar.h:257
StandardModel::sin2thetaEff
virtual double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
Definition: StandardModel.cpp:1195
NPZbbbar::sin2thetaEff
virtual double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
Definition: NPZbbbar.cpp:123
NPZbbbar::deltaGA_f
virtual double deltaGA_f(const Particle f) const
New physics contribution to the neutral-current axial-vector coupling .
Definition: NPZbbbar.cpp:93
NPZbbbar::myDeltaGVb
double myDeltaGVb
New physics contribution to .
Definition: NPZbbbar.h:256
NPbase::PostUpdate
virtual bool PostUpdate()
The postupdate method for NPbase.
Definition: NPbase.cpp:23
Model::name
std::string name
The name of the model.
Definition: Model.h:267
StandardModel::Mw
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
Definition: StandardModel.cpp:944
NPZbbbar::myDeltaGLb
double myDeltaGLb
New physics contribution to .
Definition: NPZbbbar.h:258
StandardModel::Gamma_Z
virtual double Gamma_Z() const
The total decay width of the boson, .
Definition: StandardModel.cpp:1318
NPZbbbar::setParameter
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of the model.
Definition: NPZbbbar.cpp:42
NPZbbbar::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: NPZbbbar.cpp:61
NPZbbbar::Gamma_Z
virtual double Gamma_Z() const
The total decay width of the boson, .
Definition: NPZbbbar.cpp:113