Docs | All | Real | Category | PDF | DataSet | Plot | Container | Misc | Aux | User

RooFit Toolkit for Data Modeling
#include "RooMinuit.hh"

RooMinuit


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

class RooMinuit : public TObject

Inheritance Chart:
TObject
<-
RooMinuit
    private:
RooMinuit(const RooMinuit&) protected:
void backProp() void clearPdfParamAsymErr(Int_t index) Int_t getNPar() const Double_t getPdfParamErr(Int_t index) Double_t getPdfParamVal(Int_t index) ofstream* logfile() const Double_t& maxFCN() void profileStart() void profileStop() void setPdfParamErr(Int_t index, Double_t value) void setPdfParamErr(Int_t index, Double_t loVal, Double_t hiVal) virtual Bool_t setPdfParamVal(Int_t index, Double_t value, Bool_t verbose = kFALSE) Bool_t synchronize(Bool_t verbose) public:
RooMinuit(RooAbsReal& function) virtual ~RooMinuit() static TClass* Class() TH2F* contour(RooRealVar& var1, RooRealVar& var2, Double_t n1 = 1, Double_t n2 = 2, Double_t n3 = 0) RooFitResult* fit(const char* options) Int_t hesse() Int_t improve() virtual TClass* IsA() const Int_t migrad() Int_t minos() Int_t minos(const RooArgSet& minosParamList) RooMinuit& operator=(const RooMinuit&) void optimizeConst(Bool_t flag) RooFitResult* save(const char* name = "0", const char* title = "0") Int_t seek() void setEps(Double_t eps) void setErrorHandling(Bool_t flag) void setErrorLevel(Double_t level) Bool_t setLogFile(const char* logfile = "0") Int_t setPrintLevel(Int_t newLevel) void setProfile(Bool_t flag = kTRUE) void setStrategy(Int_t strat) void setVerbose(Bool_t flag = kTRUE) Int_t setWarnLevel(Int_t newLevel) virtual void ShowMembers(TMemberInspector& insp, char* parent) Int_t simplex() virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Int_t _printLevel Int_t _warnLevel Int_t _status Bool_t _optConst Bool_t _profile Bool_t _handleLocalErrors Int_t _numBadNLL Int_t _nPar RooArgList* _floatParamList RooArgList* _initFloatParamList RooArgList* _constParamList RooArgList* _initConstParamList RooAbsReal* _func Double_t _maxFCN ofstream* _logfile Bool_t _verbose TStopwatch _timer TStopwatch _cumulTimer public:
static const RooMinuit::Strategy Speed static const RooMinuit::Strategy Balance static const RooMinuit::Strategy Robustness static const RooMinuit::PrintLevel None static const RooMinuit::PrintLevel Reduced static const RooMinuit::PrintLevel Normal static const RooMinuit::PrintLevel ExtraForProblem static const RooMinuit::PrintLevel Maximum

Class Description

 RooMinuit is a wrapper class around TFitter/TMinuit that
 provides a seamless interface between the MINUIT functionality
 and the native RooFit interface.

 RooMinuit can minimize any RooAbsReal function with respect to
 its parameters. Usual choices for minimization are RooNLLVar
 and RooChi2Var

 RooMinuit has methods corresponding to MINUIT functions like
 hesse(), migrad(), minos() etc. In each of these function calls
 the state of the MINUIT engine is synchronized with the state
 of the RooFit variables: any change in variables, change
 in the constant status etc is forwarded to MINUIT prior to
 execution of the MINUIT call. Afterwards the RooFit objects
 are resynchronized with the output state of MINUIT: changes
 parameter values, errors are propagated.

 Various methods are available to control verbosity, profiling,
 automatic PDF optimization.

RooMinuit(RooAbsReal& function)
 Constructor

~RooMinuit()
 Destructor

void setStrategy(Int_t istrat)
 Change MINUIT strategy

void setErrorLevel(Double_t level)

void setEps(Double_t eps)
 Change MINUIT epsilon

RooFitResult* fit(const char* options)
 Parse traditional RooAbsPdf::fitTo driver options

  s - Run Hesse first to estimate initial step size
  m - Run Migrad only
  h - Run Hesse to estimate errors
  v - Verbose mode
  l - Log parameters after each Minuit steps to file
  t - Activate profile timer
  r - Save fit result
  0 - Run Migrad with strategy 0

Int_t migrad()
 Execute MIGRAD

Int_t hesse()
 Execute HESSE

Int_t minos()
 Execute MINOS

Int_t minos(const RooArgSet& minosParamList)
 Execute MINOS for given list of parameters

Int_t seek()
 Execute SEEK

Int_t simplex()
 Execute SIMPLEX

Int_t improve()
 Execute IMPROVE

Int_t setPrintLevel(Int_t newLevel)

Int_t setWarnLevel(Int_t newLevel)

Bool_t synchronize(Bool_t verbose)

void optimizeConst(Bool_t flag)

RooFitResult* save(const char* userName, const char* userTitle)
 Save snaphot of current minimizer status

TH2F* contour(RooRealVar& var1, RooRealVar& var2, Double_t n1, Double_t n2, Double_t n3)
 Verify that both variables are floating parameters of PDF

Bool_t setLogFile(const char* logfile)

Double_t getPdfParamVal(Int_t index)
 Access PDF parameter value by ordinal index (needed by MINUIT)

Double_t getPdfParamErr(Int_t index)
 Access PDF parameter error by ordinal index (needed by MINUIT)

Bool_t setPdfParamVal(Int_t index, Double_t value, Bool_t verbose)
 Modify PDF parameter value by ordinal index (needed by MINUIT)

void setPdfParamErr(Int_t index, Double_t value)
 Modify PDF parameter error by ordinal index (needed by MINUIT)

void clearPdfParamAsymErr(Int_t index)
 Modify PDF parameter error by ordinal index (needed by MINUIT)

void setPdfParamErr(Int_t index, Double_t loVal, Double_t hiVal)
 Modify PDF parameter error by ordinal index (needed by MINUIT)

void profileStart()

void profileStop()

void backProp()
 Transfer MINUIT fit results back into RooFit objects



Inline Functions


               void setErrorHandling(Bool_t flag)
               void setVerbose(Bool_t flag = kTRUE)
               void setProfile(Bool_t flag = kTRUE)
              Int_t getNPar() const
          ofstream* logfile() const
          Double_t& maxFCN()
          RooMinuit RooMinuit(const RooMinuit&)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
         RooMinuit& operator=(const RooMinuit&)
Last CVS Update: v 1.23 2005/06/23 07:37:30 wverkerke Top
Copyright © 2000-2005 University of California, Stanford University

Page maintained by Wouter Verkerke and David Kirkby

SourceForge.net Logo