7 RooAbsReal& XVar_, RooAbsReal& YVar_, TString appendName_,
13 appendName(appendName_),
14 bcBeginX(bcBeginX_), bcEndX(bcEndX_),
15 bcBeginY(bcBeginY_), bcEndY(bcEndY_),
16 XVar(&XVar_), YVar(&YVar_),
25 for (
unsigned int ip=0; ip<list.size(); ip++){
if (list.at(ip)==val)
return; }
29 const std::vector<MELANCSplineCore::T>& XList,
30 const std::vector<MELANCSplineCore::T>& YList,
31 const std::vector<MELANCSplineCore::T>& FcnList
33 const unsigned int nX = XList.size();
34 const unsigned int nY = YList.size();
35 const unsigned int n = FcnList.size();
37 cerr <<
"MELANCSplineFactory_2D::getPoints: nX=" << nX <<
" x nY=" << nY <<
" != nFcn=" << n << endl;
41 std::vector<splineTriplet_t> pList; pList.reserve(n);
42 for (
unsigned int ix=0; ix<nX; ix++){
44 for (
unsigned int iy=0; iy<nY; iy++){
45 unsigned int ip = nY*ix + iy;
57 const unsigned int n = pList.size();
58 vector<MELANCSplineCore::T> XList;
59 vector<MELANCSplineCore::T> YList;
60 vector<vector<MELANCSplineCore::T>> FcnList;
61 for (
unsigned int ip=0; ip<n; ip++){
65 FcnList.reserve(YList.size());
66 for (
unsigned int iy=0; iy<YList.size(); iy++){
67 vector<MELANCSplineCore::T> dum; dum.reserve(XList.size());
68 for (
unsigned int ix=0; ix<XList.size(); ix++){
69 unsigned int ip = YList.size()*ix + iy;
70 dum.push_back((pList.at(ip))[2]);
72 FcnList.push_back(dum);
75 TString name =
"Func";
82 XList, YList, FcnList,
87 name.Prepend(
"PDF_"); title=name;
96 vector<splineTriplet_t> pList;
98 tree->SetBranchAddress(
"X", &x);
99 tree->SetBranchAddress(
"Y", &y);
100 tree->SetBranchAddress(
"Fcn", &
fcn);
101 int n = tree->GetEntries();
102 for (
int ip=0; ip<n; ip++){ tree->GetEntry(ip); pList.push_back(
splineTriplet_t(x, y,
fcn)); }
109 const unsigned int direction