|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
Default implementation of a profileable negative log-likelihood. More...
#include <BaseLikelihood.h>


Public Member Functions | |
| BaseLikelihood (const ModelFn &model, std::shared_ptr< LikelihoodContext > ctx, size_t p_dim) | |
| Constructs a likelihood from a model and statistical context. | |
| double | nll (const std::vector< double > &theta) const override |
| Evaluates the negative log-likelihood for a full parameter vector. | |
| std::vector< fit_app::ParameterDefinition > | get_param_defs () const override |
| Returns all parameter definitions in likelihood-vector order. | |
| std::size_t | dim () const override |
| Returns the total likelihood dimension. | |
| void | enable_debug_trace (std::size_t max_evals=25) |
| Enables debug tracing for likelihood evaluations. | |
| void | disable_debug_trace () |
| Disables debug tracing of likelihood evaluations. | |
| std::size_t | p_dimension () const override |
| Returns the dimension of the fitted-parameter block. | |
| std::size_t | eta_dimension () const override |
| Returns the dimension of the nuisance-parameter block. | |
| std::vector< double > | central_p () const override |
| Returns the central values of the fitted parameters. | |
| std::vector< double > | central_eta () const override |
| Returns the central values of the nuisance parameters. | |
| std::vector< double > | predict (const std::vector< double > &p, const std::vector< double > &eta) const override |
| std::vector< double > | residuals (const std::vector< double > &p, const std::vector< double > &eta) const override |
| double | nll_from_split (const std::vector< double > &p, const std::vector< double > &eta) const override |
| RealMatrix | observable_curvature (const std::vector< double > &r) const override |
| RealMatrix | nuisance_curvature (const std::vector< double > &eta) const override |
Public Member Functions inherited from ILikelihood | |
| virtual | ~ILikelihood ()=default |
| Virtual destructor for safe polymorphic deletion. | |
Protected Attributes | |
| std::shared_ptr< LikelihoodContext > | ctx |
| Shared statistical context used by the likelihood. | |
| ModelFn | model |
| Model function evaluated by the likelihood. | |
| std::size_t | p_dim |
| Dimension of the fitted-parameter block. | |
| bool | debug_trace_enabled_ = false |
| Whether evaluation debug tracing is enabled. | |
| std::size_t | debug_trace_max_evals_ = 0 |
| Maximum number of traced evaluations. | |
| std::size_t | debug_eval_count_ = 0 |
| Number of evaluations already traced. | |
| bool | debug_have_ref_theta_ = false |
| Whether the debug reference parameter vector is set. | |
| bool | debug_have_ref_res_ = false |
| Whether the debug reference residual vector is set. | |
| std::vector< double > | debug_ref_theta_ |
| First traced parameter vector used as debug reference. | |
| std::vector< double > | debug_ref_res_ |
| First traced residual vector used as debug reference. | |
Default implementation of a profileable negative log-likelihood.
BaseLikelihood evaluates
![\[
-\log L(p, \eta)
= -\left[\log f_{obs}(m(p,\eta) - y_{obs})
+ \log f_{nuis}(\eta)\right],
\]](form_48.png)
where 

The class also exposes diagnostic helpers for profiling workflows, including central values, split-parameter evaluation, residual computation and local curvature matrices.
Definition at line 75 of file BaseLikelihood.h.
| BaseLikelihood::BaseLikelihood | ( | const ModelFn & | model, |
| std::shared_ptr< LikelihoodContext > | ctx, | ||
| size_t | p_dim | ||
| ) |
Constructs a likelihood from a model and statistical context.
| model | Model function used to compute observable predictions. |
| ctx | Shared likelihood context containing distributions and parameter definitions. |
| p_dim | Dimension of the fitted-parameter block ![]() |
Definition at line 3 of file BaseLikelihood.cpp.
|
overridevirtual |
Returns the central values of the nuisance parameters.

Implements IProfileableLikelihood.
Definition at line 137 of file BaseLikelihood.cpp.
|
overridevirtual |
Returns the central values of the fitted parameters.

Implements IProfileableLikelihood.
Definition at line 126 of file BaseLikelihood.cpp.
|
overridevirtual |
Returns the total likelihood dimension.
Implements ILikelihood.
Reimplemented in ChiSquaredLikelihood.
Definition at line 114 of file BaseLikelihood.cpp.
|
inline |
Disables debug tracing of likelihood evaluations.
Definition at line 144 of file BaseLikelihood.h.
|
inline |
Enables debug tracing for likelihood evaluations.
When enabled, the first max_evals evaluations print diagnostic information such as the negative log-likelihood value, observable and nuisance log-density terms, and maximum shifts relative to the first traced point.
| max_evals | Maximum number of evaluations to print. |
Definition at line 131 of file BaseLikelihood.h.
|
overridevirtual |
Returns the dimension of the nuisance-parameter block.

Implements IProfileableLikelihood.
Definition at line 122 of file BaseLikelihood.cpp.
|
inlineoverridevirtual |
Returns all parameter definitions in likelihood-vector order.
The returned list contains fitted-parameter definitions first, followed by nuisance-parameter definitions.
Implements ILikelihood.
Definition at line 108 of file BaseLikelihood.h.
|
overridevirtual |
Evaluates the negative log-likelihood for a full parameter vector.
The input vector is split as 
| theta | Full parameter vector ordered as fitted parameters followed by nuisance parameters. |
Implements ILikelihood.
Reimplemented in ChiSquaredLikelihood.
Definition at line 68 of file BaseLikelihood.cpp.
|
overridevirtual |
Implements IProfileableLikelihood.
Definition at line 172 of file BaseLikelihood.cpp.
|
overridevirtual |
Implements IProfileableLikelihood.
Reimplemented in ChiSquaredLikelihood.
Definition at line 206 of file BaseLikelihood.cpp.
|
overridevirtual |
Implements IProfileableLikelihood.
Reimplemented in ChiSquaredLikelihood.
Definition at line 184 of file BaseLikelihood.cpp.
|
overridevirtual |
Returns the dimension of the fitted-parameter block.

Implements IProfileableLikelihood.
Definition at line 118 of file BaseLikelihood.cpp.
|
overridevirtual |
Implements IProfileableLikelihood.
Definition at line 148 of file BaseLikelihood.cpp.
|
overridevirtual |
Implements IProfileableLikelihood.
Definition at line 155 of file BaseLikelihood.cpp.
|
protected |
Shared statistical context used by the likelihood.
Definition at line 189 of file BaseLikelihood.h.
|
mutableprotected |
Number of evaluations already traced.
Definition at line 195 of file BaseLikelihood.h.
|
mutableprotected |
Whether the debug reference residual vector is set.
Definition at line 198 of file BaseLikelihood.h.
|
mutableprotected |
Whether the debug reference parameter vector is set.
Definition at line 197 of file BaseLikelihood.h.
|
mutableprotected |
First traced residual vector used as debug reference.
Definition at line 200 of file BaseLikelihood.h.
|
mutableprotected |
First traced parameter vector used as debug reference.
Definition at line 199 of file BaseLikelihood.h.
|
mutableprotected |
Whether evaluation debug tracing is enabled.
Definition at line 193 of file BaseLikelihood.h.
|
mutableprotected |
Maximum number of traced evaluations.
Definition at line 194 of file BaseLikelihood.h.
|
protected |
Model function evaluated by the likelihood.
Definition at line 190 of file BaseLikelihood.h.
|
protected |
Dimension of the fitted-parameter block.
Definition at line 191 of file BaseLikelihood.h.