Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
IProfilingStrategy.h
Go to the documentation of this file.
1#ifndef IPROFILINGSTRATEGY_H
2#define IPROFILINGSTRATEGY_H
3
4#include "Profiler.h"
5
30struct FitResult {
31 std::vector<double> p_hat;
32 std::vector<double> eta_hat;
33 std::vector<double> p_hat_std;
35 double ell_hat {0.0};
36};
37
47public:
55 IProfilingStrategy(std::size_t x_id, std::size_t y_id, const FitResult& fr);
56
60 virtual ~IProfilingStrategy() = default;
61
76 double px,
77 double py,
78 const std::map<std::size_t, double>& current_argmin
79 ) const = 0;
80
86 virtual std::map<std::size_t, double> init_warm_start() const = 0;
87
93 std::size_t get_x_id() { return x_id; };
94
100 std::size_t get_y_id() { return y_id; };
101
102protected:
103 std::size_t x_id, y_id;
105};
106
116public:
124 SliceProfilingStrategy(std::size_t x_id, std::size_t y_id, const FitResult& fr) : IProfilingStrategy(x_id, y_id, fr) {}
125
130 double px,
131 double py,
132 const std::map<std::size_t, double>& current_argmin
133 ) const override;
134
138 std::map<std::size_t, double> init_warm_start() const override;
139};
140
150public:
159
164 double px,
165 double py,
166 const std::map<std::size_t, double>& current_argmin
167 ) const override;
168
172 std::map<std::size_t, double> init_warm_start() const override;
173};
174
175#endif // IPROFILINGSTRATEGY_H
Generic likelihood profiling engine.
Interface for converting 2D scan coordinates into profiler requests.
virtual std::map< std::size_t, double > init_warm_start() const =0
Creates the initial warm-start map for the strategy.
FitResult fr
Reference global fit used for central values and warm starts.
std::size_t get_y_id()
Returns the global index of the second scanned coordinate.
std::size_t y_id
Global indices of the two profiled scan coordinates.
virtual ProfileRequest build_request(double px, double py, const std::map< std::size_t, double > &current_argmin) const =0
Builds a profiler request for one 2D scan point.
std::size_t get_x_id()
Returns the global index of the first scanned coordinate.
virtual ~IProfilingStrategy()=default
Virtual destructor.
Builds projection-profile requests with all non-scanned dimensions free.
std::map< std::size_t, double > init_warm_start() const override
Creates the initial warm-start map for the strategy.
ProjectionProfilingStrategy(std::size_t x_id, std::size_t y_id, const FitResult &fr)
Constructs a projection profiling strategy.
ProfileRequest build_request(double px, double py, const std::map< std::size_t, double > &current_argmin) const override
Builds a profiler request for one 2D scan point.
Builds slice-profile requests with fixed parameters of interest.
std::map< std::size_t, double > init_warm_start() const override
Creates the initial warm-start map for the strategy.
ProfileRequest build_request(double px, double py, const std::map< std::size_t, double > &current_argmin) const override
Builds a profiler request for one 2D scan point.
SliceProfilingStrategy(std::size_t x_id, std::size_t y_id, const FitResult &fr)
Constructs a slice profiling strategy.
Summary of a global likelihood fit.
std::vector< double > p_hat_std
Standard deviations of the parameters of interest.
std::vector< double > eta_hat
Nuisance estimates at the global maximum-likelihood point.
std::vector< double > p_hat
Maximum-likelihood estimates for parameters of interest.
RealMatrix p_hat_correlations
Correlation matrix for the parameters of interest.
double ell_hat
Minimum NLL value at the global best-fit point.
Input specification for a constrained profile minimization.
Definition Profiler.h:38