TFumiliFCN Class Reference

#include <TFumiliFCN.h>

Inheritance diagram for TFumiliFCN:

ROOT::Minuit2::FumiliFCNBase ROOT::Minuit2::FumiliFCNBase ROOT::Minuit2::FCNBase ROOT::Minuit2::FCNBase ROOT::Minuit2::FCNBase ROOT::Minuit2::FCNBase ROOT::Minuit2::GenericFunction ROOT::Minuit2::GenericFunction ROOT::Minuit2::GenericFunction ROOT::Minuit2::GenericFunction ROOT::Minuit2::GenericFunction ROOT::Minuit2::GenericFunction ROOT::Minuit2::GenericFunction ROOT::Minuit2::GenericFunction TFumiliBinLikelihoodFCN TFumiliBinLikelihoodFCN TFumiliChi2FCN TFumiliChi2FCN TFumiliUnbinLikelihoodFCN TFumiliUnbinLikelihoodFCN List of all members.

Public Types

typedef TF1 ModelFunction
typedef TChi2FitData FumiliFitData
typedef TF1 ModelFunction
typedef TChi2FitData FumiliFitData

Public Member Functions

 TFumiliFCN (const TVirtualFitter &fitter, double up=1., int strategy=1, bool sipEmptyBins=true)
virtual ~TFumiliFCN ()
virtual double operator() (const std::vector< double > &) const =0
void EvaluateAll (const std::vector< double > &)
double Up () const
void SetErrorDef (double up)
void Initialize (unsigned int npar)
 TFumiliFCN (const TVirtualFitter &fitter, double up=1., int strategy=1, bool sipEmptyBins=true)
virtual ~TFumiliFCN ()
virtual double operator() (const std::vector< double > &) const =0
void EvaluateAll (const std::vector< double > &)
double Up () const
void SetErrorDef (double up)
void Initialize (unsigned int npar)

Protected Member Functions

void Calculate_gradient_and_hessian (const std::vector< double > &p)
void Calculate_numerical_gradient (const std::vector< double > &x, double f0)
void Calculate_numerical_gradient_of_integral (const std::vector< double > &x1, const std::vector< double > &x2, double f0)
virtual void Calculate_element (int i, const FumiliFitData &points, double fval, double &chi2, std::vector< double > &grad, std::vector< double > &hess)=0
void Calculate_gradient_and_hessian (const std::vector< double > &p)
void Calculate_numerical_gradient (const std::vector< double > &x, double f0)
void Calculate_numerical_gradient_of_integral (const std::vector< double > &x1, const std::vector< double > &x2, double f0)
virtual void Calculate_element (int i, const FumiliFitData &points, double fval, double &chi2, std::vector< double > &grad, std::vector< double > &hess)=0

Protected Attributes

double fUp
FumiliFitDatafData
ModelFunctionfFunc
std::vector< doublefParamCache
std::vector< doublefFunctionGradient
int fStrategy
FumiliFitDatafData
ModelFunctionfFunc
std::vector< doublefParamCache
std::vector< doublefFunctionGradient

Detailed Description

Base Class for implementing Fumili interface

Definition at line 26 of file TFumiliFCN.h.


Member Typedef Documentation

typedef TF1 TFumiliFCN::ModelFunction

Definition at line 31 of file TFumiliFCN.h.

typedef TChi2FitData TFumiliFCN::FumiliFitData

Definition at line 32 of file TFumiliFCN.h.

typedef TF1 TFumiliFCN::ModelFunction

Definition at line 31 of file TFumiliFCN.h.

typedef TChi2FitData TFumiliFCN::FumiliFitData

Definition at line 32 of file TFumiliFCN.h.


Constructor & Destructor Documentation

TFumiliFCN::TFumiliFCN ( const TVirtualFitter fitter,
double  up = 1.,
int  strategy = 1,
bool  sipEmptyBins = true 
)

construct passing fitter which has ROOT data object and model function. use a strategy for calculating derivatives strategy = 1 default 2 point formula . Fast but not very precise strategy = 2 5 point formula

Definition at line 34 of file TFumiliFCN.cxx.

References fData, fFunc, fStrategy, fUp, TVirtualFitter::GetUserFunc(), TF1::SetNumberFitPoints(), and TChi2FitData::Size().

TFumiliFCN::~TFumiliFCN (  )  [virtual]

this class manages the fit data class. Delete it at the end

Definition at line 57 of file TFumiliFCN.cxx.

References fData.

TFumiliFCN::TFumiliFCN ( const TVirtualFitter fitter,
double  up = 1.,
int  strategy = 1,
bool  sipEmptyBins = true 
)

construct passing fitter which has ROOT data object and model function. use a strategy for calculating derivatives strategy = 1 default 2 point formula . Fast but not very precise strategy = 2 5 point formula

virtual TFumiliFCN::~TFumiliFCN (  )  [virtual]

this class manages the fit data class. Delete it at the end


Member Function Documentation

virtual double TFumiliFCN::operator() ( const std::vector< double > &   )  const [pure virtual]

evaluate objective function

Implements ROOT::Minuit2::FCNBase.

void TFumiliFCN::EvaluateAll ( const std::vector< double > &   )  [virtual]

evaluate gradient and function elements needed by fumili

Implements ROOT::Minuit2::FumiliFCNBase.

Definition at line 78 of file TFumiliFCN.cxx.

References Calculate_gradient_and_hessian().

double TFumiliFCN::Up (  )  const [inline, virtual]

return error definition for chi2 = 1

Implements ROOT::Minuit2::FCNBase.

Definition at line 65 of file TFumiliFCN.h.

References fUp.

void TFumiliFCN::SetErrorDef ( double  up  )  [inline, virtual]

add interface to set dynamically a new error definition Re-implement this function if needed.

Reimplemented from ROOT::Minuit2::FCNBase.

Definition at line 67 of file TFumiliFCN.h.

References fUp.

void TFumiliFCN::Initialize ( unsigned int  npar  ) 

initialize method to set right number of parameters. It is known only when starting the fit

Definition at line 67 of file TFumiliFCN.cxx.

References fFunctionGradient, fParamCache, and ROOT::Minuit2::FumiliFCNBase::InitAndReset().

Referenced by Calculate_gradient_and_hessian().

void TFumiliFCN::Calculate_gradient_and_hessian ( const std::vector< double > &  p  )  [protected]

Definition at line 84 of file TFumiliFCN.cxx.

References Calculate_element(), Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), TChi2FitData::Coords(), ROOT::Minuit2::FumiliFCNBase::Dimension(), FitterUtil::EvalIntegral(), TF1::EvalPar(), fData, fFunc, fFunctionGradient, fParamCache, ROOT::Minuit2::FumiliFCNBase::Gradient(), ROOT::Minuit2::FumiliFCNBase::Hessian(), i, TF1::InitArgs(), Initialize(), j, points, TF1::RejectedPoint(), TF1::RejectPoint(), ROOT::Minuit2::FumiliFCNBase::SetFCNValue(), TF1::SetNumberFitPoints(), TFormula::SetParameters(), TChi2FitData::UseIntegral(), x, and x2.

Referenced by EvaluateAll().

void TFumiliFCN::Calculate_numerical_gradient ( const std::vector< double > &  x,
double  f0 
) [protected]

Definition at line 182 of file TFumiliFCN.cxx.

References TF1::EvalPar(), f2, ROOT::Math::fabs(), fFunc, fFunctionGradient, fParamCache, fStrategy, g2(), h, h2, kPrecision, max, n, and p0().

Referenced by Calculate_gradient_and_hessian().

void TFumiliFCN::Calculate_numerical_gradient_of_integral ( const std::vector< double > &  x1,
const std::vector< double > &  x2,
double  f0 
) [protected]

Definition at line 228 of file TFumiliFCN.cxx.

References FitterUtil::EvalIntegral(), f2, ROOT::Math::fabs(), fFunc, fFunctionGradient, fParamCache, fStrategy, g2(), h, h2, kPrecision, max, n, and p0().

Referenced by Calculate_gradient_and_hessian().

virtual void TFumiliFCN::Calculate_element ( int  i,
const FumiliFitData points,
double  fval,
double chi2,
std::vector< double > &  grad,
std::vector< double > &  hess 
) [protected, pure virtual]

Referenced by Calculate_gradient_and_hessian().

virtual double TFumiliFCN::operator() ( const std::vector< double > &   )  const [pure virtual]

evaluate objective function

Implements ROOT::Minuit2::FCNBase.

void TFumiliFCN::EvaluateAll ( const std::vector< double > &   )  [virtual]

evaluate gradient and function elements needed by fumili

Implements ROOT::Minuit2::FumiliFCNBase.

double TFumiliFCN::Up (  )  const [inline, virtual]

return error definition for chi2 = 1

Implements ROOT::Minuit2::FCNBase.

Definition at line 65 of file TFumiliFCN.h.

References fUp.

void TFumiliFCN::SetErrorDef ( double  up  )  [inline, virtual]

add interface to set dynamically a new error definition Re-implement this function if needed.

Reimplemented from ROOT::Minuit2::FCNBase.

Definition at line 67 of file TFumiliFCN.h.

References fUp.

void TFumiliFCN::Initialize ( unsigned int  npar  ) 

initialize method to set right number of parameters. It is known only when starting the fit

void TFumiliFCN::Calculate_gradient_and_hessian ( const std::vector< double > &  p  )  [protected]

void TFumiliFCN::Calculate_numerical_gradient ( const std::vector< double > &  x,
double  f0 
) [protected]

void TFumiliFCN::Calculate_numerical_gradient_of_integral ( const std::vector< double > &  x1,
const std::vector< double > &  x2,
double  f0 
) [protected]

virtual void TFumiliFCN::Calculate_element ( int  i,
const FumiliFitData points,
double  fval,
double chi2,
std::vector< double > &  grad,
std::vector< double > &  hess 
) [protected, pure virtual]


Member Data Documentation

double TFumiliFCN::fUp [protected]

Definition at line 93 of file TFumiliFCN.h.

Referenced by SetErrorDef(), TFumiliFCN(), and Up().

FumiliFitData* TFumiliFCN::fData [protected]

Definition at line 94 of file TFumiliFCN.h.

Referenced by Calculate_gradient_and_hessian(), TFumiliBinLikelihoodFCN::Chi2(), TFumiliBinLikelihoodFCN::operator()(), TFumiliUnbinLikelihoodFCN::operator()(), TFumiliChi2FCN::operator()(), TFumiliFCN(), and ~TFumiliFCN().

ModelFunction* TFumiliFCN::fFunc [protected]

Definition at line 95 of file TFumiliFCN.h.

Referenced by Calculate_gradient_and_hessian(), Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), TFumiliBinLikelihoodFCN::Chi2(), TFumiliBinLikelihoodFCN::operator()(), TFumiliUnbinLikelihoodFCN::operator()(), TFumiliChi2FCN::operator()(), and TFumiliFCN().

std::vector<double> TFumiliFCN::fParamCache [protected]

Definition at line 101 of file TFumiliFCN.h.

Referenced by Calculate_gradient_and_hessian(), Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), and Initialize().

std::vector<double> TFumiliFCN::fFunctionGradient [protected]

Definition at line 102 of file TFumiliFCN.h.

Referenced by TFumiliUnbinLikelihoodFCN::Calculate_element(), TFumiliBinLikelihoodFCN::Calculate_element(), TFumiliChi2FCN::Calculate_element(), Calculate_gradient_and_hessian(), Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), and Initialize().

int TFumiliFCN::fStrategy [protected]

Definition at line 104 of file TFumiliFCN.h.

Referenced by Calculate_numerical_gradient(), Calculate_numerical_gradient_of_integral(), and TFumiliFCN().

FumiliFitData* TFumiliFCN::fData [protected]

Definition at line 94 of file TFumiliFCN.h.

ModelFunction* TFumiliFCN::fFunc [protected]

Definition at line 95 of file TFumiliFCN.h.

std::vector<double> TFumiliFCN::fParamCache [protected]

Definition at line 101 of file TFumiliFCN.h.

std::vector<double> TFumiliFCN::fFunctionGradient [protected]

Definition at line 102 of file TFumiliFCN.h.


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:38:08 2011 for ROOT_528-00b_version by  doxygen 1.5.1