ROOT
6.06/09
Reference Guide
|
Extension of the FCNBase for the Fumili method.
Fumili applies only to minimization problems used for fitting. The method is based on a linearization of the model function negleting second derivatives. User needs to provide the model function. The figure-of-merit describing the difference between the model function and the actual measurements has to be implemented by the user in a subclass of FumiliFCNBase. For an example see the FumiliChi2FCN and FumiliStandardChi2FCN classes.
Definition at line 47 of file FumiliFCNBase.h.
Public Member Functions | |
FumiliFCNBase () | |
Default Constructor. More... | |
FumiliFCNBase (unsigned int npar) | |
Constructor which initializes the class with the function provided by the user for modeling the data. More... | |
virtual | ~FumiliFCNBase () |
virtual void | EvaluateAll (const std::vector< double > &par)=0 |
Evaluate function Value, Gradient and Hessian using Fumili approximation, for values of parameters p The resul is cached inside and is return from the FumiliFCNBase::Value , FumiliFCNBase::Gradient and FumiliFCNBase::Hessian methods. More... | |
virtual double | Value () const |
Return cached Value of objective function estimated previously using the FumiliFCNBase::EvaluateAll method. More... | |
virtual const std::vector< double > & | Gradient () const |
Return cached Value of function Gradient estimated previously using the FumiliFCNBase::EvaluateAll method. More... | |
virtual double | Hessian (unsigned int row, unsigned int col) const |
Return Value of the i-th j-th element of the Hessian matrix estimated previously using the FumiliFCNBase::EvaluateAll method. More... | |
virtual unsigned int | Dimension () |
return number of function variable (parameters) , i.e. More... | |
Public Member Functions inherited from ROOT::Minuit2::FCNBase | |
virtual | ~FCNBase () |
virtual double | operator() (const std::vector< double > &x) const =0 |
The meaning of the vector of parameters is of course defined by the user, who uses the values of those parameters to calculate their function Value. More... | |
virtual double | ErrorDef () const |
Error definition of the function. More... | |
virtual double | Up () const =0 |
Error definition of the function. More... | |
virtual void | SetErrorDef (double) |
add interface to set dynamically a new error definition Re-implement this function if needed. More... | |
Public Member Functions inherited from ROOT::Minuit2::GenericFunction | |
virtual | ~GenericFunction () |
Protected Member Functions | |
virtual void | InitAndReset (unsigned int npar) |
initialize and reset values of gradien and Hessian More... | |
void | SetFCNValue (double value) |
std::vector< double > & | Gradient () |
std::vector< double > & | Hessian () |
Private Attributes | |
unsigned int | fNumberOfParameters |
double | fValue |
std::vector< double > | fGradient |
std::vector< double > | fHessian |
#include <Minuit2/FumiliFCNBase.h>
|
inline |
Default Constructor.
Need in this case to create when implementing EvaluateAll the Gradient and Hessian vectors with the right size
Definition at line 55 of file FumiliFCNBase.h.
|
inline |
Constructor which initializes the class with the function provided by the user for modeling the data.
npar | the number of parameters |
Definition at line 70 of file FumiliFCNBase.h.
|
inlinevirtual |
Definition at line 83 of file FumiliFCNBase.h.
|
inlinevirtual |
return number of function variable (parameters) , i.e.
function dimension
Definition at line 132 of file FumiliFCNBase.h.
|
pure virtual |
Evaluate function Value, Gradient and Hessian using Fumili approximation, for values of parameters p The resul is cached inside and is return from the FumiliFCNBase::Value , FumiliFCNBase::Gradient and FumiliFCNBase::Hessian methods.
par | vector of parameters |
Implemented in ROOT::Minuit2::FumiliStandardChi2FCN, ROOT::Minuit2::FumiliStandardMaximumLikelihoodFCN, and ROOT::Minuit2::FumiliFCNAdapter< Function >.
Referenced by ROOT::Minuit2::FumiliGradientCalculator::operator()().
|
inlinevirtual |
Return cached Value of function Gradient estimated previously using the FumiliFCNBase::EvaluateAll method.
Definition at line 112 of file FumiliFCNBase.h.
Referenced by ROOT::Minuit2::FumiliStandardMaximumLikelihoodFCN::EvaluateAll(), ROOT::Minuit2::FumiliStandardChi2FCN::EvaluateAll(), and ROOT::Minuit2::FumiliGradientCalculator::operator()().
|
inlineprotected |
Definition at line 149 of file FumiliFCNBase.h.
|
inlinevirtual |
Return Value of the i-th j-th element of the Hessian matrix estimated previously using the FumiliFCNBase::EvaluateAll method.
row | row Index of the matrix |
col | col Index of the matrix |
Definition at line 120 of file FumiliFCNBase.h.
Referenced by ROOT::Minuit2::FumiliGradientCalculator::operator()().
|
inlineprotected |
Definition at line 151 of file FumiliFCNBase.h.
Referenced by ROOT::Minuit2::FumiliStandardMaximumLikelihoodFCN::EvaluateAll(), and ROOT::Minuit2::FumiliStandardChi2FCN::EvaluateAll().
|
inlineprotectedvirtual |
initialize and reset values of gradien and Hessian
Definition at line 140 of file FumiliFCNBase.h.
Definition at line 147 of file FumiliFCNBase.h.
Referenced by ROOT::Minuit2::FumiliStandardMaximumLikelihoodFCN::EvaluateAll(), and ROOT::Minuit2::FumiliStandardChi2FCN::EvaluateAll().
|
inlinevirtual |
Return cached Value of objective function estimated previously using the FumiliFCNBase::EvaluateAll method.
Definition at line 106 of file FumiliFCNBase.h.
|
private |
Definition at line 160 of file FumiliFCNBase.h.
Referenced by Gradient(), Hessian(), and InitAndReset().
|
private |
Definition at line 161 of file FumiliFCNBase.h.
Referenced by Hessian(), and InitAndReset().
|
private |
Definition at line 158 of file FumiliFCNBase.h.
Referenced by Dimension(), and InitAndReset().
|
private |
Definition at line 159 of file FumiliFCNBase.h.
Referenced by SetFCNValue(), and Value().