28 hyp.
init(
"lha/si_input.flha", config_hyp);
30 auto oint = std::make_shared<ObservableInterface>();
32 std::vector<std::pair<double, double>> lhcb_bins = {
80 for (
auto& bin: lhcb_bins) {
95 oint->set_bkstarll_threads(25);
96 std::shared_ptr<IStatParamOptimizerProxy> spop = std::make_shared<StatParamOptimizerProxy>();
98 auto model = std::make_shared<ObservableInterfaceProxy>(oint, spop);
108 std::shared_ptr<INuisancePathsProvider> npp = std::make_shared<DefaultNuisancePathsProvider>();
113 std::make_shared<StatCorrelationProxy>(),
114 std::make_shared<StatParameterProxy>(),
115 std::make_shared<StatParamSourcesProxy>(),
116 std::make_shared<StatDependencyPruner>(),
117 std::make_shared<NuisanceReader>(npp),
123 auto start = std::chrono::steady_clock::now();
125 auto stop = std::chrono::steady_clock::now();
126 LOG_INFO(
"Uncertainty computation took", std::chrono::duration_cast<std::chrono::seconds>(stop - start).count(),
"s");
129 std::map<std::string, Observables> file_names = {
141 for (
auto &&[name, obs] : file_names) {
142 fs.open(name +
"_LHCB_bins.csv");
143 fs <<
"bin_low,bin_high,value,u_low,u_high,u_sym\n";
145 for (
auto &&[k, v] : pred_with_u) {
147 fs << k.p.first <<
"," << k.p.second <<
"," << v.mu <<
"," << v.sigma_m <<
"," << v.sigma_p <<
"," << v.sigma <<
'\n';
Default nuisance-configuration path provider.
@ P_PRIME_8_B0__KSTAR0_MU_MU
@ P_PRIME_5_B0__KSTAR0_MU_MU
@ DGAMMA_DQ2_B0__KSTAR0_MU_MU
@ P_PRIME_4_B0__KSTAR0_MU_MU
@ P_PRIME_6_B0__KSTAR0_MU_MU
#define LOG_INFO(...)
Macro for logging informational messages.
@ FLAT
Uniform (flat) marginal on a finite interval.
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>.
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.
std::map< BinnedObservableId, GaussianSummary > compute_uncertainties()
Computes Gaussian summaries for MC-propagated observable uncertainties.
double nuisance_relevance_cutoff
Relative-uncertainty cutoff for the first nuisance preselection pass.
std::map< ParamId, MarginalType > override_nuisance_marginals
Per-parameter overrides for nuisance marginal laws.
Identifies an observable together with a numerical bin.
Configuration object controlling model, input flags and optional MARTY resources.
Model model
Current model.
Composite identifier for a single parameter.
AdvancedStatisticConfig advanced
Advanced fit/pruning/covariance configuration.
std::size_t MC_draws
Number of accepted MC draws used for uncertainty propagation.