ROOT logo
ROOT » MATH » MATHCORE » ROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>

class ROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>: public ROOT::Math::IGradientFunctionMultiDim


   FitMethodFunction class
   Interface for objective functions (like chi2 and likelihood used in the fit)
   In addition to normal function interface provide interface for calculating each
   data contrinution to the function which is required by some algorithm (like Fumili)

   @ingroup  FitMethodFunc

This class is also known as (typedefs to this class)

ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>::BaseObjFunction, ROOT::Math::BasicFitMethodFunction<ROOT::Math::IMultiGradFunction>, ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>::BaseObjFunction, ROOT::Fit::Chi2FCN<ROOT::Math::IGradientFunctionMultiDim>::BaseObjFunction, ROOT::Math::FitMethodGradFunction

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>()
virtual ROOT::Math::IBaseFunctionMultiDim*ROOT::Math::IBaseFunctionMultiDim::Clone() const
virtual doubleDataElement(const double* x, unsigned int i, double* g = 0) const
doubleROOT::Math::IGradientMultiDim::Derivative(const double* x, unsigned int icoord = 0) const
virtual voidROOT::Math::IGradientFunctionMultiDim::FdF(const double* x, double& f, double* df) const
virtual voidROOT::Math::IGradientMultiDim::FdF(const double* x, double& f, double* df) const
virtual voidROOT::Math::IGradientFunctionMultiDim::Gradient(const double* x, double* grad) const
virtual voidROOT::Math::IGradientMultiDim::Gradient(const double* x, double* grad) const
virtual unsigned intNCalls() const
virtual unsigned intNDim() const
virtual unsigned intROOT::Math::IBaseFunctionMultiDim::NDim() const
virtual unsigned intNPoints() const
doubleROOT::Math::IBaseFunctionMultiDim::operator()(const double* x) const
ROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>&operator=(const ROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>&)
ROOT::Math::IGradientFunctionMultiDim&ROOT::Math::IGradientFunctionMultiDim::operator=(const ROOT::Math::IGradientFunctionMultiDim&)
ROOT::Math::IGradientMultiDim&ROOT::Math::IGradientMultiDim::operator=(const ROOT::Math::IGradientMultiDim&)
ROOT::Math::IBaseFunctionMultiDim&ROOT::Math::IBaseFunctionMultiDim::operator=(const ROOT::Math::IBaseFunctionMultiDim&)
virtual voidResetNCalls()
virtual ROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>::Type_tType() const
virtual voidUpdateNCalls() const

Data Members

private:
enum Type_t { kUndefined
kLeastSquare
kLogLikelihood
};
private:
unsigned intfNCalls
unsigned intfNDim
unsigned intfNPointssize of the data

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

unsigned int NDim() const
      Number of dimension (parameters) . From IGenMultiFunction interface

{ return fNDim; }
double DataElement(const double* x, unsigned int i, double* g = 0) const
      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 eventually also the gradient of the data element if the passed pointer  is not null

unsigned int NPoints() const
      return the number of data points used in evaluating the function

{ return fNPoints; }
unsigned int NCalls() const
      return the total number of function calls (overrided if needed)

{ return fNCalls; }
void UpdateNCalls() const
      update number of calls

{ fNCalls++; }
void ResetNCalls()
      reset number of function calls

{ fNCalls = 0; }