7 RooAbsReal& XVar_, RooAbsReal& YVar_, RooAbsReal& ZVar_, TString appendName_,
15 appendName(appendName_),
16 bcBeginX(bcBeginX_), bcEndX(bcEndX_),
17 bcBeginY(bcBeginY_), bcEndY(bcEndY_),
18 bcBeginZ(bcBeginZ_), bcEndZ(bcEndZ_),
19 XVar(&XVar_), YVar(&YVar_), ZVar(&ZVar_),
28 for (
unsigned int ip=0; ip<list.size(); ip++){
if (list.at(ip)==val)
return; }
32 const std::vector<MELANCSplineCore::T>& XList,
33 const std::vector<MELANCSplineCore::T>& YList,
34 const std::vector<MELANCSplineCore::T>& ZList,
35 const std::vector<MELANCSplineCore::T>& FcnList
37 const unsigned int nX = XList.size();
38 const unsigned int nY = YList.size();
39 const unsigned int nZ = ZList.size();
40 const unsigned int n = FcnList.size();
42 cerr <<
"MELANCSplineFactory_3D::getPoints: nX=" << nX <<
" x nY=" << nY <<
" x nZ=" << nZ <<
" != nFcn=" << n << endl;
46 std::vector<splineQuadruplet_t> pList; pList.reserve(n);
47 for (
unsigned int ix=0; ix<nX; ix++){
49 for (
unsigned int iy=0; iy<nY; iy++){
51 for (
unsigned int iz=0; iz<nZ; iz++){
53 unsigned int ip = nZ*(nY*ix + iy) + iz;
65 const unsigned int n = pList.size();
66 vector<MELANCSplineCore::T> XList;
67 vector<MELANCSplineCore::T> YList;
68 vector<MELANCSplineCore::T> ZList;
69 vector<vector<vector<MELANCSplineCore::T>>> FcnList;
70 for (
unsigned int ip=0; ip<n; ip++){
75 FcnList.reserve(ZList.size());
76 for (
unsigned int iz=0; iz<ZList.size(); iz++){
77 vector<vector<MELANCSplineCore::T>> dumz;
78 dumz.reserve(YList.size());
79 for (
unsigned int iy=0; iy<YList.size(); iy++){
80 vector<MELANCSplineCore::T> dumy;
81 dumy.reserve(XList.size());
82 for (
unsigned int ix=0; ix<XList.size(); ix++){
83 unsigned int ip = ZList.size()*(YList.size()*ix + iy) + iz;
84 dumy.push_back((pList.at(ip))[3]);
88 FcnList.push_back(dumz);
91 TString name =
"Func";
98 XList, YList, ZList, FcnList,
104 name.Prepend(
"PDF_"); title=name;
113 vector<splineQuadruplet_t> pList;
115 tree->SetBranchAddress(
"X", &x);
116 tree->SetBranchAddress(
"Y", &y);
117 tree->SetBranchAddress(
"Z", &
z);
118 tree->SetBranchAddress(
"Fcn", &
fcn);
119 int n = tree->GetEntries();
127 const unsigned int direction