ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
ROOT::Fit::Fitter Class Reference

Fitter class, entry point for performing all type of fits.

Fits are performed using the generic ROOT::Fit::Fitter::Fit method. The inputs are the data points and a model function (using a ROOT::Math::IParamFunction) The result of the fit is returned and kept internally in the ROOT::Fit::FitResult class. The configuration of the fit (parameters, options, etc...) are specified in the ROOT::Math::FitConfig class. After fitting the config of the fit will be modified to have the new values the resulting parameter of the fit with step sizes equal to the errors. FitConfig can be preserved with initial parameters by calling FitConfig.SetUpdateAfterFit(false);

Definition at line 94 of file Fitter.h.

Public Types

typedef
ROOT::Math::IParamMultiFunction 
IModelFunction
 
typedef
ROOT::Math::IParamMultiGradFunction 
IGradModelFunction
 
typedef ROOT::Math::IParamFunction IModel1DFunction
 
typedef
ROOT::Math::IParamGradFunction 
IGradModel1DFunction
 
typedef
ROOT::Math::IMultiGenFunction 
BaseFunc
 
typedef
ROOT::Math::IMultiGradFunction 
BaseGradFunc
 
typedef void(* MinuitFCN_t )(int &npar, double *gin, double &f, double *u, int flag)
 fit using user provided FCN with Minuit-like interface If npar = 0 it is assumed that the parameters are specified in the parameter settings created before For the options same consideration as in the previous method More...
 

Public Member Functions

 Fitter ()
 Default constructor. More...
 
 Fitter (const std::shared_ptr< FitResult > &result)
 Constructor from a result. More...
 
 ~Fitter ()
 Destructor. More...
 
template<class Data , class Function >
bool Fit (const Data &data, const Function &func)
 fit a data set using any generic model function If data set is binned a least square fit is performed If data set is unbinned a maximum likelihood fit (not extended) is done Pre-requisite on the function: it must implement the 1D or multidimensional parametric function interface More...
 
bool Fit (const BinData &data)
 Fit a binned data set using a least square fit (default method) More...
 
bool Fit (const std::shared_ptr< BinData > &data)
 
bool LeastSquareFit (const BinData &data)
 Fit a binned data set using a least square fit. More...
 
bool Fit (const UnBinData &data, bool extended=false)
 fit an unbinned data set using loglikelihood method More...
 
bool LikelihoodFit (const BinData &data, bool extended=true)
 Binned Likelihood fit. More...
 
bool LikelihoodFit (const std::shared_ptr< BinData > &data, bool extended=true)
 
bool LikelihoodFit (const UnBinData &data, bool extended=false)
 Unbinned Likelihood fit. More...
 
bool LikelihoodFit (const std::shared_ptr< UnBinData > &data, bool extended=false)
 
template<class Data , class Function >
bool LikelihoodFit (const Data &data, const Function &func, bool extended)
 fit a data set using any generic model function Pre-requisite on the function: More...
 
bool LinearFit (const BinData &data)
 do a linear fit on a set of bin-data More...
 
bool LinearFit (const std::shared_ptr< BinData > &data)
 
template<class Function >
bool FitFCN (unsigned int npar, Function &fcn, const double *params=0, unsigned int dataSize=0, bool chi2fit=false)
 Fit using the a generic FCN function as a C++ callable object implementing double () (const double *) Note that the function dimension (i.e. More...
 
template<class Function >
bool SetFCN (unsigned int npar, Function &fcn, const double *params=0, unsigned int dataSize=0, bool chi2fit=false)
 Set a generic FCN function as a C++ callable object implementing double () (const double *) Note that the function dimension (i.e. More...
 
bool FitFCN (const ROOT::Math::IMultiGenFunction &fcn, const double *params=0, unsigned int dataSize=0, bool chi2fit=false)
 Fit using the given FCN function represented by a multi-dimensional function interface (ROOT::Math::IMultiGenFunction). More...
 
bool FitFCN (const ROOT::Math::FitMethodFunction &fcn, const double *params=0)
 Fit using a FitMethodFunction interface. More...
 
bool SetFCN (const ROOT::Math::IMultiGenFunction &fcn, const double *params=0, unsigned int dataSize=0, bool chi2fit=false)
 Set the FCN function represented by a multi-dimensional function interface (ROOT::Math::IMultiGenFunction) and optionally the initial parameters See also note above for the initial parameters for FitFCN. More...
 
bool SetFCN (const ROOT::Math::FitMethodFunction &fcn, const double *params=0)
 Set the objective function (FCN) using a FitMethodFunction interface. More...
 
bool FitFCN (const ROOT::Math::IMultiGradFunction &fcn, const double *params=0, unsigned int dataSize=0, bool chi2fit=false)
 Fit using the given FCN function representing a multi-dimensional gradient function interface (ROOT::Math::IMultiGradFunction). More...
 
bool FitFCN (const ROOT::Math::FitMethodGradFunction &fcn, const double *params=0)
 Fit using a FitMethodGradFunction interface. More...
 
bool SetFCN (const ROOT::Math::IMultiGradFunction &fcn, const double *params=0, unsigned int dataSize=0, bool chi2fit=false)
 Set the FCN function represented by a multi-dimensional gradient function interface (ROOT::Math::IMultiGenFunction) and optionally the initial parameters See also note above for the initial parameters for FitFCN. More...
 
bool SetFCN (const ROOT::Math::FitMethodGradFunction &fcn, const double *params=0)
 Set the objective function (FCN) using a FitMethodGradFunction interface. More...
 
bool FitFCN (MinuitFCN_t fcn, int npar=0, const double *params=0, unsigned int dataSize=0, bool chi2fit=false)
 
bool SetFCN (MinuitFCN_t fcn, int npar=0, const double *params=0, unsigned int dataSize=0, bool chi2fit=false)
 set objective function using user provided FCN with Minuit-like interface If npar = 0 it is assumed that the parameters are specified in the parameter settings created before For the options same consideration as in the previous method More...
 
bool FitFCN ()
 Perform a fit with the previously set FCN function. More...
 
bool EvalFCN ()
 Perform a simple FCN evaluation. More...
 
void SetFunction (const IModelFunction &func, bool useGradient=false)
 Set the fitted function (model function) from a parametric function interface. More...
 
void SetFunction (const IModel1DFunction &func, bool useGradient=false)
 Set the fitted function from a parametric 1D function interface. More...
 
void SetFunction (const IGradModelFunction &func, bool useGradient=true)
 Set the fitted function (model function) from a parametric gradient function interface. More...
 
void SetFunction (const IGradModel1DFunction &func, bool useGradient=true)
 Set the fitted function from 1D gradient parametric function interface. More...
 
const FitResultResult () const
 get fit result More...
 
bool CalculateHessErrors ()
 perform an error analysis on the result using the Hessian Errors are obtaied from the inverse of the Hessian matrix To be called only after fitting and when a minimizer supporting the Hessian calculations is used otherwise an error (false) is returned. More...
 
bool CalculateMinosErrors ()
 perform an error analysis on the result using MINOS To be called only after fitting and when a minimizer supporting MINOS is used otherwise an error (false) is returned. More...
 
const FitConfigConfig () const
 access to the fit configuration (const method) More...
 
FitConfigConfig ()
 access to the configuration (non const method) More...
 
bool IsBinFit () const
 query if fit is binned. More...
 
ROOT::Math::MinimizerGetMinimizer () const
 return pointer to last used minimizer (is NULL in case fit is not yet done) This pointer is guranteed to be valid as far as the fitter class is valid and a new fit is not redone. More...
 
ROOT::Math::IMultiGenFunctionGetFCN () const
 return pointer to last used objective function (is NULL in case fit is not yet done) This pointer will be valid as far as the fitter class has not been deleted. More...
 
bool ApplyWeightCorrection (const ROOT::Math::IMultiGenFunction &loglw2, bool minimizeW2L=false)
 apply correction in the error matrix for the weights for likelihood fits This method can be called only after a fit. More...
 

Protected Member Functions

bool DoLeastSquareFit ()
 least square fit More...
 
bool DoBinnedLikelihoodFit (bool extended=true)
 binned likelihood fit More...
 
bool DoUnbinnedLikelihoodFit (bool extended=false)
 un-binned likelihood fit More...
 
bool DoLinearFit ()
 linear least square fit More...
 
bool DoInitMinimizer ()
 
bool DoMinimization (const BaseFunc &f, const ROOT::Math::IMultiGenFunction *chifunc=0)
 do minimization More...
 
bool DoMinimization (const ROOT::Math::IMultiGenFunction *chifunc=0)
 
void DoUpdateFitConfig ()
 
int GetNCallsFromFCN ()
 
void SetData (const FitData &data)
 
void SetFunctionAndData (const IModelFunction &func, const FitData &data)
 
template<class Data >
void SetData (const std::shared_ptr< Data > &data)
 
void ExamineFCN ()
 look at the user provided FCN and get data and model function is they derive from ROOT::Fit FCN classes More...
 
template<class ObjFuncType >
bool GetDataFromFCN ()
 internal functions to get data set and model function from FCN useful for fits done with customized FCN classes More...
 

Private Member Functions

 Fitter (const Fitter &)
 Copy constructor (disabled, class is not copyable) More...
 
Fitteroperator= (const Fitter &rhs)
 Assignment operator (disabled, class is not copyable) More...
 

Private Attributes

bool fUseGradient
 
bool fBinFit
 
int fFitType
 
int fDataSize
 
FitConfig fConfig
 
std::shared_ptr< IModelFunctionfFunc
 
std::shared_ptr
< ROOT::Fit::FitResult
fResult
 copy of the fitted function containing on output the fit result More...
 
std::shared_ptr
< ROOT::Math::Minimizer
fMinimizer
 pointer to the object containing the result of the fit More...
 
std::shared_ptr
< ROOT::Fit::FitData
fData
 pointer to used minimizer More...
 
std::shared_ptr
< ROOT::Math::IMultiGenFunction
fObjFunction
 pointer to the fit data (binned or unbinned data) More...
 

#include <Fit/Fitter.h>

Member Typedef Documentation

Definition at line 103 of file Fitter.h.

Definition at line 104 of file Fitter.h.

Definition at line 101 of file Fitter.h.

Definition at line 99 of file Fitter.h.

Definition at line 100 of file Fitter.h.

Definition at line 98 of file Fitter.h.

typedef void(* ROOT::Fit::Fitter::MinuitFCN_t)(int &npar, double *gin, double &f, double *u, int flag)

fit using user provided FCN with Minuit-like interface If npar = 0 it is assumed that the parameters are specified in the parameter settings created before For the options same consideration as in the previous method

Definition at line 310 of file Fitter.h.

Constructor & Destructor Documentation

ROOT::Fit::Fitter::Fitter ( )

Default constructor.

Definition at line 52 of file Fitter.cxx.

ROOT::Fit::Fitter::Fitter ( const std::shared_ptr< FitResult > &  result)

Constructor from a result.

Definition at line 59 of file Fitter.cxx.

ROOT::Fit::Fitter::~Fitter ( )

Destructor.

Definition at line 71 of file Fitter.cxx.

ROOT::Fit::Fitter::Fitter ( const Fitter rhs)
private

Copy constructor (disabled, class is not copyable)

Definition at line 78 of file Fitter.cxx.

Member Function Documentation

bool ROOT::Fit::Fitter::ApplyWeightCorrection ( const ROOT::Math::IMultiGenFunction loglw2,
bool  minimizeW2L = false 
)

apply correction in the error matrix for the weights for likelihood fits This method can be called only after a fit.

The passed function (loglw2) is a log-likelihood function impelemented using the sum of weight squared When using FitConfig.SetWeightCorrection() this correction is applied automatically when doing a likelihood fit (binned or unbinned)

Definition at line 782 of file Fitter.cxx.

Referenced by DoBinnedLikelihoodFit(), and DoUnbinnedLikelihoodFit().

bool ROOT::Fit::Fitter::CalculateHessErrors ( )

perform an error analysis on the result using the Hessian Errors are obtaied from the inverse of the Hessian matrix To be called only after fitting and when a minimizer supporting the Hessian calculations is used otherwise an error (false) is returned.

A new FitResult with the Hessian result will be produced

Definition at line 523 of file Fitter.cxx.

bool ROOT::Fit::Fitter::CalculateMinosErrors ( )

perform an error analysis on the result using MINOS To be called only after fitting and when a minimizer supporting MINOS is used otherwise an error (false) is returned.

The result will be appended in the fit result class Optionally a vector of parameter indeces can be passed for selecting the parameters to analyse using FitConfig::SetMinosErrors

Definition at line 599 of file Fitter.cxx.

Referenced by TFractionFitter::ErrorAnalysis().

const FitConfig& ROOT::Fit::Fitter::Config ( ) const
inline
FitConfig& ROOT::Fit::Fitter::Config ( )
inline

access to the configuration (non const method)

Definition at line 387 of file Fitter.h.

bool ROOT::Fit::Fitter::DoBinnedLikelihoodFit ( bool  extended = true)
protected

binned likelihood fit

Definition at line 369 of file Fitter.cxx.

Referenced by LikelihoodFit().

bool ROOT::Fit::Fitter::DoInitMinimizer ( )
protected

Definition at line 664 of file Fitter.cxx.

Referenced by ApplyWeightCorrection(), CalculateHessErrors(), DoMinimization(), and FitFCN().

bool ROOT::Fit::Fitter::DoLeastSquareFit ( )
protected

least square fit

Definition at line 328 of file Fitter.cxx.

Referenced by DoLinearFit(), and Fit().

bool ROOT::Fit::Fitter::DoLinearFit ( )
protected

linear least square fit

Definition at line 506 of file Fitter.cxx.

Referenced by LinearFit().

bool ROOT::Fit::Fitter::DoMinimization ( const BaseFunc f,
const ROOT::Math::IMultiGenFunction chifunc = 0 
)
protected

do minimization

Definition at line 745 of file Fitter.cxx.

Referenced by DoBinnedLikelihoodFit(), DoLeastSquareFit(), DoUnbinnedLikelihoodFit(), and FitFCN().

bool ROOT::Fit::Fitter::DoMinimization ( const ROOT::Math::IMultiGenFunction chifunc = 0)
protected

Definition at line 707 of file Fitter.cxx.

bool ROOT::Fit::Fitter::DoUnbinnedLikelihoodFit ( bool  extended = false)
protected

un-binned likelihood fit

Definition at line 439 of file Fitter.cxx.

Referenced by Fit(), and LikelihoodFit().

void ROOT::Fit::Fitter::DoUpdateFitConfig ( )
protected

Definition at line 756 of file Fitter.cxx.

Referenced by CalculateHessErrors(), and DoMinimization().

bool ROOT::Fit::Fitter::EvalFCN ( )

Perform a simple FCN evaluation.

FitResult will be modified and contain the value of the FCN

Definition at line 308 of file Fitter.cxx.

void ROOT::Fit::Fitter::ExamineFCN ( )
protected

look at the user provided FCN and get data and model function is they derive from ROOT::Fit FCN classes

Definition at line 889 of file Fitter.cxx.

Referenced by FitFCN().

template<class Data , class Function >
bool ROOT::Fit::Fitter::Fit ( const Data data,
const Function func 
)
inline

fit a data set using any generic model function If data set is binned a least square fit is performed If data set is unbinned a maximum likelihood fit (not extended) is done Pre-requisite on the function: it must implement the 1D or multidimensional parametric function interface

Definition at line 146 of file Fitter.h.

Referenced by DoBinFit(), DoFit(), DoUnBinFit(), exampleFit3D(), LeastSquareFit(), testGraphFit(), testHisto1DFit(), testHisto1DPolFit(), testHisto2DFit(), and testUnBin1DFit().

bool ROOT::Fit::Fitter::Fit ( const BinData data)
inline

Fit a binned data set using a least square fit (default method)

Definition at line 154 of file Fitter.h.

bool ROOT::Fit::Fitter::Fit ( const std::shared_ptr< BinData > &  data)
inline

Definition at line 158 of file Fitter.h.

bool ROOT::Fit::Fitter::Fit ( const UnBinData data,
bool  extended = false 
)
inline

fit an unbinned data set using loglikelihood method

Definition at line 173 of file Fitter.h.

template<class Function >
bool ROOT::Fit::Fitter::FitFCN ( unsigned int  npar,
Function fcn,
const double params = 0,
unsigned int  dataSize = 0,
bool  chi2fit = false 
)

Fit using the a generic FCN function as a C++ callable object implementing double () (const double *) Note that the function dimension (i.e.

the number of parameter) is needed in this case For the options see documentation for following methods FitFCN(IMultiGenFunction & fcn,..)

Definition at line 538 of file Fitter.h.

Referenced by combinedFit(), DoUnBinFitVec(), TFractionFitter::Fit(), TBinomialEfficiencyFitter::Fit(), and line3Dfit().

bool ROOT::Fit::Fitter::FitFCN ( const ROOT::Math::IMultiGenFunction fcn,
const double params = 0,
unsigned int  dataSize = 0,
bool  chi2fit = false 
)

Fit using the given FCN function represented by a multi-dimensional function interface (ROOT::Math::IMultiGenFunction).

Give optionally the initial arameter values, data size to have the fit Ndf correctly set in the FitResult and flag specifying if it is a chi2 fit. Note that if the parameters values are not given (params=0) the current parameter settings are used. The parameter settings can be created before by using the FitConfig::SetParamsSetting. If they have not been created they are created automatically when the params pointer is not zero. Note that passing a params != 0 will set the parameter settings to the new value AND also the step sizes to some pre-defined value (stepsize = 0.3 * abs(parameter_value) )

Definition at line 237 of file Fitter.cxx.

bool ROOT::Fit::Fitter::FitFCN ( const ROOT::Math::FitMethodFunction fcn,
const double params = 0 
)

Fit using a FitMethodFunction interface.

Same as method above, but now extra information can be taken from the function class

Definition at line 253 of file Fitter.cxx.

bool ROOT::Fit::Fitter::FitFCN ( const ROOT::Math::IMultiGradFunction fcn,
const double params = 0,
unsigned int  dataSize = 0,
bool  chi2fit = false 
)

Fit using the given FCN function representing a multi-dimensional gradient function interface (ROOT::Math::IMultiGradFunction).

In this case the minimizer will use the gradient information provided by the function. For the options same consideration as in the previous method

Definition at line 246 of file Fitter.cxx.

bool ROOT::Fit::Fitter::FitFCN ( const ROOT::Math::FitMethodGradFunction fcn,
const double params = 0 
)

Fit using a FitMethodGradFunction interface.

Same as method above, but now extra information can be taken from the function class

bool ROOT::Fit::Fitter::FitFCN ( MinuitFCN_t  fcn,
int  npar = 0,
const double params = 0,
unsigned int  dataSize = 0,
bool  chi2fit = false 
)

Definition at line 282 of file Fitter.cxx.

bool ROOT::Fit::Fitter::FitFCN ( )

Perform a fit with the previously set FCN function.

Require SetFCN before

Definition at line 290 of file Fitter.cxx.

Referenced by FitFCN().

template<class ObjFuncType >
bool ROOT::Fit::Fitter::GetDataFromFCN ( )
protected

internal functions to get data set and model function from FCN useful for fits done with customized FCN classes

Definition at line 510 of file Fitter.h.

Referenced by ExamineFCN().

ROOT::Math::IMultiGenFunction* ROOT::Fit::Fitter::GetFCN ( ) const
inline

return pointer to last used objective function (is NULL in case fit is not yet done) This pointer will be valid as far as the fitter class has not been deleted.

To be used after the fitting. The pointer should not be stored and will be invalided after performing a new fitting. In this case a new instance of the function pointer will be re-created and can be obtained calling again GetFCN()

Definition at line 415 of file Fitter.h.

ROOT::Math::Minimizer* ROOT::Fit::Fitter::GetMinimizer ( ) const
inline

return pointer to last used minimizer (is NULL in case fit is not yet done) This pointer is guranteed to be valid as far as the fitter class is valid and a new fit is not redone.

To be used only after fitting. The pointer should not be stored and will be invalided after performing a new fitting. In this case a new instance of ROOT::Math::Minimizer will be re-created and can be obtained calling again GetMinimizer()

Definition at line 404 of file Fitter.h.

int ROOT::Fit::Fitter::GetNCallsFromFCN ( )
protected

Definition at line 766 of file Fitter.cxx.

Referenced by CalculateHessErrors(), and DoMinimization().

bool ROOT::Fit::Fitter::IsBinFit ( ) const
inline

query if fit is binned.

In cse of false teh fit can be unbinned or is not defined (like in case of fitting through a ::FitFCN)

Definition at line 393 of file Fitter.h.

bool ROOT::Fit::Fitter::LeastSquareFit ( const BinData data)
inline

Fit a binned data set using a least square fit.

Definition at line 166 of file Fitter.h.

bool ROOT::Fit::Fitter::LikelihoodFit ( const BinData data,
bool  extended = true 
)
inline

Binned Likelihood fit.

Default is extended

Definition at line 181 of file Fitter.h.

Referenced by DoFit(), fit2DHist(), fit3DHist(), LikelihoodFit(), testHisto1DFit(), and testHisto2DFit().

bool ROOT::Fit::Fitter::LikelihoodFit ( const std::shared_ptr< BinData > &  data,
bool  extended = true 
)
inline

Definition at line 185 of file Fitter.h.

bool ROOT::Fit::Fitter::LikelihoodFit ( const UnBinData data,
bool  extended = false 
)
inline

Unbinned Likelihood fit.

Default is not extended

Definition at line 192 of file Fitter.h.

bool ROOT::Fit::Fitter::LikelihoodFit ( const std::shared_ptr< UnBinData > &  data,
bool  extended = false 
)
inline

Definition at line 196 of file Fitter.h.

template<class Data , class Function >
bool ROOT::Fit::Fitter::LikelihoodFit ( const Data data,
const Function func,
bool  extended 
)
inline

fit a data set using any generic model function Pre-requisite on the function:

Definition at line 207 of file Fitter.h.

bool ROOT::Fit::Fitter::LinearFit ( const BinData data)
inline

do a linear fit on a set of bin-data

Definition at line 215 of file Fitter.h.

bool ROOT::Fit::Fitter::LinearFit ( const std::shared_ptr< BinData > &  data)
inline

Definition at line 219 of file Fitter.h.

Fitter & ROOT::Fit::Fitter::operator= ( const Fitter rhs)
private

Assignment operator (disabled, class is not copyable)

Definition at line 85 of file Fitter.cxx.

const FitResult& ROOT::Fit::Fitter::Result ( ) const
inline
void ROOT::Fit::Fitter::SetData ( const FitData data)
inlineprotected

Definition at line 454 of file Fitter.h.

Referenced by Fit(), LikelihoodFit(), LinearFit(), and SetFunctionAndData().

template<class Data >
void ROOT::Fit::Fitter::SetData ( const std::shared_ptr< Data > &  data)
inlineprotected

Definition at line 465 of file Fitter.h.

template<class Function >
bool ROOT::Fit::Fitter::SetFCN ( unsigned int  npar,
Function fcn,
const double params = 0,
unsigned int  dataSize = 0,
bool  chi2fit = false 
)

Set a generic FCN function as a C++ callable object implementing double () (const double *) Note that the function dimension (i.e.

the number of parameter) is needed in this case For the options see documentation for following methods FitFCN(IMultiGenFunction & fcn,..)

Definition at line 543 of file Fitter.h.

Referenced by TFractionFitter::Fit(), TBinomialEfficiencyFitter::Fit(), FitFCN(), line3Dfit(), and SetFCN().

bool ROOT::Fit::Fitter::SetFCN ( const ROOT::Math::IMultiGenFunction fcn,
const double params = 0,
unsigned int  dataSize = 0,
bool  chi2fit = false 
)

Set the FCN function represented by a multi-dimensional function interface (ROOT::Math::IMultiGenFunction) and optionally the initial parameters See also note above for the initial parameters for FitFCN.

Definition at line 179 of file Fitter.cxx.

bool ROOT::Fit::Fitter::SetFCN ( const ROOT::Math::FitMethodFunction fcn,
const double params = 0 
)

Set the objective function (FCN) using a FitMethodFunction interface.

Same as method above, but now extra information can be taken from the function class

Definition at line 215 of file Fitter.cxx.

bool ROOT::Fit::Fitter::SetFCN ( const ROOT::Math::IMultiGradFunction fcn,
const double params = 0,
unsigned int  dataSize = 0,
bool  chi2fit = false 
)

Set the FCN function represented by a multi-dimensional gradient function interface (ROOT::Math::IMultiGenFunction) and optionally the initial parameters See also note above for the initial parameters for FitFCN.

Definition at line 207 of file Fitter.cxx.

bool ROOT::Fit::Fitter::SetFCN ( const ROOT::Math::FitMethodGradFunction fcn,
const double params = 0 
)

Set the objective function (FCN) using a FitMethodGradFunction interface.

Same as method above, but now extra information can be taken from the function class

bool ROOT::Fit::Fitter::SetFCN ( MinuitFCN_t  fcn,
int  npar = 0,
const double params = 0,
unsigned int  dataSize = 0,
bool  chi2fit = false 
)

set objective function using user provided FCN with Minuit-like interface If npar = 0 it is assumed that the parameters are specified in the parameter settings created before For the options same consideration as in the previous method

Definition at line 266 of file Fitter.cxx.

void ROOT::Fit::Fitter::SetFunction ( const IModelFunction func,
bool  useGradient = false 
)

Set the fitted function (model function) from a parametric function interface.

Definition at line 104 of file Fitter.cxx.

Referenced by DoBinFit(), DoFit(), DoUnBinFit(), exampleFit3D(), Fit(), Fitter(), LikelihoodFit(), SetFunction(), testGraphFit(), testHisto2DFit(), and testUnBin1DFit().

void ROOT::Fit::Fitter::SetFunction ( const IModel1DFunction func,
bool  useGradient = false 
)

Set the fitted function from a parametric 1D function interface.

Definition at line 131 of file Fitter.cxx.

void ROOT::Fit::Fitter::SetFunction ( const IGradModelFunction func,
bool  useGradient = true 
)

Set the fitted function (model function) from a parametric gradient function interface.

Definition at line 154 of file Fitter.cxx.

void ROOT::Fit::Fitter::SetFunction ( const IGradModel1DFunction func,
bool  useGradient = true 
)

Set the fitted function from 1D gradient parametric function interface.

Definition at line 167 of file Fitter.cxx.

void ROOT::Fit::Fitter::SetFunctionAndData ( const IModelFunction func,
const FitData data 
)
inlineprotected

Definition at line 458 of file Fitter.h.

Member Data Documentation

bool ROOT::Fit::Fitter::fBinFit
private
FitConfig ROOT::Fit::Fitter::fConfig
private
std::shared_ptr<ROOT::Fit::FitData> ROOT::Fit::Fitter::fData
private
int ROOT::Fit::Fitter::fDataSize
private
int ROOT::Fit::Fitter::fFitType
private
std::shared_ptr<IModelFunction> ROOT::Fit::Fitter::fFunc
private
std::shared_ptr<ROOT::Math::Minimizer> ROOT::Fit::Fitter::fMinimizer
private

pointer to the object containing the result of the fit

Definition at line 498 of file Fitter.h.

Referenced by ApplyWeightCorrection(), CalculateHessErrors(), CalculateMinosErrors(), DoInitMinimizer(), DoMinimization(), and GetMinimizer().

std::shared_ptr<ROOT::Math::IMultiGenFunction> ROOT::Fit::Fitter::fObjFunction
private

pointer to the fit data (binned or unbinned data)

Definition at line 502 of file Fitter.h.

Referenced by ApplyWeightCorrection(), CalculateHessErrors(), DoInitMinimizer(), DoMinimization(), EvalFCN(), FitFCN(), Fitter(), GetDataFromFCN(), GetFCN(), GetNCallsFromFCN(), and SetFCN().

std::shared_ptr<ROOT::Fit::FitResult> ROOT::Fit::Fitter::fResult
private

copy of the fitted function containing on output the fit result

Definition at line 496 of file Fitter.h.

Referenced by ApplyWeightCorrection(), CalculateHessErrors(), CalculateMinosErrors(), DoMinimization(), DoUpdateFitConfig(), EvalFCN(), FitFCN(), Fitter(), and Result().

bool ROOT::Fit::Fitter::fUseGradient
private
Collaboration diagram for ROOT::Fit::Fitter:
[legend]

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