NPZbbbar.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 HEPfit Collaboration
3  * All rights reserved.
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::pair<std::string, boost::reference_wrapper<const double> >("deltaGVb", boost::cref(myDeltaGVb)));
24  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("deltaGAb", boost::cref(myDeltaGAb)));
25  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("deltaGLb", boost::cref(myDeltaGLb)));
26  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("deltaGRb", boost::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;
68  return false;
69  }
70  } else {
71  if (DPars.find(ZbbbarVAVars[i]) == DPars.end()) {
72  std::cout << "ERROR: Missing mandatory NPZbbbar parameter "
73  << ZbbbarVAVars[i] << std::endl;
74  return false;
75  }
76  }
77  }
78  return (NPbase::CheckParameters(DPars));
79 }
80 
82 
83 double NPZbbbar::deltaGV_f(const Particle f) const
84 {
85  if (f.is("BOTTOM"))
86  return myDeltaGVb;
87  else
88  return 0.0;
89 }
90 
91 double NPZbbbar::deltaGA_f(const Particle f) const
92 {
93  if (f.is("BOTTOM"))
94  return myDeltaGAb;
95  else
96  return 0.0;
97 }
98 
100 
101 double NPZbbbar::Mw() const
102 {
103  return (StandardModel::Mw());
104 }
105 
106 double NPZbbbar::GammaW() const
107 {
108  return (StandardModel::GammaW());
109 }
110 
111 double NPZbbbar::Gamma_Z() const
112 {
113  return (StandardModel::Gamma_Z());
114 }
115 
116 double NPZbbbar::sigma0_had() const
117 {
118  return (StandardModel::sigma0_had());
119 }
120 
121 double NPZbbbar::sin2thetaEff(const Particle f) const
122 {
123  return (StandardModel::sin2thetaEff(f));
124 }
125 
126 double NPZbbbar::A_f(const Particle f) const
127 {
128  return (StandardModel::A_f(f));
129 }
130 
131 double NPZbbbar::AFB(const Particle f) const
132 {
133  return (StandardModel::AFB(f));
134 }
135 
136 double NPZbbbar::R0_f(const Particle f) const
137 {
138  return (StandardModel::R0_f(f));
139 }
140 
virtual double R0_f(const Particle f) const
The ratio or , for leptons or quarks, respectively.
Definition: NPZbbbar.cpp:136
double myDeltaGLb
New physics contribution to .
Definition: NPZbbbar.h:258
virtual double sigma0_had() const
The hadronic cross section for at the -pole, .
Definition: NPZbbbar.cpp:116
virtual double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
Definition: NPZbbbar.cpp:121
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
static const int NZbbbarVars
The number of the model parameters in NPZbbbar.
Definition: NPZbbbar.h:132
NPZbbbar(const bool FlagNPZbbbarLR_in=false)
Constructor.
Definition: NPZbbbar.cpp:18
A class for particles.
Definition: Particle.h:26
virtual double deltaGA_f(const Particle f) const
New physics contribution to the neutral-current axial-vector coupling .
Definition: NPZbbbar.cpp:91
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
void setFlagNoApproximateGammaZ(bool FlagNoApproximateGammaZ)
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
virtual double sin2thetaEff(const Particle f) const
The effective weak mixing angle for at the the -mass scale.
const bool FlagNPZbbbarLR
An internal boolean flag. This flag is initialized in the constructor.
Definition: NPZbbbar.h:265
virtual double sigma0_had() const
The hadronic cross section for at the -pole, .
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
bool is(std::string name_i) const
Definition: Particle.cpp:23
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
virtual double Gamma_Z() const
The total decay width of the boson, .
Definition: NPZbbbar.cpp:111
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
Definition: NPZbbbar.cpp:101
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 double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
Definition: NPZbbbar.cpp:126
virtual bool PostUpdate()
The post-update method for NPbase.
Definition: NPbase.cpp:15
virtual double AFB(const Particle f) const
virtual double Gamma_Z() const
The total decay width of the boson, .
virtual double GammaW() const
The total width of the boson, .
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 double deltaGV_f(const Particle f) const
New physics contribution to the neutral-current vector coupling .
Definition: NPZbbbar.cpp:83
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 double GammaW() const
The total width of the boson, .
Definition: NPZbbbar.cpp:106
virtual double A_f(const Particle f) const
The left-right asymmetry in at the -pole, .
double myDeltaGRb
New physics contribution to .
Definition: NPZbbbar.h:259
double myDeltaGVb
New physics contribution to .
Definition: NPZbbbar.h:256
virtual double R0_f(const Particle f) const
The ratio .
double myDeltaGAb
New physics contribution to .
Definition: NPZbbbar.h:257
std::map< std::string, boost::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:200
virtual bool PostUpdate()
The post-update method for NPZbbbar.
Definition: NPZbbbar.cpp:29
virtual double AFB(const Particle f) const
The forward-backward asymmetry in at the -pole, .
Definition: NPZbbbar.cpp:131