Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
WithGaussianConstraints.h
Go to the documentation of this file.
1#ifndef WITHGAUSSIANCONSTRAINTS_H
2#define WITHGAUSSIANCONSTRAINTS_H
3
4#include "ILikelihood.h"
5#include "JointDistribution.h"
6
38public:
48 WithGaussianConstraints(std::shared_ptr<ILikelihood> base, std::shared_ptr<JointDistribution> constraints_dist, std::vector<std::size_t> constrained_params);
49
64 double nll(const std::vector<double>& theta) const override;
65
69 std::vector<fit_app::ParameterDefinition> get_param_defs() const override;
70
74 std::size_t dim() const override;
75
76private:
77 std::shared_ptr<ILikelihood> base;
78 std::shared_ptr<JointDistribution> constraints_dist;
79 std::vector<std::size_t> constrained_params;
80};
81
82#endif // WITHGAUSSIANCONSTRAINTS_H
Abstract interface for likelihood functions used by the fitting layer.
Joint probability distribution built from marginals and a copula.
Base interface for negative log-likelihood evaluators.
Definition ILikelihood.h:27
Decorates a likelihood with Gaussian constraints on selected parameters.
double nll(const std::vector< double > &theta) const override
Evaluates the constrained negative log-likelihood.
std::vector< fit_app::ParameterDefinition > get_param_defs() const override
Returns the metadata describing the likelihood parameters.
std::size_t dim() const override
Returns the total dimension of the parameter vector.