Nanga Parbat 1.1.0
A TMD fitting framework
|
The "ChiSquare" class computes the χ2's given a set of "DataHandler" objects and the corresponding "ConvolutionTable" objects. The computation depends of the non-perturbative functions given as input. More...
#include <chisquare.h>
Public Member Functions | |
ChiSquare (std::vector< std::pair< DataHandler *, ConvolutionTable * > > DSVect, Parameterisation *NPFunc) | |
The "ChiSquare" constructor. More... | |
ChiSquare (Parameterisation *NPFunc) | |
The default "ChiSquare" constructor. More... | |
virtual void | AddBlock (std::pair< DataHandler *, ConvolutionTable * > DSBlock) |
Add ("DataHandler","ConvolutionTable") pair block to the "DSVect" vector. More... | |
std::vector< double > | GetResiduals (int const &ids, bool const ¢ral=false) const |
Function that returns the residuals of the χ2 deriving from the Cholesky decomposition of the covariance matrix. More... | |
std::vector< double > | GetResidualDerivatives (int const &ids, int const &ipar) const |
Function that returns the derivative of the residuals of the χ2 deriving from the Cholesky decomposition of the covariance matrix w.r.t. the "ipar"-th parameter. More... | |
std::pair< std::vector< double >, double > | GetSystematicShifts (int const &ids) const |
Function that returns the systematic shifts and the associated penalty term of the χ2. More... | |
double | Evaluate (int const &ids=-1, bool const ¢ral=false) const |
Function that evaluates the χ2's. More... | |
std::vector< double > | Derive () const |
Function that evaluates the (analytic) derivative of the χ2's w.r.t. the "ipar"-th parameter. More... | |
double | operator() (int const &ids=-1) |
Utility operator that shortcuts the Evaluate method. More... | |
virtual void | SetParameters (std::vector< double > const &pars) |
Function that sets the free parameters of the parameterisation. More... | |
std::vector< std::pair< DataHandler *, ConvolutionTable * > > | GetBlocks () const |
Function that returns the vector of ("DataHandler", "ConvolutionTable") object-pairs for all the datasets. More... | |
Parameterisation * | GetNonPerturbativeFunction () const |
Function that returns the "Parameterisation" object associated to this chisquare object. More... | |
std::vector< int > | GetDataPointNumbers () const |
Function that gets the number of data points that pass the qT / Q cut for each data set in the form of a vector of integers. More... | |
std::vector< int > | GetDataPointNumbersAfterCuts () const |
Function that gets the number of data points that pass all the cuts for each data set in the form of a vector of integers. More... | |
int | GetDataPointNumber () const |
Function that gets the number of data points that pass the qT / Q cut for the whole dataset. More... | |
int | GetDataPointNumberAfterCuts () const |
Function that gets the number of data points that pass all the cuts for the whole dataset. More... | |
int | GetNumberOfExperiments () const |
Function that returns the number of experiments. More... | |
int | GetNumberOfParameters () const |
Function that returns the number of parameters of the parameterisation objects. More... | |
std::vector< double > | GetParameters () const |
Function that returns the parameters of the parameterisation objects. More... | |
Protected Attributes | |
std::vector< std::pair< DataHandler *, ConvolutionTable * > > | _DSVect |
Vector of "DataHandler-ConvolutionTable" pairs. More... | |
Parameterisation * | _NPFunc |
Parameterisation of the non-perturbative component. More... | |
std::vector< int > | _ndata |
Vector constaining the number of data points per dataset that pass the qT/Q cut. More... | |
std::vector< int > | _ndatac |
Vector constaining the number of data points per dataset that pass all the cuts. More... | |
Friends | |
YAML::Emitter & | operator<< (YAML::Emitter &os, ChiSquare const &chi2) |
Method which prints ChiSquare feautures with cout <<. More... | |
The "ChiSquare" class computes the χ2's given a set of "DataHandler" objects and the corresponding "ConvolutionTable" objects. The computation depends of the non-perturbative functions given as input.
NangaParbat::ChiSquare::ChiSquare | ( | std::vector< std::pair< DataHandler *, ConvolutionTable * > > | DSVect, |
Parameterisation * | NPFunc | ||
) |
The "ChiSquare" constructor.
DSVect | vector of pairs of "DataHandler" and "ConvolutionTable" objects |
NPFunc | "Parameterisation" object containing the non-perturbative function(s) |
NangaParbat::ChiSquare::ChiSquare | ( | Parameterisation * | NPFunc | ) |
The default "ChiSquare" constructor.
NPFunc | "Parameterisation" object containing the non-perturbative function(s) |
|
virtual |
Add ("DataHandler","ConvolutionTable") pair block to the "DSVect" vector.
DSBlock | the ("DataHandler","ConvolutionTable")-pair block to be appended |
std::vector< double > NangaParbat::ChiSquare::Derive | ( | ) | const |
Function that evaluates the (analytic) derivative of the χ2's w.r.t. the "ipar"-th parameter.
double NangaParbat::ChiSquare::Evaluate | ( | int const & | ids = -1 , |
bool const & | central = false |
||
) | const |
Function that evaluates the χ2's.
ids | the dataset index (default: -1, the global χ2 is computed) |
central | if true, the χ2 is computed using the experimental central values rather than the fluctuated data (default: false) |
|
inline |
Function that returns the vector of ("DataHandler", "ConvolutionTable") object-pairs for all the datasets.
|
inline |
Function that gets the number of data points that pass the qT / Q cut for the whole dataset.
|
inline |
Function that gets the number of data points that pass all the cuts for the whole dataset.
|
inline |
Function that gets the number of data points that pass the qT / Q cut for each data set in the form of a vector of integers.
|
inline |
Function that gets the number of data points that pass all the cuts for each data set in the form of a vector of integers.
|
inline |
Function that returns the "Parameterisation" object associated to this chisquare object.
|
inline |
Function that returns the number of experiments.
|
inline |
Function that returns the number of parameters of the parameterisation objects.
|
inline |
Function that returns the parameters of the parameterisation objects.
std::vector< double > NangaParbat::ChiSquare::GetResidualDerivatives | ( | int const & | ids, |
int const & | ipar | ||
) | const |
Function that returns the derivative of the residuals of the χ2 deriving from the Cholesky decomposition of the covariance matrix w.r.t. the "ipar"-th parameter.
ids | the dataset index |
ipar | the parameter index |
std::vector< double > NangaParbat::ChiSquare::GetResiduals | ( | int const & | ids, |
bool const & | central = false |
||
) | const |
Function that returns the residuals of the χ2 deriving from the Cholesky decomposition of the covariance matrix.
ids | the dataset index |
central | if true, the residuals are computed using the experimental central values rather than the fluctuated data (default: false) |
std::pair< std::vector< double >, double > NangaParbat::ChiSquare::GetSystematicShifts | ( | int const & | ids | ) | const |
Function that returns the systematic shifts and the associated penalty term of the χ2.
ids | the dataset index |
|
inline |
Utility operator that shortcuts the Evaluate method.
|
inlinevirtual |
Function that sets the free parameters of the parameterisation.
pars | the vector of parameters |
|
friend |
Method which prints ChiSquare feautures with cout <<.
|
protected |
Vector of "DataHandler-ConvolutionTable" pairs.
|
protected |
Vector constaining the number of data points per dataset that pass the qT/Q cut.
|
protected |
Vector constaining the number of data points per dataset that pass all the cuts.
|
protected |
Parameterisation of the non-perturbative component.