ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooFitResult

class RooFitResult: public TNamed, public RooPrintable, public RooDirItem


 RooFitResult is a container class to hold the input and output
 of a PDF fit to a dataset. It contains:

   - Values of all constant parameters
   - Initial and final values of floating parameters with error
   - Correlation matrix and global correlation coefficients
   - NLL and EDM at mininum

 No references to the fitted PDF and dataset are stored

Function Members (Methods)

public:
RooFitResult(const RooFitResult& other)
RooFitResult(const char* name = 0, const char* title = 0)
virtual~RooFitResult()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*clone() const
virtual TObject*Clone(const char* newname = 0) const
virtual Int_tTNamed::Compare(const TObject* obj) const
const RooArgList&constPars() const
virtual voidTNamed::Copy(TObject& named) const
const RooArgList*correlation(const RooAbsArg& par) const
const RooArgList*correlation(const char* parname) const
Double_tcorrelation(const RooAbsArg& par1, const RooAbsArg& par2) const
Double_tcorrelation(const char* parname1, const char* parname2) const
TH2*correlationHist(const char* name = "correlation_matrix") const
const TMatrixDSym&correlationMatrix() const
const TMatrixDSym&covarianceMatrix() const
Int_tcovQual() const
RooAbsPdf*createHessePdf(const RooArgSet& params) const
virtual Int_tdefaultPrintContents(Option_t* opt) const
static ostream&RooPrintable::defaultPrintStream(ostream* os = 0)
virtual RooPrintable::StyleOptiondefaultPrintStyle(Option_t* opt) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
Double_tedm() 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 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
const RooArgList&floatParsFinal() const
const RooArgList&floatParsInit() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
const RooArgList*globalCorr()
Double_tglobalCorr(const RooAbsArg& par)
Double_tglobalCorr(const char* parname)
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() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tisIdentical(const RooFitResult& other, Double_t tol = 5e-5, Double_t tolCorr = 1e-4, Bool_t verbose = kTRUE) const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
static RooFitResult*lastMinuitFit(const RooArgList& varList = RooArgList())
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Double_tminNll() const
static voidRooPrintable::nameFieldLength(Int_t newLen)
virtual Bool_tTObject::Notify()
Int_tnumInvalidNLL() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTObject::Paint(Option_t* option = "")
RooPlot*plotOn(RooPlot* frame, const RooAbsArg& par1, const RooAbsArg& par2, const char* options = "ME") const
RooPlot*plotOn(RooPlot* plot, const char* parName1, const char* parName2, const char* options = "ME") const
virtual voidTObject::Pop()
virtual voidPrint(Option_t* options = 0) const
virtual voidRooPrintable::printAddress(ostream& os) const
virtual voidprintArgs(ostream& os) const
virtual voidprintClassName(ostream& os) const
virtual voidRooPrintable::printExtras(ostream& os) const
virtual voidprintMultiline(ostream& os, Int_t contents, Bool_t verbose = kFALSE, TString indent = "") const
virtual voidprintName(ostream& os) const
virtual voidRooPrintable::printStream(ostream& os, Int_t contents, RooPrintable::StyleOption style, TString indent = "") const
virtual voidprintTitle(ostream& os) const
virtual voidRooPrintable::printTree(ostream& os, TString indent = "") const
virtual voidprintValue(ostream& os) const
const RooArgList&randomizePars() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
TMatrixDSymreducedCovarianceMatrix(const RooArgList& params) const
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetName(const char* name)
virtual voidSetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp)
virtual Int_tTNamed::Sizeof() const
Int_tstatus() 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:
voidRooDirItem::appendToDir(TObject* obj, Bool_t forceMemoryResident = kFALSE)
Double_tcorrelation(Int_t row, Int_t col) const
Double_tcovariance(Int_t row, Int_t col) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidfillCorrMatrix()
voidfillCorrMatrix(const vector<double>& globalCC, const TMatrixDSym& corrs, const TMatrixDSym& covs)
voidfillLegacyCorrMatrix() const
voidTObject::MakeZombie()
voidRooDirItem::removeFromDir(TObject* obj)
voidsetConstParList(const RooArgList& list)
voidsetCovarianceMatrix(TMatrixDSym& V)
voidsetCovQual(Int_t val)
voidsetEDM(Double_t val)
voidsetFinalParList(const RooArgList& list)
voidsetInitParList(const RooArgList& list)
voidsetMinNLL(Double_t val)
voidsetNumInvalidNLL(Int_t val)
voidsetStatus(Int_t val)

Data Members

protected:
TMatrixDSym*_CMCorrelation matrix
TVectorD*_GCGlobal correlation coefficients
TMatrixF*_Lt! triangular matrix used for generate random perturbations
TMatrixDSym*_VMCovariance matrix
RooArgList*_constParsList of constant parameters
TList_corrMatrix! Correlation matrix (list of RooArgLists)
Int_t_covQualMINUIT quality code of covariance matrix
TDirectory*RooDirItem::_dir! Associated directory
Double_t_edmEstimated distance to minimum
RooArgList*_finalParsList of floating parameters with final values
RooArgList*_globalCorr! List of global correlation coefficients
RooArgList*_initParsList of floating parameters with initial values
Double_t_minNLLNLL at minimum
static Int_tRooPrintable::_nameLength
Int_t_numBadNLLNumber calls with bad (zero,negative) likelihood
RooArgList*_randomPars! List of floating parameters with most recent random perturbation applied
Int_t_statusMINUIT status code
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RooFitResult(const char* name = 0, const char* title = 0)
 Constructor with name and title
 coverity[UNINIT_CTOR]
RooFitResult(const RooFitResult& other)
 Copy constructor
~RooFitResult()
 Destructor
void setConstParList(const RooArgList& list)
 Fill the list of constant parameters
void setInitParList(const RooArgList& list)
 Fill the list of initial values of the floating parameters
void setFinalParList(const RooArgList& list)
 Fill the list of final values of the floating parameters
RooPlot * plotOn(RooPlot* plot, const char* parName1, const char* parName2, const char* options = "ME") const
 Add objects to a 2D plot that represent the fit results for the
 two named parameters.  The input frame with the objects added is
 returned, or zero in case of an error.  Which objects are added
 are determined by the options string which should be a concatenation
 of the following (not case sensitive):

   M - a marker at the best fit result
   E - an error ellipse calculated at 1-sigma using the error matrix at the minimum
   1 - the 1-sigma error bar for parameter 1
   2 - the 1-sigma error bar for parameter 2
   B - the bounding box for the error ellipse
   H - a line and horizontal axis for reading off the correlation coefficient
   V - a line and vertical axis for reading off the correlation coefficient
   A - draw axes for reading off the correlation coefficients with the H or V options

 You can change the attributes of objects in the returned RooPlot using the
 various RooPlot::getAttXxx(name) member functions, e.g.

   plot->getAttLine("contour")->SetLineStyle(kDashed);

 Use plot->Print() for a list of all objects and their names (unfortunately most
 of the ROOT builtin graphics objects like TLine are unnamed). Drag the left mouse
 button along the labels of either axis button to interactively zoom in a plot.
const RooArgList& randomizePars() const
 Return a list of floating parameter values that are perturbed from the final
 fit values by random amounts sampled from the covariance matrix. The returned
 object is overwritten with each call and belongs to the RooFitResult. Uses
 the "square root method" to decompose the covariance matrix, which makes inverting
 it unnecessary.
Double_t correlation(const char* parname1, const char* parname2) const
 Return the correlation between parameters 'par1' and 'par2'
const RooArgList* correlation(const char* parname) const
 Return the set of correlation coefficients of parameter 'par' with
 all other floating parameters
Double_t globalCorr(const char* parname)
 Return the global correlation of the named parameter
const RooArgList* globalCorr()
 Return the list of all global correlations
Double_t correlation(Int_t row, Int_t col) const
 Return a correlation matrix element addressed with numeric indices.
Double_t covariance(Int_t row, Int_t col) const
 Return the covariance matrix element addressed with numeric indices.
void printMultiline(ostream& os, Int_t contents, Bool_t verbose = kFALSE, TString indent = "") const
 Print fit result to stream 'os'. In Verbose mode, the contant parameters and
 the initial and final values of the floating parameters are printed.
 Standard mode only the final values of the floating parameters are printed
void fillCorrMatrix(const vector<double>& globalCC, const TMatrixDSym& corrs, const TMatrixDSym& covs)
 Function called by RooMinimizer
void fillLegacyCorrMatrix() const
 Sanity check
void fillCorrMatrix()
 Internal utility method to extract the correlation matrix and the
 global correlation coefficients from the MINUIT memory buffer and
 fill the internal arrays.
Bool_t isIdentical(const RooFitResult& other, Double_t tol = 5e-5, Double_t tolCorr = 1e-4, Bool_t verbose = kTRUE) const
 Return true if this fit result is identical to other within tolerance 'tol' on fitted values
 and tolerance 'tolCor' on correlation coefficients
RooFitResult* lastMinuitFit(const RooArgList& varList = RooArgList())
 Import the results of the last fit performed by gMinuit, interpreting
 the fit parameters as the given varList of parameters.
void setCovarianceMatrix(TMatrixDSym& V)
 Store externally provided correlation matrix in his RooFitResult ;
TH2* correlationHist(const char* name = "correlation_matrix") const
 Return TH2D of correlation matrix
const TMatrixDSym& covarianceMatrix() const
 Return covariance matrix
TMatrixDSym reducedCovarianceMatrix(const RooArgList& params) const
 Return a reduced covariance matrix, which is calculated as
        ___                   -1
 Vred = V22  = V11 - V12 * V22   * V21

 Where V11,V12,V21,V22 represent a block decomposition of the covariance matrix into observables that
 are propagated (labeled by index '1') and that are not propagated (labeled by index '2'), and V22bar
 is the Shur complement of V22, calculated as shown above

 (Note that Vred is _not_ a simple sub-matrix of V)
const TMatrixDSym& correlationMatrix() const
 Return correlation matrix ;
RooAbsPdf* createHessePdf(const RooArgSet& params) const
 Return a p.d.f that represents the fit result as a multi-variate probability densisty
 function on the floating fit parameters, including correlations
void SetName(const char* name)
 Change name of RooFitResult object
void SetNameTitle(const char* name, const char* title)
 Change name and title of RooFitResult object
void printName(ostream& os) const
 Print name of fit result
void printTitle(ostream& os) const
 Print title of fit result
void printClassName(ostream& os) const
 Print class name of fit result
void printArgs(ostream& os) const
 Print arguments of fit result, i.e. the parameters of the fit
void printValue(ostream& os) const
 Print the value of the fit result, i.e.g the status, minimized FCN, edm and covariance quality code
Int_t defaultPrintContents(Option_t* opt) const
 Configure default contents to be printed
RooPrintable::StyleOption defaultPrintStyle(Option_t* opt) const
 Configure mapping of Print() arguments to RooPrintable print styles
void Streamer(TBuffer& b)
 Stream an object of class RooFitResult.
TObject* Clone(const char* newname = 0) const
TObject* clone() const
{ return new RooFitResult(*this); }
void Print(Option_t* options = 0) const
 Printing interface
Int_t status() const
 Accessors
Int_t covQual() const
 Return MINUIT quality code of covariance matrix
Int_t numInvalidNLL() const
 Return number of NLL evaluations with problems
Double_t edm() const
 Return estimated distance to minimum
Double_t minNll() const
 Return minimized -log(L) value
const RooArgList& constPars() const
 Return list of constant parameters
const RooArgList& floatParsInit() const
 Return list of floating parameters before fit
const RooArgList& floatParsFinal() const
 Return list of floarting parameters after fit
Double_t correlation(const RooAbsArg& par1, const RooAbsArg& par2) const
 Return correlation between par1 and par2
return correlation(par1.GetName(),par2.GetName())
Double_t globalCorr(const RooAbsArg& par)
 Global correlation accessors
{ return globalCorr(par.GetName()) ; }
RooPlot * plotOn(RooPlot* frame, const RooAbsArg& par1, const RooAbsArg& par2, const char* options = "ME") const
 Add objects to a 2D plot
void setMinNLL(Double_t val)
{ _minNLL = val ; }
void setEDM(Double_t val)
{ _edm = val ; }
void setStatus(Int_t val)
{ _status = val ; }
void setCovQual(Int_t val)
{ _covQual = val ; }
void setNumInvalidNLL(Int_t val)
{ _numBadNLL=val ; }