Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
IProfilingStrategy Class Referenceabstract

Interface for converting 2D scan coordinates into profiler requests. More...

#include <IProfilingStrategy.h>

Inheritance diagram for IProfilingStrategy:
Collaboration diagram for IProfilingStrategy:

Public Member Functions

 IProfilingStrategy (std::size_t x_id, std::size_t y_id, const FitResult &fr)
 Constructs a profiling strategy.
 
virtual ~IProfilingStrategy ()=default
 Virtual destructor.
 
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.
 
virtual std::map< std::size_t, double > init_warm_start () const =0
 Creates the initial warm-start map for the strategy.
 
std::size_t get_x_id ()
 Returns the global index of the first scanned coordinate.
 
std::size_t get_y_id ()
 Returns the global index of the second scanned coordinate.
 

Protected Attributes

std::size_t x_id
 
std::size_t y_id
 Global indices of the two profiled scan coordinates.
 
FitResult fr
 Reference global fit used for central values and warm starts.
 

Detailed Description

Interface for converting 2D scan coordinates into profiler requests.

A profiling strategy owns the indices of the two coordinates to scan and a reference fit result. Concrete strategies decide which remaining parameters are fixed or released when building a ProfileRequest.

Definition at line 46 of file IProfilingStrategy.h.

Constructor & Destructor Documentation

◆ IProfilingStrategy()

IProfilingStrategy::IProfilingStrategy ( std::size_t  x_id,
std::size_t  y_id,
const FitResult fr 
)

Constructs a profiling strategy.

Parameters
x_idGlobal parameter index used as the first scan coordinate.
y_idGlobal parameter index used as the second scan coordinate.
frReference global fit result used for central values and warm starts.

Definition at line 3 of file IProfilingStrategy.cpp.

◆ ~IProfilingStrategy()

virtual IProfilingStrategy::~IProfilingStrategy ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ build_request()

virtual ProfileRequest IProfilingStrategy::build_request ( double  px,
double  py,
const std::map< std::size_t, double > &  current_argmin 
) const
pure virtual

Builds a profiler request for one 2D scan point.

Parameters
pxValue assigned to the first scanned coordinate.
pyValue assigned to the second scanned coordinate.
current_argminWarm-start map from free parameter indices to their last profiled values.
Returns
Fully specified profiling request with fixed parameters, free parameters and starting values.
Exceptions
std::runtime_errorif required warm-start values are missing.

Implemented in SliceProfilingStrategy, and ProjectionProfilingStrategy.

◆ get_x_id()

std::size_t IProfilingStrategy::get_x_id ( )
inline

Returns the global index of the first scanned coordinate.

Returns
First scan-coordinate index.

Definition at line 93 of file IProfilingStrategy.h.

◆ get_y_id()

std::size_t IProfilingStrategy::get_y_id ( )
inline

Returns the global index of the second scanned coordinate.

Returns
Second scan-coordinate index.

Definition at line 100 of file IProfilingStrategy.h.

◆ init_warm_start()

virtual std::map< std::size_t, double > IProfilingStrategy::init_warm_start ( ) const
pure virtual

Creates the initial warm-start map for the strategy.

Returns
Map from free parameter indices to their initial values.

Implemented in SliceProfilingStrategy, and ProjectionProfilingStrategy.

Member Data Documentation

◆ fr

FitResult IProfilingStrategy::fr
protected

Reference global fit used for central values and warm starts.

Definition at line 104 of file IProfilingStrategy.h.

◆ x_id

std::size_t IProfilingStrategy::x_id
protected

Definition at line 103 of file IProfilingStrategy.h.

◆ y_id

std::size_t IProfilingStrategy::y_id
protected

Global indices of the two profiled scan coordinates.

Definition at line 103 of file IProfilingStrategy.h.


The documentation for this class was generated from the following files: