13#ifndef ROO_FORMULA_UTILS
14#define ROO_FORMULA_UTILS
37namespace RooFormulaUtils {
39std::string processFormula(std::string formula,
RooArgList const &varList, std::string
const &callerName);
41std::string reconstructFormula(std::string internalRepr,
RooArgList const &args,
42 const char *fixedReplacement =
nullptr);
44std::unique_ptr<RooFormulaEvaluator> makeEvaluator(std::string
const &
name, std::string
const &processedFormula,
45 std::string
const &origFormula,
RooArgList const &varList);
47std::unique_ptr<RooFormulaEvaluator>
48makeFormulaEvaluator(std::string
const &
name, std::string
const &expression,
RooArgList const &varList);
50void initFormula(std::unique_ptr<RooFormulaEvaluator> &evaluator,
TString &formExpr,
RooAbsCollection &actualVars,
53RooFormulaEvaluator &ensureEvaluator(std::unique_ptr<RooFormulaEvaluator> &evaluator,
TString &formExpr,
56std::unique_ptr<RooFormulaEvaluator> cloneEvaluator(RooFormulaEvaluator
const &other,
const char *newName);
67using BinningMap = std::map<int, std::unique_ptr<RooAbsBinning>>;
69BinningMap cloneBinnings(BinningMap
const &binnings);
71void setBinning(BinningMap &binnings,
RooAbsReal const &caller,
RooArgList const &actualVars,
const char *formExpr,
76bool isBinnedDistribution(BinningMap
const &binnings,
RooArgList const &actualVars,
RooArgSet const &obs);
79 double xlo,
double xhi);
81std::list<double> *plotSamplingHint(BinningMap
const &binnings,
RooArgList const &actualVars,
static void indent(ostringstream &buf, int indent_level)
Abstract base class for RooRealVar binning definitions.
Abstract container object that can hold multiple RooAbsArg objects.
Abstract base class for objects that represent a real value that may appear on the left hand side of ...
Abstract base class for objects that represent a real value and implements functionality common to al...
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.