a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
NPZbbbarLinearized.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 "NPZbbbarLinearized.h"
9 #include <stdexcept>
10 
11 
12 const std::string NPZbbbarLinearized::ZbbbarVAVars[NZbbbarVars]
13  = {"deltaGVb", "deltaGAb"};
14 
15 const std::string NPZbbbarLinearized::ZbbbarLRVars[NZbbbarVars]
16  = {"deltaGLb", "deltaGRb"};
17 
18 NPZbbbarLinearized::NPZbbbarLinearized(const bool FlagNPZbbbarLR_in)
19 : NPbase(), FlagNPZbbbarLR(FlagNPZbbbarLR_in)
20 {
21  ModelParamMap.insert(std::make_pair("deltaGVb", std::cref(myDeltaGVb)));
22  ModelParamMap.insert(std::make_pair("deltaGAb", std::cref(myDeltaGAb)));
23  ModelParamMap.insert(std::make_pair("deltaGLb", std::cref(myDeltaGLb)));
24  ModelParamMap.insert(std::make_pair("deltaGRb", std::cref(myDeltaGRb)));
25 }
26 
28 {
29  if (!NPbase::PostUpdate()) return (false);
30 
31  if (FlagNPZbbbarLR) {
34  } else {
35  myDeltaGLb = (myDeltaGVb + myDeltaGAb) / 2.0;
36  myDeltaGRb = (myDeltaGVb - myDeltaGAb) / 2.0;
37  }
38 
39  return (true);
40 }
41 
42 void NPZbbbarLinearized::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 NPZbbbarLinearized::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 NPZbbbarLinearizedLR parameter "
67  << ZbbbarLRVars[i] << std::endl;
70  }
71  } else {
72  if (DPars.find(ZbbbarVAVars[i]) == DPars.end()) {
73  std::cout << "ERROR: Missing mandatory NPZbbbarLinearized parameter "
74  << ZbbbarVAVars[i] << std::endl;
77  }
78  }
79  }
80  return (NPbase::CheckParameters(DPars));
81 }
82 
84 
86 {
87  if (f.is("BOTTOM"))
88  return myDeltaGVb;
89  else
90  return 0.0;
91 }
92 
94 {
95  if (f.is("BOTTOM"))
96  return myDeltaGAb;
97  else
98  return 0.0;
99 }
100 
NPZbbbarLinearized::deltaGA_f
virtual double deltaGA_f(const Particle f) const
New physics contribution to the neutral-current axial-vector coupling .
Definition: NPZbbbarLinearized.cpp:93
NPZbbbarLinearized::NPZbbbarLinearized
NPZbbbarLinearized(const bool FlagNPZbbbarLR_in=false)
Constructor.
Definition: NPZbbbarLinearized.cpp:18
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
Particle::is
bool is(std::string name_i) const
Definition: Particle.cpp:23
Particle
A class for particles.
Definition: Particle.h:26
NPZbbbarLinearized::FlagNPZbbbarLR
const bool FlagNPZbbbarLR
An internal boolean flag. This flag is initialized in the constructor.
Definition: NPZbbbarLinearized.h:209
NPZbbbarLinearized::setParameter
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of the model.
Definition: NPZbbbarLinearized.cpp:42
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
NPZbbbarLinearized::NZbbbarVars
static const int NZbbbarVars
The number of the model parameters in NPZbbbarLinearized.
Definition: NPZbbbarLinearized.h:133
Model::ModelParamMap
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:262
NPZbbbarLinearized::myDeltaGAb
double myDeltaGAb
New physics contribution to .
Definition: NPZbbbarLinearized.h:201
NPZbbbarLinearized.h
NPbase
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
NPZbbbarLinearized::myDeltaGLb
double myDeltaGLb
New physics contribution to .
Definition: NPZbbbarLinearized.h:202
Model::raiseMissingModelParameterCount
void raiseMissingModelParameterCount()
Definition: Model.h:242
NPZbbbarLinearized::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: NPZbbbarLinearized.cpp:61
NPZbbbarLinearized::ZbbbarVAVars
static const std::string ZbbbarVAVars[NZbbbarVars]
A string array containing the labels of the model parameters in NPZbbbarLinearized,...
Definition: NPZbbbarLinearized.h:139
NPZbbbarLinearized::myDeltaGRb
double myDeltaGRb
New physics contribution to .
Definition: NPZbbbarLinearized.h:203
NPZbbbarLinearized::PostUpdate
virtual bool PostUpdate()
The post-update method for NPZbbbarLinearized.
Definition: NPZbbbarLinearized.cpp:27
NPZbbbarLinearized::ZbbbarLRVars
static const std::string ZbbbarLRVars[NZbbbarVars]
A string array containing the labels of the model parameters in NPZbbbarLinearized,...
Definition: NPZbbbarLinearized.h:145
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
NPZbbbarLinearized::deltaGV_f
virtual double deltaGV_f(const Particle f) const
New physics contribution to the neutral-current vector coupling .
Definition: NPZbbbarLinearized.cpp:85
NPZbbbarLinearized::myDeltaGVb
double myDeltaGVb
New physics contribution to .
Definition: NPZbbbarLinearized.h:200