17#ifndef ROO_ABS_MINIMIZER_FCN
18#define ROO_ABS_MINIMIZER_FCN
45 bool synchronizeParameterSettings(std::vector<ROOT::Fit::ParameterSettings> ¶meters);
50 virtual bool Synchronize(std::vector<ROOT::Fit::ParameterSettings> ¶meters);
52 RooArgList const &allParams()
const {
return _allParams; }
56 Int_t GetNumInvalidNLL()
const {
return _numBadNLL; }
58 double &GetMaxFCN() {
return _maxFCN; }
59 Int_t evalCounter()
const {
return _evalCounter; }
60 void zeroEvalCount() { _evalCounter = 0; }
62 double &getOffset()
const {
return _funcOffset; }
68 virtual std::string getFunctionName()
const = 0;
70 virtual std::string getFunctionTitle()
const = 0;
75 bool SetLogFile(
const char *inLogfile);
76 std::ofstream *GetLogFile() {
return _logfile; }
78 unsigned int getNDim()
const {
return _floatableParamIndices.size(); }
80 bool SetPdfParamVal(
int index,
double value)
const;
83 virtual void setOffsetting(
bool flag) = 0;
87 inline RooRealVar &floatableParam(std::size_t i)
const
89 return static_cast<RooRealVar &
>(_allParams[_floatableParamIndices[i]]);
92 virtual RooArgSet freezeDisconnectedParameters()
const {
return {}; }
95 void printEvalErrors()
const;
97 double applyEvalErrorHandling(
double fvalue)
const;
98 void finishDoEval()
const;
100 inline static bool canBeFloating(
RooAbsArg const &arg) {
return dynamic_cast<RooRealVar const *
>(&arg); }
103 inline static bool treatAsConstant(
RooAbsArg const &arg) {
return arg.
isConstant() || !canBeFloating(arg); }
110 mutable double _maxFCN = -std::numeric_limits<double>::infinity();
111 mutable double _funcOffset{0.};
112 mutable int _numBadNLL = 0;
113 mutable int _evalCounter{0};
122 std::vector<std::size_t> _floatableParamIndices;
124 std::ofstream *_logfile =
nullptr;
int Int_t
Signed integer 4 bytes (int)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Abstract Minimizer class, defining the interface for the various minimizer (like Minuit2,...
Common abstract base class for objects that represent a value and a "shape" in RooFit.
bool isConstant() const
Check if the "Constant" attribute is set.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Wrapper class around ROOT::Math::Minimizer that provides a seamless interface between the minimizer f...
Variable that can be changed from the outside.
Config argument to RooMinimizer constructor.