ROOT logo
ROOT » MATH » MATHCORE » ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>

class ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>: public ROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>


   LogLikelihoodFCN class
   for likelihood fits

   it is template to distinguish gradient and non-gradient case

   @ingroup  FitMethodFunc

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

ROOT::Fit::LogLikelihoodFunction, ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IMultiGenFunction>

Function Members (Methods)

public:
virtual~LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>()
virtual ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>::BaseFunction*Clone() const
virtual const ROOT::Fit::UnBinData&Data() const
virtual doubleDataElement(const double* x, unsigned int i, double* g) const
virtual voidGradient(const double* x, double* g) const
ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>(const ROOT::Fit::UnBinData& data, const ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>::IModelFunction& func, int weight = 0, bool extended = false)
virtual const ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>::IModelFunction&ModelFunction() const
virtual unsigned intROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>::NCalls() const
virtual unsigned intROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>::NDim() const
virtual unsigned intNFitPoints() const
virtual unsigned intROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>::NPoints() const
doubleROOT::Math::IBaseFunctionMultiDim::operator()(const double* x) const
virtual voidROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>::ResetNCalls()
virtual ROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>::Type_tType() const
virtual voidROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>::UpdateNCalls() const
voidUseSumOfWeightSquare()
private:
virtual doubleDoDerivative(const double* x, unsigned int icoord) const
virtual doubleDoEval(const double* x) const
ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>(const ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>&)
ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>&operator=(const ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>&)

Data Members

public:
enum ROOT::Math::BasicFitMethodFunction::Type_t { kUndefined
kLeastSquare
kLogLikelihood
};
private:
const ROOT::Fit::UnBinData&fData
const ROOT::Fit::LogLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>::IModelFunction&fFunc
vector<double>fGradfor derivatives
boolfIsExtendedflag for indicating if likelihood is extended
unsigned intfNEffPointsnumber of effective points used in the fit
intfWeightflag to indicate if needs to evaluate using weight or weight squared (default weight = 0)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

BaseFunction * Clone() const
 clone the function (need to return Base for Windows)
{ return new LogLikelihoodFCN(fData,fFunc,fWeight,fIsExtended); }
unsigned int NFitPoints() const
using BaseObjFunction::operator();
 effective points used in the fit
{ return fNEffPoints; }
double DataElement(const double* x, unsigned int i, double* g) const
 i-th likelihood contribution and its gradient
void Gradient(const double* x, double* g) const
 need to be virtual to be instantited
void UseSumOfWeightSquare()
 Use sum of the weight squared in evaluating the likelihood
 (this is needed for calculating the errors)
double DoEval(const double* x) const
      Evaluation of the  function (required by interface)

double DoDerivative(const double* x, unsigned int icoord) const
 for derivatives