Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Minuit2::FumiliStandardChi2FCN Class Reference

Class implementing the standard chi square function, which is the sum of the squares of the figures-of-merit calculated for each measurement point, the individual figures-of-merit being: (the Value predicted by the model-measured Value)/standard deviation.

Author
Andras Zsenei and Lorenzo Moneta, Creation date: 31 Aug 2004
See also
FumiliChi2FCN

Definition at line 43 of file FumiliStandardChi2FCN.h.

Public Member Functions

 FumiliStandardChi2FCN (const ParametricFunction &modelFCN, std::span< const double > meas, std::span< const double > pos, std::span< const double > mvar)
 Constructor which initializes chi square function for one-dimensional model function.
 
 FumiliStandardChi2FCN (const ParametricFunction &modelFCN, std::span< const double > meas, std::span< const std::vector< double > > pos, std::span< const double > mvar)
 Constructor which initializes the multi-dimensional model function.
 
std::vector< doubleElements (std::vector< double > const &par) const override
 Evaluates the model function for the different measurement points and the Parameter values supplied, calculates a figure-of-merit for each measurement and returns a vector containing the result of this evaluation.
 
void EvaluateAll (std::vector< double > const &par) override
 Evaluate function Value, Gradient and Hessian using Fumili approximation, for values of parameters p The result is cached inside and is return from the FumiliFCNBase::Value , FumiliFCNBase::Gradient and FumiliFCNBase::Hessian methods.
 
const std::vector< double > & GetMeasurement (int Index) const override
 Accessor to the position of the measurement (x coordinate).
 
int GetNumberOfMeasurements () const override
 Accessor to the number of measurements used for calculating the chi-square.
 
- Public Member Functions inherited from ROOT::Minuit2::FumiliChi2FCN
 FumiliChi2FCN ()
 
 ~FumiliChi2FCN () override
 
const ParametricFunctionModelFunction () const
 Returns the model function used for the data.
 
double operator() (std::vector< double > const &par) const override
 Calculates the sum of Elements squared, ie the chi-square.
 
void SetModelFunction (const ParametricFunction &modelFCN)
 Sets the model function for the data (for example gaussian+linear for a peak)
 
double Up () const override
 !!!!!!!!!!!! to be commented
 
- Public Member Functions inherited from ROOT::Minuit2::FumiliFCNBase
 FumiliFCNBase ()
 Default Constructor.
 
 FumiliFCNBase (unsigned int npar)
 Constructor which initializes the class with the function provided by the user for modeling the data.
 
 ~FumiliFCNBase () override
 
virtual unsigned int Dimension ()
 return number of function variable (parameters) , i.e.
 
virtual const std::vector< double > & Gradient () const
 Return cached Value of function Gradient estimated previously using the FumiliFCNBase::EvaluateAll method.
 
std::vector< doubleGradient (std::vector< double > const &) const override
 
bool HasGradient () const override
 
std::vector< doubleHessian (std::vector< double > const &) const override
 Return Value of the i-th j-th element of the Hessian matrix estimated previously using the FumiliFCNBase::EvaluateAll method.
 
virtual double Hessian (unsigned int row, unsigned int col) const
 
virtual double Value () const
 Return cached Value of objective function estimated previously using the FumiliFCNBase::EvaluateAll method.
 
- Public Member Functions inherited from ROOT::Minuit2::FCNBase
virtual double ErrorDef () const
 Error definition of the function.
 
virtual std::vector< doubleG2 (std::vector< double > const &) const
 return second derivatives (diagonal of the Hessian matrix)
 
virtual std::vector< doubleGradientWithPrevResult (std::vector< double > const &parameters, double *, double *, double *) const
 
virtual GradientParameterSpace gradParameterSpace () const
 
virtual bool HasG2 () const
 
virtual bool HasHessian () const
 
virtual void SetErrorDef (double)
 add interface to set dynamically a new error definition Re-implement this function if needed.
 
- Public Member Functions inherited from ROOT::Minuit2::GenericFunction
virtual ~GenericFunction ()
 

Private Attributes

std::vector< doublefInvErrors
 
std::vector< doublefMeasurements
 
std::vector< std::vector< double > > fPositions
 

Additional Inherited Members

- Protected Member Functions inherited from ROOT::Minuit2::FumiliFCNBase
std::vector< double > & Gradient ()
 
std::vector< double > & Hessian ()
 
virtual void InitAndReset (unsigned int npar)
 initialize and reset values of gradien and Hessian
 
void SetFCNValue (double value)
 

#include <Minuit2/FumiliStandardChi2FCN.h>

Inheritance diagram for ROOT::Minuit2::FumiliStandardChi2FCN:
[legend]

Constructor & Destructor Documentation

◆ FumiliStandardChi2FCN() [1/2]

ROOT::Minuit2::FumiliStandardChi2FCN::FumiliStandardChi2FCN ( const ParametricFunction modelFCN,
std::span< const double meas,
std::span< const double pos,
std::span< const double mvar 
)
inline

Constructor which initializes chi square function for one-dimensional model function.

Parameters
modelFCNthe model function used for describing the data.
measvector containing the measured values.
posvector containing the x values corresponding to the measurements
mvarvector containing the variances corresponding to each measurement (where the variance equals the standard deviation squared). If the variances are zero, a Value of 1 is used (as it is done in ROOT/PAW)

Definition at line 63 of file FumiliStandardChi2FCN.h.

◆ FumiliStandardChi2FCN() [2/2]

ROOT::Minuit2::FumiliStandardChi2FCN::FumiliStandardChi2FCN ( const ParametricFunction modelFCN,
std::span< const double meas,
std::span< const std::vector< double > >  pos,
std::span< const double mvar 
)
inline

Constructor which initializes the multi-dimensional model function.

Parameters
modelFCNthe model function used for describing the data.
measvector containing the measured values.
posvector containing the x values corresponding to the measurements
mvarvector containing the variances corresponding to each measurement (where the variance equals the standard deviation squared). If the variances are zero, a Value of 1 is used (as it is done in ROOT/PAW)

Definition at line 104 of file FumiliStandardChi2FCN.h.

Member Function Documentation

◆ Elements()

std::vector< double > ROOT::Minuit2::FumiliStandardChi2FCN::Elements ( std::vector< double > const &  par) const
overridevirtual

Evaluates the model function for the different measurement points and the Parameter values supplied, calculates a figure-of-merit for each measurement and returns a vector containing the result of this evaluation.

The figure-of-merit is (Value predicted by the model function-measured Value)/standard deviation.

Parameters
parvector of Parameter values to feed to the model function.
Returns
A vector containing the figures-of-merit for the model function evaluated for each set of measurements.

Implements ROOT::Minuit2::FumiliChi2FCN.

Definition at line 19 of file FumiliStandardChi2FCN.cxx.

◆ EvaluateAll()

void ROOT::Minuit2::FumiliStandardChi2FCN::EvaluateAll ( std::vector< double > const &  par)
overridevirtual

Evaluate function Value, Gradient and Hessian using Fumili approximation, for values of parameters p The result is cached inside and is return from the FumiliFCNBase::Value , FumiliFCNBase::Gradient and FumiliFCNBase::Hessian methods.

Parameters
parvector of parameters

Implements ROOT::Minuit2::FumiliFCNBase.

Definition at line 57 of file FumiliStandardChi2FCN.cxx.

◆ GetMeasurement()

const std::vector< double > & ROOT::Minuit2::FumiliStandardChi2FCN::GetMeasurement ( int  Index) const
overridevirtual

Accessor to the position of the measurement (x coordinate).

Parameters
IndexIndex of the measuerement the position of which to return.
Returns
the position of the measurement.

Implements ROOT::Minuit2::FumiliChi2FCN.

Definition at line 45 of file FumiliStandardChi2FCN.cxx.

◆ GetNumberOfMeasurements()

int ROOT::Minuit2::FumiliStandardChi2FCN::GetNumberOfMeasurements ( ) const
overridevirtual

Accessor to the number of measurements used for calculating the chi-square.

Returns
the number of measurements.

Implements ROOT::Minuit2::FumiliChi2FCN.

Definition at line 51 of file FumiliStandardChi2FCN.cxx.

Member Data Documentation

◆ fInvErrors

std::vector<double> ROOT::Minuit2::FumiliStandardChi2FCN::fInvErrors
private

Definition at line 183 of file FumiliStandardChi2FCN.h.

◆ fMeasurements

std::vector<double> ROOT::Minuit2::FumiliStandardChi2FCN::fMeasurements
private

Definition at line 180 of file FumiliStandardChi2FCN.h.

◆ fPositions

std::vector<std::vector<double> > ROOT::Minuit2::FumiliStandardChi2FCN::fPositions
private

Definition at line 182 of file FumiliStandardChi2FCN.h.

Libraries for ROOT::Minuit2::FumiliStandardChi2FCN:

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