Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
MCEngine.h File Reference

Monte Carlo propagation of nuisance-parameter uncertainties. More...

#include <vector>
#include <random>
#include <string>
#include <memory>
#include "INuisanceSampler.h"
#include "ports/IModel.h"
#include "Statistics.h"
#include "GaussianApprox.h"
#include "Indexing.h"
#include "StatisticProgress.h"
Include dependency graph for MCEngine.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MCConfig
 Runtime configuration for Monte Carlo nuisance propagation. More...
 
struct  MCRealization
 Raw Monte Carlo samples accepted by the engine. More...
 
struct  MCObservableCovariance
 Empirical observable covariance and its inverse. More...
 
struct  MCResult
 Complete output of a Monte Carlo propagation run. More...
 
class  MonteCarloEngine
 Samples nuisance parameters and propagates them through a model. More...
 

Functions

MCObservableCovariance covariance_from_obs_samples (const ObsSamples &S, const std::vector< BinnedObservableId > &ids, double ridge_rel=1e-8, double ridge_abs=1e-12)
 Builds a regularized empirical covariance matrix from observable samples.
 
std::vector< BinnedObservableIdcovariance_ids_from_first_sample (const ObsSamples &S)
 Extracts the observable ordering from the first Monte Carlo sample.
 

Detailed Description

Monte Carlo propagation of nuisance-parameter uncertainties.

The Monte Carlo engine samples nuisance parameters, evaluates model predictions, summarizes the resulting observable distributions, and builds a regularized observable covariance matrix.

See also
INuisanceSampler
IModel
GaussianSummary

Definition in file MCEngine.h.

Function Documentation

◆ covariance_from_obs_samples()

MCObservableCovariance covariance_from_obs_samples ( const ObsSamples S,
const std::vector< BinnedObservableId > &  ids,
double  ridge_rel = 1e-8,
double  ridge_abs = 1e-12 
)

Builds a regularized empirical covariance matrix from observable samples.

The samples are read in the order specified by ids. The empirical covariance is converted to a dimensionless correlation matrix, a ridge of max(ridge_rel, ridge_abs) is added to its diagonal, and the inverse is transformed back to covariance units. The returned covariance itself remains the raw empirical estimate.

Parameters
SMonte Carlo observable samples.
idsObservable identifiers defining the covariance ordering.
ridge_relRelative ridge factor.
ridge_absMinimum dimensionless ridge floor.
Returns
Empirical covariance, inverse covariance and column means.
Exceptions
std::invalid_argumentif the sample set is empty, if ids is empty, or if fewer than two samples are provided.

Definition at line 102 of file MCEngine.cpp.

◆ covariance_ids_from_first_sample()

std::vector< BinnedObservableId > covariance_ids_from_first_sample ( const ObsSamples S)

Extracts the observable ordering from the first Monte Carlo sample.

Parameters
SMonte Carlo observable samples.
Returns
Observable identifiers present in the first sample.
Exceptions
std::invalid_argumentif S is empty.

Definition at line 164 of file MCEngine.cpp.