4 : x_id(x_id), y_id(y_id), fr(fr)
10 const std::map<std::size_t, double>& current_argmin
12 const std::size_t dim_p =
fr.
p_hat.size();
13 const std::size_t dim_nuis =
fr.
eta_hat.size();
14 const std::size_t dim = dim_p + dim_nuis;
19 for (std::size_t i = 0; i < dim_p; ++i) {
21 if (i ==
x_id) val = px;
22 if (i ==
y_id) val = py;
27 for (std::size_t i = 0; i < dim_nuis; ++i) {
28 const std::size_t idx = dim_p + i;
31 auto it = current_argmin.find(idx);
32 if (it == current_argmin.end()) {
33 throw std::runtime_error(
"SliceProfilingStrategy: missing warm-start entry for nuisance index "
34 + std::to_string(idx));
36 pr.
start[idx] = it->second;
44 std::map<std::size_t, double> start;
45 const std::size_t dim_p =
fr.
p_hat.size();
46 const std::size_t dim_nuis =
fr.
eta_hat.size();
48 for (std::size_t i = 0; i < dim_nuis; ++i) {
58 const std::map<std::size_t, double>& current_argmin
60 const std::size_t dim_p =
fr.
p_hat.size();
61 const std::size_t dim_nuis =
fr.
eta_hat.size();
62 const std::size_t dim = dim_p + dim_nuis;
67 for (std::size_t i = 0; i < dim; ++i) {
71 }
else if (i ==
y_id) {
77 auto it = current_argmin.find(i);
78 if (it == current_argmin.end()) {
79 throw std::runtime_error(
"ProjectionProfilingStrategy: missing warm-start entry for free index "
82 pr.
start[i] = it->second;
90 std::map<std::size_t, double> start;
91 const std::size_t dim_p =
fr.
p_hat.size();
92 const std::size_t dim_nuis =
fr.
eta_hat.size();
94 for (std::size_t i = 0; i < dim_p + dim_nuis; ++i) {
Profiling strategies used to build two-dimensional likelihood scan requests.
IProfilingStrategy(std::size_t x_id, std::size_t y_id, const FitResult &fr)
Constructs a profiling strategy.
FitResult fr
Reference global fit used for central values and warm starts.
std::size_t y_id
Global indices of the two profiled scan coordinates.
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 > ¤t_argmin) const override
Builds a profiler request for one 2D scan point.
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 > ¤t_argmin) const override
Builds a profiler request for one 2D scan point.
Summary of a global likelihood fit.
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.
Input specification for a constrained profile minimization.
std::vector< std::size_t > free_params
Global indices of parameters released during profiling.
std::map< std::size_t, double > fixed_params
Fixed parameter values keyed by global parameter index.
std::vector< double > start
Initial full parameter vector used as a warm start.