#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.
 1.5.1