65 _xf(
"!xf",
"xf",this,false,false),
66 _ixf(
"!ixf",
"ixf",this),
71 string pname=
Form(
"%s_product",
name) ;
73 std::unique_ptr<RooFormulaVar> XF;
75 string formula=
Form(
"pow((@0-@1),%d)*@2",
_order) ;
78 XF = std::make_unique<RooFormulaVar>(pname.c_str(),formula.c_str(),
RooArgList(
x,*mom1,func)) ;
84 XF = std::make_unique<RooFormulaVar>(pname.c_str(),formula.c_str(),
RooArgSet(
x,func)) ;
89 XF->specialIntegratorConfig(
true)->method1D().setLabel(
"RooBinIntegrator");
92 std::unique_ptr<RooAbsReal> intXF{XF->createIntegral(
x)};
108 Int_t orderIn,
bool centr,
bool takeRoot,
bool intNSet) :
110 _xf(
"!xf",
"xf",this,false,false),
111 _ixf(
"!ixf",
"ixf",this),
118 string pname=
Form(
"%s_product",
name) ;
119 std::unique_ptr<RooFormulaVar> XF;
121 string formula=
Form(
"pow((@0-@1),%d)*@2",
_order) ;
124 XF = std::make_unique<RooFormulaVar>(pname.c_str(),formula.c_str(),
RooArgList(
x,*mom1,func)) ;
130 XF = std::make_unique<RooFormulaVar>(pname.c_str(),formula.c_str(),
RooArgSet(
x,func)) ;
135 XF->specialIntegratorConfig(
true)->method1D().setLabel(
"RooBinIntegrator");
139 if (intNSet) intSet.
add(
_nset,
true) ;
141 std::unique_ptr<RooAbsReal> intXF{XF->createIntegral(intSet, &
_nset)};
160 _xf(
"xf",this,other._xf),
161 _ixf(
"ixf",this,other._ixf),
162 _if(
"if",this,other._if)
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
RooExpensiveObjectCache & expensiveObjectCache() const
virtual void setExpensiveObjectCache(RooExpensiveObjectCache &cache)
bool addOwnedComponents(const RooAbsCollection &comps)
Take ownership of the contents of 'comps'.
virtual bool add(const RooAbsArg &var, bool silent=false)
Add the specified argument to list.
RooAbsMoment represents the first, second, or third order derivative of any RooAbsReal as calculated ...
RooRealProxy _mean
Mean (if calculated for central moment)
Int_t _order
Moment order.
Int_t _takeRoot
Return n-order root of moment.
RooSetProxy _nset
Normalization set (optional)
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooAbsMoment * mean(RooRealVar &obs)
RooFit::OwningPtr< RooAbsReal > createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Create an object that represents the integral of the function over one or more observables std::liste...
virtual bool isBinnedDistribution(const RooArgSet &) const
Tests if the distribution is binned. Unless overridden by derived classes, this always returns false.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet 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...
RooMoment represents the first, second, or third order derivative of any RooAbsReal as calculated (nu...
~RooMoment() override
Destructor.
double evaluate() const override
Calculate value.
RooRealProxy _if
Int(F(x))dx ;.
RooMoment()
Default constructor.
RooRealProxy _ixf
Int(X*F(X))dx ;.
RooRealIntegral performs hybrid numerical/analytical integrals of RooAbsReal objects.
void setCacheNumeric(bool flag)
RooRealVar represents a variable that can be changed from the outside.
bool setArg(T &newRef)
Change object held in proxy into newRef.
const char * GetName() const override
Returns name of object.