52using std::istream, std::ostream, std::endl;
68 _actualVars(
"actualVars",
"Variables used by PDF expression",this),
72 _value = traceEval(nullptr);
74 _formula = new RooFormula(GetName(), _formExpr, dependents);
75 _formExpr = _formula->formulaString().c_str();
76 _actualVars.add(_formula->actualDependents());
88 _actualVars(
"actualVars",
"Variables used by PDF expression",this),
92 _value = traceEval(nullptr);
94 _formula = new RooFormula(GetName(), _formExpr, dependents);
95 _formExpr = _formula->formulaString().c_str();
96 _actualVars.add(_formula->actualDependents());
148 bool error =
_formula ?
_formula->changeDependents(newServerList,mustReplaceAll,nameChange) :
true;
161 os <<
" --- RooGenericPdf --- " << std::endl ;
175 os <<
"formula=\"" <<
_formExpr <<
"\" " ;
187 coutE(InputArguments) <<
"RooGenericPdf::readFromStream(" <<
GetName() <<
"): can't read" << std::endl;
198 os <<
getVal() << std::endl ;
206 return formula().getTFormula()->GetUniqueFuncName().Data();
int Int_t
Signed integer 4 bytes (int).
static void indent(ostringstream &buf, int indent_level)
friend class RooAbsCollection
void printMultiline(std::ostream &os, Int_t contents, bool verbose=false, TString indent="") const override
Print multi line detailed information of this RooAbsPdf.
RooAbsPdf()
Default constructor.
bool redirectServersHook(const RooAbsCollection &newServerList, bool mustReplaceAll, bool nameChange, bool isRecursiveStep) override
Hook function intercepting redirectServer calls.
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
RooArgList is a container object that can hold multiple RooAbsArg objects.
double evaluate() const override
Calculate current value of this object.
~RooGenericPdf() override
bool readFromStream(std::istream &is, bool compact, bool verbose=false) override
Read object contents from given stream.
const RooArgList & dependents() const
void printMetaArgs(std::ostream &os) const override
Add formula expression as meta argument in printing interface.
std::string getUniqueFuncName() const
void writeToStream(std::ostream &os, bool compact) const override
Write object contents to given stream.
RooFormula * _formula
! Formula engine
RooFormula & formula() const
TString _formExpr
Formula expression string.
void doEval(RooFit::EvalContext &) const override
Base function for computing multiple values of a RooAbsReal.
void printMultiline(std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override
Print info about this object to the specified stream.
bool redirectServersHook(const RooAbsCollection &newServerList, bool mustReplaceAll, bool nameChange, bool isRecursive) override
Propagate server changes to embedded formula object.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.