39 std::chrono::steady_clock::time_point
t0;
42 auto t1 = std::chrono::steady_clock::now();
43 const double ms = std::chrono::duration<double, std::milli>(t1 -
t0).count();
44 std::cerr <<
"[TIMER] " <<
name <<
" : " << ms <<
" ms\n";
53 std::string experiment;
61std::string csv_escape(
const std::string& s) {
62 std::string out =
"\"";
64 if (c ==
'"') out +=
"\"\"";
71void write_num(std::ofstream& out,
double x) {
72 if (std::isfinite(x)) out << std::setprecision(17) << x;
76bool same_bin(
double a,
double b) {
77 const double scale = std::max({1.0, std::abs(a), std::abs(b)});
78 return std::abs(a - b) <= 1e-10 * scale;
86double find_value(
const std::map<
ObservableId, std::vector<ObservableValue>>& all,
88 const auto id = make_id(r);
89 auto it = all.find(
id.s);
90 if (it == all.end()) {
91 throw std::runtime_error(
"observable absente de compute_all(): " + r.hyp_enum);
94 for (
const auto& v : it->second) {
96 if (!
v.bin.has_value())
return v.value;
97 }
else if (
v.bin.has_value()
98 && same_bin(
v.bin->first, r.q2min)
99 && same_bin(
v.bin->second, r.q2max)) {
104 throw std::runtime_error(
"bin absent pour " + r.hyp_enum
105 +
" [" + std::to_string(r.q2min)
106 +
", " + std::to_string(r.q2max) +
"]");
109void add_row(std::vector<Row>& rows,
111 const std::string& si_name,
112 const std::string& experiment,
114 const std::string& hyp_enum,
115 double q2min = std::numeric_limits<double>::quiet_NaN(),
116 double q2max = std::numeric_limits<double>::quiet_NaN()) {
117 const bool binned = std::isfinite(q2min) && std::isfinite(q2max);
118 rows.push_back(Row{idx, si_name, experiment, obs, hyp_enum, binned, q2min, q2max});
121std::vector<Row> make_rows() {
123 std::vector<Row> rows;
126 add_row(rows, 1,
"AI_BKstargamma",
"DEFAULT", O::IA_B__KSTAR_GAMMA,
"IA_B__KSTAR_GAMMA");
127 add_row(rows, 2,
"BR_BXsgamma",
"DEFAULT", O::BR_B_XS_GAMMA,
"BR_B_XS_GAMMA");
128 add_row(rows, 3,
"BRuntag_Bsmumu",
"DEFAULT", O::BR_BS_MUMU_UNTAG,
"BR_BS_MUMU_UNTAG");
129 add_row(rows, 4,
"BRuntag_Bsee",
"DEFAULT", O::BR_BS_EE_UNTAG,
"BR_BS_EE_UNTAG");
130 add_row(rows, 5,
"BR_BXsmumu_1_6",
"DEFAULT", O::BR_B__Xs_mu_mu,
"BR_B__Xs_mu_mu", 1, 6);
131 add_row(rows, 6,
"BR_BXsmumu_14.2_22",
"DEFAULT", O::BR_B__Xs_mu_mu,
"BR_B__Xs_mu_mu", 14.2, 22);
132 add_row(rows, 7,
"BR_BXsee_1_6",
"DEFAULT", O::BR_B__Xs_e_e,
"BR_B__Xs_e_e", 1, 6);
133 add_row(rows, 8,
"BR_BXsee_14.2_22",
"DEFAULT", O::BR_B__Xs_e_e,
"BR_B__Xs_e_e", 14.2, 22);
134 add_row(rows, 9,
"BR_B0Kstar0gamma",
"DEFAULT", O::BR_B0__KSTAR0_GAMMA,
"BR_B0__KSTAR0_GAMMA");
135 add_row(rows, 10,
"BR_BKstargamma",
"DEFAULT", O::BR_B__KSTAR_GAMMA,
"BR_B__KSTAR_GAMMA");
136 add_row(rows, 11,
"dGamma/dq2_BKstarmumu_1.1_6",
"DEFAULT", O::DBR_DQ2_B__KSTAR_MU_MU,
"DBR_DQ2_B__KSTAR_MU_MU", 1.1, 6);
137 add_row(rows, 12,
"dGamma/dq2_BKstarmumu_15_19",
"DEFAULT", O::DBR_DQ2_B__KSTAR_MU_MU,
"DBR_DQ2_B__KSTAR_MU_MU", 15, 19);
138 add_row(rows, 13,
"R-1_B0Kstar0ll_0.1_1.1",
"DEFAULT", O::R_1_B0__KSTAR0_L_L,
"R_1_B0__KSTAR0_L_L", 0.1, 1.1);
139 add_row(rows, 14,
"R-1_B0Kstar0ll_1.1_6",
"DEFAULT", O::R_1_B0__KSTAR0_L_L,
"R_1_B0__KSTAR0_L_L", 1.1, 6);
140 add_row(rows, 15,
"R-1_B0Kstar0ll_0.045_1.1_Belle",
"Belle", O::R_1_B0__KSTAR0_L_L,
"R_1_B0__KSTAR0_L_L", 0.045, 1.1);
141 add_row(rows, 16,
"R-1_B0Kstar0ll_1.1_6_Belle",
"Belle", O::R_1_B0__KSTAR0_L_L,
"R_1_B0__KSTAR0_L_L", 1.1, 6);
142 add_row(rows, 17,
"R-1_B0Kstar0ll_15_19_Belle",
"Belle", O::R_1_B0__KSTAR0_L_L,
"R_1_B0__KSTAR0_L_L", 15, 19);
143 add_row(rows, 18,
"dGamma/dq2_B0K0mumu_1.1_6",
"DEFAULT", O::DBR_DQ2_B0__K0_MU_MU,
"DBR_DQ2_B0__K0_MU_MU", 1.1, 6);
144 add_row(rows, 19,
"dGamma/dq2_B0K0mumu_15_22",
"DEFAULT", O::DBR_DQ2_B0__K0_MU_MU,
"DBR_DQ2_B0__K0_MU_MU", 15, 22);
145 add_row(rows, 20,
"dGamma/dq2_BKmumu_1.1_6",
"DEFAULT", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 1.1, 6);
146 add_row(rows, 21,
"FH_BKmumu_1.1_6",
"DEFAULT", O::F_H_B__K_MU_MU,
"F_H_B__K_MU_MU", 1.1, 6);
147 add_row(rows, 22,
"dGamma/dq2_BKmumu_15_22",
"DEFAULT", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 15, 22);
148 add_row(rows, 23,
"FH_BKmumu_15_22",
"DEFAULT", O::F_H_B__K_MU_MU,
"F_H_B__K_MU_MU", 15, 22);
149 add_row(rows, 24,
"R-1_BKll_0.1_1.1",
"DEFAULT", O::R_1_B__K_L_L,
"R_1_B__K_L_L", 0.1, 1.1);
150 add_row(rows, 25,
"R-1_BKll_1.1_6",
"DEFAULT", O::R_1_B__K_L_L,
"R_1_B__K_L_L", 1.1, 6);
151 add_row(rows, 26,
"dGamma/dq2_Bsphimumu_0.1_0.98",
"DEFAULT", O::DBR_DQ2_BS__PHI_MU_MU,
"DBR_DQ2_BS__PHI_MU_MU", 0.1, 0.98);
152 add_row(rows, 27,
"FL_Bsphimumu_0.1_0.98",
"DEFAULT", O::F_L_BS_PHI_MU_MU,
"F_L_BS_PHI_MU_MU", 0.1, 0.98);
153 add_row(rows, 28,
"S3_Bsphimumu_0.1_0.98",
"DEFAULT", O::S_3_BS_PHI_MU_MU,
"S_3_BS_PHI_MU_MU", 0.1, 0.98);
154 add_row(rows, 29,
"S4_Bsphimumu_0.1_0.98",
"DEFAULT", O::S_4_BS_PHI_MU_MU,
"S_4_BS_PHI_MU_MU", 0.1, 0.98);
155 add_row(rows, 30,
"S7_Bsphimumu_0.1_0.98",
"DEFAULT", O::S_7_BS_PHI_MU_MU,
"S_7_BS_PHI_MU_MU", 0.1, 0.98);
156 add_row(rows, 31,
"dGamma/dq2_Bsphimumu_1.1_2.5",
"DEFAULT", O::DBR_DQ2_BS__PHI_MU_MU,
"DBR_DQ2_BS__PHI_MU_MU", 1.1, 2.5);
157 add_row(rows, 32,
"dGamma/dq2_Bsphimumu_2.5_4",
"DEFAULT", O::DBR_DQ2_BS__PHI_MU_MU,
"DBR_DQ2_BS__PHI_MU_MU", 2.5, 4);
158 add_row(rows, 33,
"FL_Bsphimumu_1.1_4",
"DEFAULT", O::F_L_BS_PHI_MU_MU,
"F_L_BS_PHI_MU_MU", 1.1, 4);
159 add_row(rows, 34,
"S3_Bsphimumu_1.1_4",
"DEFAULT", O::S_3_BS_PHI_MU_MU,
"S_3_BS_PHI_MU_MU", 1.1, 4);
160 add_row(rows, 35,
"S4_Bsphimumu_1.1_4",
"DEFAULT", O::S_4_BS_PHI_MU_MU,
"S_4_BS_PHI_MU_MU", 1.1, 4);
161 add_row(rows, 36,
"S7_Bsphimumu_1.1_4",
"DEFAULT", O::S_7_BS_PHI_MU_MU,
"S_7_BS_PHI_MU_MU", 1.1, 4);
162 add_row(rows, 37,
"dGamma/dq2_Bsphimumu_4_6",
"DEFAULT", O::DBR_DQ2_BS__PHI_MU_MU,
"DBR_DQ2_BS__PHI_MU_MU", 4, 6);
163 add_row(rows, 38,
"FL_Bsphimumu_4_6",
"DEFAULT", O::F_L_BS_PHI_MU_MU,
"F_L_BS_PHI_MU_MU", 4, 6);
164 add_row(rows, 39,
"S3_Bsphimumu_4_6",
"DEFAULT", O::S_3_BS_PHI_MU_MU,
"S_3_BS_PHI_MU_MU", 4, 6);
165 add_row(rows, 40,
"S4_Bsphimumu_4_6",
"DEFAULT", O::S_4_BS_PHI_MU_MU,
"S_4_BS_PHI_MU_MU", 4, 6);
166 add_row(rows, 41,
"S7_Bsphimumu_4_6",
"DEFAULT", O::S_7_BS_PHI_MU_MU,
"S_7_BS_PHI_MU_MU", 4, 6);
167 add_row(rows, 42,
"dGamma/dq2_Bsphimumu_15_19",
"DEFAULT", O::DBR_DQ2_BS__PHI_MU_MU,
"DBR_DQ2_BS__PHI_MU_MU", 15, 19);
168 add_row(rows, 43,
"FL_Bsphimumu_15_18.9",
"DEFAULT", O::F_L_BS_PHI_MU_MU,
"F_L_BS_PHI_MU_MU", 15, 18.9);
169 add_row(rows, 44,
"S3_Bsphimumu_15_18.9",
"DEFAULT", O::S_3_BS_PHI_MU_MU,
"S_3_BS_PHI_MU_MU", 15, 18.9);
170 add_row(rows, 45,
"S4_Bsphimumu_15_18.9",
"DEFAULT", O::S_4_BS_PHI_MU_MU,
"S_4_BS_PHI_MU_MU", 15, 18.9);
171 add_row(rows, 46,
"S7_Bsphimumu_15_18.9",
"DEFAULT", O::S_7_BS_PHI_MU_MU,
"S_7_BS_PHI_MU_MU", 15, 18.9);
172 add_row(rows, 47,
"dGamma/dq2_LambdabLambdamumu_15_20",
"DEFAULT", O::DBR_DQ2_LAMBDA_B__LAMBDA_MU_MU,
"DBR_DQ2_LAMBDA_B__LAMBDA_MU_MU", 15, 20);
173 add_row(rows, 48,
"AlFB_LambdabLambdamumu_15_20",
"DEFAULT", O::A_FB_L_LAMBDA_B__LAMBDA_MU_MU,
"A_FB_L_LAMBDA_B__LAMBDA_MU_MU", 15, 20);
174 add_row(rows, 49,
"AhFB_LambdabLambdamumu_15_20",
"DEFAULT", O::A_FB_H_LAMBDA_B__LAMBDA_MU_MU,
"A_FB_H_LAMBDA_B__LAMBDA_MU_MU", 15, 20);
175 add_row(rows, 50,
"AlhFB_LambdabLambdamumu_15_20",
"DEFAULT", O::A_FB_LH_LAMBDA_B__LAMBDA_MU_MU,
"A_FB_LH_LAMBDA_B__LAMBDA_MU_MU", 15, 20);
176 add_row(rows, 51,
"FL_LambdabLambdamumu_15_20",
"DEFAULT", O::F_L_LAMBDA_B__LAMBDA_MU_MU,
"F_L_LAMBDA_B__LAMBDA_MU_MU", 15, 20);
177 add_row(rows, 52,
"FL_BKstarmumu_0.1_0.98",
"DEFAULT", O::F_L_B__KSTAR_MU_MU,
"F_L_B__KSTAR_MU_MU", 0.1, 0.98);
178 add_row(rows, 53,
"AFB_BKstarmumu_0.1_0.98",
"DEFAULT", O::A_FB_B__KSTAR_MU_MU,
"A_FB_B__KSTAR_MU_MU", 0.1, 0.98);
179 add_row(rows, 54,
"S3_BKstarmumu_0.1_0.98",
"DEFAULT", O::S_3_B__KSTAR_MU_MU,
"S_3_B__KSTAR_MU_MU", 0.1, 0.98);
180 add_row(rows, 55,
"S4_BKstarmumu_0.1_0.98",
"DEFAULT", O::S_4_B__KSTAR_MU_MU,
"S_4_B__KSTAR_MU_MU", 0.1, 0.98);
181 add_row(rows, 56,
"S5_BKstarmumu_0.1_0.98",
"DEFAULT", O::S_5_B__KSTAR_MU_MU,
"S_5_B__KSTAR_MU_MU", 0.1, 0.98);
182 add_row(rows, 57,
"S7_BKstarmumu_0.1_0.98",
"DEFAULT", O::S_7_B__KSTAR_MU_MU,
"S_7_B__KSTAR_MU_MU", 0.1, 0.98);
183 add_row(rows, 58,
"S8_BKstarmumu_0.1_0.98",
"DEFAULT", O::S_8_B__KSTAR_MU_MU,
"S_8_B__KSTAR_MU_MU", 0.1, 0.98);
184 add_row(rows, 59,
"S9_BKstarmumu_0.1_0.98",
"DEFAULT", O::S_9_B__KSTAR_MU_MU,
"S_9_B__KSTAR_MU_MU", 0.1, 0.98);
185 add_row(rows, 60,
"FL_BKstarmumu_1.1_2.5",
"DEFAULT", O::F_L_B__KSTAR_MU_MU,
"F_L_B__KSTAR_MU_MU", 1.1, 2.5);
186 add_row(rows, 61,
"AFB_BKstarmumu_1.1_2.5",
"DEFAULT", O::A_FB_B__KSTAR_MU_MU,
"A_FB_B__KSTAR_MU_MU", 1.1, 2.5);
187 add_row(rows, 62,
"S3_BKstarmumu_1.1_2.5",
"DEFAULT", O::S_3_B__KSTAR_MU_MU,
"S_3_B__KSTAR_MU_MU", 1.1, 2.5);
188 add_row(rows, 63,
"S4_BKstarmumu_1.1_2.5",
"DEFAULT", O::S_4_B__KSTAR_MU_MU,
"S_4_B__KSTAR_MU_MU", 1.1, 2.5);
189 add_row(rows, 64,
"S5_BKstarmumu_1.1_2.5",
"DEFAULT", O::S_5_B__KSTAR_MU_MU,
"S_5_B__KSTAR_MU_MU", 1.1, 2.5);
190 add_row(rows, 65,
"S7_BKstarmumu_1.1_2.5",
"DEFAULT", O::S_7_B__KSTAR_MU_MU,
"S_7_B__KSTAR_MU_MU", 1.1, 2.5);
191 add_row(rows, 66,
"S8_BKstarmumu_1.1_2.5",
"DEFAULT", O::S_8_B__KSTAR_MU_MU,
"S_8_B__KSTAR_MU_MU", 1.1, 2.5);
192 add_row(rows, 67,
"S9_BKstarmumu_1.1_2.5",
"DEFAULT", O::S_9_B__KSTAR_MU_MU,
"S_9_B__KSTAR_MU_MU", 1.1, 2.5);
193 add_row(rows, 68,
"FL_BKstarmumu_2.5_4",
"DEFAULT", O::F_L_B__KSTAR_MU_MU,
"F_L_B__KSTAR_MU_MU", 2.5, 4);
194 add_row(rows, 69,
"AFB_BKstarmumu_2.5_4",
"DEFAULT", O::A_FB_B__KSTAR_MU_MU,
"A_FB_B__KSTAR_MU_MU", 2.5, 4);
195 add_row(rows, 70,
"S3_BKstarmumu_2.5_4",
"DEFAULT", O::S_3_B__KSTAR_MU_MU,
"S_3_B__KSTAR_MU_MU", 2.5, 4);
196 add_row(rows, 71,
"S4_BKstarmumu_2.5_4",
"DEFAULT", O::S_4_B__KSTAR_MU_MU,
"S_4_B__KSTAR_MU_MU", 2.5, 4);
197 add_row(rows, 72,
"S5_BKstarmumu_2.5_4",
"DEFAULT", O::S_5_B__KSTAR_MU_MU,
"S_5_B__KSTAR_MU_MU", 2.5, 4);
198 add_row(rows, 73,
"S7_BKstarmumu_2.5_4",
"DEFAULT", O::S_7_B__KSTAR_MU_MU,
"S_7_B__KSTAR_MU_MU", 2.5, 4);
199 add_row(rows, 74,
"S8_BKstarmumu_2.5_4",
"DEFAULT", O::S_8_B__KSTAR_MU_MU,
"S_8_B__KSTAR_MU_MU", 2.5, 4);
200 add_row(rows, 75,
"S9_BKstarmumu_2.5_4",
"DEFAULT", O::S_9_B__KSTAR_MU_MU,
"S_9_B__KSTAR_MU_MU", 2.5, 4);
201 add_row(rows, 76,
"FL_BKstarmumu_4_6",
"DEFAULT", O::F_L_B__KSTAR_MU_MU,
"F_L_B__KSTAR_MU_MU", 4, 6);
202 add_row(rows, 77,
"AFB_BKstarmumu_4_6",
"DEFAULT", O::A_FB_B__KSTAR_MU_MU,
"A_FB_B__KSTAR_MU_MU", 4, 6);
203 add_row(rows, 78,
"S3_BKstarmumu_4_6",
"DEFAULT", O::S_3_B__KSTAR_MU_MU,
"S_3_B__KSTAR_MU_MU", 4, 6);
204 add_row(rows, 79,
"S4_BKstarmumu_4_6",
"DEFAULT", O::S_4_B__KSTAR_MU_MU,
"S_4_B__KSTAR_MU_MU", 4, 6);
205 add_row(rows, 80,
"S5_BKstarmumu_4_6",
"DEFAULT", O::S_5_B__KSTAR_MU_MU,
"S_5_B__KSTAR_MU_MU", 4, 6);
206 add_row(rows, 81,
"S7_BKstarmumu_4_6",
"DEFAULT", O::S_7_B__KSTAR_MU_MU,
"S_7_B__KSTAR_MU_MU", 4, 6);
207 add_row(rows, 82,
"S8_BKstarmumu_4_6",
"DEFAULT", O::S_8_B__KSTAR_MU_MU,
"S_8_B__KSTAR_MU_MU", 4, 6);
208 add_row(rows, 83,
"S9_BKstarmumu_4_6",
"DEFAULT", O::S_9_B__KSTAR_MU_MU,
"S_9_B__KSTAR_MU_MU", 4, 6);
209 add_row(rows, 84,
"FL_BKstarmumu_15_17",
"DEFAULT", O::F_L_B__KSTAR_MU_MU,
"F_L_B__KSTAR_MU_MU", 15, 17);
210 add_row(rows, 85,
"AFB_BKstarmumu_15_17",
"DEFAULT", O::A_FB_B__KSTAR_MU_MU,
"A_FB_B__KSTAR_MU_MU", 15, 17);
211 add_row(rows, 86,
"S3_BKstarmumu_15_17",
"DEFAULT", O::S_3_B__KSTAR_MU_MU,
"S_3_B__KSTAR_MU_MU", 15, 17);
212 add_row(rows, 87,
"S4_BKstarmumu_15_17",
"DEFAULT", O::S_4_B__KSTAR_MU_MU,
"S_4_B__KSTAR_MU_MU", 15, 17);
213 add_row(rows, 88,
"S5_BKstarmumu_15_17",
"DEFAULT", O::S_5_B__KSTAR_MU_MU,
"S_5_B__KSTAR_MU_MU", 15, 17);
214 add_row(rows, 89,
"S7_BKstarmumu_15_17",
"DEFAULT", O::S_7_B__KSTAR_MU_MU,
"S_7_B__KSTAR_MU_MU", 15, 17);
215 add_row(rows, 90,
"S8_BKstarmumu_15_17",
"DEFAULT", O::S_8_B__KSTAR_MU_MU,
"S_8_B__KSTAR_MU_MU", 15, 17);
216 add_row(rows, 91,
"S9_BKstarmumu_15_17",
"DEFAULT", O::S_9_B__KSTAR_MU_MU,
"S_9_B__KSTAR_MU_MU", 15, 17);
217 add_row(rows, 92,
"FL_BKstarmumu_17_19",
"DEFAULT", O::F_L_B__KSTAR_MU_MU,
"F_L_B__KSTAR_MU_MU", 17, 19);
218 add_row(rows, 93,
"AFB_BKstarmumu_17_19",
"DEFAULT", O::A_FB_B__KSTAR_MU_MU,
"A_FB_B__KSTAR_MU_MU", 17, 19);
219 add_row(rows, 94,
"S3_BKstarmumu_17_19",
"DEFAULT", O::S_3_B__KSTAR_MU_MU,
"S_3_B__KSTAR_MU_MU", 17, 19);
220 add_row(rows, 95,
"S4_BKstarmumu_17_19",
"DEFAULT", O::S_4_B__KSTAR_MU_MU,
"S_4_B__KSTAR_MU_MU", 17, 19);
221 add_row(rows, 96,
"S5_BKstarmumu_17_19",
"DEFAULT", O::S_5_B__KSTAR_MU_MU,
"S_5_B__KSTAR_MU_MU", 17, 19);
222 add_row(rows, 97,
"S7_BKstarmumu_17_19",
"DEFAULT", O::S_7_B__KSTAR_MU_MU,
"S_7_B__KSTAR_MU_MU", 17, 19);
223 add_row(rows, 98,
"S8_BKstarmumu_17_19",
"DEFAULT", O::S_8_B__KSTAR_MU_MU,
"S_8_B__KSTAR_MU_MU", 17, 19);
224 add_row(rows, 99,
"S9_BKstarmumu_17_19",
"DEFAULT", O::S_9_B__KSTAR_MU_MU,
"S_9_B__KSTAR_MU_MU", 17, 19);
225 add_row(rows, 100,
"R-1_BKstarll_0.045_6",
"DEFAULT", O::R_1_B__KSTAR_L_L,
"R_1_B__KSTAR_L_L", 0.045, 6);
226 add_row(rows, 101,
"R-1_B0K0ll_1.1_6",
"DEFAULT", O::R_1_B0__K0_L_L,
"R_1_B0__K0_L_L", 1.1, 6);
227 add_row(rows, 102,
"R-1_BKll_1_6_Belle",
"Belle", O::R_1_B__K_L_L,
"R_1_B__K_L_L", 1, 6);
228 add_row(rows, 103,
"FH_BKmumu_1_6_CMS",
"CMS", O::F_H_B__K_MU_MU,
"F_H_B__K_MU_MU", 1, 6);
229 add_row(rows, 104,
"dGamma/dq2_B0Kstar0ee_0.0009_1",
"DEFAULT", O::DBR_DQ2_B0__KSTAR0_E_E,
"DBR_DQ2_B0__KSTAR0_E_E", 0.0009, 1);
230 add_row(rows, 105,
"FL_B0Kstar0ee_0.0008_0.257",
"DEFAULT", O::F_L_B0__KSTAR0_E_E,
"F_L_B0__KSTAR0_E_E", 0.0008, 0.257);
231 add_row(rows, 106,
"ATRe_B0Kstar0ee_0.0008_0.257",
"DEFAULT", O::A_T_RE_B0__KSTAR0_E_E,
"A_T_RE_B0__KSTAR0_E_E", 0.0008, 0.257);
232 add_row(rows, 107,
"AT2_B0Kstar0ee_0.0008_0.257",
"DEFAULT", O::A_T_2_B0__KSTAR0_E_E,
"A_T_2_B0__KSTAR0_E_E", 0.0008, 0.257);
233 add_row(rows, 108,
"dGamma/dq2_BKmumu_0.1_0.98_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 0.1, 0.98);
234 add_row(rows, 109,
"dGamma/dq2_BKmumu_1.1_2_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 1.1, 2);
235 add_row(rows, 110,
"dGamma/dq2_BKmumu_2_3_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 2, 3);
236 add_row(rows, 111,
"dGamma/dq2_BKmumu_3_4_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 3, 4);
237 add_row(rows, 112,
"dGamma/dq2_BKmumu_4_5_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 4, 5);
238 add_row(rows, 113,
"dGamma/dq2_BKmumu_5_6_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 5, 6);
239 add_row(rows, 114,
"dGamma/dq2_BKmumu_14.82_16_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 14.82, 16);
240 add_row(rows, 115,
"dGamma/dq2_BKmumu_16_17_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 16, 17);
241 add_row(rows, 116,
"dGamma/dq2_BKmumu_17_18_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 17, 18);
242 add_row(rows, 117,
"dGamma/dq2_BKmumu_18_19.24_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 18, 19.24);
243 add_row(rows, 118,
"dGamma/dq2_BKmumu_19.24_22.9_CMS",
"CMS", O::DBR_DQ2_B__K_MU_MU,
"DBR_DQ2_B__K_MU_MU", 19.24, 22.9);
244 add_row(rows, 119,
"R-1_BKll_1.1_6_CMS",
"CMS", O::R_1_B__K_L_L,
"R_1_B__K_L_L", 1.1, 6);
245 add_row(rows, 120,
"FL_B0Kstar0mumu_1.1_2_CMS",
"CMS", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 1.1, 2);
246 add_row(rows, 121,
"P1_B0Kstar0mumu_1.1_2_CMS",
"CMS", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 1.1, 2);
247 add_row(rows, 122,
"P2_B0Kstar0mumu_1.1_2_CMS",
"CMS", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 1.1, 2);
248 add_row(rows, 123,
"P3_B0Kstar0mumu_1.1_2_CMS",
"CMS", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 1.1, 2);
249 add_row(rows, 124,
"P4prime_B0Kstar0mumu_1.1_2_CMS",
"CMS", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 1.1, 2);
250 add_row(rows, 125,
"P5prime_B0Kstar0mumu_1.1_2_CMS",
"CMS", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 1.1, 2);
251 add_row(rows, 126,
"P6prime_B0Kstar0mumu_1.1_2_CMS",
"CMS", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 1.1, 2);
252 add_row(rows, 127,
"P8prime_B0Kstar0mumu_1.1_2_CMS",
"CMS", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 1.1, 2);
253 add_row(rows, 128,
"FL_B0Kstar0mumu_2_4.3_CMS",
"CMS", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 2, 4.3);
254 add_row(rows, 129,
"P1_B0Kstar0mumu_2_4.3_CMS",
"CMS", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 2, 4.3);
255 add_row(rows, 130,
"P2_B0Kstar0mumu_2_4.3_CMS",
"CMS", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 2, 4.3);
256 add_row(rows, 131,
"P3_B0Kstar0mumu_2_4.3_CMS",
"CMS", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 2, 4.3);
257 add_row(rows, 132,
"P4prime_B0Kstar0mumu_2_4.3_CMS",
"CMS", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 2, 4.3);
258 add_row(rows, 133,
"P5prime_B0Kstar0mumu_2_4.3_CMS",
"CMS", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 2, 4.3);
259 add_row(rows, 134,
"P6prime_B0Kstar0mumu_2_4.3_CMS",
"CMS", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 2, 4.3);
260 add_row(rows, 135,
"P8prime_B0Kstar0mumu_2_4.3_CMS",
"CMS", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 2, 4.3);
261 add_row(rows, 136,
"FL_B0Kstar0mumu_4.3_6_CMS",
"CMS", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 4.3, 6);
262 add_row(rows, 137,
"P1_B0Kstar0mumu_4.3_6_CMS",
"CMS", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 4.3, 6);
263 add_row(rows, 138,
"P2_B0Kstar0mumu_4.3_6_CMS",
"CMS", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 4.3, 6);
264 add_row(rows, 139,
"P3_B0Kstar0mumu_4.3_6_CMS",
"CMS", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 4.3, 6);
265 add_row(rows, 140,
"P4prime_B0Kstar0mumu_4.3_6_CMS",
"CMS", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 4.3, 6);
266 add_row(rows, 141,
"P5prime_B0Kstar0mumu_4.3_6_CMS",
"CMS", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 4.3, 6);
267 add_row(rows, 142,
"P6prime_B0Kstar0mumu_4.3_6_CMS",
"CMS", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 4.3, 6);
268 add_row(rows, 143,
"P8prime_B0Kstar0mumu_4.3_6_CMS",
"CMS", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 4.3, 6);
269 add_row(rows, 144,
"FL_B0Kstar0mumu_14.18_16_CMS",
"CMS", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 14.18, 16);
270 add_row(rows, 145,
"P1_B0Kstar0mumu_14.18_16_CMS",
"CMS", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 14.18, 16);
271 add_row(rows, 146,
"P2_B0Kstar0mumu_14.18_16_CMS",
"CMS", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 14.18, 16);
272 add_row(rows, 147,
"P3_B0Kstar0mumu_14.18_16_CMS",
"CMS", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 14.18, 16);
273 add_row(rows, 148,
"P4prime_B0Kstar0mumu_14.18_16_CMS",
"CMS", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 14.18, 16);
274 add_row(rows, 149,
"P5prime_B0Kstar0mumu_14.18_16_CMS",
"CMS", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 14.18, 16);
275 add_row(rows, 150,
"P6prime_B0Kstar0mumu_14.18_16_CMS",
"CMS", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 14.18, 16);
276 add_row(rows, 151,
"P8prime_B0Kstar0mumu_14.18_16_CMS",
"CMS", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 14.18, 16);
277 add_row(rows, 152,
"dGamma/dq2_Bsphiee_0.1_1.1",
"DEFAULT", O::DBR_DQ2_BS__PHI_E_E,
"DBR_DQ2_BS__PHI_E_E", 0.1, 1.1);
278 add_row(rows, 153,
"dGamma/dq2_Bsphiee_1.1_6",
"DEFAULT", O::DBR_DQ2_BS__PHI_E_E,
"DBR_DQ2_BS__PHI_E_E", 1.1, 6);
279 add_row(rows, 154,
"dGamma/dq2_Bsphiee_15_19",
"DEFAULT", O::DBR_DQ2_BS__PHI_E_E,
"DBR_DQ2_BS__PHI_E_E", 15, 19);
280 add_row(rows, 155,
"R-1_Bsphill_0.1_1.1",
"DEFAULT", O::R_1_BS__PHI_L_L,
"R_1_BS__PHI_L_L", 0.1, 1.1);
281 add_row(rows, 156,
"R-1_Bsphill_1.1_6",
"DEFAULT", O::R_1_BS__PHI_L_L,
"R_1_BS__PHI_L_L", 1.1, 6);
282 add_row(rows, 157,
"R-1_Bsphill_15_19",
"DEFAULT", O::R_1_BS__PHI_L_L,
"R_1_BS__PHI_L_L", 15, 19);
283 add_row(rows, 158,
"FL_Bsphiee_0.0009_0.2615",
"DEFAULT", O::F_L_BS_PHI_E_E,
"F_L_BS_PHI_E_E", 0.0009, 0.2615);
284 add_row(rows, 159,
"AT2_Bsphiee_0.0009_0.2615",
"DEFAULT", O::A_T_2_BS_PHI_E_E,
"A_T_2_BS_PHI_E_E", 0.0009, 0.2615);
285 add_row(rows, 160,
"AT2_B0Kstar0ee_0.0008_1.12_Belle",
"Belle", O::A_T_2_B0__KSTAR0_E_E,
"A_T_2_B0__KSTAR0_E_E", 0.0008, 1.12);
286 add_row(rows, 161,
"FL_B0Kstar0ee_1.1_6",
"DEFAULT", O::F_L_B0__KSTAR0_E_E,
"F_L_B0__KSTAR0_E_E", 1.1, 6);
287 add_row(rows, 162,
"P1_B0Kstar0ee_1.1_6",
"DEFAULT", O::P_1_B0__KSTAR0_E_E,
"P_1_B0__KSTAR0_E_E", 1.1, 6);
288 add_row(rows, 163,
"P2_B0Kstar0ee_1.1_6",
"DEFAULT", O::P_2_B0__KSTAR0_E_E,
"P_2_B0__KSTAR0_E_E", 1.1, 6);
289 add_row(rows, 164,
"P3_B0Kstar0ee_1.1_6",
"DEFAULT", O::P_3_B0__KSTAR0_E_E,
"P_3_B0__KSTAR0_E_E", 1.1, 6);
290 add_row(rows, 165,
"P4prime_B0Kstar0ee_1.1_6",
"DEFAULT", O::P_PRIME_4_B0__KSTAR0_E_E,
"P_PRIME_4_B0__KSTAR0_E_E", 1.1, 6);
291 add_row(rows, 166,
"P5prime_B0Kstar0ee_1.1_6",
"DEFAULT", O::P_PRIME_5_B0__KSTAR0_E_E,
"P_PRIME_5_B0__KSTAR0_E_E", 1.1, 6);
292 add_row(rows, 167,
"P6prime_B0Kstar0ee_1.1_6",
"DEFAULT", O::P_PRIME_6_B0__KSTAR0_E_E,
"P_PRIME_6_B0__KSTAR0_E_E", 1.1, 6);
293 add_row(rows, 168,
"P8prime_B0Kstar0ee_1.1_6",
"DEFAULT", O::P_PRIME_8_B0__KSTAR0_E_E,
"P_PRIME_8_B0__KSTAR0_E_E", 1.1, 6);
294 add_row(rows, 169,
"FL_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 0.06, 0.98);
295 add_row(rows, 170,
"S2s_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::S_2S_B0__KSTAR0_MU_MU,
"S_2S_B0__KSTAR0_MU_MU", 0.06, 0.98);
296 add_row(rows, 171,
"S1c_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::S_1C_B0__KSTAR0_MU_MU,
"S_1C_B0__KSTAR0_MU_MU", 0.06, 0.98);
297 add_row(rows, 172,
"P1_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 0.06, 0.98);
298 add_row(rows, 173,
"P2_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 0.06, 0.98);
299 add_row(rows, 174,
"P3_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 0.06, 0.98);
300 add_row(rows, 175,
"P4prime_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 0.06, 0.98);
301 add_row(rows, 176,
"P5prime_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 0.06, 0.98);
302 add_row(rows, 177,
"P6prime_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 0.06, 0.98);
303 add_row(rows, 178,
"P8prime_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 0.06, 0.98);
304 add_row(rows, 179,
"S6c_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::S_6C_B0__KSTAR0_MU_MU,
"S_6C_B0__KSTAR0_MU_MU", 0.06, 0.98);
305 add_row(rows, 180,
"dGamma/dq2_B0Kstar0mumu_0.06_0.98_LHCb2025c2",
"LHCb2025c2", O::DBR_DQ2_B0__KSTAR0_MU_MU,
"DBR_DQ2_B0__KSTAR0_MU_MU", 0.06, 0.98);
306 add_row(rows, 181,
"FL_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 1.1, 2.5);
307 add_row(rows, 182,
"S1c_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::S_1C_B0__KSTAR0_MU_MU,
"S_1C_B0__KSTAR0_MU_MU", 1.1, 2.5);
308 add_row(rows, 183,
"P1_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 1.1, 2.5);
309 add_row(rows, 184,
"P2_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 1.1, 2.5);
310 add_row(rows, 185,
"P3_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 1.1, 2.5);
311 add_row(rows, 186,
"P4prime_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 1.1, 2.5);
312 add_row(rows, 187,
"P5prime_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 1.1, 2.5);
313 add_row(rows, 188,
"P6prime_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 1.1, 2.5);
314 add_row(rows, 189,
"P8prime_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 1.1, 2.5);
315 add_row(rows, 190,
"dGamma/dq2_B0Kstar0mumu_1.1_2.5_LHCb2025c2",
"LHCb2025c2", O::DBR_DQ2_B0__KSTAR0_MU_MU,
"DBR_DQ2_B0__KSTAR0_MU_MU", 1.1, 2.5);
316 add_row(rows, 191,
"FL_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 2.5, 4);
317 add_row(rows, 192,
"S1c_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::S_1C_B0__KSTAR0_MU_MU,
"S_1C_B0__KSTAR0_MU_MU", 2.5, 4);
318 add_row(rows, 193,
"P1_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 2.5, 4);
319 add_row(rows, 194,
"P2_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 2.5, 4);
320 add_row(rows, 195,
"P3_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 2.5, 4);
321 add_row(rows, 196,
"P4prime_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 2.5, 4);
322 add_row(rows, 197,
"P5prime_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 2.5, 4);
323 add_row(rows, 198,
"P6prime_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 2.5, 4);
324 add_row(rows, 199,
"P8prime_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 2.5, 4);
325 add_row(rows, 200,
"dGamma/dq2_B0Kstar0mumu_2.5_4.0_LHCb2025c2",
"LHCb2025c2", O::DBR_DQ2_B0__KSTAR0_MU_MU,
"DBR_DQ2_B0__KSTAR0_MU_MU", 2.5, 4);
326 add_row(rows, 201,
"FL_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 4, 6);
327 add_row(rows, 202,
"S1c_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::S_1C_B0__KSTAR0_MU_MU,
"S_1C_B0__KSTAR0_MU_MU", 4, 6);
328 add_row(rows, 203,
"P1_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 4, 6);
329 add_row(rows, 204,
"P2_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 4, 6);
330 add_row(rows, 205,
"P3_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 4, 6);
331 add_row(rows, 206,
"P4prime_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 4, 6);
332 add_row(rows, 207,
"P5prime_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 4, 6);
333 add_row(rows, 208,
"P6prime_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 4, 6);
334 add_row(rows, 209,
"P8prime_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 4, 6);
335 add_row(rows, 210,
"dGamma/dq2_B0Kstar0mumu_4.0_6.0_LHCb2025c2",
"LHCb2025c2", O::DBR_DQ2_B0__KSTAR0_MU_MU,
"DBR_DQ2_B0__KSTAR0_MU_MU", 4, 6);
336 add_row(rows, 211,
"FL_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 15, 17);
337 add_row(rows, 212,
"S1c_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::S_1C_B0__KSTAR0_MU_MU,
"S_1C_B0__KSTAR0_MU_MU", 15, 17);
338 add_row(rows, 213,
"P1_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 15, 17);
339 add_row(rows, 214,
"P2_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 15, 17);
340 add_row(rows, 215,
"P3_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 15, 17);
341 add_row(rows, 216,
"P4prime_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 15, 17);
342 add_row(rows, 217,
"P5prime_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 15, 17);
343 add_row(rows, 218,
"P6prime_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 15, 17);
344 add_row(rows, 219,
"P8prime_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 15, 17);
345 add_row(rows, 220,
"dGamma/dq2_B0Kstar0mumu_15.0_17.0_LHCb2025c2",
"LHCb2025c2", O::DBR_DQ2_B0__KSTAR0_MU_MU,
"DBR_DQ2_B0__KSTAR0_MU_MU", 15, 17);
346 add_row(rows, 221,
"FL_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::F_L_B0__KSTAR0_MU_MU,
"F_L_B0__KSTAR0_MU_MU", 17, 19);
347 add_row(rows, 222,
"S1c_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::S_1C_B0__KSTAR0_MU_MU,
"S_1C_B0__KSTAR0_MU_MU", 17, 19);
348 add_row(rows, 223,
"P1_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::P_1_B0__KSTAR0_MU_MU,
"P_1_B0__KSTAR0_MU_MU", 17, 19);
349 add_row(rows, 224,
"P2_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::P_2_B0__KSTAR0_MU_MU,
"P_2_B0__KSTAR0_MU_MU", 17, 19);
350 add_row(rows, 225,
"P3_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::P_3_B0__KSTAR0_MU_MU,
"P_3_B0__KSTAR0_MU_MU", 17, 19);
351 add_row(rows, 226,
"P4prime_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_4_B0__KSTAR0_MU_MU,
"P_PRIME_4_B0__KSTAR0_MU_MU", 17, 19);
352 add_row(rows, 227,
"P5prime_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_5_B0__KSTAR0_MU_MU,
"P_PRIME_5_B0__KSTAR0_MU_MU", 17, 19);
353 add_row(rows, 228,
"P6prime_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_6_B0__KSTAR0_MU_MU,
"P_PRIME_6_B0__KSTAR0_MU_MU", 17, 19);
354 add_row(rows, 229,
"P8prime_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::P_PRIME_8_B0__KSTAR0_MU_MU,
"P_PRIME_8_B0__KSTAR0_MU_MU", 17, 19);
355 add_row(rows, 230,
"dGamma/dq2_B0Kstar0mumu_17.0_19.0_LHCb2025c2",
"LHCb2025c2", O::DBR_DQ2_B0__KSTAR0_MU_MU,
"DBR_DQ2_B0__KSTAR0_MU_MU", 17, 19);
360void apply_bsm_point(
double dC7,
double dC8,
double dC9,
double dC10) {
361 if (std::abs(dC7) + std::abs(dC8) + std::abs(dC9) + std::abs(dC10) <= 1e-15)
return;
363 const std::string had_bsm_block =
365 +
"__BSM_INTERMEDIATE";
368 auto set_wc = [&](
WCoef c,
double v) {
383int main(
int argc,
char** argv) {
386 const std::string out_path = (argc >= 2) ? argv[1] :
"hyperiso_allobs.csv";
387 const std::string lha_path = (argc >= 3) ? argv[2] :
"lha/si_input.flha";
388 const double dC7 = (argc >= 4) ? std::atof(argv[3]) : 0.0;
389 const double dC8 = (argc >= 5) ? std::atof(argv[4]) : 0.0;
390 const double dC9 = (argc >= 6) ? std::atof(argv[5]) : 0.0;
391 const double dC10 = (argc >= 7) ? std::atof(argv[6]) : 0.0;
395 std::cerr <<
"[INFO] LHA = " << lha_path <<
"\n";
403 hyp.
init(lha_path, config);
406 apply_bsm_point(dC7, dC8, dC9, dC10);
409 constexpr bool add_deps =
false;
430 const auto rows = make_rows();
431 std::set<Observables> seen_unbinned;
432 std::set<std::tuple<Observables,double,double>> seen_binned;
436 for (
const auto& r : rows) {
438 auto key = std::make_tuple(r.hyp_obs, r.q2min, r.q2max);
439 if (seen_binned.insert(key).second) {
447 if (seen_unbinned.insert(r.hyp_obs).second) {
454 std::map<ObservableId, std::vector<ObservableValue>> all;
460 std::ofstream out(out_path);
461 if (!out)
throw std::runtime_error(
"Impossible d'ouvrir le CSV: " + out_path);
463 out <<
"code,idx,si_name,experiment,hyper_enum,bin_low,bin_high,value,err_down,err_up,dC7,dC8,dC9,dC10,lha,status\n";
464 out << std::setprecision(17);
468 for (
const auto& r : rows) {
469 double value = std::numeric_limits<double>::quiet_NaN();
470 std::string status =
"ok";
472 value = find_value(all, r);
474 }
catch (
const std::exception& e) {
479 out <<
"hyperiso," << r.idx <<
","
480 << csv_escape(r.si_name) <<
","
481 << csv_escape(r.experiment) <<
","
482 << csv_escape(r.hyp_enum) <<
",";
484 write_num(out, r.q2min); out <<
","; write_num(out, r.q2max);
489 write_num(out, value);
491 write_num(out, dC7); out <<
",";
492 write_num(out, dC8); out <<
",";
493 write_num(out, dC9); out <<
",";
494 write_num(out, dC10); out <<
",";
495 out << csv_escape(lha_path) <<
",";
496 out << csv_escape(status) <<
"\n";
499 std::cout <<
"CSV ecrit dans " << out_path <<
" (ok=" << nok <<
", fail=" << nfail <<
")\n";
500 return nfail == 0 ? 0 : 2;
501 }
catch (
const std::exception& e) {
502 std::cerr <<
"[FATAL] " << e.what() <<
"\n";
High-level helpers for initializing and monitoring the Hyperiso framework.
High-level, user-facing entry point to compute flavor observables.
Adapter between IParamOptimizer and ParamOptimizer.
static IdOf< ObservableTag > to_id(Observables e)
Converts an enum value to an IdOf<Tag>.
static std::string str(const WGroupId &gid, ScaleType s, WilsonBasis b=WilsonBasis::B_STANDARD)
Builds a composite block name using a WGroupId, scale and basis.
High-level interface to initialize and monitor the main framework configuration.
void init(const std::string &lhaFile, HyperisoConfig config)
Initializes Hyperiso using a LHA file and a full Config object.
void setLevel(LogLevel level)
Sets the logging level.
static Logger * getInstance()
Retrieves the singleton instance of the Logger.
void set_bkstarll_threads(size_t n_threads)
Set the thread option for the bkstarll decay.
void set_bkll_threads(size_t n_threads)
Set the thread option for the bkll decay.
void set_decay_config(Decays dec, std::any config)
Set configuration for a given decay.
std::map< ObservableId, std::vector< ObservableValue > > compute_all()
Compute all currently registered observables.
ObservableInterface & add_observable(Observables obs, QCDOrder order, bool add_dependencies=false)
Add an observable to the manager (enum API).
void set_bsphi_threads(size_t n_threads)
Set the thread option for the bsphi decay.
Adapter that builds a ParamOptimizer from Parameters instances.
void set_value(const BlockName &block, const LhaID &id, scalar_t v) override
Stage a change of central value for a parameter.
static LhaID flha_full(WCoef e, QCDOrder q, ContributionType c)
Hash specialization for SymbolId<Tag>.
Identifies an observable together with a numerical bin.
Configuration object controlling model, input flags and optional MARTY resources.
Model model
Current model.
ScopedTimer(std::string n)
std::chrono::steady_clock::time_point t0