18 #include "TGraphErrors.h" 21 #include "RooMsgService.h" 23 #include "RooAbsReal.h" 24 #include "RooRealVar.h" 25 #include "RooConstVar.h" 26 #include "RooArgList.h" 36 assert(_sp1.knots() == _sp2.knots());
37 assert(_sp1.knotSize() == _sp2.knotSize());
47 const char* title, RooRealVar& x,
52 _x(
"x",
"Dependent", this, x),
55 _coefList1(
"coefficients1",
"List of coefficients for first spline",this),
56 _coefList2(
"coefficients2",
"List of coefficients for second spline",this)
66 _x(
"x", this, other._x),
67 _sp1(other._sp1,
"spline1"),
68 _sp2(other._sp2,
"spline2"),
69 _coefList1(
"coefList1", this, other._coefList1),
70 _coefList2(
"coefList2", this, other._coefList2)
102 std::complex<double> sum(0,0);
103 for (
int j=0;j<3;++j)
for (
int k=0;k<3-j;++k) sum += dM(j)*s2_jk(j,k)*K(k)*sc[j+k];
110 Double_t scale, Double_t offset,
111 const std::complex<double>& z)
const 115 double lo = scale*umin+offset;
116 double hi = scale*umax+offset+1.e-7;
120 double x = (
_sp1.
u(i)-offset)/scale ;
121 if (lo>=
_sp1.
u(i)) x = umin ;
122 if (
_sp1.
u(i)>=hi) x = umax ;
123 M.push_back( M_n( x, z ) );
125 double sc[7];
for (
int i=0;i<7;++i) sc[i] = pow(scale,i);
126 std::complex<double> sum(0,0);
129 M_n dM = M[i+1]-M[i];
131 for (
int j=0;j<7;++j)
for (
int k=0;k<7-j;++k) sum += dM(j)*s2_jk(j,k)*K(k)*sc[j+k];
std::complex< double > productAnalyticalIntegral(Double_t umin, Double_t umax, Double_t scale, Double_t offset, const std::complex< double > &z) const
RooCubicSplineKnot::S2_jk S2_jk_sum(int i, const RooArgList &b1, const RooArgList &b2) const
RooCubicSplineKnot::S2_edge S2_jk_edge(bool left, const RooArgList &b1, const RooArgList &b2) const
const RooArgList & coefficients() const
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName) const
std::complex< double > gaussIntegralE(bool left, const RooGaussModelAcceptance::M_n< 7U > &dM, const RooGaussModelAcceptance::K_n &K, double offset, double *sc) const
unsigned knotSize() const
Double_t evaluate() const
double evaluate(double _u, const RooArgList &b) const
Double_t analyticalIntegral(Int_t code, const char *rangeName) const