49 dm("dm","Dstar-D0 Mass Diff",this, _dm),
50 dm0("dm0","Threshold",this, _dm0),
51 C("
C","Shape Parameter",this, _c),
52 A("
A","Shape Parameter 2",this, _a),
53 B("
B","Shape Parameter 3",this, _b)
60 RooAbsPdf(other,name), dm(
"dm",this,other.dm), dm0(
"dm0",this,other.dm0),
61 C(
"C",this,other.
C),
A(
"A",this,other.
A),
B(
"B",this,other.
B)
70 if (arg <= 0 )
return 0;
74 return (val > 0 ? val : 0) ;
95 if (max <=
dm0 )
return 0;
96 else if (min <
dm0) min =
dm0;
99 if (
A != 0 ) doNumerical=
kTRUE;
108 if ( ! doNumerical ) {
110 B * (0.5* (max*max - min*min)/
dm0 - (max- min));
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral. ...
Special p.d.f shape that can be used to model the background of D*-D0 mass difference distributions...
Double_t evaluate() const
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
virtual Double_t integral(const Double_t *yvec=0)
Calculate numeric integral at given set of function binding parameters.
RooIntegrator1D implements an adaptive one-dimensional numerical integration algorithm.
Double_t min(const char *rname=0) const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooAbsFunc * bindVars(const RooArgSet &vars, const RooArgSet *nset=0, Bool_t clipInvalid=kFALSE) const
Create an interface adaptor f(vars) that binds us to the specified variables (in arbitrary order)...
double func(double *x, double *p)
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
if (matchArgs(allVars,analVars,dm)) return 1 ;
Double_t max(const char *rname=0) const
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
const RooAbsReal & arg() const
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...