class TFitterFumili: public TFitterMinuit


Implementation of the  TVirtualFitter interface using the FUMILI algorithm present in Minuit2.
The FUMILI algorithm is a specialized minimization algorithm in the case of a least square or likelihood
functions. With this technique the Hessian matrix of the objective function is approximated using only first
derivatives.
For more information on this method see page 31 of the Tutorial on Function Minimization.

The new Fumili (Fumili2) can be set as the default fitter to be used in method like TH1::Fit, by doing

TVirtualFitter::SetDefaultFitter("Fumili2");
To be used directly, Fumili2 requires that the user implements the ROOT::Minuit2::FumiliFCNBase interface and passes its pointer via the SetMinuitFCN method.

Function Members (Methods)

public:
TFitterFumili()
TFitterFumili(Int_t maxpar)
TFitterFumili(const TFitterFumili&)
virtual~TFitterFumili()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual Double_tChisquare(Int_t npar, Double_t* params) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTFitterMinuit::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual Int_tTFitterMinuit::ExecuteCommand(const char* command, Double_t* args, Int_t nargs)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static TVirtualFitter*TVirtualFitter::Fitter(TObject* obj, Int_t maxpar = 25)
virtual voidTFitterMinuit::FixParameter(Int_t ipar)
virtual voidTVirtualFitter::GetConfidenceIntervals(TObject* obj, Double_t cl = 0.95)
virtual voidTVirtualFitter::GetConfidenceIntervals(Int_t n, Int_t ndim, const Double_t* x, Double_t* ci, Double_t cl = 0.95)
virtual Double_t*TFitterMinuit::GetCovarianceMatrix() const
virtual Double_tTFitterMinuit::GetCovarianceMatrixElement(Int_t i, Int_t j) const
static const char*TVirtualFitter::GetDefaultFitter()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
static Double_tTVirtualFitter::GetErrorDef()
virtual Int_tTFitterMinuit::GetErrors(Int_t ipar, Double_t& eplus, Double_t& eminus, Double_t& eparab, Double_t& globcc) const
virtual Foption_tTVirtualFitter::GetFitOption() const
static TVirtualFitter*TVirtualFitter::GetFitter()
virtual const char*TObject::GetIconName() const
static Int_tTVirtualFitter::GetMaxIterations()
TMethodCall*TVirtualFitter::GetMethodCall() const
virtual const ROOT::Minuit2::ModularFunctionMinimizer*TFitterMinuit::GetMinimizer() const
virtual const ROOT::Minuit2::FCNBase*TFitterMinuit::GetMinuitFCN() const
virtual const char*TNamed::GetName() const
virtual Int_tTFitterMinuit::GetNumberFreeParameters() const
virtual Int_tTFitterMinuit::GetNumberTotalParameters() const
virtual TObject*TVirtualFitter::GetObjectFit() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Double_tTFitterMinuit::GetParameter(Int_t ipar) const
virtual Int_tTFitterMinuit::GetParameter(Int_t ipar, char* name, Double_t& value, Double_t& verr, Double_t& vlow, Double_t& vhigh) const
virtual Double_tTFitterMinuit::GetParError(Int_t ipar) const
virtual const char*TFitterMinuit::GetParName(Int_t ipar) const
static Double_tTVirtualFitter::GetPrecision()
virtual Int_tTFitterMinuit::GetStats(Double_t& amin, Double_t& edm, Double_t& errdef, Int_t& nvpar, Int_t& nparx) const
intTFitterMinuit::GetStrategy()
virtual Double_tTFitterMinuit::GetSumLog(Int_t i)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual TObject*TVirtualFitter::GetUserFunc() const
virtual Int_tTVirtualFitter::GetXfirst() const
virtual Int_tTVirtualFitter::GetXlast() const
virtual Int_tTVirtualFitter::GetYfirst() const
virtual Int_tTVirtualFitter::GetYlast() const
virtual Int_tTVirtualFitter::GetZfirst() const
virtual Int_tTVirtualFitter::GetZlast() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTFitterMinuit::IsFixed(Int_t ipar) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual intTFitterMinuit::Minimize(int nfcn = 0, double edmval = 0.1)
doubleTFitterMinuit::MinimumTolerance() const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
intTFitterMinuit::PrintLevel()
virtual voidTFitterMinuit::PrintResults(Int_t level, Double_t amin) const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTFitterMinuit::ReleaseParameter(Int_t ipar)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual Double_t*TVirtualFitter::SetCache(Int_t npoints, Int_t psize)
static voidTVirtualFitter::SetDefaultFitter(const char* name = "")
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
static voidTVirtualFitter::SetErrorDef(Double_t errdef = 1)
virtual voidTFitterMinuit::SetFCN(void fcn)
virtual voidTFitterMinuit::SetFCN(void*)
virtual voidTFitterMinuit::SetFitMethod(const char* name)
virtual voidTVirtualFitter::SetFitOption(Foption_t option)
static voidTVirtualFitter::SetFitter(TVirtualFitter* fitter, Int_t maxpar = 25)
static voidTVirtualFitter::SetMaxIterations(Int_t niter = 5000)
voidTFitterMinuit::SetMinimumTolerance(double mintol)
virtual voidTFitterMinuit::SetMinuitFCN(ROOT::Minuit2::FCNBase* f)
virtual voidTNamed::SetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidTVirtualFitter::SetObjectFit(TObject* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual Int_tTFitterMinuit::SetParameter(Int_t ipar, const char* parname, Double_t value, Double_t verr, Double_t vlow, Double_t vhigh)
static voidTVirtualFitter::SetPrecision(Double_t prec = 1e-6)
voidTFitterMinuit::SetPrintLevel(int level)
voidTFitterMinuit::SetStrategy(int stra)
virtual voidTNamed::SetTitle(const char* title = "")
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidTVirtualFitter::SetUserFunc(TObject* userfunc)
virtual voidTVirtualFitter::SetXfirst(Int_t first)
virtual voidTVirtualFitter::SetXlast(Int_t last)
virtual voidTVirtualFitter::SetYfirst(Int_t first)
virtual voidTVirtualFitter::SetYlast(Int_t last)
virtual voidTVirtualFitter::SetZfirst(Int_t first)
virtual voidTVirtualFitter::SetZlast(Int_t last)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual const ROOT::Minuit2::MnUserParameterState&TFitterMinuit::State() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidCreateBinLikelihoodFCN()
virtual voidCreateChi2ExtendedFCN()
virtual voidCreateChi2FCN()
virtual voidCreateMinimizer(TFitterMinuit::EMinimizerType)
virtual voidCreateUnbinLikelihoodFCN()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual ROOT::Minuit2::FunctionMinimumTFitterMinuit::DoMinimization(int nfcn = 0, double edmval = 0.1)
virtual intTFitterMinuit::ExamineMinimum(const ROOT::Minuit2::FunctionMinimum&)
virtual voidTFitterMinuit::Initialize()
voidTObject::MakeZombie()
TVirtualFitter&TVirtualFitter::operator=(const TVirtualFitter& tvf)
virtual voidTFitterMinuit::SetMinimizer(ROOT::Minuit2::ModularFunctionMinimizer* m)
virtual ROOT::Minuit2::MnUserParameterState&TFitterMinuit::State()

Data Members

public:
enum TFitterMinuit::EMinimizerType { kMigrad
kSimplex
kCombined
kScan
kFumili
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_t*TVirtualFitter::fCache[fCacheSize] array of points data (fNpoints*fPointSize < fCacheSize words)
Int_tTVirtualFitter::fCacheSizeSize of the fCache array
voidTVirtualFitter::fFCN
TMethodCall*TVirtualFitter::fMethodCallPointer to MethodCall in case of interpreted function
TStringTNamed::fNameobject identifier
Int_tTVirtualFitter::fNpointsNumber of points to fit
TObject*TVirtualFitter::fObjectFitpointer to object being fitted
Foption_tTVirtualFitter::fOptionstruct with the fit options
Int_tTVirtualFitter::fPointSizeNumber of words per point in the cache
TStringTNamed::fTitleobject title
TObject*TVirtualFitter::fUserFuncpointer to user theoretical function (a TF1*)
Int_tTVirtualFitter::fXfirstfirst bin on X axis
Int_tTVirtualFitter::fXlastlast bin on X axis
Int_tTVirtualFitter::fYfirstfirst bin on Y axis
Int_tTVirtualFitter::fYlastlast bin on Y axis
Int_tTVirtualFitter::fZfirstfirst bin on Z axis
Int_tTVirtualFitter::fZlastlast bin on Z axis
static TStringTVirtualFitter::fgDefaultname of the default fitter ("Minuit","Fumili",etc)
static Double_tTVirtualFitter::fgErrorDefError definition (default=1)
static TVirtualFitter*TVirtualFitter::fgFitterCurrent fitter (default TFitter)
static Int_tTVirtualFitter::fgMaxiterMaximum number of iterations
static Int_tTVirtualFitter::fgMaxparMaximum number of fit parameters for current fitter
static Double_tTVirtualFitter::fgPrecisionmaximum precision

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TFitterFumili()
 Constructor. Set Name and global pointer.
TFitterFumili(Int_t /* maxpar */)
 Constructor as default. Needed this for TVirtualFitter interface
void CreateMinimizer(TFitterMinuit::EMinimizerType )
 Create the minimizer engine and register the plugin in ROOT
 what ever we specify only Fumili is created
Double_t Chisquare(Int_t npar, Double_t* params) const
 Do chisquare calculations in case of likelihood fits.
void CreateChi2FCN()
 Create Chi2FCN Fumili function.
void CreateChi2ExtendedFCN()
ExtendedFCN: for Fumili use normal method.
void CreateBinLikelihoodFCN()
 Create bin likelihood FCN for Fumili.
TFitterFumili()
virtual ~TFitterFumili()
{ }
void CreateUnbinLikelihoodFCN()
{}

Author: L. Moneta 10/2005
Last update: root/minuit2:$Id: TFitterFumili.h 20880 2007-11-19 11:23:41Z rdm $
Copyright (c) 2005 ROOT Foundation, CERN/PH-SFT *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.