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
10const std::string RealWeakEFTCC::RealWeakEFTCCvars[NRealWeakEFTCCvars] = {"CS", "CP", "CV", "CA", "CT"};
11const std::string RealWeakEFTCC::RealWeakEFTCCPMvars[NRealWeakEFTCCvars] = {"CSL", "CSR", "CVL", "CVR", "CT"};
12
13RealWeakEFTCC::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
46bool 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
58bool 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
82void 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
114bool 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 }
132}
133
135// Flags
136
137bool RealWeakEFTCC::setFlag(const std::string name, const bool value)
138{
139 return StandardModel::setFlag(name, value);
140}
141
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
void setModelInitialized(bool ModelInitialized)
A set method to fix the failure or success of the initialization of the model.
Definition: Model.h:145
bool IsModelInitialized() const
A method to check if the model is initialized.
Definition: Model.h:136
std::string name
The name of the model.
Definition: Model.h:285
bool UpdateError
A boolean set to false if update is successful.
Definition: Model.h:272
void raiseMissingModelParameterCount()
Definition: Model.h:260
static const std::string RealWeakEFTCCPMvars[NRealWeakEFTCCvars]
Definition: RealWeakEFTCC.h:63
virtual bool setFlag(const std::string name, const bool value)
A method to set a flag of RealWeakEFTCC.
virtual bool PreUpdate()
The pre-update method for RealWeakEFTCC.
virtual bool InitializeModel()
The post-update method for RealWeakEFTCC.
static const int NRealWeakEFTCCvars
Definition: RealWeakEFTCC.h:60
~RealWeakEFTCC()
RealWeakEFTCC destructor.
RealWeakEFTCC(const unsigned int basis)
RealWeakEFTCC constructor.
virtual bool Init(const std::map< std::string, double > &DPars)
Initializes the RealWeakEFTCC parameters found in the argument.
static const std::string RealWeakEFTCCvars[NRealWeakEFTCCvars]
Definition: RealWeakEFTCC.h:62
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for RealWeakEFTCC.
virtual bool PostUpdate()
The post-update method for RealWeakEFTCC.
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...
A model class for the Standard Model.
virtual bool PreUpdate()
The pre-update method for StandardModel.
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 bool Init(const std::map< std::string, double > &DPars)
A method to initialize the model parameters.
virtual bool setFlag(const std::string name, const bool value)
A method to set a flag of StandardModel.
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.
virtual bool InitializeModel()
A method to initialize the model.