BasicFCN class: base class for the objective functions used in the fits It has a reference to the data and the model function used in the fit.
It cannot be instantiated but constructed from the derived classes
Definition at line 40 of file BasicFCN.h.
Public Types | |
| enum | Type_t |
| enumeration specifying the possible fit method types More... | |
Public Member Functions | |
| virtual const DataType & | Data () const |
| access to const reference to the data | |
| virtual double | DataElement (const double *x, unsigned int i, double *g=nullptr, double *h=nullptr, bool fullHessian=false) const=0 |
| method returning the data i-th contribution to the fit objective function For example the residual for the least square functions or the pdf element for the likelihood functions. | |
| std::shared_ptr< DataType > | DataPtr () const |
| access to data pointer | |
| virtual bool | G2 (const double *, double *) const |
| Computes the Second derivatives. | |
| bool | HasHessian () const override |
| flag to indicate if can compute Hessian | |
| virtual bool | Hessian (const double *x, double *hess) const |
| Computes the full Hessian. | |
| bool | IsAGradFCN () |
| virtual const IModelFunction & | ModelFunction () const |
| access to const reference to the model function | |
| std::shared_ptr< IModelFunction > | ModelFunctionPtr () const |
| access to function pointer | |
| virtual unsigned int | NCalls () const |
| return the total number of function calls (override if needed) | |
| unsigned int | NDim () const override |
| Number of dimension (parameters) . | |
| virtual unsigned int | NPoints () const |
| return the number of data points used in evaluating the function | |
| virtual void | ResetNCalls () |
| reset number of function calls | |
| virtual Type_t | Type () const |
| return the type of method, override if needed | |
| virtual void | UpdateNCalls () const |
| update number of calls | |
Static Public Member Functions | |
| static bool | IsAGradFCN () |
| Static function to indicate if a function is supporting gradient. | |
Protected Types | |
| typedef BaseObjFunction::BaseFunction | BaseFunction |
| typedef ::ROOT::Math::BasicFitMethodFunction< DerivFunType > | BaseObjFunction |
| typedef ::ROOT::Math::IParametricGradFunctionMultiDimTempl< T > | IGradModelFunction |
| typedef ::ROOT::Math::IParamMultiFunctionTempl< T > | IModelFunction |
| typedef ModelFunType::BackendType | T |
Protected Member Functions | |
| BasicFCN (const std::shared_ptr< DataType > &data, const std::shared_ptr< IModelFunction > &func) | |
| Constructor from data set and model function. | |
| virtual | ~BasicFCN () |
| Destructor (no operations). | |
| void | SetData (const std::shared_ptr< DataType > &data) |
| Set the data pointer. | |
| void | SetModelFunction (const std::shared_ptr< IModelFunction > &func) |
| Set the function pointer. | |
Protected Attributes | |
| std::shared_ptr< DataType > | fData |
| std::shared_ptr< IModelFunction > | fFunc |
Private Attributes | |
| unsigned int | fNCalls |
| unsigned int | fNDim |
| unsigned int | fNPoints |
#include <Fit/BasicFCN.h>
|
protected |
Definition at line 47 of file BasicFCN.h.
|
protected |
Definition at line 46 of file BasicFCN.h.
|
protected |
Definition at line 50 of file BasicFCN.h.
|
protected |
Definition at line 49 of file BasicFCN.h.
|
protected |
Definition at line 44 of file BasicFCN.h.
|
inherited |
enumeration specifying the possible fit method types
Definition at line 46 of file FitMethodFunction.h.
|
inlineprotected |
Constructor from data set and model function.
Definition at line 55 of file BasicFCN.h.
|
inlineprotectedvirtual |
Destructor (no operations).
Definition at line 66 of file BasicFCN.h.
|
inlinevirtual |
access to const reference to the data
Definition at line 72 of file BasicFCN.h.
|
pure virtualinherited |
method returning the data i-th contribution to the fit objective function For example the residual for the least square functions or the pdf element for the likelihood functions.
Estimating also the gradient of the data element if the passed pointer is not null and the Hessian. The flag fullHessian is set when one needs to compute the full Hessian (not the approximated one) and should be used when the full second derivatives of the model functions are available
Implemented in ROOT::Fit::Chi2FCN< DerivFunType, ModelFunType >, ROOT::Fit::Chi2FCN< ROOT::Math::IMultiGenFunction, ROOT::Math::IParamMultiFunction >, ROOT::Fit::Chi2FCN< ROOT::Math::IMultiGradFunction, ROOT::Math::IParamMultiFunction >, ROOT::Fit::LogLikelihoodFCN< DerivFunType, ModelFunType >, ROOT::Fit::LogLikelihoodFCN< ROOT::Math::IMultiGenFunction, ROOT::Math::IParamMultiFunction >, ROOT::Fit::LogLikelihoodFCN< ROOT::Math::IMultiGradFunction, ROOT::Math::IParamMultiFunction >, ROOT::Fit::PoissonLikelihoodFCN< DerivFunType, ModelFunType >, ROOT::Fit::PoissonLikelihoodFCN< ROOT::Math::IMultiGenFunction, ROOT::Math::IParamMultiFunction >, and ROOT::Fit::PoissonLikelihoodFCN< ROOT::Math::IMultiGradFunction, ROOT::Math::IParamMultiFunction >.
|
inline |
access to data pointer
Definition at line 75 of file BasicFCN.h.
|
inlinevirtualinherited |
Computes the Second derivatives.
Return false if this is not supported
Definition at line 104 of file FitMethodFunction.h.
|
inlineoverridevirtual |
flag to indicate if can compute Hessian
Reimplemented from ROOT::Math::BasicFitMethodFunction< DerivFunType >.
Definition at line 84 of file BasicFCN.h.
|
inlinevirtualinherited |
Computes the full Hessian.
Return false if Hessian is not supported
Definition at line 81 of file FitMethodFunction.h.
|
inlineinherited |
Definition at line 149 of file FitMethodFunction.h.
|
inlinestaticinherited |
Static function to indicate if a function is supporting gradient.
Definition at line 135 of file FitMethodFunction.h.
|
inlinevirtual |
access to const reference to the model function
Definition at line 78 of file BasicFCN.h.
|
inline |
access to function pointer
Definition at line 81 of file BasicFCN.h.
|
inlinevirtualinherited |
return the total number of function calls (override if needed)
Definition at line 119 of file FitMethodFunction.h.
|
inlineoverrideinherited |
Number of dimension (parameters) .
From IGenMultiFunction interface
Definition at line 63 of file FitMethodFunction.h.
|
inlinevirtualinherited |
return the number of data points used in evaluating the function
Definition at line 109 of file FitMethodFunction.h.
|
inlinevirtualinherited |
reset number of function calls
Definition at line 129 of file FitMethodFunction.h.
|
inlineprotected |
Set the data pointer.
Definition at line 98 of file BasicFCN.h.
|
inlineprotected |
Set the function pointer.
Definition at line 101 of file BasicFCN.h.
|
inlinevirtualinherited |
return the type of method, override if needed
Reimplemented in ROOT::Fit::Chi2FCN< DerivFunType, ModelFunType >, ROOT::Fit::Chi2FCN< ROOT::Math::IMultiGenFunction, ROOT::Math::IParamMultiFunction >, ROOT::Fit::Chi2FCN< ROOT::Math::IMultiGradFunction, ROOT::Math::IParamMultiFunction >, ROOT::Fit::LogLikelihoodFCN< DerivFunType, ModelFunType >, ROOT::Fit::LogLikelihoodFCN< ROOT::Math::IMultiGenFunction, ROOT::Math::IParamMultiFunction >, ROOT::Fit::LogLikelihoodFCN< ROOT::Math::IMultiGradFunction, ROOT::Math::IParamMultiFunction >, ROOT::Fit::PoissonLikelihoodFCN< DerivFunType, ModelFunType >, ROOT::Fit::PoissonLikelihoodFCN< ROOT::Math::IMultiGenFunction, ROOT::Math::IParamMultiFunction >, and ROOT::Fit::PoissonLikelihoodFCN< ROOT::Math::IMultiGradFunction, ROOT::Math::IParamMultiFunction >.
Definition at line 114 of file FitMethodFunction.h.
|
inlinevirtualinherited |
update number of calls
Definition at line 124 of file FitMethodFunction.h.
|
protected |
Definition at line 104 of file BasicFCN.h.
|
protected |
Definition at line 105 of file BasicFCN.h.
|
mutableprivateinherited |
Definition at line 143 of file FitMethodFunction.h.
|
privateinherited |
Definition at line 141 of file FitMethodFunction.h.
|
privateinherited |
Definition at line 142 of file FitMethodFunction.h.