Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
likelihood_exploration.cpp
Go to the documentation of this file.
1#include <algorithm>
2#include <chrono>
3#include <cmath>
4#include <fstream>
5#include <iomanip>
6#include <iostream>
7#include <limits>
8#include <map>
9#include <memory>
10#include <sstream>
11#include <string>
12#include <unordered_map>
13#include <utility>
14#include <vector>
15
16#include "StatisticManager.h"
17#include "ObservableInterface.h"
20#include "StatParameterProxy.h"
23#include "FitAbstraction.h"
24#include "NuisanceReader.h"
26
27int main() {
28 using namespace fit_app;
29
31 HyperisoConfig config_hyp;
32 config_hyp.model = Model::SM;
33 hyp.init("lha/si_input.flha", config_hyp);
34
35 auto oint = std::make_shared<ObservableInterface>();
36
69
70 std::shared_ptr<IStatParamOptimizerProxy> spop = std::make_shared<StatParamOptimizerProxy>();
71 auto model = std::make_shared<ObservableInterfaceProxy>(oint, spop);
72
73 StatisticConfig config;
74 config.advanced.MLE_max_iter = 120000;
75 config.advanced.MLE_tol = 0.2;
76
77 std::shared_ptr<INuisancePathsProvider> npp =
78 std::make_shared<DefaultNuisancePathsProvider>();
79
81 config,
82 model,
83 std::make_shared<StatCorrelationProxy>(),
84 std::make_shared<StatParameterProxy>(),
85 std::make_shared<StatParamSourcesProxy>(),
86 std::make_shared<StatDependencyPruner>(),
87 std::make_shared<NuisanceReader>(npp),
88 spop
89 );
90
91 const std::string had_bsm_block =
93 + "__BSM_INTERMEDIATE";
94
95 std::vector<ParamId> p_specs = {
97 had_bsm_block,
100 had_bsm_block,
102 };
103
104 stat.prepare_likelihood_for_scan(p_specs);
105
106 // std::map<ParamId, double> p_hat_manual = {
107 // {p_specs[0], 3.8586816584445423},
108 // {p_specs[1], -4.342464564024878}
109 // };
110 // std::map<ParamId, double> p_hat_manual = {
111 // {p_specs[0], -0.55},
112 // {p_specs[1], 0}
113 // };
114
115 std::map<ParamId, double> p_hat_manual = {
116 {p_specs[0], -4.1913054387387545},
117 {p_specs[1], 4.0360988362819041}
118 };
119
120 // std::map<ParamId, double> eta_hat_manual = {
121 // {ParamId{ParameterType::WILSON, "B_SCALE", LhaID(1)}, 7.0616412623634615},
122
123 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,1,1)}, -1.3194750934885218},
124 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,1,2)}, 0.55731952538812446},
125 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,2,1)}, 0.42794295488555201},
126 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,2,2)}, 1.3824396326751143},
127 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,3,1)}, 0.55297187610318355},
128 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,3,2)}, 0.63064666791673996},
129 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,4,1)}, -1.1020600964364089},
130 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,4,2)}, 2.0650881994252286},
131 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,5,1)}, -0.97034002393979002},
132 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,5,2)}, 1.3955789220459496},
133 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,6,1)}, 0.52904322583131957},
134 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,6,2)}, 1.6397824945976849},
135 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,7,1)}, 1.3404825108445939},
136 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,7,2)}, 3.4992796210570716},
137
138 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(7,1)}, 0.046984916688010275},
139 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(7,2)}, 0.10307659688624525},
140 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(8,1)}, 0.060283567240217828},
141 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(8,2)}, 0.16002917156326671},
142 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(14)}, 0.47361707939582515},
143
144 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,1)}, 0.096779421539748903},
145 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,2)}, 0.03548473538478969},
146 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,3)}, 0.022403500826101146},
147 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,4)}, 0.026932380671486327},
148 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,5)}, -0.011150073481602584},
149 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,6)}, 0.016123830166622971},
150
151 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,1)}, 0.36090946885144704},
152 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,2)}, 0.13795059765754347},
153 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,3)}, 0.16977339600345981},
154 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,4)}, 0.11216066278714854},
155 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,5)}, -0.060833674931900818},
156 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,6)}, 0.046546022227100338},
157
158 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,1)}, -0.018041968289152464},
159 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,2)}, 0.0008849972829968639},
160 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,3)}, -0.063630276500820357},
161 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,4)}, 0.00018648240700748546},
162 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,5)}, 0.062387459629891652},
163 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,6)}, 0.00062480775226799617},
164 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,7)}, 5.2618056451280428e-07},
165 // {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,8)}, -0.099938779409649459},
166
167 // // Nouvelles nuisances Wilson détectées après le fix des blocs intermédiaires
168 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,4422,0,1)}, 0.0},
169 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,4422,1,1)}, 0.0},
170 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,4422,2,1)}, 0.0},
171
172 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,6421,0,1)}, 0.0},
173 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,6421,1,1)}, 0.0},
174 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,6421,2,1)}, 0.0},
175
176 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,4141,0,1)}, 0.0},
177 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,4141,1,1)}, 0.0},
178 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,4141,2,1)}, 0.0},
179
180 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,6161,0,1)}, 0.0},
181 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,6161,1,1)}, 0.0},
182 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,6161,2,1)}, 0.0},
183
184 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4133,0,1)}, 0.0},
185 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4133,1,1)}, 0.0},
186 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4133,2,1)}, 0.0},
187
188 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4536,0,1)}, 0.0},
189 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4536,1,1)}, 0.0},
190 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4536,2,1)}, 0.0},
191
192 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6153,0,1)}, 0.0},
193 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6153,1,1)}, 0.0},
194 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6153,2,1)}, 0.0},
195
196 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6556,0,1)}, 0.0},
197 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6556,1,1)}, 0.0},
198 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6556,2,1)}, 0.0},
199
200 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3051313,4133,1,1)}, 0.0},
201 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3051313,4133,2,1)}, 0.0},
202
203 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3051313,4137,1,1)}, 0.0},
204 // {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3051313,4137,2,1)}, 0.0},
205
206 // {ParamId{ParameterType::WILSON, "EW_SCALE", LhaID(1)}, 100.0},
207 // };
208
209 std::map<ParamId, double> eta_hat_manual = {
210 // MASS
211 {ParamId{ParameterType::SM, "MASS", LhaID(1)}, 0.0047000246138147843},
212 {ParamId{ParameterType::SM, "MASS", LhaID(2)}, 0.0021600098832398637},
213 {ParamId{ParameterType::SM, "MASS", LhaID(3)}, 0.093493634506413584},
214 {ParamId{ParameterType::SM, "MASS", LhaID(4)}, 1.2729652178959461},
215 {ParamId{ParameterType::SM, "MASS", LhaID(24)}, 80.369199884059867},
216 {ParamId{ParameterType::SM, "MASS", LhaID(25)}, 125.20003079073854},
217
218 // SMINPUTS
219 {ParamId{ParameterType::SM, "SMINPUTS", LhaID(3)}, 0.11807867791958603},
220 {ParamId{ParameterType::SM, "SMINPUTS", LhaID(5)}, 4.1852875835851924},
221 {ParamId{ParameterType::SM, "SMINPUTS", LhaID(6)}, 172.56568043942119},
222 {ParamId{ParameterType::SM, "SMINPUTS", LhaID(7,1)}, 0.23116000044751273},
223
224 // VCKMIN
225 {ParamId{ParameterType::SM, "VCKMIN", LhaID(1)}, 0.22500998835442002},
226 {ParamId{ParameterType::SM, "VCKMIN", LhaID(2)}, 0.82599937438110005},
227 {ParamId{ParameterType::SM, "VCKMIN", LhaID(3)}, 0.15913636223243458},
228 {ParamId{ParameterType::SM, "VCKMIN", LhaID(4)}, 0.35228967135353356},
229
230 // FLIFE
231 {ParamId{ParameterType::FLAVOR, "FLIFE", LhaID(511)}, 1.5169999568101041e-12},
232 {ParamId{ParameterType::FLAVOR, "FLIFE", LhaID(521)}, 1.6379999957628896e-12},
233
234 // FMASS
235 {ParamId{ParameterType::FLAVOR, "FMASS", LhaID(313)}, 0.8955496332249121},
236
237 // Wilson nuisances
238 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,4422,0,1)}, 0.35408395412360966},
239 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,4422,1,1)}, 0.0051048552231385165},
240 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,4422,2,1)}, 7.260983968910622e-05},
241
242 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,6421,0,1)}, 0.64251236865612282},
243 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,6421,1,1)}, 0.010054467169024599},
244 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(305,6421,2,1)}, 0.00016288296132363063},
245
246 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,4141,0,1)}, -0.017214870710872351},
247 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,4141,1,1)}, -0.00081968012872567751},
248 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,4141,2,1)}, -1.3103861690999478e-05},
249
250 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,6161,0,1)}, 0.73174221890563995},
251 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,6161,1,1)}, 0.011305085833610801},
252 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3040405,6161,2,1)}, 0.00018337129877690338},
253
254 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4133,0,1)}, -0.030577049689067357},
255 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4133,1,1)}, -0.0022774584267058516},
256 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4133,2,1)}, -7.5077683845400526e-05},
257
258 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4536,0,1)}, -0.016478446922171562},
259 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4536,1,1)}, -0.0019444051939759893},
260 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,4536,2,1)}, -0.00068495697454101247},
261
262 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6153,0,1)}, -0.44588339089840923},
263 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6153,1,1)}, -0.0073645682464370957},
264 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6153,2,1)}, -0.00011941893854722827},
265
266 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6556,0,1)}, 0.059466834352638671},
267 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6556,1,1)}, 0.00050744582582298143},
268 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3050707,6556,2,1)}, 8.7390117885074317e-06},
269
270 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3051313,4133,1,1)}, 0.00021701970443030607},
271 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3051313,4133,2,1)}, 3.8650299507191088e-06},
272
273 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3051313,4137,1,1)}, 0.00041002202481149543},
274 {ParamId{ParameterType::WILSON, had_bsm_block, LhaID(3051313,4137,2,1)}, 7.0954953085568712e-06},
275
276 // scales
277 {ParamId{ParameterType::WILSON, "B_SCALE", LhaID(1)}, 5.8851667928051219},
278 {ParamId{ParameterType::WILSON, "EW_SCALE", LhaID(1)}, 100.72686727075933},
279
280 // B_Ks
281 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,1,0)}, 0.36935806519425035},
282 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,1,1)}, -1.3769142196051429},
283 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,1,2)}, 0.034633126485268971},
284
285 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,2,0)}, 0.29149202558029325},
286 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,2,1)}, 0.37537257434702137},
287 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,2,2)}, 1.2401493646876649},
288
289 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,3,0)}, 0.26552633766960121},
290 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,3,1)}, 0.53379909757705002},
291 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,3,2)}, 0.45740855009424058},
292
293 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,4,0)}, 0.37157858125584586},
294 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,4,1)}, -1.1935759144599001},
295 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,4,2)}, 2.6121881087516545},
296
297 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,5,0)}, 0.30694856227428019},
298 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,5,1)}, -1.0293275682602907},
299 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,5,2)}, 1.7209514285050549},
300
301 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,6,0)}, 0.30693011922964947},
302 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,6,1)}, 0.48101238727118456},
303 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,6,2)}, 1.6942364262993246},
304
305 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,7,0)}, 0.66514149858850979},
306 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,7,1)}, 1.3070135823523328},
307 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(1,7,2)}, 3.8510126859669498},
308
309 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(7,1)}, 0.041277395162247661},
310 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(7,2)}, 0.10624518694150206},
311 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(8,1)}, 0.059290556077814471},
312 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(8,2)}, 0.16044517867574637},
313
314 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,1)}, -0.069778583601311284},
315 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,2)}, -0.0053711735591936479},
316 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,3)}, 0.03647857273215125},
317 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,4)}, 0.039693408296069148},
318 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,5)}, -0.0040592226041542973},
319 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,1,6)}, -0.0063410854580069082},
320
321 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,1)}, -0.08192548685195418},
322 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,2)}, 0.0057286354696556444},
323 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,3)}, 0.22607364917793951},
324 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,4)}, -0.027886074215018514},
325 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,5)}, -0.0074003272932216639},
326 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,2,6)}, -0.017999786361442286},
327
328 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,1)}, 0.031697199815891496},
329 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,2)}, -0.00027091449357067497},
330 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,3)}, -0.052885117244455694},
331 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,4)}, -0.0052498994138951158},
332 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,5)}, 0.019257463859406802},
333 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,6)}, 0.0032318869717003164},
334 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,7)}, 3.383515277131575e-05},
335 {ParamId{ParameterType::DECAY, "B_Ks", LhaID(18,3,8)}, 1.7810438682197634e-05},
336 };
337
338 stat.set_manual_scan_point(p_hat_manual, eta_hat_manual);
339
341 p_specs[0],
342 p_specs[1],
343 10.0,
344 10,
345 40,
346 40
347 );
348
349 stat.save_likelihood_scan_csv("scan_from_manual_point.csv", grid);
350 std::cout << "[INFO] Wrote scan_from_manual_point.csv\n";
351
352 return 0;
353}
Default nuisance-configuration path provider.
@ P_2_B0__KSTAR0_MU_MU
@ P_PRIME_8_B0__KSTAR0_MU_MU
@ A_T_2_B0__KSTAR0_MU_MU
@ P_PRIME_5_B0__KSTAR0_MU_MU
@ F_L_B0__KSTAR0_MU_MU
@ P_3_B0__KSTAR0_MU_MU
@ P_PRIME_4_B0__KSTAR0_MU_MU
@ P_PRIME_6_B0__KSTAR0_MU_MU
Concrete reader for nuisance-parameter definition files.
Adapter from ObservableInterface to the statistical model interface.
High-level, user-facing entry point to compute flavor observables.
Concrete statistical proxy forwarding correlation queries to CorrelationProvider.
Statistics-layer adapter over the core DependencyPruner service.
Statistics-layer adapter for retrieving leaf parameter sources.
Statistics-layer proxy for read-only access to parameters and observables.
High-level orchestration of statistical uncertainty propagation, likelihood construction and fit scan...
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.
Coordinates statistical inputs, nuisance distributions, MLE fits and contour/scan computations.
void set_manual_scan_point(const std::map< ParamId, double > &p_hat, const std::map< ParamId, double > &eta_hat)
Sets the reference point used by subsequent likelihood scans.
LikelihoodScanGrid scan_likelihood_around_current_point(ParamId p1, ParamId p2, double x_half_width, double y_half_width, std::size_t nx, std::size_t ny) const
Evaluates the current likelihood on a regular 2D grid around the active reference point.
void prepare_likelihood_for_scan(const std::vector< ParamId > &p_specs)
Prepares a likelihood object for manual scans without running a full MLE.
void save_likelihood_scan_csv(const std::string &path, const LikelihoodScanGrid &grid) const
Writes a likelihood scan grid to a CSV file.
static LhaID flha_full(WCoef e, QCDOrder q, ContributionType c)
double MLE_tol
Minimizer tolerance passed to the backend.
std::size_t MLE_max_iter
Maximum number of minimizer function calls/iterations.
Identifies an observable together with a numerical bin.
Configuration object controlling model, input flags and optional MARTY resources.
Definition Config.h:24
Model model
Current model.
Definition Config.h:33
Represents an identifier of a LHA element, possibly containing several sub-ids.
Definition LhaID.h:56
Composite identifier for a single parameter.
Definition ParamID.h:57
AdvancedStatisticConfig advanced
Advanced fit/pruning/covariance configuration.