ROOT » MATH » MATHCORE » ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>

class ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>: public ROOT::Fit::BasicFCN<ROOT::Math::IBaseFunctionMultiDim,ROOT::Fit::BinData>


   class evaluating the log likelihood
   for binned Poisson likelihood fits
   it is template to distinguish gradient and non-gradient case

   @ingroup  FitMethodFunc

Function Members (Methods)

public:
virtual~PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>()
ROOT::Fit::BasicFCN<ROOT::Math::IBaseFunctionMultiDim,ROOT::Fit::BinData>ROOT::Fit::BasicFCN<ROOT::Math::IBaseFunctionMultiDim,ROOT::Fit::BinData>::BasicFCN<ROOT::Math::IBaseFunctionMultiDim,ROOT::Fit::BinData>(const ROOT::Fit::BasicFCN<ROOT::Math::IBaseFunctionMultiDim,ROOT::Fit::BinData>&)
ROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>ROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>(const ROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>&)
ROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>ROOT::Math::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>::BasicFitMethodFunction<ROOT::Math::IBaseFunctionMultiDim>(int dim, int npoint)
virtual ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>::BaseFunction*Clone() const
virtual const ROOT::Fit::BinData&ROOT::Fit::BasicFCN<ROOT::Math::IBaseFunctionMultiDim,ROOT::Fit::BinData>::Data() const
virtual doubleDataElement(const double* x, unsigned int i, double* g) const
shared_ptr<ROOT::Fit::BinData>ROOT::Fit::BasicFCN<ROOT::Math::IBaseFunctionMultiDim,ROOT::Fit::BinData>::DataPtr() const
virtual voidGradient(const double* x, double* g) const
ROOT::Math::IBaseFunctionMultiDimROOT::Math::IBaseFunctionMultiDim::IBaseFunctionMultiDim()
ROOT::Math::IBaseFunctionMultiDimROOT::Math::IBaseFunctionMultiDim::IBaseFunctionMultiDim(const ROOT::Math::IBaseFunctionMultiDim&)
boolIsWeighted() const
virtual const ROOT::Fit::BasicFCN<ROOT::Math::IGradientFunctionMultiDim,ROOT::Fit::UnBinData>::IModelFunction&ROOT::Fit::BasicFCN<ROOT::Math::IBaseFunctionMultiDim,ROOT::Fit::BinData>::ModelFunction() const
shared_ptr<ROOT::Fit::BasicFCN<ROOT::Math::IGradientFunctionMultiDim,ROOT::Fit::UnBinData>::IModelFunction>ROOT::Fit::BasicFCN<ROOT::Math::IBaseFunctionMultiDim,ROOT::Fit::BinData>::ModelFunctionPtr() 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
ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>&operator=(const ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>& rhs)
ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>(const ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>& f)
ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>(const shared_ptr<ROOT::Fit::BinData>& data, const shared_ptr<ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>::IModelFunction>& func, int weight = 0, bool extended = true)
ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>PoissonLikelihoodFCN<ROOT::Math::IBaseFunctionMultiDim>(const ROOT::Fit::BinData& data, const ROOT::Fit::PoissonLikelihoodFCN<ROOT::Math::IGradientFunctionMultiDim>::IModelFunction& func, int weight = 0, bool extended = true)
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
voidUseSumOfWeights()
voidUseSumOfWeightSquare(bool on = true)
private:
virtual doubleDoDerivative(const double* x, unsigned int icoord) const
virtual doubleDoEval(const double* x) const

Data Members

private:
vector<double>fGradfor derivatives
boolfIsExtendedflag to indicate if is extended (when false is a Multinomial lieklihood), default is true
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 PoissonLikelihoodFCN(*this); }
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(bool on = true)
 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