library: libMinuit2
#include "TFitterMinuit.h"

TFitterMinuit


class description - header file - source file
viewCVS header - viewCVS source

class TFitterMinuit: public TVirtualFitter

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TFitterMinuit()
TFitterMinuit(Int_t maxpar)
TFitterMinuit(const TFitterMinuit&)
virtual~TFitterMinuit()
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 voidClear(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 voidCreateMinimizer(TFitterMinuit::EMinimizerType = kMigrad)
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_tExecuteCommand(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 voidFixParameter(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*GetCovarianceMatrix() const
virtual Double_tGetCovarianceMatrixElement(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_tGetErrors(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*GetMinimizer() const
virtual const ROOT::Minuit2::FCNBase*GetMinuitFCN() const
virtual const char*TNamed::GetName() const
virtual Int_tGetNumberFreeParameters() const
virtual Int_tGetNumberTotalParameters() 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_tGetParameter(Int_t ipar) const
virtual Int_tGetParameter(Int_t ipar, char* name, Double_t& value, Double_t& verr, Double_t& vlow, Double_t& vhigh) const
virtual Double_tGetParError(Int_t ipar) const
virtual const char*GetParName(Int_t ipar) const
static Double_tTVirtualFitter::GetPrecision()
virtual Int_tGetStats(Double_t& amin, Double_t& edm, Double_t& errdef, Int_t& nvpar, Int_t& nparx) const
intGetStrategy()
virtual Double_tGetSumLog(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_tIsFixed(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 intMinimize(int nfcn = 0, double edmval = 0.1)
doubleMinimumTolerance() 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
intPrintLevel()
virtual voidPrintResults(Int_t level, Double_t amin) const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidReleaseParameter(Int_t ipar)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(ostream& 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 voidSetFCN(void (*)(Int_t&, Double_t*, Double_t&f, Double_t*, Int_t) fcn)
virtual voidSetFCN(void*)
virtual voidSetFitMethod(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)
voidSetMinimumTolerance(double mintol)
virtual voidSetMinuitFCN(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_tSetParameter(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)
voidSetPrintLevel(int level)
voidSetStrategy(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&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 voidCreateUnbinLikelihoodFCN()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual ROOT::Minuit2::FunctionMinimumDoMinimization(int nfcn = 0, double edmval = 0.1)
virtual intExamineMinimum(const ROOT::Minuit2::FunctionMinimum&)
virtual voidInitialize()
voidTObject::MakeZombie()
TVirtualFitter&TVirtualFitter::operator=(const TVirtualFitter& tvf)
virtual voidSetMinimizer(ROOT::Minuit2::ModularFunctionMinimizer* m)
virtual ROOT::Minuit2::MnUserParameterState&State()

Data Members

public:
enum 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:
Foption_tTVirtualFitter::fOptionstruct with the fit options
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
Int_tTVirtualFitter::fNpointsNumber of points to fit
Int_tTVirtualFitter::fPointSizeNumber of words per point in the cache
Int_tTVirtualFitter::fCacheSizeSize of the fCache array
Double_t*TVirtualFitter::fCache[fCacheSize] array of points data (fNpoints*fPointSize < fCacheSize words)
TObject*TVirtualFitter::fObjectFitpointer to object being fitted
TObject*TVirtualFitter::fUserFuncpointer to user theoretical function (a TF1*)
TMethodCall*TVirtualFitter::fMethodCallPointer to MethodCall in case of interpreted function
voidTVirtualFitter::fFCN
static TVirtualFitter*TVirtualFitter::fgFitterCurrent fitter (default TFitter)
static Int_tTVirtualFitter::fgMaxparMaximum number of fit parameters for current fitter
static Int_tTVirtualFitter::fgMaxiterMaximum number of iterations
static Double_tTVirtualFitter::fgErrorDefError definition (default=1)
static Double_tTVirtualFitter::fgPrecisionmaximum precision
static TStringTVirtualFitter::fgDefaultname of the default fitter ("Minuit","Fumili",etc)
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
doublefErrorDef
doublefEDMVal
boolfGradient
ROOT::Minuit2::MnUserParameterStatefState
vector<ROOT::Minuit2::MinosError>fMinosErrors
ROOT::Minuit2::ModularFunctionMinimizer*fMinimizer
ROOT::Minuit2::FCNBase*fMinuitFCN
intfDebug
intfStrategy
doublefMinTolerance

Class Description

TFitterMinuit()
 Default constructor . Srategy and tolerance set to default values.
TFitterMinuit(Int_t /* maxpar */)
 Constructur needed by TVirtualFitter interface. Same behavior as default constructor.
void Initialize()
 initialize setting name and the global pointer
void CreateMinimizer(EMinimizerType type)
 create the minimizer engine and register the plugin in ROOT 
~TFitterMinuit()
 destructor - deletes the minimizer and minuit fcn
 if using TVirtualFitter one should use Clear() and not delete() 
Double_t Chisquare(Int_t npar, Double_t *params)
 do chisquare calculations in case of likelihood fits 
void Clear(Option_t*)
 clear resources for consecutive fits
FunctionMinimum DoMinimization( int nfcn, double edmval)
 perform minimization using Minuit2 function
 use always strategy 1 (2 is not yet fully tested)
int Minimize( int nfcn, double edmval)
 minimize (call DoMinimization() and analyze the result
Int_t ExecuteCommand(const char *command, Double_t *args, Int_t nargs)
 execute the command (Fortran Minuit compatible interface)
int ExamineMinimum(const FunctionMinimum & min)
/ study the function minimum      
void FixParameter(Int_t ipar)
 fix the paramter
   std::cout<<"FixParameter"<<std::endl;
Double_t* GetCovarianceMatrix()
 get the error matrix
Double_t GetCovarianceMatrixElement(Int_t i, Int_t j)
 get error matrix element
Int_t GetErrors(Int_t ipar,Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &globcc)
 get fit errors 
   std::cout<<"GetError"<<std::endl;
 here is example of deficit of new Minuit interface

Int_t GetNumberTotalParameters()
 number of total parameters (ugly interface)
Int_t GetNumberFreeParameters()
 number of variable parameters
Double_t GetParError(Int_t ipar)
 parameter error
   std::cout<<"GetParError"<<std::endl;
Double_t GetParameter(Int_t ipar)
 parameter value
   std::cout<<"GetParameter"<<std::endl;
Int_t GetParameter(Int_t ipar,char *name,Double_t &value,Double_t &verr,Double_t &vlow, Double_t &vhigh)
 get all parameter info (name, value, errors) 
   std::cout<<"GetParameter(Int_t ipar,char"<<std::endl;
const char * GetParName(Int_t ipar)
   return name of parameter ipar
Int_t GetStats(Double_t &amin, Double_t &edm, Double_t &errdef, Int_t &nvpar, Int_t &nparx)
 get fit statistical information
   std::cout<<"GetStats"<<std::endl;
Double_t GetSumLog(Int_t)
   std::cout<<"GetSumLog"<<std::endl;
Bool_t IsFixed(Int_t ipar)
 query if parameter ipar is fixed
void PrintResults(Int_t level, Double_t)
 print the fit result
void ReleaseParameter(Int_t ipar)
 release a fit parameter
void SetFitMethod(const char *name)
 set fit method (i.e. chi2 or likelihood)
 according to the method the appropriate FCN function will be created   
Int_t SetParameter(Int_t,const char *parname,Double_t value,Double_t verr,Double_t vlow, Double_t vhigh)
 set (add) a new fit parameter passing initial value,  step size (verr) and parametr limits
 if vlow > vhigh the parameter is unbounded
 if the stepsize (verr) == 0 the parameter is treated as fixed   
void SetFCN(void (*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t))
 override setFCN to use the Adapter to Minuit2 FCN interface
*-*-*-*-*-*-*To set the address of the minimization function*-*-*-*-*-*-*-*
*-*          ===============================================
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
void SetFCN(void *fcn)
*-*-*-*-*-*-*To set the address of the minimization function*-*-*-*-*-*-*-*
*-*          ===============================================
     this function is called by CINT instead of the function above
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
void SetMinuitFCN( FCNBase * f)
 class takes the ownership of the passed pointer
 so needs to delete previous one 
void CreateChi2FCN()
 create a chi2 FCN object
void CreateChi2ExtendedFCN()
 create an extended chi2 FCN object 
 used in the case of errors both on the coordinates and the value (case of a graph fit)
void CreateBinLikelihoodFCN()
 create a binned likelihood FCN
TFitterMinuit()
const ROOT::Minuit2::MnUserParameterState & State()
 methods needed by derived classes 
{ return fState; }
const ROOT::Minuit2::FCNBase * GetMinuitFCN()
{ return fMinuitFCN; }
const ROOT::Minuit2::ModularFunctionMinimizer * GetMinimizer()
{ return fMinimizer; }
int GetStrategy()
{ return fStrategy; }
int PrintLevel()
{ return fDebug; }
void SetStrategy( int stra)
{ fStrategy = stra; }
void SetPrintLevel(int level )
{ fDebug = level; }
void SetMinimumTolerance(double mintol)
 set minimum tolerance to avoid having clients (as TGraf::Fit) setting tolerances too small
{ fMinTolerance = mintol; }
double MinimumTolerance()
{ return fMinTolerance; }
ROOT::Minuit2::MnUserParameterState & State()
{ return fState; }
void SetMinimizer( ROOT::Minuit2::ModularFunctionMinimizer * m)
{ fMinimizer = m; }
void CreateUnbinLikelihoodFCN()
{}

Last update: Tue Nov 21 09:12:03 2006


ROOT page - Class index - Class Hierarchy - Top of the page

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.