10#include "std_make_vector.h"
28 if (
name.compare(
"BBs") == 0) {
29 ModelParamMap.insert(std::make_pair(
"BBs1", std::cref(
bpars(0))));
30 ModelParamMap.insert(std::make_pair(
"BBs2", std::cref(
bpars(1))));
31 ModelParamMap.insert(std::make_pair(
"BBs3", std::cref(
bpars(2))));
32 ModelParamMap.insert(std::make_pair(
"BBs4", std::cref(
bpars(3))));
33 ModelParamMap.insert(std::make_pair(
"BBs5", std::cref(
bpars(4))));
34 ModelParamMap.insert(std::make_pair(
"BBsscale", std::cref(
mu)));
36 ModelParamMap.insert(std::make_pair(
"FBsSqrtBBs1", std::cref(
FBsSqrtBBs1)));
37 ModelParamMap.insert(std::make_pair(
"FBsSqrtBBs2", std::cref(
FBsSqrtBBs2)));
38 ModelParamMap.insert(std::make_pair(
"FBsSqrtBBs3", std::cref(
FBsSqrtBBs3)));
39 ModelParamMap.insert(std::make_pair(
"FBsSqrtBBs4", std::cref(
FBsSqrtBBs4)));
40 ModelParamMap.insert(std::make_pair(
"FBsSqrtBBs5", std::cref(
FBsSqrtBBs5)));
44 if (
name.compare(
"BBd") == 0) {
45 ModelParamMap.insert(std::make_pair(
"BBsoBBd", std::cref(
BBsoBBd)));
46 ModelParamMap.insert(std::make_pair(
"BBd2", std::cref(
bpars(1))));
47 ModelParamMap.insert(std::make_pair(
"BBd3", std::cref(
bpars(2))));
48 ModelParamMap.insert(std::make_pair(
"BBd4", std::cref(
bpars(3))));
49 ModelParamMap.insert(std::make_pair(
"BBd5", std::cref(
bpars(4))));
50 ModelParamMap.insert(std::make_pair(
"BBdscale", std::cref(
mu)));
52 ModelParamMap.insert(std::make_pair(
"csi", std::cref(
csi)));
53 ModelParamMap.insert(std::make_pair(
"FBdSqrtBBd2", std::cref(
FBdSqrtBBd2)));
54 ModelParamMap.insert(std::make_pair(
"FBdSqrtBBd3", std::cref(
FBdSqrtBBd3)));
55 ModelParamMap.insert(std::make_pair(
"FBdSqrtBBd4", std::cref(
FBdSqrtBBd4)));
56 ModelParamMap.insert(std::make_pair(
"FBdSqrtBBd5", std::cref(
FBdSqrtBBd5)));
60 if (
name.compare(
"BBs_subleading") == 0) {
61 ModelParamMap.insert(std::make_pair(
"Rs2", std::cref(
bpars(0))));
62 ModelParamMap.insert(std::make_pair(
"Rs3", std::cref(
bpars(1))));
65 if (
name.compare(
"BBd_subleading") == 0) {
66 ModelParamMap.insert(std::make_pair(
"Rd2", std::cref(
bpars(0))));
67 ModelParamMap.insert(std::make_pair(
"Rd3", std::cref(
bpars(1))));
70 if (
name.compare(
"BK") == 0) {
71 ModelParamMap.insert(std::make_pair(
"BK1", std::cref(
bpars(0))));
72 ModelParamMap.insert(std::make_pair(
"BK2", std::cref(
bpars(1))));
73 ModelParamMap.insert(std::make_pair(
"BK3", std::cref(
bpars(2))));
74 ModelParamMap.insert(std::make_pair(
"BK4", std::cref(
bpars(3))));
75 ModelParamMap.insert(std::make_pair(
"BK5", std::cref(
bpars(4))));
76 ModelParamMap.insert(std::make_pair(
"BKscale", std::cref(
mu)));
79 if (
name.compare(
"BD") == 0) {
80 ModelParamMap.insert(std::make_pair(
"BD1", std::cref(
bpars(0))));
81 ModelParamMap.insert(std::make_pair(
"BD2", std::cref(
bpars(1))));
82 ModelParamMap.insert(std::make_pair(
"BD3", std::cref(
bpars(2))));
83 ModelParamMap.insert(std::make_pair(
"BD4", std::cref(
bpars(3))));
84 ModelParamMap.insert(std::make_pair(
"BD5", std::cref(
bpars(4))));
85 ModelParamMap.insert(std::make_pair(
"BDscale", std::cref(
mu)));
88 if (
name.compare(
"BKd1") == 0) {
89 ModelParamMap.insert(std::make_pair(
"BK(1/2)1", std::cref(
bpars(0))));
90 ModelParamMap.insert(std::make_pair(
"BK(1/2)2", std::cref(
bpars(1))));
91 ModelParamMap.insert(std::make_pair(
"BK(1/2)3", std::cref(
bpars(2))));
92 ModelParamMap.insert(std::make_pair(
"BK(1/2)4", std::cref(
bpars(3))));
93 ModelParamMap.insert(std::make_pair(
"BK(1/2)5", std::cref(
bpars(4))));
94 ModelParamMap.insert(std::make_pair(
"BK(1/2)6", std::cref(
bpars(5))));
95 ModelParamMap.insert(std::make_pair(
"BK(1/2)7", std::cref(
bpars(6))));
96 ModelParamMap.insert(std::make_pair(
"BK(1/2)8", std::cref(
bpars(7))));
97 ModelParamMap.insert(std::make_pair(
"BK(1/2)9", std::cref(
bpars(8))));
98 ModelParamMap.insert(std::make_pair(
"BK(1/2)10", std::cref(
bpars(9))));
99 ModelParamMap.insert(std::make_pair(
"BKd1_scale", std::cref(
mu)));
102 if (
name.compare(
"BKd3") == 0) {
103 ModelParamMap.insert(std::make_pair(
"BK(3/2)1", std::cref(
bpars(0))));
104 ModelParamMap.insert(std::make_pair(
"BK(3/2)2", std::cref(
bpars(1))));
105 ModelParamMap.insert(std::make_pair(
"BK(3/2)3", std::cref(
bpars(2))));
106 ModelParamMap.insert(std::make_pair(
"BK(3/2)4", std::cref(
bpars(3))));
107 ModelParamMap.insert(std::make_pair(
"BK(3/2)5", std::cref(
bpars(4))));
108 ModelParamMap.insert(std::make_pair(
"BK(3/2)6", std::cref(
bpars(5))));
109 ModelParamMap.insert(std::make_pair(
"BK(3/2)7", std::cref(
bpars(6))));
110 ModelParamMap.insert(std::make_pair(
"BK(3/2)8", std::cref(
bpars(7))));
111 ModelParamMap.insert(std::make_pair(
"BK(3/2)9", std::cref(
bpars(8))));
112 ModelParamMap.insert(std::make_pair(
"BK(3/2)10", std::cref(
bpars(9))));
113 ModelParamMap.insert(std::make_pair(
"BKd3_scale", std::cref(
mu)));
115 }
else throw std::runtime_error(
name +
" is not implemented in BParameter class");
120 if (name_i.compare(
"BBs") == 0 && !
FlagCsi)
return make_vector<std::string>() <<
"BBs1" <<
"BBs2" <<
"BBs3" <<
"BBs4" <<
"BBs5" <<
"BBsscale" <<
"BBsscheme";
121 if (name_i.compare(
"BBs") == 0 &&
FlagCsi)
return make_vector<std::string>() <<
"FBsSqrtBBs1" <<
"FBsSqrtBBs2" <<
"FBsSqrtBBs3" <<
"FBsSqrtBBs4" <<
"FBsSqrtBBs5" <<
"BBsscale" <<
"BBsscheme";
122 if (name_i.compare(
"BBd") == 0 && !
FlagCsi)
return make_vector<std::string>() <<
"BBsoBBd" <<
"BBd2" <<
"BBd3" <<
"BBd4" <<
"BBd5" <<
"BBdscale" <<
"BBdscheme";
123 if (name_i.compare(
"BBd") == 0 &&
FlagCsi)
return make_vector<std::string>() <<
"csi" <<
"FBdSqrtBBd2" <<
"FBdSqrtBBd3" <<
"FBdSqrtBBd4" <<
"FBdSqrtBBd5" <<
"BBdscale" <<
"BBdscheme";
124 if (name_i.compare(
"BBs_subleading") == 0)
return make_vector<std::string>() <<
"Rs2" <<
"Rs3" <<
"BBsscale" <<
"BBsscheme";
125 if (name_i.compare(
"BBd_subleading") == 0)
return make_vector<std::string>() <<
"Rd2" <<
"Rd3" <<
"BBdscale" <<
"BBdscheme";
126 if (name_i.compare(
"BK") == 0)
return make_vector<std::string>() <<
"BK1" <<
"BK2" <<
"BK3" <<
"BK4" <<
"BK5" <<
"BKscale" <<
"BKscheme";
127 if (name_i.compare(
"BD") == 0)
return make_vector<std::string>() <<
"BD1" <<
"BD2" <<
"BD3" <<
"BD4" <<
"BD5" <<
"BDscale" <<
"BDscheme";
128 if (name_i.compare(
"BKd1") == 0)
return make_vector<std::string>() <<
"BK(1/2)1" <<
"BK(1/2)2" <<
"BK(1/2)3" <<
"BK(1/2)4" <<
"BK(1/2)5"
129 <<
"BK(1/2)6" <<
"BK(1/2)7" <<
"BK(1/2)8" <<
"BK(1/2)9" <<
"BK(1/2)10" <<
"BKd1_scale" <<
"BKd1_scheme";
130 if (name_i.compare(
"BKd3") == 0)
return make_vector<std::string>() <<
"BK(3/2)1" <<
"BK(3/2)2" <<
"BK(3/2)3" <<
"BK(3/2)4" <<
"BK(3/2)5"
131 <<
"BK(3/2)6" <<
"BK(3/2)7" <<
"BK(3/2)8" <<
"BK(3/2)9" <<
"BK(3/2)10" <<
"BKd3_scale" <<
"BKd3_scheme";
132 else throw std::runtime_error(name_i +
" is not implemented in BParameter class");
138 if (
name.compare(
"BBs") == 0) {
140 if (name_i.compare(
"BBs1") == 0) {
143 }
else if (name_i.compare(
"BBs2") == 0) {
146 }
else if (name_i.compare(
"BBs3") == 0) {
149 }
else if (name_i.compare(
"BBs4") == 0) {
152 }
else if (name_i.compare(
"BBs5") == 0) {
157 if (name_i.compare(
"FBsSqrtBBs1") == 0) {
160 }
else if (name_i.compare(
"FBsSqrtBBs2") == 0) {
163 }
else if (name_i.compare(
"FBsSqrtBBs3") == 0) {
166 }
else if (name_i.compare(
"FBsSqrtBBs4") == 0) {
169 }
else if (name_i.compare(
"FBsSqrtBBs5") == 0) {
174 if (name_i.compare(
"BBsscale") == 0) {
177 }
else if (name_i.compare(
"BBsscheme") == 0) {
182 if (
name.compare(
"BBd") == 0) {
184 if (name_i.compare(
"BBsoBBd") == 0) {
187 }
else if (name_i.compare(
"BBd2") == 0) {
190 }
else if (name_i.compare(
"BBd3") == 0) {
193 }
else if (name_i.compare(
"BBd4") == 0) {
196 }
else if (name_i.compare(
"BBd5") == 0) {
201 if (name_i.compare(
"csi") == 0) {
204 }
else if (name_i.compare(
"FBdSqrtBBd2") == 0) {
207 }
else if (name_i.compare(
"FBdSqrtBBd3") == 0) {
210 }
else if (name_i.compare(
"FBdSqrtBBd4") == 0) {
213 }
else if (name_i.compare(
"FBdSqrtBBd5") == 0) {
218 if (name_i.compare(
"BBdscale") == 0) {
221 }
else if (name_i.compare(
"BBdscheme") == 0) {
227 if (
name.compare(
"BBs_subleading") == 0) {
228 if (name_i.compare(
"Rs2") == 0) {
231 }
else if (name_i.compare(
"Rs3") == 0) {
236 if (
name.compare(
"BBd_subleading") == 0) {
237 if (name_i.compare(
"Rd2") == 0) {
240 }
else if (name_i.compare(
"Rd3") == 0) {
246 if (
name.compare(
"BK") == 0) {
247 if (name_i.compare(
"BK1") == 0) {
250 }
else if (name_i.compare(
"BK2") == 0) {
253 }
else if (name_i.compare(
"BK3") == 0) {
256 }
else if (name_i.compare(
"BK4") == 0) {
259 }
else if (name_i.compare(
"BK5") == 0) {
262 }
else if (name_i.compare(
"BKscale") == 0) {
265 }
else if (name_i.compare(
"BKscheme") == 0) {
270 if (
name.compare(
"BD") == 0) {
271 if (name_i.compare(
"BD1") == 0) {
274 }
else if (name_i.compare(
"BD2") == 0) {
277 }
else if (name_i.compare(
"BD3") == 0) {
280 }
else if (name_i.compare(
"BD4") == 0) {
283 }
else if (name_i.compare(
"BD5") == 0) {
286 }
else if (name_i.compare(
"BDscale") == 0) {
289 }
else if (name_i.compare(
"BDscheme") == 0) {
295 if (
name.compare(
"BKd1") == 0) {
296 if (name_i.compare(
"BK(1/2)1") == 0) {
299 }
else if (name_i.compare(
"BK(1/2)2") == 0) {
302 }
else if (name_i.compare(
"BK(1/2)3") == 0) {
305 }
else if (name_i.compare(
"BK(1/2)4") == 0) {
308 }
else if (name_i.compare(
"BK(1/2)5") == 0) {
311 }
else if (name_i.compare(
"BK(1/2)6") == 0) {
314 }
else if (name_i.compare(
"BK(1/2)7") == 0) {
317 }
else if (name_i.compare(
"BK(1/2)8") == 0) {
320 }
else if (name_i.compare(
"BK(1/2)9") == 0) {
323 }
else if (name_i.compare(
"BK(1/2)10") == 0) {
326 }
else if (name_i.compare(
"BKd1_scale") == 0) {
329 }
else if (name_i.compare(
"BKd1_scheme") == 0) {
335 if (
name.compare(
"BKd3") == 0) {
336 if (name_i.compare(
"BK(3/2)1") == 0) {
339 }
else if (name_i.compare(
"BK(3/2)2") == 0) {
342 }
else if (name_i.compare(
"BK(3/2)3") == 0) {
345 }
else if (name_i.compare(
"BK(3/2)4") == 0) {
348 }
else if (name_i.compare(
"BK(3/2)5") == 0) {
351 }
else if (name_i.compare(
"BK(3/2)6") == 0) {
354 }
else if (name_i.compare(
"BK(3/2)7") == 0) {
357 }
else if (name_i.compare(
"BK(3/2)8") == 0) {
360 }
else if (name_i.compare(
"BK(3/2)9") == 0) {
363 }
else if (name_i.compare(
"BK(3/2)10") == 0) {
366 }
else if (name_i.compare(
"BKd3_scale") == 0) {
369 }
else if (name_i.compare(
"BKd3_scheme") == 0) {
gslpp::vector< double > bpars
A vector of bag parameters.
double FBsSqrtBBs5
The product of decay constant times square root of the fifth bag parameter for .
void ModelParameterMapInsert(std::map< std::string, std::reference_wrapper< const double > > &ModelParamMap)
A method to pass the list of parameters as observables.
void setScheme(schemes scheme)
A set method for the scheme of the bag parameters.
std::string name
The meson for which the bag parameters are defined.
double FBdSqrtBBd4
The product of decay constant times square root of the fourth bag parameter for .
bool setParameter(std::string name_i, double value)
A set method for setting the parameters.
double FBsSqrtBBs1
The product of decay constant times square root of the first bag parameter for .
double FBsSqrtBBs2
The product of decay constant times square root of the second bag parameter for .
void setMu(double mu)
A set method for the scale of the bag parameters.
double FBdSqrtBBd5
The product of decay constant times square root of the fifth bag parameter for .
double FBsSqrtBBs3
The product of decay constant times square root of the third bag parameter for .
double FBsSqrtBBs4
The product of decay constant times square root of the fourth bag parameter for .
void setBpars(gslpp::vector< double > bpars)
A set method for a vector of the bag parameters.
double FBdSqrtBBd2
The product of decay constant times square root of the second bag parameter for .
bool FlagCsi
A flag to define, if true, a set of model parameters for the product of decay constant times square r...
virtual ~BParameter()
The default destructor.
double FBdSqrtBBd3
The product of decay constant times square root of the third bag parameter for .
BParameter(int n)
Constructor.
double csi
The ratio of decay constant times square root of the first bag parameters for and .
double mu
The scale at which the bag parameters are defined.
std::vector< std::string > parameterList(std::string name_i)
A method to get the parameters list.
double BBsoBBd
The ratio of the first bag parameters for and .
schemes
An enum type for regularization schemes.