library: libMinuit2
#include "TFitterMinuit.h"

TFitterMinuit


class description - header file - source file - inheritance tree (.pdf)

class TFitterMinuit : public TVirtualFitter

Inheritance Chart:
TObject
<-
TNamed
<-
TVirtualFitter
<-
TFitterMinuit
<-
TFitterFumili

    protected:
virtual void CreateBinLikelihoodFCN() virtual void CreateChi2ExtendedFCN() virtual void CreateChi2FCN() virtual void CreateUnbinLikelihoodFCN() virtual ROOT::Minuit2::FunctionMinimum DoMinimization(int nfcn = 0, double edmval = 0.1) virtual int ExamineMinimum(const ROOT::Minuit2::FunctionMinimum&) virtual void Initialize() virtual void SetMinimizer(ROOT::Minuit2::ModularFunctionMinimizer* m) virtual ROOT::Minuit2::MnUserParameterState& State() public:
TFitterMinuit() TFitterMinuit(Int_t maxpar) TFitterMinuit(const TFitterMinuit&) virtual ~TFitterMinuit() virtual Double_t Chisquare(Int_t npar, Double_t* params) const static TClass* Class() virtual void Clear(Option_t* option = "") virtual void CreateMinimizer(TFitterMinuit::EMinimizerType = kMigrad) virtual Int_t ExecuteCommand(const char* command, Double_t* args, Int_t nargs) virtual void FixParameter(Int_t ipar) virtual Double_t* GetCovarianceMatrix() const virtual Double_t GetCovarianceMatrixElement(Int_t i, Int_t j) const virtual Int_t GetErrors(Int_t ipar, Double_t& eplus, Double_t& eminus, Double_t& eparab, Double_t& globcc) const virtual const ROOT::Minuit2::ModularFunctionMinimizer* GetMinimizer() const virtual const ROOT::Minuit2::FCNBase* GetMinuitFCN() const virtual Int_t GetNumberFreeParameters() const virtual Int_t GetNumberTotalParameters() const virtual Double_t GetParameter(Int_t ipar) const virtual Int_t GetParameter(Int_t ipar, char* name, Double_t& value, Double_t& verr, Double_t& vlow, Double_t& vhigh) const virtual Double_t GetParError(Int_t ipar) const virtual const char* GetParName(Int_t ipar) const virtual Int_t GetStats(Double_t& amin, Double_t& edm, Double_t& errdef, Int_t& nvpar, Int_t& nparx) const int GetStrategy() virtual Double_t GetSumLog(Int_t i) virtual TClass* IsA() const virtual Bool_t IsFixed(Int_t ipar) const virtual int Minimize(int nfcn = 0, double edmval = 0.1) double MinimumTolerance() const int PrintLevel() virtual void PrintResults(Int_t level, Double_t amin) const virtual void ReleaseParameter(Int_t ipar) virtual void SetFCN(void (*)(Int_t&, Double_t*, Double_t&f, Double_t*, Int_t) fcn) virtual void SetFCN(void*) virtual void SetFitMethod(const char* name) void SetMinimumTolerance(double mintol) virtual void SetMinuitFCN(ROOT::Minuit2::FCNBase* f) virtual Int_t SetParameter(Int_t ipar, const char* parname, Double_t value, Double_t verr, Double_t vlow, Double_t vhigh) void SetPrintLevel(int level) void SetStrategy(int stra) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual const ROOT::Minuit2::MnUserParameterState& State() const virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
double fErrorDef double fEDMVal bool fGradient ROOT::Minuit2::MnUserParameterState fState vector<ROOT::Minuit2::MinosError> fMinosErrors ROOT::Minuit2::ModularFunctionMinimizer* fMinimizer ROOT::Minuit2::FCNBase* fMinuitFCN int fDebug int fStrategy double fMinTolerance public:
static const TFitterMinuit::EMinimizerType kMigrad static const TFitterMinuit::EMinimizerType kSimplex static const TFitterMinuit::EMinimizerType kCombined static const TFitterMinuit::EMinimizerType kScan static const TFitterMinuit::EMinimizerType kFumili

Class Description

TFitterMinuit()
 Default constructor . Srategy and tolerance set to default values.
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;
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()
TFitterMinuit(Int_t maxpar)
const ROOT::Minuit2::MnUserParameterState & State()
 methods needed by derived classes
const ROOT::Minuit2::FCNBase * GetMinuitFCN()
const ROOT::Minuit2::ModularFunctionMinimizer * GetMinimizer()
int GetStrategy()
int PrintLevel()
void SetStrategy( int stra)
void SetPrintLevel(int level )
void SetMinimumTolerance(double mintol)
 set minimum tolerance to avoid having clients (as TGraf::Fit) setting tolerances too small
double MinimumTolerance()
ROOT::Minuit2::MnUserParameterState & State()
void SetMinimizer( ROOT::Minuit2::ModularFunctionMinimizer * m)
void CreateUnbinLikelihoodFCN()

Last update: Tue Jul 11 11:49:26 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.