Logo ROOT  
Reference Guide
RooAbsMinimizerFcn Class Referenceabstract

Definition at line 36 of file RooAbsMinimizerFcn.h.

Public Member Functions

 RooAbsMinimizerFcn (const RooAbsMinimizerFcn &other)
 
 RooAbsMinimizerFcn (RooArgList paramList, RooMinimizer *context, bool verbose=false)
 
virtual ~RooAbsMinimizerFcn ()=default
 
void ApplyCovarianceMatrix (TMatrixDSym &V)
 Set different external covariance matrix. More...
 
void BackProp (const ROOT::Fit::FitResult &results)
 Put Minuit results back into RooFit objects. More...
 
Int_t evalCounter () const
 
RooArgListGetConstParamList ()
 
RooArgListGetFloatParamList ()
 Logistics. More...
 
virtual std::string getFunctionName () const =0
 RooMinimizer sometimes needs the name of the minimized function. Implement this in the derived class. More...
 
virtual std::string getFunctionTitle () const =0
 RooMinimizer sometimes needs the title of the minimized function. Implement this in the derived class. More...
 
RooArgListGetInitConstParamList ()
 
RooArgListGetInitFloatParamList ()
 
std::ofstream * GetLogFile ()
 
Double_tGetMaxFCN ()
 
unsigned int getNDim () const
 
Int_t GetNumInvalidNLL () const
 
double getOffset () const
 Return a possible offset that's applied to the function to separate invalid function values from valid ones. More...
 
bool getOptConst ()
 
std::vector< doublegetParameterValues () const
 
unsigned int NDim () const
 
void SetEvalErrorWall (Bool_t flag)
 
Bool_t SetLogFile (const char *inLogfile)
 Change the file name for logging of a RooMinimizer of all MINUIT steppings through the parameter space. More...
 
virtual void setOffsetting (Bool_t flag)=0
 Enable or disable offsetting on the function to be minimized, which enhances numerical precision. More...
 
void setOptimizeConst (Int_t flag)
 
Bool_t SetPdfParamVal (int index, double value) const
 Set value of parameter i. More...
 
void SetPrintEvalErrors (Int_t numEvalErrors)
 
void SetRecoverFromNaNStrength (double strength)
 Try to recover from invalid function values. More...
 
void SetVerbose (Bool_t flag=kTRUE)
 
virtual Bool_t Synchronize (std::vector< ROOT::Fit::ParameterSettings > &parameters, Bool_t optConst, Bool_t verbose)
 Like synchronizeParameterSettings, Synchronize informs Minuit through its parameter_settings vector of RooFit parameter properties, but Synchronize can be overridden to e.g. More...
 
Bool_t synchronizeParameterSettings (std::vector< ROOT::Fit::ParameterSettings > &parameters, Bool_t optConst, Bool_t verbose)
 Informs Minuit through its parameter_settings vector of RooFit parameter properties. More...
 
void zeroEvalCount ()
 

Protected Member Functions

void ClearPdfParamAsymErr (Int_t index)
 Modify PDF parameter error by ordinal index (needed by MINUIT) More...
 
void optimizeConstantTerms (bool constStatChange, bool constValChange)
 
void printEvalErrors () const
 Print information about why evaluation failed. More...
 
virtual void setOptimizeConstOnFunction (RooAbsArg::ConstOpCode opcode, Bool_t doAlsoTrackingOpt)=0
 This function must be overridden in the derived class to pass on constant term optimization configuration to the function to be minimized. More...
 
void SetPdfParamErr (Int_t index, Double_t loVal, Double_t hiVal)
 Modify PDF parameter error by ordinal index (needed by MINUIT) More...
 
void SetPdfParamErr (Int_t index, Double_t value)
 Modify PDF parameter error by ordinal index (needed by MINUIT) More...
 

Protected Attributes

std::unique_ptr< RooArgList_constParamList
 
RooMinimizer_context
 
bool _doEvalErrorWall {true}
 
int _evalCounter {0}
 
std::unique_ptr< RooArgList_floatParamList
 
double _funcOffset {0.}
 
std::unique_ptr< RooArgList_initConstParamList
 
std::unique_ptr< RooArgList_initFloatParamList
 
std::ofstream * _logfile = nullptr
 
double _maxFCN = -std::numeric_limits<double>::infinity()
 
unsigned int _nDim = 0
 
int _numBadNLL = 0
 
Bool_t _optConst = kFALSE
 
int _printEvalErrors = 10
 
double _recoverFromNaNStrength {10.}
 
bool _verbose
 

#include <RooAbsMinimizerFcn.h>

Inheritance diagram for RooAbsMinimizerFcn:
[legend]

Constructor & Destructor Documentation

◆ RooAbsMinimizerFcn() [1/2]

RooAbsMinimizerFcn::RooAbsMinimizerFcn ( RooArgList  paramList,
RooMinimizer context,
bool  verbose = false 
)

Definition at line 42 of file RooAbsMinimizerFcn.cxx.

◆ RooAbsMinimizerFcn() [2/2]

RooAbsMinimizerFcn::RooAbsMinimizerFcn ( const RooAbsMinimizerFcn other)

Definition at line 77 of file RooAbsMinimizerFcn.cxx.

◆ ~RooAbsMinimizerFcn()

virtual RooAbsMinimizerFcn::~RooAbsMinimizerFcn ( )
virtualdefault

Member Function Documentation

◆ ApplyCovarianceMatrix()

void RooAbsMinimizerFcn::ApplyCovarianceMatrix ( TMatrixDSym V)

Set different external covariance matrix.

Apply results of given external covariance matrix.

i.e. propagate its errors to all RRV parameter representations and give this matrix instead of the HESSE matrix at the next save() call

Definition at line 391 of file RooAbsMinimizerFcn.cxx.

◆ BackProp()

void RooAbsMinimizerFcn::BackProp ( const ROOT::Fit::FitResult results)

Put Minuit results back into RooFit objects.

Transfer MINUIT fit results back into RooFit objects.

Definition at line 343 of file RooAbsMinimizerFcn.cxx.

◆ ClearPdfParamAsymErr()

void RooAbsMinimizerFcn::ClearPdfParamAsymErr ( Int_t  index)
protected

Modify PDF parameter error by ordinal index (needed by MINUIT)

Definition at line 331 of file RooAbsMinimizerFcn.cxx.

◆ evalCounter()

Int_t RooAbsMinimizerFcn::evalCounter ( ) const

Definition at line 484 of file RooAbsMinimizerFcn.cxx.

◆ GetConstParamList()

RooArgList * RooAbsMinimizerFcn::GetConstParamList ( )

Definition at line 453 of file RooAbsMinimizerFcn.cxx.

◆ GetFloatParamList()

RooArgList * RooAbsMinimizerFcn::GetFloatParamList ( )

Logistics.

Definition at line 449 of file RooAbsMinimizerFcn.cxx.

◆ getFunctionName()

virtual std::string RooAbsMinimizerFcn::getFunctionName ( ) const
pure virtual

RooMinimizer sometimes needs the name of the minimized function. Implement this in the derived class.

Implemented in RooGradMinimizerFcn, RooMinimizerFcn, and RooFit::TestStatistics::MinuitFcnGrad.

◆ getFunctionTitle()

virtual std::string RooAbsMinimizerFcn::getFunctionTitle ( ) const
pure virtual

RooMinimizer sometimes needs the title of the minimized function. Implement this in the derived class.

Implemented in RooGradMinimizerFcn, RooMinimizerFcn, and RooFit::TestStatistics::MinuitFcnGrad.

◆ GetInitConstParamList()

RooArgList * RooAbsMinimizerFcn::GetInitConstParamList ( )

Definition at line 461 of file RooAbsMinimizerFcn.cxx.

◆ GetInitFloatParamList()

RooArgList * RooAbsMinimizerFcn::GetInitFloatParamList ( )

Definition at line 457 of file RooAbsMinimizerFcn.cxx.

◆ GetLogFile()

std::ofstream * RooAbsMinimizerFcn::GetLogFile ( )
inline

Definition at line 83 of file RooAbsMinimizerFcn.h.

◆ GetMaxFCN()

Double_t & RooAbsMinimizerFcn::GetMaxFCN ( )

Definition at line 475 of file RooAbsMinimizerFcn.cxx.

◆ getNDim()

unsigned int RooAbsMinimizerFcn::getNDim ( ) const
inline

Definition at line 85 of file RooAbsMinimizerFcn.h.

◆ GetNumInvalidNLL()

Int_t RooAbsMinimizerFcn::GetNumInvalidNLL ( ) const

Definition at line 479 of file RooAbsMinimizerFcn.cxx.

◆ getOffset()

double RooAbsMinimizerFcn::getOffset ( ) const
inline

Return a possible offset that's applied to the function to separate invalid function values from valid ones.

Definition at line 68 of file RooAbsMinimizerFcn.h.

◆ getOptConst()

bool RooAbsMinimizerFcn::getOptConst ( )

Definition at line 538 of file RooAbsMinimizerFcn.cxx.

◆ getParameterValues()

std::vector< double > RooAbsMinimizerFcn::getParameterValues ( ) const

Definition at line 543 of file RooAbsMinimizerFcn.cxx.

◆ NDim()

unsigned int RooAbsMinimizerFcn::NDim ( ) const
inline

Definition at line 91 of file RooAbsMinimizerFcn.h.

◆ optimizeConstantTerms()

void RooAbsMinimizerFcn::optimizeConstantTerms ( bool  constStatChange,
bool  constValChange 
)
protected

Definition at line 523 of file RooAbsMinimizerFcn.cxx.

◆ printEvalErrors()

void RooAbsMinimizerFcn::printEvalErrors ( ) const
protected

Print information about why evaluation failed.

Using _printEvalErrors, the number of errors printed can be steered. Negative values disable printing.

Definition at line 421 of file RooAbsMinimizerFcn.cxx.

◆ SetEvalErrorWall()

void RooAbsMinimizerFcn::SetEvalErrorWall ( Bool_t  flag)

Definition at line 466 of file RooAbsMinimizerFcn.cxx.

◆ SetLogFile()

Bool_t RooAbsMinimizerFcn::SetLogFile ( const char *  inLogfile)

Change the file name for logging of a RooMinimizer of all MINUIT steppings through the parameter space.

If inLogfile is null, the current log file is closed and logging is stopped.

Definition at line 369 of file RooAbsMinimizerFcn.cxx.

◆ setOffsetting()

virtual void RooAbsMinimizerFcn::setOffsetting ( Bool_t  flag)
pure virtual

Enable or disable offsetting on the function to be minimized, which enhances numerical precision.

Implemented in RooGradMinimizerFcn, RooMinimizerFcn, and RooFit::TestStatistics::MinuitFcnGrad.

◆ setOptimizeConst()

void RooAbsMinimizerFcn::setOptimizeConst ( Int_t  flag)

Definition at line 498 of file RooAbsMinimizerFcn.cxx.

◆ setOptimizeConstOnFunction()

virtual void RooAbsMinimizerFcn::setOptimizeConstOnFunction ( RooAbsArg::ConstOpCode  opcode,
Bool_t  doAlsoTrackingOpt 
)
protectedpure virtual

This function must be overridden in the derived class to pass on constant term optimization configuration to the function to be minimized.

For a RooAbsArg, this would be RooAbsArg::constOptimizeTestStatistic.

Implemented in RooGradMinimizerFcn, RooMinimizerFcn, and RooFit::TestStatistics::MinuitFcnGrad.

◆ SetPdfParamErr() [1/2]

void RooAbsMinimizerFcn::SetPdfParamErr ( Int_t  index,
Double_t  loVal,
Double_t  hiVal 
)
protected

Modify PDF parameter error by ordinal index (needed by MINUIT)

Definition at line 337 of file RooAbsMinimizerFcn.cxx.

◆ SetPdfParamErr() [2/2]

void RooAbsMinimizerFcn::SetPdfParamErr ( Int_t  index,
Double_t  value 
)
protected

Modify PDF parameter error by ordinal index (needed by MINUIT)

Definition at line 325 of file RooAbsMinimizerFcn.cxx.

◆ SetPdfParamVal()

Bool_t RooAbsMinimizerFcn::SetPdfParamVal ( int  index,
double  value 
) const

Set value of parameter i.

Definition at line 403 of file RooAbsMinimizerFcn.cxx.

◆ SetPrintEvalErrors()

void RooAbsMinimizerFcn::SetPrintEvalErrors ( Int_t  numEvalErrors)

Definition at line 470 of file RooAbsMinimizerFcn.cxx.

◆ SetRecoverFromNaNStrength()

void RooAbsMinimizerFcn::SetRecoverFromNaNStrength ( double  strength)
inline

Try to recover from invalid function values.

When invalid function values are encountered, a penalty term is returned to the minimiser to make it back off. This sets the strength of this penalty.

Note
A strength of zero is equivalent to a constant penalty (= the gradient vanishes, ROOT < 6.24). Positive values lead to a gradient pointing away from the undefined regions. Use ~10 to force the minimiser away from invalid function values.

Definition at line 62 of file RooAbsMinimizerFcn.h.

◆ SetVerbose()

void RooAbsMinimizerFcn::SetVerbose ( Bool_t  flag = kTRUE)

Definition at line 493 of file RooAbsMinimizerFcn.cxx.

◆ Synchronize()

Bool_t RooAbsMinimizerFcn::Synchronize ( std::vector< ROOT::Fit::ParameterSettings > &  parameters,
Bool_t  optConst,
Bool_t  verbose 
)
virtual

Like synchronizeParameterSettings, Synchronize informs Minuit through its parameter_settings vector of RooFit parameter properties, but Synchronize can be overridden to e.g.

also include gradient strategy synchronization in subclasses.

Reimplemented in RooGradMinimizerFcn, and RooFit::TestStatistics::MinuitFcnGrad.

Definition at line 320 of file RooAbsMinimizerFcn.cxx.

◆ synchronizeParameterSettings()

Bool_t RooAbsMinimizerFcn::synchronizeParameterSettings ( std::vector< ROOT::Fit::ParameterSettings > &  parameters,
Bool_t  optConst,
Bool_t  verbose 
)

Informs Minuit through its parameter_settings vector of RooFit parameter properties.

Internal function to synchronize TMinimizer with current information in RooAbsReal function parameters.

Definition at line 93 of file RooAbsMinimizerFcn.cxx.

◆ zeroEvalCount()

void RooAbsMinimizerFcn::zeroEvalCount ( )

Definition at line 488 of file RooAbsMinimizerFcn.cxx.

Member Data Documentation

◆ _constParamList

std::unique_ptr<RooArgList> RooAbsMinimizerFcn::_constParamList
protected

Definition at line 133 of file RooAbsMinimizerFcn.h.

◆ _context

RooMinimizer* RooAbsMinimizerFcn::_context
protected

Definition at line 117 of file RooAbsMinimizerFcn.h.

◆ _doEvalErrorWall

bool RooAbsMinimizerFcn::_doEvalErrorWall {true}
protected

Definition at line 138 of file RooAbsMinimizerFcn.h.

◆ _evalCounter

int RooAbsMinimizerFcn::_evalCounter {0}
mutableprotected

Definition at line 126 of file RooAbsMinimizerFcn.h.

◆ _floatParamList

std::unique_ptr<RooArgList> RooAbsMinimizerFcn::_floatParamList
protected

Definition at line 132 of file RooAbsMinimizerFcn.h.

◆ _funcOffset

double RooAbsMinimizerFcn::_funcOffset {0.}
mutableprotected

Definition at line 122 of file RooAbsMinimizerFcn.h.

◆ _initConstParamList

std::unique_ptr<RooArgList> RooAbsMinimizerFcn::_initConstParamList
protected

Definition at line 135 of file RooAbsMinimizerFcn.h.

◆ _initFloatParamList

std::unique_ptr<RooArgList> RooAbsMinimizerFcn::_initFloatParamList
protected

Definition at line 134 of file RooAbsMinimizerFcn.h.

◆ _logfile

std::ofstream* RooAbsMinimizerFcn::_logfile = nullptr
protected

Definition at line 137 of file RooAbsMinimizerFcn.h.

◆ _maxFCN

double RooAbsMinimizerFcn::_maxFCN = -std::numeric_limits<double>::infinity()
mutableprotected

Definition at line 121 of file RooAbsMinimizerFcn.h.

◆ _nDim

unsigned int RooAbsMinimizerFcn::_nDim = 0
protected

Definition at line 128 of file RooAbsMinimizerFcn.h.

◆ _numBadNLL

int RooAbsMinimizerFcn::_numBadNLL = 0
mutableprotected

Definition at line 124 of file RooAbsMinimizerFcn.h.

◆ _optConst

Bool_t RooAbsMinimizerFcn::_optConst = kFALSE
protected

Definition at line 130 of file RooAbsMinimizerFcn.h.

◆ _printEvalErrors

int RooAbsMinimizerFcn::_printEvalErrors = 10
mutableprotected

Definition at line 125 of file RooAbsMinimizerFcn.h.

◆ _recoverFromNaNStrength

double RooAbsMinimizerFcn::_recoverFromNaNStrength {10.}
protected

Definition at line 123 of file RooAbsMinimizerFcn.h.

◆ _verbose

bool RooAbsMinimizerFcn::_verbose
protected

Definition at line 139 of file RooAbsMinimizerFcn.h.

Libraries for RooAbsMinimizerFcn:
[legend]

The documentation for this class was generated from the following files: