ROOT logo
ROOT » MATH » MATHCORE » ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>

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


   class evaluating the log likelihood
   for binned Poisson 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::PoissonLLGradFunction, ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IMultiGradFunction>

Function Members (Methods)

public:
virtual~PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>()
virtual ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>::BaseFunction*Clone() const
virtual const ROOT::Fit::BinData&Data() const
virtual doubleDataElement(const double* x, unsigned int i, double* g) 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 voidGradient(const double* x, double* g) const
boolIsWeighted() const
virtual const ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>::IModelFunction&ModelFunction() const
virtual unsigned intROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>::NCalls() const
virtual unsigned intROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>::NDim() const
virtual unsigned intNFitPoints() const
virtual unsigned intROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>::NPoints() const
doubleROOT::Math::IBaseFunctionMultiDim::operator()(const double* x) const
ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>(const ROOT::Fit::BinData& data, const ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>::IModelFunction& func, int weight = 0)
virtual voidROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>::ResetNCalls()
virtual ROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>::Type_tType() const
virtual voidROOT::Math::BasicFitMethodFunction<ROOT::Math::IGradientFunctionMultiDim>::UpdateNCalls() const
voidUseSumOfWeights()
voidUseSumOfWeightSquare()
private:
virtual doubleDoDerivative(const double* x, unsigned int icoord) const
virtual doubleDoEval(const double* x) const
ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>&operator=(const ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>&)
ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>(const ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>&)

Data Members

public:
enum ROOT::Math::BasicFitMethodFunction::Type_t { kUndefined
kLeastSquare
kLogLikelihood
};
private:
const ROOT::Fit::BinData&fData
const ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>::IModelFunction&fFunc
vector<double>fGradfor derivatives
unsigned intfNEffPointsnumber of effective points used in the fit
intfWeightflag to indicate if needs to evaluate using weight or weight squared

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 PoissonLikelihoodFCN(fData,fFunc,fWeight); }
unsigned int NFitPoints() const
 effective points used in the fit
{ return fNEffPoints; }
double DataElement(const double* x, unsigned int i, double* g) const
 i-th likelihood element and its gradient
void Gradient(const double* x, double* g) const
 evaluate gradient
bool IsWeighted() const
{ return (fWeight != 0); }
void UseSumOfWeights()
 Use the weights in evaluating the likelihood
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