Definition at line 29 of file RooGradMinimizerFcn.h.
Public Types | |
enum class | GradientCalculatorMode { ExactlyMinuit2 , AlmostMinuit2 } |
Public Types inherited from ROOT::Math::IGradientFunctionMultiDimTempl< T > | |
typedef IBaseFunctionMultiDimTempl< T > | BaseFunc |
typedef IGradientMultiDimTempl< T > | BaseGrad |
Public Types inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T > | |
typedef T | BackendType |
typedef IBaseFunctionMultiDimTempl< T > | BaseFunc |
Public Member Functions | |
RooGradMinimizerFcn (const RooGradMinimizerFcn &other) | |
RooGradMinimizerFcn (RooAbsReal *funct, RooMinimizer *context, bool verbose=false) | |
ROOT::Math::IMultiGradFunction * | Clone () const override |
Clone a function. | |
double | getErrorDef () const |
std::string | getFunctionName () const override |
RooMinimizer sometimes needs the name of the minimized function. Implement this in the derived class. | |
std::string | getFunctionTitle () const override |
RooMinimizer sometimes needs the title of the minimized function. Implement this in the derived class. | |
ROOT::Minuit2::MnStrategy | getStrategy () const |
unsigned int | NDim () const override |
Retrieve the dimension of the function. | |
bool | returnsInMinuit2ParameterSpace () const override |
void | setErrorLevel (double error_level) const |
void | setGradTolerance (double grad_tolerance) const |
void | setNcycles (unsigned int ncycles) const |
void | setOffsetting (Bool_t flag) override |
Enable or disable offsetting on the function to be minimized, which enhances numerical precision. | |
void | setStepTolerance (double step_tolerance) const |
void | setStrategy (int istrat) |
Bool_t | Synchronize (std::vector< ROOT::Fit::ParameterSettings > ¶meter_settings, Bool_t optConst, Bool_t verbose=kFALSE) override |
Like synchronizeParameterSettings, Synchronize informs Minuit through its parameter_settings vector of RooFit parameter properties, but Synchronize can be overridden to e.g. | |
void | synchronizeGradientParameterSettings (std::vector< ROOT::Fit::ParameterSettings > ¶meter_settings) const |
Public Member Functions inherited from ROOT::Math::IGradientFunctionMultiDimTempl< T > | |
virtual | ~IGradientFunctionMultiDimTempl () |
Virtual Destructor (no operations) | |
virtual void | FdF (const T *x, T &f, T *df) const |
Optimized method to evaluate at the same time the function value and derivative at a point x. | |
virtual void | Gradient (const T *x, T *grad) const |
Evaluate all the vector of function derivatives (gradient) at a point x. | |
virtual void | GradientWithPrevResult (const T *x, T *grad, T *previous_grad, T *previous_g2, T *previous_gstep) const |
In some cases, the gradient algorithm will use information from the previous step, these can be passed in with this overload. | |
Public Member Functions inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T > | |
IBaseFunctionMultiDimTempl () | |
virtual | ~IBaseFunctionMultiDimTempl () |
virtual destructor | |
T | operator() (const T *x) const |
Evaluate the function at a point x[]. | |
Public Member Functions inherited from ROOT::Math::IGradientMultiDimTempl< T > | |
virtual | ~IGradientMultiDimTempl () |
virual destructor | |
T | Derivative (const T *x, unsigned int icoord, T *previous_grad, T *previous_g2, T *previous_gstep) const |
In some cases, the derivative algorithm will use information from the previous step, these can be passed in with this overload. | |
T | Derivative (const T *x, unsigned int icoord=0) const |
Return the partial derivative with respect to the passed coordinate. | |
Public Member Functions inherited from RooAbsMinimizerFcn | |
RooAbsMinimizerFcn (const RooAbsMinimizerFcn &other) | |
RooAbsMinimizerFcn (RooArgList paramList, RooMinimizer *context, bool verbose=false) | |
virtual | ~RooAbsMinimizerFcn ()=default |
void | ApplyCovarianceMatrix (TMatrixDSym &V) |
Set different external covariance matrix. | |
void | BackProp (const ROOT::Fit::FitResult &results) |
Put Minuit results back into RooFit objects. | |
Int_t | evalCounter () const |
RooArgList * | GetConstParamList () |
RooArgList * | GetFloatParamList () |
Logistics. | |
RooArgList * | GetInitConstParamList () |
RooArgList * | GetInitFloatParamList () |
std::ofstream * | GetLogFile () |
Double_t & | GetMaxFCN () |
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. | |
bool | getOptConst () |
std::vector< double > | getParameterValues () 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. | |
void | setOptimizeConst (Int_t flag) |
Bool_t | SetPdfParamVal (int index, double value) const |
Set value of parameter i. | |
void | SetPrintEvalErrors (Int_t numEvalErrors) |
void | SetRecoverFromNaNStrength (double strength) |
Try to recover from invalid function values. | |
void | SetVerbose (Bool_t flag=kTRUE) |
Bool_t | synchronizeParameterSettings (std::vector< ROOT::Fit::ParameterSettings > ¶meters, Bool_t optConst, Bool_t verbose) |
Informs Minuit through its parameter_settings vector of RooFit parameter properties. | |
void | zeroEvalCount () |
Protected Attributes | |
std::vector< ROOT::Minuit2::DerivatorElement > | _grad |
std::vector< double > | _grad_params |
Protected Attributes inherited from RooAbsMinimizerFcn | |
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 |
Private Member Functions | |
double | DoDerivative (const double *x, unsigned int icoord) const override |
double | DoDerivativeWithPrevResult (const double *x, unsigned int i_component, double *previous_grad, double *previous_g2, double *previous_gstep) const override |
double | DoEval (const double *x) const override |
void | resetHasBeenCalculatedFlags () const |
void | runDerivator (unsigned int i_component) const |
void | setOptimizeConstOnFunction (RooAbsArg::ConstOpCode opcode, Bool_t doAlsoTrackingOpt) override |
This function must be overridden in the derived class to pass on constant term optimization configuration to the function to be minimized. | |
bool | syncParameter (double x, std::size_t ix) const |
bool | syncParameters (const double *x) const |
Private Attributes | |
RooAbsReal * | _funct |
ROOT::Minuit2::NumericalDerivator | _gradf |
std::vector< bool > | has_been_calculated |
bool | none_have_been_calculated = false |
Additional Inherited Members | |
Protected Member Functions inherited from RooAbsMinimizerFcn | |
void | ClearPdfParamAsymErr (Int_t index) |
Modify PDF parameter error by ordinal index (needed by MINUIT) | |
void | optimizeConstantTerms (bool constStatChange, bool constValChange) |
void | printEvalErrors () const |
Print information about why evaluation failed. | |
void | SetPdfParamErr (Int_t index, Double_t loVal, Double_t hiVal) |
Modify PDF parameter error by ordinal index (needed by MINUIT) | |
void | SetPdfParamErr (Int_t index, Double_t value) |
Modify PDF parameter error by ordinal index (needed by MINUIT) | |
|
strong |
Enumerator | |
---|---|
ExactlyMinuit2 | |
AlmostMinuit2 |
Definition at line 67 of file RooGradMinimizerFcn.h.
RooGradMinimizerFcn::RooGradMinimizerFcn | ( | RooAbsReal * | funct, |
RooMinimizer * | context, | ||
bool | verbose = false |
||
) |
Definition at line 40 of file RooGradMinimizerFcn.cxx.
RooGradMinimizerFcn::RooGradMinimizerFcn | ( | const RooGradMinimizerFcn & | other | ) |
Definition at line 53 of file RooGradMinimizerFcn.cxx.
|
overridevirtual |
Clone a function.
Each derived class must implement their version of the Clone method
Implements ROOT::Math::IBaseFunctionMultiDimTempl< T >.
Definition at line 59 of file RooGradMinimizerFcn.cxx.
|
overrideprivate |
Definition at line 211 of file RooGradMinimizerFcn.cxx.
|
overrideprivate |
Definition at line 218 of file RooGradMinimizerFcn.cxx.
Definition at line 72 of file RooGradMinimizerFcn.cxx.
double RooGradMinimizerFcn::getErrorDef | ( | ) | const |
|
inlineoverridevirtual |
RooMinimizer sometimes needs the name of the minimized function. Implement this in the derived class.
Implements RooAbsMinimizerFcn.
Definition at line 50 of file RooGradMinimizerFcn.h.
|
inlineoverridevirtual |
RooMinimizer sometimes needs the title of the minimized function. Implement this in the derived class.
Implements RooAbsMinimizerFcn.
Definition at line 51 of file RooGradMinimizerFcn.h.
ROOT::Minuit2::MnStrategy RooGradMinimizerFcn::getStrategy | ( | ) | const |
|
inlineoverridevirtual |
Retrieve the dimension of the function.
Reimplemented from ROOT::Math::IGradientFunctionMultiDimTempl< T >.
Definition at line 45 of file RooGradMinimizerFcn.h.
|
private |
Definition at line 148 of file RooGradMinimizerFcn.cxx.
|
inlineoverridevirtual |
Reimplemented from ROOT::Math::IGradientFunctionMultiDimTempl< T >.
Definition at line 44 of file RooGradMinimizerFcn.h.
Definition at line 198 of file RooGradMinimizerFcn.cxx.
Definition at line 49 of file RooGradMinimizerFcn.h.
Definition at line 47 of file RooGradMinimizerFcn.h.
Definition at line 48 of file RooGradMinimizerFcn.h.
Enable or disable offsetting on the function to be minimized, which enhances numerical precision.
Implements RooAbsMinimizerFcn.
Definition at line 52 of file RooGradMinimizerFcn.h.
|
inlineoverrideprivatevirtual |
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.
Implements RooAbsMinimizerFcn.
Definition at line 61 of file RooGradMinimizerFcn.h.
Definition at line 46 of file RooGradMinimizerFcn.h.
Definition at line 233 of file RooGradMinimizerFcn.cxx.
|
overridevirtual |
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 from RooAbsMinimizerFcn.
Definition at line 244 of file RooGradMinimizerFcn.cxx.
void RooGradMinimizerFcn::synchronizeGradientParameterSettings | ( | std::vector< ROOT::Fit::ParameterSettings > & | parameter_settings | ) | const |
Definition at line 64 of file RooGradMinimizerFcn.cxx.
Definition at line 156 of file RooGradMinimizerFcn.cxx.
Definition at line 174 of file RooGradMinimizerFcn.cxx.
|
private |
Definition at line 84 of file RooGradMinimizerFcn.h.
|
mutableprotected |
Definition at line 79 of file RooGradMinimizerFcn.h.
|
mutableprotected |
Definition at line 80 of file RooGradMinimizerFcn.h.
|
mutableprivate |
Definition at line 83 of file RooGradMinimizerFcn.h.
|
mutableprivate |
Definition at line 85 of file RooGradMinimizerFcn.h.
|
mutableprivate |
Definition at line 86 of file RooGradMinimizerFcn.h.