Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
MarginalConfigFactory.h
Go to the documentation of this file.
1#ifndef MARGINALCONFIGFACTORY_H
2#define MARGINALCONFIGFACTORY_H
3
4#include <memory>
5#include <variant>
6
7#include "Include.h"
8#include "MarginalType.h"
10#include "GaussianMarginal.h"
11#include "FlatMarginal.h"
13#include "LikelihoodMarginal.h"
14#include "ExperimentObs.h"
15#include "NuisanceSpec.h"
16
51using MarginalConfig = std::variant<FlatMarginalCfg, GaussianMarginalCfg, SplitGaussianMarginalCfg, LikelihoodMarginalCfg>;
52
75public:
86 explicit MarginalConfigFactory(std::shared_ptr<IStatParameterProxy> parameter_proxy);
87
106 MarginalConfig create(ParamId pid, MarginalType marginal) const;
107
124 MarginalConfig create(ParamId pid, MarginalType marginal, const NuisanceSpec& spec) const;
125
143 MarginalConfig create(ExperimentObs pid, MarginalType marginal) const;
144
145private:
147 std::shared_ptr<IStatParameterProxy> parameter_proxy_;
148};
149
150#endif // MARGINALCONFIGFACTORY_H
Experiment-scoped observable identifiers.
Statistical-layer port for read-only access to parameters and observable entries.
Enumeration of supported one-dimensional marginal distribution types.
MarginalType
Supported marginal-distribution families.
Data structures for nuisance-parameter specifications.
Asymmetric split-Gaussian marginal distribution.
Builds distribution-configuration objects from parameters or observables.
MarginalConfig create(ParamId pid, MarginalType marginal) const
Builds a marginal configuration from a parameter identifier.
Specification of one nuisance parameter.
Composite identifier for a single parameter.
Definition ParamID.h:57