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 46 of file FumiliFCNBase.h.
Public Member Functions | |
FumiliFCNBase () | |
Default Constructor. | |
FumiliFCNBase (unsigned int npar) | |
Constructor which initializes the class with the function provided by the user for modeling the data. | |
virtual | ~FumiliFCNBase () |
virtual unsigned int | Dimension () |
return number of function variable (parameters) , i.e. | |
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. | |
virtual const std::vector< double > & | Gradient () const |
Return cached Value of function Gradient estimated previously using the FumiliFCNBase::EvaluateAll method. | |
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. | |
virtual double | Value () const |
Return cached Value of objective function estimated previously using the FumiliFCNBase::EvaluateAll method. | |
Public Member Functions inherited from ROOT::Minuit2::FCNBase | |
virtual | ~FCNBase () |
virtual double | ErrorDef () const |
Error definition of the function. | |
virtual double | operator() (const std::vector< double > &v) 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. | |
virtual void | SetErrorDef (double) |
add interface to set dynamically a new error definition Re-implement this function if needed. | |
virtual double | Up () const =0 |
Error definition of the function. | |
Public Member Functions inherited from ROOT::Minuit2::GenericFunction | |
virtual | ~GenericFunction () |
Protected Member Functions | |
std::vector< double > & | Gradient () |
std::vector< double > & | Hessian () |
virtual void | InitAndReset (unsigned int npar) |
initialize and reset values of gradien and Hessian | |
void | SetFCNValue (double value) |
Private Attributes | |
std::vector< double > | fGradient |
std::vector< double > | fHessian |
unsigned int | fNumberOfParameters |
double | fValue |
#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 54 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 65 of file FumiliFCNBase.h.
|
inlinevirtual |
Definition at line 73 of file FumiliFCNBase.h.
|
inlinevirtual |
return number of function variable (parameters) , i.e.
function dimension
Definition at line 120 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 >.
|
inlineprotected |
Definition at line 137 of file FumiliFCNBase.h.
|
inlinevirtual |
Return cached Value of function Gradient estimated previously using the FumiliFCNBase::EvaluateAll method.
Definition at line 98 of file FumiliFCNBase.h.
|
inlineprotected |
Definition at line 139 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 107 of file FumiliFCNBase.h.
initialize and reset values of gradien and Hessian
Definition at line 127 of file FumiliFCNBase.h.
Definition at line 135 of file FumiliFCNBase.h.
|
inlinevirtual |
Return cached Value of objective function estimated previously using the FumiliFCNBase::EvaluateAll method.
Definition at line 92 of file FumiliFCNBase.h.
|
private |
Definition at line 144 of file FumiliFCNBase.h.
|
private |
Definition at line 145 of file FumiliFCNBase.h.
|
private |
Definition at line 142 of file FumiliFCNBase.h.
|
private |
Definition at line 143 of file FumiliFCNBase.h.