52using std::istream, std::ostream, std::endl;
69 _actualVars(
"actualVars",
"Variables used by PDF expression",this),
87 const char* inFormula,
const RooArgList& dependents) :
89 _actualVars(
"actualVars",
"Variables used by PDF expression",this),
108 _actualVars(
"actualVars",this,other._actualVars),
109 _formExpr(other._formExpr)
162 os <<
" --- RooGenericPdf --- " << endl ;
176 os <<
"formula=\"" <<
_formExpr <<
"\" " ;
188 coutE(InputArguments) <<
"RooGenericPdf::readFromStream(" <<
GetName() <<
"): can't read" << std::endl;
static void indent(ostringstream &buf, int indent_level)
Abstract container object that can hold multiple RooAbsArg objects.
Abstract interface for all probability density functions.
void printMultiline(std::ostream &os, Int_t contents, bool verbose=false, TString indent="") const override
Print multi line detailed information of this RooAbsPdf.
bool redirectServersHook(const RooAbsCollection &newServerList, bool mustReplaceAll, bool nameChange, bool isRecursiveStep) override
The cache manager.
const RooArgSet * nset() const
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
double _value
Cache for current value of object.
double traceEval(const RooArgSet *set) const
Calculate current value of object, with error tracing wrapper.
RooArgList is a container object that can hold multiple RooAbsArg objects.
bool add(const RooAbsArg &var, bool valueServer, bool shapeServer, bool silent)
Overloaded RooCollection_t::add() method insert object into set and registers object as server to own...
A class to maintain the context for squashing of RooFit models into code.
std::string buildCall(std::string const &funcname, Args_t const &...args)
Build the code to call the function with name funcname, passing some arguments.
void addResult(RooAbsArg const *key, std::string const &value)
A function to save an expression that includes/depends on the result of the input node.
void collectFunction(std::string const &name)
Register a function that is only know to the interpreter to the context.
Implementation of a probability density function that takes a RooArgList of servers and a C++ express...
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.
void writeToStream(std::ostream &os, bool compact) const override
Write object contents to given stream.
void translate(RooFit::Detail::CodeSquashContext &ctx) const override
This function defines a translation for each RooAbsReal based object that can be used to express the ...
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.
const char * Data() const