#include <TFumiliFCN.h>
Inheritance diagram for TFumiliFCN:
Public Types | |
typedef TF1 | ModelFunction |
typedef TChi2FitData | FumiliFitData |
typedef TF1 | ModelFunction |
typedef TChi2FitData | FumiliFitData |
Public Member Functions | |
TFumiliFCN (const TVirtualFitter &fitter, double up=1., int strategy=1, bool sipEmptyBins=true) | |
virtual | ~TFumiliFCN () |
virtual double | operator() (const std::vector< double > &) const =0 |
void | EvaluateAll (const std::vector< double > &) |
double | Up () const |
void | SetErrorDef (double up) |
void | Initialize (unsigned int npar) |
TFumiliFCN (const TVirtualFitter &fitter, double up=1., int strategy=1, bool sipEmptyBins=true) | |
virtual | ~TFumiliFCN () |
virtual double | operator() (const std::vector< double > &) const =0 |
void | EvaluateAll (const std::vector< double > &) |
double | Up () const |
void | SetErrorDef (double up) |
void | Initialize (unsigned int npar) |
Protected Member Functions | |
void | Calculate_gradient_and_hessian (const std::vector< double > &p) |
void | Calculate_numerical_gradient (const std::vector< double > &x, double f0) |
void | Calculate_numerical_gradient_of_integral (const std::vector< double > &x1, const std::vector< double > &x2, double f0) |
virtual void | Calculate_element (int i, const FumiliFitData &points, double fval, double &chi2, std::vector< double > &grad, std::vector< double > &hess)=0 |
void | Calculate_gradient_and_hessian (const std::vector< double > &p) |
void | Calculate_numerical_gradient (const std::vector< double > &x, double f0) |
void | Calculate_numerical_gradient_of_integral (const std::vector< double > &x1, const std::vector< double > &x2, double f0) |
virtual void | Calculate_element (int i, const FumiliFitData &points, double fval, double &chi2, std::vector< double > &grad, std::vector< double > &hess)=0 |
Protected Attributes | |
double | fUp |
FumiliFitData * | fData |
ModelFunction * | fFunc |
std::vector< double > | fParamCache |
std::vector< double > | fFunctionGradient |
int | fStrategy |
FumiliFitData * | fData |
ModelFunction * | fFunc |
std::vector< double > | fParamCache |
std::vector< double > | fFunctionGradient |
Definition at line 26 of file TFumiliFCN.h.
typedef TF1 TFumiliFCN::ModelFunction |
Definition at line 31 of file TFumiliFCN.h.
Definition at line 32 of file TFumiliFCN.h.
typedef TF1 TFumiliFCN::ModelFunction |
Definition at line 31 of file TFumiliFCN.h.
Definition at line 32 of file TFumiliFCN.h.
TFumiliFCN::TFumiliFCN | ( | const TVirtualFitter & | fitter, | |
double | up = 1. , |
|||
int | strategy = 1 , |
|||
bool | sipEmptyBins = true | |||
) |
construct passing fitter which has ROOT data object and model function. use a strategy for calculating derivatives strategy = 1 default 2 point formula . Fast but not very precise strategy = 2 5 point formula
Definition at line 34 of file TFumiliFCN.cxx.
References fData, fFunc, fStrategy, fUp, TVirtualFitter::GetUserFunc(), TF1::SetNumberFitPoints(), and TChi2FitData::Size().
TFumiliFCN::~TFumiliFCN | ( | ) | [virtual] |
this class manages the fit data class. Delete it at the end
Definition at line 57 of file TFumiliFCN.cxx.
References fData.
TFumiliFCN::TFumiliFCN | ( | const TVirtualFitter & | fitter, | |
double | up = 1. , |
|||
int | strategy = 1 , |
|||
bool | sipEmptyBins = true | |||
) |
construct passing fitter which has ROOT data object and model function. use a strategy for calculating derivatives strategy = 1 default 2 point formula . Fast but not very precise strategy = 2 5 point formula
virtual TFumiliFCN::~TFumiliFCN | ( | ) | [virtual] |
this class manages the fit data class. Delete it at the end
evaluate objective function
Implements ROOT::Minuit2::FCNBase.
void TFumiliFCN::EvaluateAll | ( | const std::vector< double > & | ) | [virtual] |
evaluate gradient and function elements needed by fumili
Implements ROOT::Minuit2::FumiliFCNBase.
Definition at line 78 of file TFumiliFCN.cxx.
References Calculate_gradient_and_hessian().
double TFumiliFCN::Up | ( | ) | const [inline, virtual] |
return error definition for chi2 = 1
Implements ROOT::Minuit2::FCNBase.
Definition at line 65 of file TFumiliFCN.h.
References fUp.
void TFumiliFCN::SetErrorDef | ( | double | up | ) | [inline, virtual] |
add interface to set dynamically a new error definition Re-implement this function if needed.
Reimplemented from ROOT::Minuit2::FCNBase.
Definition at line 67 of file TFumiliFCN.h.
References fUp.
void TFumiliFCN::Initialize | ( | unsigned int | npar | ) |
initialize method to set right number of parameters. It is known only when starting the fit
Definition at line 67 of file TFumiliFCN.cxx.
References fFunctionGradient, fParamCache, and ROOT::Minuit2::FumiliFCNBase::InitAndReset().
Referenced by Calculate_gradient_and_hessian().
void TFumiliFCN::Calculate_gradient_and_hessian | ( | const std::vector< double > & | p | ) | [protected] |
Definition at line 84 of file TFumiliFCN.cxx.
References Calculate_element(), Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), TChi2FitData::Coords(), ROOT::Minuit2::FumiliFCNBase::Dimension(), FitterUtil::EvalIntegral(), TF1::EvalPar(), fData, fFunc, fFunctionGradient, fParamCache, ROOT::Minuit2::FumiliFCNBase::Gradient(), ROOT::Minuit2::FumiliFCNBase::Hessian(), i, TF1::InitArgs(), Initialize(), j, points, TF1::RejectedPoint(), TF1::RejectPoint(), ROOT::Minuit2::FumiliFCNBase::SetFCNValue(), TF1::SetNumberFitPoints(), TFormula::SetParameters(), TChi2FitData::UseIntegral(), x, and x2.
Referenced by EvaluateAll().
void TFumiliFCN::Calculate_numerical_gradient | ( | const std::vector< double > & | x, | |
double | f0 | |||
) | [protected] |
Definition at line 182 of file TFumiliFCN.cxx.
References TF1::EvalPar(), f2, ROOT::Math::fabs(), fFunc, fFunctionGradient, fParamCache, fStrategy, g2(), h, h2, kPrecision, max, n, and p0().
Referenced by Calculate_gradient_and_hessian().
void TFumiliFCN::Calculate_numerical_gradient_of_integral | ( | const std::vector< double > & | x1, | |
const std::vector< double > & | x2, | |||
double | f0 | |||
) | [protected] |
Definition at line 228 of file TFumiliFCN.cxx.
References FitterUtil::EvalIntegral(), f2, ROOT::Math::fabs(), fFunc, fFunctionGradient, fParamCache, fStrategy, g2(), h, h2, kPrecision, max, n, and p0().
Referenced by Calculate_gradient_and_hessian().
virtual void TFumiliFCN::Calculate_element | ( | int | i, | |
const FumiliFitData & | points, | |||
double | fval, | |||
double & | chi2, | |||
std::vector< double > & | grad, | |||
std::vector< double > & | hess | |||
) | [protected, pure virtual] |
Referenced by Calculate_gradient_and_hessian().
evaluate objective function
Implements ROOT::Minuit2::FCNBase.
void TFumiliFCN::EvaluateAll | ( | const std::vector< double > & | ) | [virtual] |
evaluate gradient and function elements needed by fumili
Implements ROOT::Minuit2::FumiliFCNBase.
double TFumiliFCN::Up | ( | ) | const [inline, virtual] |
return error definition for chi2 = 1
Implements ROOT::Minuit2::FCNBase.
Definition at line 65 of file TFumiliFCN.h.
References fUp.
void TFumiliFCN::SetErrorDef | ( | double | up | ) | [inline, virtual] |
add interface to set dynamically a new error definition Re-implement this function if needed.
Reimplemented from ROOT::Minuit2::FCNBase.
Definition at line 67 of file TFumiliFCN.h.
References fUp.
void TFumiliFCN::Initialize | ( | unsigned int | npar | ) |
initialize method to set right number of parameters. It is known only when starting the fit
void TFumiliFCN::Calculate_gradient_and_hessian | ( | const std::vector< double > & | p | ) | [protected] |
void TFumiliFCN::Calculate_numerical_gradient | ( | const std::vector< double > & | x, | |
double | f0 | |||
) | [protected] |
void TFumiliFCN::Calculate_numerical_gradient_of_integral | ( | const std::vector< double > & | x1, | |
const std::vector< double > & | x2, | |||
double | f0 | |||
) | [protected] |
virtual void TFumiliFCN::Calculate_element | ( | int | i, | |
const FumiliFitData & | points, | |||
double | fval, | |||
double & | chi2, | |||
std::vector< double > & | grad, | |||
std::vector< double > & | hess | |||
) | [protected, pure virtual] |
double TFumiliFCN::fUp [protected] |
FumiliFitData* TFumiliFCN::fData [protected] |
Definition at line 94 of file TFumiliFCN.h.
Referenced by Calculate_gradient_and_hessian(), TFumiliBinLikelihoodFCN::Chi2(), TFumiliBinLikelihoodFCN::operator()(), TFumiliUnbinLikelihoodFCN::operator()(), TFumiliChi2FCN::operator()(), TFumiliFCN(), and ~TFumiliFCN().
ModelFunction* TFumiliFCN::fFunc [protected] |
Definition at line 95 of file TFumiliFCN.h.
Referenced by Calculate_gradient_and_hessian(), Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), TFumiliBinLikelihoodFCN::Chi2(), TFumiliBinLikelihoodFCN::operator()(), TFumiliUnbinLikelihoodFCN::operator()(), TFumiliChi2FCN::operator()(), and TFumiliFCN().
std::vector<double> TFumiliFCN::fParamCache [protected] |
Definition at line 101 of file TFumiliFCN.h.
Referenced by Calculate_gradient_and_hessian(), Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), and Initialize().
std::vector<double> TFumiliFCN::fFunctionGradient [protected] |
Definition at line 102 of file TFumiliFCN.h.
Referenced by TFumiliUnbinLikelihoodFCN::Calculate_element(), TFumiliBinLikelihoodFCN::Calculate_element(), TFumiliChi2FCN::Calculate_element(), Calculate_gradient_and_hessian(), Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), and Initialize().
int TFumiliFCN::fStrategy [protected] |
Definition at line 104 of file TFumiliFCN.h.
Referenced by Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), and TFumiliFCN().
FumiliFitData* TFumiliFCN::fData [protected] |
Definition at line 94 of file TFumiliFCN.h.
ModelFunction* TFumiliFCN::fFunc [protected] |
Definition at line 95 of file TFumiliFCN.h.
std::vector<double> TFumiliFCN::fParamCache [protected] |
Definition at line 101 of file TFumiliFCN.h.
std::vector<double> TFumiliFCN::fFunctionGradient [protected] |
Definition at line 102 of file TFumiliFCN.h.