a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
RealWeakEFTCC.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "RealWeakEFTCC.h"
9 
10 const std::string RealWeakEFTCC::RealWeakEFTCCvars[NRealWeakEFTCCvars] = {"CS", "CP", "CV", "CA", "CT"};
11 const std::string RealWeakEFTCC::RealWeakEFTCCPMvars[NRealWeakEFTCCvars] = {"CSL", "CSR", "CVL", "CVR", "CT"};
12 
13 RealWeakEFTCC::RealWeakEFTCC(const unsigned int basis) : StandardModel(), basis(basis)
14 {
15  if (basis == 1) {
16  ModelParamMap.insert(std::make_pair("CSL", std::cref(C1)));
17  ModelParamMap.insert(std::make_pair("CSR", std::cref(C2)));
18  ModelParamMap.insert(std::make_pair("CVL", std::cref(C3)));
19  ModelParamMap.insert(std::make_pair("CVR", std::cref(C4)));
20  ModelParamMap.insert(std::make_pair("CT", std::cref(C5)));
21  } else if (basis == 0) {
22  ModelParamMap.insert(std::make_pair("CS", std::cref(C1)));
23  ModelParamMap.insert(std::make_pair("CP", std::cref(C2)));
24  ModelParamMap.insert(std::make_pair("CV", std::cref(C3)));
25  ModelParamMap.insert(std::make_pair("CA", std::cref(C4)));
26  ModelParamMap.insert(std::make_pair("CT", std::cref(C5)));
27  } else
28  throw std::runtime_error("Basis not defined in RealWeakEFTCC::RealWeakEFTCC()");
29 }
30 
32 {
33  if (IsModelInitialized()) {
34  }
35 }
36 
38 // Initialization
39 
41 {
43  return (true);
44 }
45 
46 bool RealWeakEFTCC::Init(const std::map<std::string, double>& DPars)
47 {
48  return (StandardModel::Init(DPars));
49 }
50 
52 {
53  if (!StandardModel::PreUpdate()) return (false);
54 
55  return (true);
56 }
57 
58 bool RealWeakEFTCC::Update(const std::map<std::string, double>& DPars)
59 {
60 
61  if (!PreUpdate()) return (false);
62 
63  UpdateError = false;
64 
65  for (std::map<std::string, double>::const_iterator it = DPars.begin(); it != DPars.end(); it++)
66  setParameter(it->first, it->second);
67 
68  if (UpdateError) return (false);
69 
70  if (!PostUpdate()) return (false);
71 
72  return (true);
73 }
74 
76 {
77  if (!StandardModel::PostUpdate()) return (false);
78 
79  return (true);
80 }
81 
82 void RealWeakEFTCC::setParameter(const std::string name, const double& value)
83 {
84  if (basis == 1) {
85  if (name.compare("CSL") == 0)
86  C1 = value;
87  else if (name.compare("CSR") == 0)
88  C2 = value;
89  else if (name.compare("CVL") == 0)
90  C3 = value;
91  else if (name.compare("CVR") == 0)
92  C4 = value;
93  else if (name.compare("CT") == 0)
94  C5 = value;
95  else
97  } else if (basis == 0) {
98  if (name.compare("CS") == 0)
99  C1 = value;
100  else if (name.compare("CP") == 0)
101  C2 = value;
102  else if (name.compare("CV") == 0)
103  C3 = value;
104  else if (name.compare("CA") == 0)
105  C4 = value;
106  else if (name.compare("CT") == 0)
107  C5 = value;
108  else
110  } else
111  throw std::runtime_error("Basis not defined in RealWeakEFTCC::RealWeakEFTCC()");
112 }
113 
114 bool RealWeakEFTCC::CheckParameters(const std::map<std::string, double>& DPars)
115 {
116  for (int i = 0; i < NRealWeakEFTCCvars; i++) {
117  if (basis == 1) {
118  if (DPars.find(RealWeakEFTCCPMvars[i]) == DPars.end()) {
119  std::cout << "ERROR: missing mandatory RealWeakEFTCCPM parameter " << RealWeakEFTCCPMvars[i] << std::endl;
122  }
123  } else if (basis == 0) {
124  if (DPars.find(RealWeakEFTCCvars[i]) == DPars.end()) {
125  std::cout << "ERROR: missing mandatory RealWeakEFTCC parameter " << RealWeakEFTCCvars[i] << std::endl;
128  }
129  }
130  }
131  return (StandardModel::CheckParameters(DPars));
132 }
133 
135 // Flags
136 
137 bool RealWeakEFTCC::setFlag(const std::string name, const bool value)
138 {
139  return StandardModel::setFlag(name, value);
140 }
141 
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
RealWeakEFTCC::CheckParameters
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for RealWeakEFTCC have been provided in model initi...
Definition: RealWeakEFTCC.cpp:114
RealWeakEFTCC::RealWeakEFTCC
RealWeakEFTCC(const unsigned int basis)
RealWeakEFTCC constructor.
Definition: RealWeakEFTCC.cpp:13
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
RealWeakEFTCC::~RealWeakEFTCC
~RealWeakEFTCC()
RealWeakEFTCC destructor.
Definition: RealWeakEFTCC.cpp:31
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:474
Model::UpdateError
bool UpdateError
A boolean set to false if update is successful.
Definition: Model.h:254
RealWeakEFTCC::RealWeakEFTCCvars
static const std::string RealWeakEFTCCvars[NRealWeakEFTCCvars]
Definition: RealWeakEFTCC.h:62
RealWeakEFTCC::NRealWeakEFTCCvars
static const int NRealWeakEFTCCvars
Definition: RealWeakEFTCC.h:60
RealWeakEFTCC::PreUpdate
virtual bool PreUpdate()
The pre-update method for RealWeakEFTCC.
Definition: RealWeakEFTCC.cpp:51
StandardModel::setFlag
virtual bool setFlag(const std::string name, const bool value)
A method to set a flag of StandardModel.
Definition: StandardModel.cpp:378
Model::ModelParamMap
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:262
StandardModel::Init
virtual bool Init(const std::map< std::string, double > &DPars)
A method to initialize the model parameters.
Definition: StandardModel.cpp:159
RealWeakEFTCC::RealWeakEFTCCPMvars
static const std::string RealWeakEFTCCPMvars[NRealWeakEFTCCvars]
Definition: RealWeakEFTCC.h:63
StandardModel::PreUpdate
virtual bool PreUpdate()
The pre-update method for StandardModel.
Definition: StandardModel.cpp:172
RealWeakEFTCC::Init
virtual bool Init(const std::map< std::string, double > &DPars)
Initializes the RealWeakEFTCC parameters found in the argument.
Definition: RealWeakEFTCC.cpp:46
Model::raiseMissingModelParameterCount
void raiseMissingModelParameterCount()
Definition: Model.h:242
RealWeakEFTCC::setFlag
virtual bool setFlag(const std::string name, const bool value)
A method to set a flag of RealWeakEFTCC.
Definition: RealWeakEFTCC.cpp:137
StandardModel::PostUpdate
virtual bool PostUpdate()
The post-update method for StandardModel.
Definition: StandardModel.cpp:199
Model::IsModelInitialized
bool IsModelInitialized() const
A method to check if the model is initialized.
Definition: Model.h:136
RealWeakEFTCC::PostUpdate
virtual bool PostUpdate()
The post-update method for RealWeakEFTCC.
Definition: RealWeakEFTCC.cpp:75
StandardModel::InitializeModel
virtual bool InitializeModel()
A method to initialize the model.
Definition: StandardModel.cpp:140
RealWeakEFTCC::InitializeModel
virtual bool InitializeModel()
The post-update method for RealWeakEFTCC.
Definition: RealWeakEFTCC.cpp:40
RealWeakEFTCC.h
Model::name
std::string name
The name of the model.
Definition: Model.h:267
Model::setModelInitialized
void setModelInitialized(bool ModelInitialized)
A set method to fix the failure or success of the initialization of the model.
Definition: Model.h:145
RealWeakEFTCC::Update
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for RealWeakEFTCC.
Definition: RealWeakEFTCC.cpp:58