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