45using std::endl, std::ostream, std::string;
59 vars(
"vars",
"vars",this)
63 coutE(InputArguments) <<
"RooFunctorBinding::ctor(" <<
GetName() <<
") ERROR number of provided variables (" <<
v.size()
64 <<
") does not match dimensionality of function (" << ftor.
NDim() <<
")" << endl ;
65 throw string(
"RooFunctor::ctor ERROR") ;
73 :
RooAbsReal(other,
name), func(other.func), vars(
"vars", this, other.vars),
x(new
double[func->NDim()])
81 os <<
"[ function=" <<
func <<
" " ;
95 for (std::size_t i=0 ; i<
vars.
size() ; i++) {
111 vars(
"vars",
"vars",this)
115 coutE(InputArguments) <<
"RooFunctorPdfBinding::ctor(" <<
GetName() <<
") ERROR number of provided variables (" <<
v.size()
116 <<
") does not match dimensionality of function (" << ftor.
NDim() <<
")" << endl ;
117 throw string(
"RooFunctor::ctor ERROR") ;
125 :
RooAbsPdf(other,
name), func(other.func), vars(
"vars", this, other.vars),
x(new
double[func->NDim()])
133 os <<
"[ function=" <<
func <<
" " ;
147 for (std::size_t i=0 ; i<
vars.
size() ; i++) {
winID h TVirtualViewer3D TVirtualGLPainter p
virtual unsigned int NDim() const =0
Retrieve the dimension of the function.
Int_t numProxies() const
Return the number of registered proxies.
RooAbsProxy * getProxy(Int_t index) const
Return the nth proxy from the proxy list.
Storage_t::size_type size() const
Abstract interface for all probability density functions.
Abstract interface for proxy classes.
Abstract base class for objects that represent a real value and implements functionality common to al...
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooAbsArg * at(Int_t idx) const
Return object at given index, or nullptr if index is out of range.
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...
RooFunctorBinding makes math functions from ROOT usable in RooFit.
const ROOT::Math::IBaseFunctionMultiDim * func
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
void printArgs(std::ostream &os) const override
Print object arguments, ie its proxies.
RooFunctorBinding()=default
RooFunctorPdfBinding makes math functions from ROOT usable as PDFs in RooFit.
void printArgs(std::ostream &os) const override
Print object arguments, ie its proxies.
RooFunctorPdfBinding()=default
const ROOT::Math::IBaseFunctionMultiDim * func
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
const char * GetName() const override
Returns name of object.
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
RooAbsPdf * bindPdf(const char *name, CFUNCD1D func, RooAbsReal &x)
RooAbsReal * bindFunction(const char *name, CFUNCD1D func, RooAbsReal &x)