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
12const std::string NPZbbbar::ZbbbarVAVars[NZbbbarVars]
13 = {"deltaGVb", "deltaGAb"};
14
15const std::string NPZbbbar::ZbbbarLRVars[NZbbbarVars]
16 = {"deltaGLb", "deltaGRb"};
17
18NPZbbbar::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 {
38 }
39 return (true);
40}
41
42void 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
51 } else {
52 if (name.compare("deltaGVb") == 0)
53 myDeltaGVb = value;
54 else if (name.compare("deltaGAb") == 0)
55 myDeltaGAb = value;
56 else
58 }
59}
60
61bool 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 }
81}
82
84
85const 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
93const 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
103const double NPZbbbar::Mw() const
104{
105 return (StandardModel::Mw());
106}
107
108const double NPZbbbar::GammaW() const
109{
110 return (StandardModel::GammaW());
111}
112
113const double NPZbbbar::Gamma_Z() const
114{
115 return (StandardModel::Gamma_Z());
116}
117
118const double NPZbbbar::sigma0_had() const
119{
120 return (StandardModel::sigma0_had());
121}
122
123const double NPZbbbar::sin2thetaEff(const Particle f) const
124{
125 return (StandardModel::sin2thetaEff(f));
126}
127
128const double NPZbbbar::A_f(const Particle f) const
129{
130 return (StandardModel::A_f(f));
131}
132
133const double NPZbbbar::AFB(const Particle f) const
134{
135 return (StandardModel::AFB(f));
136}
137
138const double NPZbbbar::R0_f(const Particle f) const
139{
140 return (StandardModel::R0_f(f));
141}
142
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
virtual const double deltaGV_f(const Particle f) const
New physics contribution to the neutral-current vector coupling .
Definition: NPZbbbar.cpp:85
virtual const double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
Definition: NPZbbbar.cpp:128
double myDeltaGRb
New physics contribution to .
Definition: NPZbbbar.h:259
virtual const double deltaGA_f(const Particle f) const
New physics contribution to the neutral-current axial-vector coupling .
Definition: NPZbbbar.cpp:93
virtual bool PostUpdate()
The post-update method for NPZbbbar.
Definition: NPZbbbar.cpp:29
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
const bool FlagNPZbbbarLR
An internal boolean flag. This flag is initialized in the constructor.
Definition: NPZbbbar.h:265
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
virtual const double R0_f(const Particle f) const
The ratio or , for leptons or quarks, respectively.
Definition: NPZbbbar.cpp:138
virtual const double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
Definition: NPZbbbar.cpp:123
virtual const double GammaW() const
The total width of the boson, .
Definition: NPZbbbar.cpp:108
virtual const double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
Definition: NPZbbbar.cpp:103
virtual const double AFB(const Particle f) const
The forward-backward asymmetry in at the -pole, .
Definition: NPZbbbar.cpp:133
virtual const double sigma0_had() const
The hadronic cross section for at the -pole, .
Definition: NPZbbbar.cpp:118
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(const bool FlagNPZbbbarLR_in=false)
Constructor.
Definition: NPZbbbar.cpp:18
static const int NZbbbarVars
The number of the model parameters in NPZbbbar.
Definition: NPZbbbar.h:132
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
virtual const double Gamma_Z() const
The total decay width of the boson, .
Definition: NPZbbbar.cpp:113
double myDeltaGVb
New physics contribution to .
Definition: NPZbbbar.h:256
double myDeltaGLb
New physics contribution to .
Definition: NPZbbbar.h:258
double myDeltaGAb
New physics contribution to .
Definition: NPZbbbar.h:257
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
A class for particles.
Definition: Particle.h:26
bool is(std::string name_i) const
Definition: Particle.cpp:23
virtual const double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
virtual const double AFB(const Particle f) const
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 sigma0_had() const
The hadronic cross section for at the -pole, .
virtual const double GammaW() const
The total width of the boson, .
virtual const double Gamma_Z() const
The total decay width of the boson, .
virtual const double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
virtual const double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
virtual const double R0_f(const Particle f) const
The ratio .
virtual bool PostUpdate()
The post-update method for StandardModel.
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
void setFlagNoApproximateGammaZ(bool FlagNoApproximateGammaZ)