Logo ROOT   6.10/09
Reference Guide
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
ROOT::Fit::FitResult Class Reference

class containg the result of the fit and all the related information (fitted parameter values, error, covariance matrix and minimizer result information) Contains a pointer also to the fitted (model) function, modified with the fit parameter values.

When the fit is valid, it is constructed from a Minimizer and a model function pointer

Definition at line 48 of file FitResult.h.

Public Types

typedef ROOT::Math::IParamMultiFunction IModelFunction
 

Public Member Functions

 FitResult ()
 Default constructor for an empty (non valid) fit result. More...
 
 FitResult (const FitConfig &fconfig)
 Constructor from a fit-config for a dummy fit (e.g. More...
 
 FitResult (const FitResult &rhs)
 Copy constructor. More...
 
virtual ~FitResult ()
 Destructor. More...
 
double Chi2 () const
 Chi2 fit value in case of likelihood must be computed ? More...
 
double Correlation (unsigned int i, unsigned int j) const
 retrieve correlation elements More...
 
double CovMatrix (unsigned int i, unsigned int j) const
 retrieve covariance matrix element More...
 
int CovMatrixStatus () const
 covariance matrix status code using Minuit convention : =0 not calculated, =1 approximated, =2 made pos def , =3 accurate More...
 
double Edm () const
 Expected distance from minimum. More...
 
double Error (unsigned int i) const
 parameter error by index More...
 
const std::vector< double > & Errors () const
 parameter errors (return st::vector) More...
 
void FillResult (const std::shared_ptr< ROOT::Math::Minimizer > &min, const FitConfig &fconfig, const std::shared_ptr< IModelFunction > &f, bool isValid, unsigned int sizeOfData=0, bool binFit=true, const ROOT::Math::IMultiGenFunction *chi2func=0, unsigned int ncalls=0)
 Fill the fit result from a Minimizer instance after fitting Run also Minos if requested from the configuration. More...
 
const BinDataFittedBinData () const
 return BinData used in the fit (return a nullptr in case a different fit is done or the data are not available Pointer is managed internally, it must not be deleted More...
 
const IModelFunctionFittedFunction () const
 fitting quantities More...
 
void GetConfidenceIntervals (unsigned int n, unsigned int stride1, unsigned int stride2, const double *x, double *ci, double cl=0.95, bool norm=true) const
 get confidence intervals for an array of n points x. More...
 
void GetConfidenceIntervals (const BinData &data, double *ci, double cl=0.95, bool norm=true) const
 evaluate confidence interval for the point specified in the passed data sets the confidence interval are returned in the array ci cl is the desired confidence interval value. More...
 
std::vector< double > GetConfidenceIntervals (double cl=0.95, bool norm=true) const
 evaluate confidence interval for the data set used in the last fit the confidence interval are returned as a vector of data points More...
 
template<class Matrix >
void GetCorrelationMatrix (Matrix &mat) const
 fill a correlation matrix elements using a generic symmetric matrix class implementing operator(i,j) the matrix must be previously allocates with right size (npar * npar) More...
 
template<class Matrix >
void GetCovarianceMatrix (Matrix &mat) const
 fill covariance matrix elements using a generic matrix class implementing operator(i,j) the matrix must be previously allocates with right size (npar * npar) More...
 
const double * GetErrors () const
 parameter errors (return const pointer) More...
 
std::string GetParameterName (unsigned int ipar) const
 get name of parameter (deprecated) More...
 
const double * GetParams () const
 parameter values (return const pointer) More...
 
double GlobalCC (unsigned int i) const
 parameter global correlation coefficient More...
 
bool HasMinosError (unsigned int i) const
 query if parameter i has the Minos error More...
 
int Index (const std::string &name) const
 get index for parameter name (return -1 if not found) More...
 
bool IsEmpty () const
 True if a fit result does not exist (even invalid) with parameter values. More...
 
bool IsParameterBound (unsigned int ipar) const
 query if a parameter is bound More...
 
bool IsParameterFixed (unsigned int ipar) const
 query if a parameter is fixed More...
 
bool IsValid () const
 True if fit successful, otherwise false. More...
 
double LowerError (unsigned int i) const
 lower Minos error. If Minos has not run for parameter i return the parabolic error More...
 
double MinFcnValue () const
 Return value of the objective function (chi2 or likelihood) used in the fit. More...
 
const std::string & MinimizerType () const
 minimization quantities More...
 
unsigned int NCalls () const
 Number of function calls to find minimum. More...
 
unsigned int Ndf () const
 Number of degree of freedom. More...
 
unsigned int NFreeParameters () const
 get total number of free parameters More...
 
bool NormalizedErrors () const
 flag to chek if errors are normalized More...
 
void NormalizeErrors ()
 normalize errors using chi2/ndf for chi2 fits More...
 
unsigned int NPar () const
 total number of parameters (abbreviation) More...
 
unsigned int NTotalParameters () const
 get total number of parameters More...
 
FitResultoperator= (const FitResult &rhs)
 Assignment operator. More...
 
double Parameter (unsigned int i) const
 parameter value by index More...
 
bool ParameterBounds (unsigned int ipar, double &lower, double &upper) const
 retrieve parameter bounds - return false if parameter is not bound More...
 
const std::vector< double > & Parameters () const
 parameter values (return std::vector) More...
 
double ParError (unsigned int i) const
 parameter error by index More...
 
std::string ParName (unsigned int i) const
 name of the parameter More...
 
void Print (std::ostream &os, bool covmat=false) const
 print the result and optionaly covariance matrix and correlations More...
 
void PrintCovMatrix (std::ostream &os) const
 print error matrix and correlations More...
 
double Prob () const
 p value of the fit (chi2 probability) More...
 
void SetMinosError (unsigned int i, double elow, double eup)
 set the Minos errors for parameter i (called by the Fitter class when running Minos) More...
 
int Status () const
 minimizer status code More...
 
bool Update (const std::shared_ptr< ROOT::Math::Minimizer > &min, bool isValid, unsigned int ncalls=0)
 Update the fit result with a new minimization status To be run only if same fit is performed with same configuration Note that in this case MINOS is not re-run. More...
 
double UpperError (unsigned int i) const
 upper Minos error. If Minos has not run for parameter i return the parabolic error More...
 
double Value (unsigned int i) const
 parameter value by index More...
 

Protected Member Functions

std::shared_ptr< IModelFunctionModelFunction ()
 Return pointer non const pointer to model (fit) function with fitted parameter values. More...
 
void SetModelFunction (const std::shared_ptr< IModelFunction > &func)
 

Protected Attributes

std::map< unsigned int, unsigned int > fBoundParams
 
double fChi2
 
std::vector< double > fCovMatrix
 
int fCovStatus
 
double fEdm
 
std::vector< double > fErrors
 
std::shared_ptr< FitDatafFitData
 model function resulting from the fit. More...
 
std::shared_ptr< IModelFunctionfFitFunc
 objective function used for fitting More...
 
std::map< unsigned int, bool > fFixedParams
 data set used in the fit More...
 
std::vector< double > fGlobalCC
 
std::shared_ptr< ROOT::Math::MinimizerfMinimizer
 
std::string fMinimType
 
std::map< unsigned int, std::pair< double, double > > fMinosErrors
 
unsigned int fNCalls
 
unsigned int fNdf
 
unsigned int fNFree
 
bool fNormalized
 
std::shared_ptr< ROOT::Math::IMultiGenFunctionfObjFunc
 minimizer object used for fitting More...
 
std::vector< std::pair< double, double > > fParamBounds
 
std::vector< double > fParams
 
std::vector< std::string > fParNames
 
int fStatus
 
double fVal
 
bool fValid
 

Friends

class Fitter
 

#include <Fit/FitResult.h>

Inheritance diagram for ROOT::Fit::FitResult:
[legend]

Member Typedef Documentation

◆ IModelFunction

Definition at line 52 of file FitResult.h.

Constructor & Destructor Documentation

◆ FitResult() [1/3]

ROOT::Fit::FitResult::FitResult ( )

Default constructor for an empty (non valid) fit result.

Definition at line 45 of file FitResult.cxx.

◆ FitResult() [2/3]

ROOT::Fit::FitResult::FitResult ( const FitConfig fconfig)

Constructor from a fit-config for a dummy fit (e.g.

when only one fcn evaluation is done)

Definition at line 52 of file FitResult.cxx.

◆ FitResult() [3/3]

ROOT::Fit::FitResult::FitResult ( const FitResult rhs)

Copy constructor.

Definition at line 241 of file FitResult.cxx.

◆ ~FitResult()

ROOT::Fit::FitResult::~FitResult ( )
virtual

Destructor.

Definition at line 236 of file FitResult.cxx.

Member Function Documentation

◆ Chi2()

double ROOT::Fit::FitResult::Chi2 ( ) const
inline

Chi2 fit value in case of likelihood must be computed ?

Definition at line 161 of file FitResult.h.

◆ Correlation()

double ROOT::Fit::FitResult::Correlation ( unsigned int  i,
unsigned int  j 
) const
inline

retrieve correlation elements

Definition at line 227 of file FitResult.h.

◆ CovMatrix()

double ROOT::Fit::FitResult::CovMatrix ( unsigned int  i,
unsigned int  j 
) const
inline

retrieve covariance matrix element

Definition at line 217 of file FitResult.h.

◆ CovMatrixStatus()

int ROOT::Fit::FitResult::CovMatrixStatus ( ) const
inline

covariance matrix status code using Minuit convention : =0 not calculated, =1 approximated, =2 made pos def , =3 accurate

Definition at line 143 of file FitResult.h.

◆ Edm()

double ROOT::Fit::FitResult::Edm ( ) const
inline

Expected distance from minimum.

Definition at line 127 of file FitResult.h.

◆ Error()

double ROOT::Fit::FitResult::Error ( unsigned int  i) const
inline

parameter error by index

Definition at line 187 of file FitResult.h.

◆ Errors()

const std::vector<double>& ROOT::Fit::FitResult::Errors ( ) const
inline

parameter errors (return st::vector)

Definition at line 170 of file FitResult.h.

◆ FillResult()

void ROOT::Fit::FitResult::FillResult ( const std::shared_ptr< ROOT::Math::Minimizer > &  min,
const FitConfig fconfig,
const std::shared_ptr< IModelFunction > &  f,
bool  isValid,
unsigned int  sizeOfData = 0,
bool  binFit = true,
const ROOT::Math::IMultiGenFunction chi2func = 0,
unsigned int  ncalls = 0 
)

Fill the fit result from a Minimizer instance after fitting Run also Minos if requested from the configuration.

Definition at line 100 of file FitResult.cxx.

◆ FittedBinData()

const BinData * ROOT::Fit::FitResult::FittedBinData ( ) const

return BinData used in the fit (return a nullptr in case a different fit is done or the data are not available Pointer is managed internally, it must not be deleted

Definition at line 679 of file FitResult.cxx.

◆ FittedFunction()

const IModelFunction* ROOT::Fit::FitResult::FittedFunction ( ) const
inline

fitting quantities

Return pointer to model (fit) function with fitted parameter values. Pointer is managed internally. I must not be deleted

Definition at line 149 of file FitResult.h.

◆ GetConfidenceIntervals() [1/3]

void ROOT::Fit::FitResult::GetConfidenceIntervals ( unsigned int  n,
unsigned int  stride1,
unsigned int  stride2,
const double *  x,
double *  ci,
double  cl = 0.95,
bool  norm = true 
) const

get confidence intervals for an array of n points x.

stride1 indicates the stride in the coordinate space while stride2 the stride in dimension space. For 1-dim points : stride1=1, stride2=1 for multi-dim points arranged as (x0,x1,...,xN,y0,....yN) stride1=1 stride2=n for multi-dim points arraged as (x0,y0,..,x1,y1,...,xN,yN,..) stride1=ndim, stride2=1

the confidence interval are returned in the array ci cl is the desired confidedence interval value norm is a flag to control if the intervals need to be normalized to the chi2/ndf value By default the intervals are corrected using the chi2/ndf value of the fit if a chi2 fit is performed

Definition at line 560 of file FitResult.cxx.

◆ GetConfidenceIntervals() [2/3]

void ROOT::Fit::FitResult::GetConfidenceIntervals ( const BinData data,
double *  ci,
double  cl = 0.95,
bool  norm = true 
) const

evaluate confidence interval for the point specified in the passed data sets the confidence interval are returned in the array ci cl is the desired confidence interval value.

This method is mantained for backward compatibility and will be deprecated

Definition at line 631 of file FitResult.cxx.

◆ GetConfidenceIntervals() [3/3]

std::vector< double > ROOT::Fit::FitResult::GetConfidenceIntervals ( double  cl = 0.95,
bool  norm = true 
) const

evaluate confidence interval for the data set used in the last fit the confidence interval are returned as a vector of data points

Definition at line 647 of file FitResult.cxx.

◆ GetCorrelationMatrix()

template<class Matrix >
void ROOT::Fit::FitResult::GetCorrelationMatrix ( Matrix &  mat) const
inline

fill a correlation matrix elements using a generic symmetric matrix class implementing operator(i,j) the matrix must be previously allocates with right size (npar * npar)

Definition at line 251 of file FitResult.h.

◆ GetCovarianceMatrix()

template<class Matrix >
void ROOT::Fit::FitResult::GetCovarianceMatrix ( Matrix &  mat) const
inline

fill covariance matrix elements using a generic matrix class implementing operator(i,j) the matrix must be previously allocates with right size (npar * npar)

Definition at line 237 of file FitResult.h.

◆ GetErrors()

const double* ROOT::Fit::FitResult::GetErrors ( ) const
inline

parameter errors (return const pointer)

Definition at line 172 of file FitResult.h.

◆ GetParameterName()

std::string ROOT::Fit::FitResult::GetParameterName ( unsigned int  ipar) const
inline

get name of parameter (deprecated)

Definition at line 319 of file FitResult.h.

◆ GetParams()

const double* ROOT::Fit::FitResult::GetParams ( ) const
inline

parameter values (return const pointer)

Definition at line 177 of file FitResult.h.

◆ GlobalCC()

double ROOT::Fit::FitResult::GlobalCC ( unsigned int  i) const
inline

parameter global correlation coefficient

Definition at line 211 of file FitResult.h.

◆ HasMinosError()

bool ROOT::Fit::FitResult::HasMinosError ( unsigned int  i) const

query if parameter i has the Minos error

Definition at line 382 of file FitResult.cxx.

◆ Index()

int ROOT::Fit::FitResult::Index ( const std::string &  name) const

get index for parameter name (return -1 if not found)

Definition at line 408 of file FitResult.cxx.

◆ IsEmpty()

bool ROOT::Fit::FitResult::IsEmpty ( ) const
inline

True if a fit result does not exist (even invalid) with parameter values.

Definition at line 118 of file FitResult.h.

◆ IsParameterBound()

bool ROOT::Fit::FitResult::IsParameterBound ( unsigned int  ipar) const

query if a parameter is bound

Definition at line 418 of file FitResult.cxx.

◆ IsParameterFixed()

bool ROOT::Fit::FitResult::IsParameterFixed ( unsigned int  ipar) const

query if a parameter is fixed

Definition at line 422 of file FitResult.cxx.

◆ IsValid()

bool ROOT::Fit::FitResult::IsValid ( ) const
inline

True if fit successful, otherwise false.

A fit is considered successful if the minimizer succeded in finding the minimum. It could happen that subsequent operations like error analysis (e.g. Minos) failed. In that case the status can be still true if the original minimization algorithm succeeded in finding the minimum. One can query in that case the minimizer return status using Status(). It is responability to the Minimizer class to tag a found minimum as valid or not and to produce also a status code.

Definition at line 115 of file FitResult.h.

◆ LowerError()

double ROOT::Fit::FitResult::LowerError ( unsigned int  i) const

lower Minos error. If Minos has not run for parameter i return the parabolic error

Definition at line 389 of file FitResult.cxx.

◆ MinFcnValue()

double ROOT::Fit::FitResult::MinFcnValue ( ) const
inline

Return value of the objective function (chi2 or likelihood) used in the fit.

Definition at line 121 of file FitResult.h.

◆ MinimizerType()

const std::string& ROOT::Fit::FitResult::MinimizerType ( ) const
inline

minimization quantities

minimizer type

Definition at line 103 of file FitResult.h.

◆ ModelFunction()

std::shared_ptr<IModelFunction> ROOT::Fit::FitResult::ModelFunction ( )
inlineprotected

Return pointer non const pointer to model (fit) function with fitted parameter values.

used by Fitter class

Definition at line 329 of file FitResult.h.

◆ NCalls()

unsigned int ROOT::Fit::FitResult::NCalls ( ) const
inline

Number of function calls to find minimum.

Definition at line 124 of file FitResult.h.

◆ Ndf()

unsigned int ROOT::Fit::FitResult::Ndf ( ) const
inline

Number of degree of freedom.

Definition at line 164 of file FitResult.h.

◆ NFreeParameters()

unsigned int ROOT::Fit::FitResult::NFreeParameters ( ) const
inline

get total number of free parameters

Definition at line 135 of file FitResult.h.

◆ NormalizedErrors()

bool ROOT::Fit::FitResult::NormalizedErrors ( ) const
inline

flag to chek if errors are normalized

Definition at line 300 of file FitResult.h.

◆ NormalizeErrors()

void ROOT::Fit::FitResult::NormalizeErrors ( )

normalize errors using chi2/ndf for chi2 fits

Definition at line 363 of file FitResult.cxx.

◆ NPar()

unsigned int ROOT::Fit::FitResult::NPar ( ) const
inline

total number of parameters (abbreviation)

Definition at line 132 of file FitResult.h.

◆ NTotalParameters()

unsigned int ROOT::Fit::FitResult::NTotalParameters ( ) const
inline

get total number of parameters

Definition at line 130 of file FitResult.h.

◆ operator=()

FitResult & ROOT::Fit::FitResult::operator= ( const FitResult rhs)

Assignment operator.

Definition at line 248 of file FitResult.cxx.

◆ Parameter()

double ROOT::Fit::FitResult::Parameter ( unsigned int  i) const
inline

parameter value by index

Definition at line 182 of file FitResult.h.

◆ ParameterBounds()

bool ROOT::Fit::FitResult::ParameterBounds ( unsigned int  ipar,
double &  lower,
double &  upper 
) const

retrieve parameter bounds - return false if parameter is not bound

Definition at line 426 of file FitResult.cxx.

◆ Parameters()

const std::vector<double>& ROOT::Fit::FitResult::Parameters ( ) const
inline

parameter values (return std::vector)

Definition at line 175 of file FitResult.h.

◆ ParError()

double ROOT::Fit::FitResult::ParError ( unsigned int  i) const
inline

parameter error by index

Definition at line 191 of file FitResult.h.

◆ ParName()

std::string ROOT::Fit::FitResult::ParName ( unsigned int  i) const

name of the parameter

Definition at line 439 of file FitResult.cxx.

◆ Print()

void ROOT::Fit::FitResult::Print ( std::ostream &  os,
bool  covmat = false 
) const

print the result and optionaly covariance matrix and correlations

Definition at line 446 of file FitResult.cxx.

◆ PrintCovMatrix()

void ROOT::Fit::FitResult::PrintCovMatrix ( std::ostream &  os) const

print error matrix and correlations

Definition at line 501 of file FitResult.cxx.

◆ Prob()

double ROOT::Fit::FitResult::Prob ( ) const

p value of the fit (chi2 probability)

Definition at line 377 of file FitResult.cxx.

◆ SetMinosError()

void ROOT::Fit::FitResult::SetMinosError ( unsigned int  i,
double  elow,
double  eup 
)

set the Minos errors for parameter i (called by the Fitter class when running Minos)

Definition at line 403 of file FitResult.cxx.

◆ SetModelFunction()

void ROOT::Fit::FitResult::SetModelFunction ( const std::shared_ptr< IModelFunction > &  func)
inlineprotected

Definition at line 330 of file FitResult.h.

◆ Status()

int ROOT::Fit::FitResult::Status ( ) const
inline

minimizer status code

Definition at line 138 of file FitResult.h.

◆ Update()

bool ROOT::Fit::FitResult::Update ( const std::shared_ptr< ROOT::Math::Minimizer > &  min,
bool  isValid,
unsigned int  ncalls = 0 
)

Update the fit result with a new minimization status To be run only if same fit is performed with same configuration Note that in this case MINOS is not re-run.

If one wants to run also MINOS a new result must be created

Definition at line 291 of file FitResult.cxx.

◆ UpperError()

double ROOT::Fit::FitResult::UpperError ( unsigned int  i) const

upper Minos error. If Minos has not run for parameter i return the parabolic error

Definition at line 396 of file FitResult.cxx.

◆ Value()

double ROOT::Fit::FitResult::Value ( unsigned int  i) const
inline

parameter value by index

Definition at line 180 of file FitResult.h.

Friends And Related Function Documentation

◆ Fitter

friend class Fitter
friend

Definition at line 333 of file FitResult.h.

Member Data Documentation

◆ fBoundParams

std::map<unsigned int, unsigned int> ROOT::Fit::FitResult::fBoundParams
protected

Definition at line 351 of file FitResult.h.

◆ fChi2

double ROOT::Fit::FitResult::fChi2
protected

Definition at line 345 of file FitResult.h.

◆ fCovMatrix

std::vector<double> ROOT::Fit::FitResult::fCovMatrix
protected

Definition at line 355 of file FitResult.h.

◆ fCovStatus

int ROOT::Fit::FitResult::fCovStatus
protected

Definition at line 342 of file FitResult.h.

◆ fEdm

double ROOT::Fit::FitResult::fEdm
protected

Definition at line 344 of file FitResult.h.

◆ fErrors

std::vector<double> ROOT::Fit::FitResult::fErrors
protected

Definition at line 354 of file FitResult.h.

◆ fFitData

std::shared_ptr<FitData> ROOT::Fit::FitResult::fFitData
protected

model function resulting from the fit.

Definition at line 349 of file FitResult.h.

◆ fFitFunc

std::shared_ptr<IModelFunction> ROOT::Fit::FitResult::fFitFunc
protected

objective function used for fitting

Definition at line 348 of file FitResult.h.

◆ fFixedParams

std::map<unsigned int, bool> ROOT::Fit::FitResult::fFixedParams
protected

data set used in the fit

Definition at line 350 of file FitResult.h.

◆ fGlobalCC

std::vector<double> ROOT::Fit::FitResult::fGlobalCC
protected

Definition at line 356 of file FitResult.h.

◆ fMinimizer

std::shared_ptr<ROOT::Math::Minimizer> ROOT::Fit::FitResult::fMinimizer
protected

Definition at line 346 of file FitResult.h.

◆ fMinimType

std::string ROOT::Fit::FitResult::fMinimType
protected

Definition at line 358 of file FitResult.h.

◆ fMinosErrors

std::map<unsigned int, std::pair<double,double> > ROOT::Fit::FitResult::fMinosErrors
protected

Definition at line 357 of file FitResult.h.

◆ fNCalls

unsigned int ROOT::Fit::FitResult::fNCalls
protected

Definition at line 340 of file FitResult.h.

◆ fNdf

unsigned int ROOT::Fit::FitResult::fNdf
protected

Definition at line 339 of file FitResult.h.

◆ fNFree

unsigned int ROOT::Fit::FitResult::fNFree
protected

Definition at line 338 of file FitResult.h.

◆ fNormalized

bool ROOT::Fit::FitResult::fNormalized
protected

Definition at line 337 of file FitResult.h.

◆ fObjFunc

std::shared_ptr<ROOT::Math::IMultiGenFunction> ROOT::Fit::FitResult::fObjFunc
protected

minimizer object used for fitting

Definition at line 347 of file FitResult.h.

◆ fParamBounds

std::vector<std::pair<double,double> > ROOT::Fit::FitResult::fParamBounds
protected

Definition at line 352 of file FitResult.h.

◆ fParams

std::vector<double> ROOT::Fit::FitResult::fParams
protected

Definition at line 353 of file FitResult.h.

◆ fParNames

std::vector<std::string> ROOT::Fit::FitResult::fParNames
protected

Definition at line 359 of file FitResult.h.

◆ fStatus

int ROOT::Fit::FitResult::fStatus
protected

Definition at line 341 of file FitResult.h.

◆ fVal

double ROOT::Fit::FitResult::fVal
protected

Definition at line 343 of file FitResult.h.

◆ fValid

bool ROOT::Fit::FitResult::fValid
protected

Definition at line 336 of file FitResult.h.


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