29class RooFormula :
public TNamed {
32 RooFormula(
const char *
name,
const char *formula,
const RooArgList &varList,
bool checkVariables =
true);
33 RooFormula(
const RooFormula &other,
const char *
name =
nullptr);
34 TObject *Clone(
const char *newName =
nullptr)
const override {
return new RooFormula(*
this, newName); }
36 RooFormula &
operator=(
const RooFormula &other) =
delete;
37 RooFormula &
operator=(RooFormula &&other) =
delete;
41 RooArgSet actualDependents()
const {
return usedVariables(); }
42 bool changeDependents(
const RooAbsCollection &newDeps,
bool mustReplaceAll,
bool nameChange);
44 bool ok()
const {
return _tFormula !=
nullptr; }
46 double eval(
const RooArgSet *nset =
nullptr)
const;
47 void doEval(RooArgList
const &actualVars, RooFit::EvalContext &)
const;
49 void printMultiline(std::ostream &os,
Int_t contents,
bool verbose =
false, TString
indent =
"")
const;
51 std::string formulaString()
const {
return _tFormula ? _tFormula->GetTitle() :
""; }
52 TFormula* getTFormula()
const {
return _tFormula.get(); }
55 std::string processFormula(std::string origFormula)
const;
56 RooArgList usedVariables()
const;
57 void installFormulaOrThrow(
const std::string &formula);
59 std::vector<bool> _varIsUsed;
61 std::unique_ptr<TFormula> _tFormula;
int Int_t
Signed integer 4 bytes (int).
static void indent(ostringstream &buf, int indent_level)
Binding & operator=(OUT(*fun)(void))
Abstract base class for objects that represent a real value and implements functionality common to al...
The TNamed class is the base class for all named ROOT classes.