|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
Builds distribution-configuration objects from parameters or observables. More...
#include <MarginalConfigFactory.h>
Public Member Functions | |
| MarginalConfigFactory (std::shared_ptr< IStatParameterProxy > parameter_proxy) | |
| Constructs the factory with its parameter-access port. | |
| MarginalConfig | create (ParamId pid, MarginalType marginal) const |
| Builds a marginal configuration from a parameter identifier. | |
| MarginalConfig | create (ParamId pid, MarginalType marginal, const NuisanceSpec &spec) const |
| Builds a parameter marginal while honoring an explicit nuisance specification. | |
| MarginalConfig | create (ExperimentObs pid, MarginalType marginal) const |
| Builds a vector of marginal configurations from a binned observable identifier. | |
Builds distribution-configuration objects from parameters or observables.
This factory converts a statistical object description into a configuration suitable for a concrete marginal distribution.
Current implemented policies:
Current non-implemented cases:
Those currently raise exceptions in the implementation.
Definition at line 74 of file MarginalConfigFactory.h.
|
explicit |
Constructs the factory with its parameter-access port.
The concrete adapter is selected by the composition root (typically StatisticInterface) and forwarded by StatisticManager. The factory therefore remains independent of parameter-storage infrastructure.
| parameter_proxy | Read-only statistical parameter port. |
| std::invalid_argument | if parameter_proxy is null. |
Definition at line 7 of file MarginalConfigFactory.cpp.
| MarginalConfig MarginalConfigFactory::create | ( | ExperimentObs | pid, |
| MarginalType | marginal | ||
| ) | const |
Builds a vector of marginal configurations from a binned observable identifier.
Current convention for observables:
This is useful when the marginal describes a fluctuation / nuisance-like variable rather than an absolute physical central value.
| pid | ExperimentObs observable identifier. |
| marginal | Requested marginal family. |
| std::runtime_error | for currently unsupported marginals. |
| std::invalid_argument | if the marginal type is unknown. |
Definition at line 68 of file MarginalConfigFactory.cpp.
| MarginalConfig MarginalConfigFactory::create | ( | ParamId | pid, |
| MarginalType | marginal | ||
| ) | const |
Builds a marginal configuration from a parameter identifier.
The parameter is queried through the injected IStatParameterProxy port.
Current behavior:


| pid | Parameter identifier. |
| marginal | Requested marginal family. |
| std::runtime_error | for currently unsupported marginals. |
| std::invalid_argument | if the marginal type is unknown. |
Definition at line 20 of file MarginalConfigFactory.cpp.
| MarginalConfig MarginalConfigFactory::create | ( | ParamId | pid, |
| MarginalType | marginal, | ||
| const NuisanceSpec & | spec | ||
| ) | const |
Builds a parameter marginal while honoring an explicit nuisance specification.
For a flat nuisance, the configured support is taken directly from spec.bounds instead of being reconstructed from the parameter standard deviation. Other marginal families retain the standard parameter-derived configuration.
| pid | Parameter identifier. |
| marginal | Effective marginal family after default/user resolution. |
| spec | Effective nuisance specification associated with pid. |
| std::invalid_argument | if the specification block/code does not match pid, or if flat bounds are non-finite or not strictly ordered. |
Definition at line 46 of file MarginalConfigFactory.cpp.