diff --git a/RecoTracker/LSTCore/interface/Constants.h b/RecoTracker/LSTCore/interface/Constants.h index c0c342b6ad8a0..c4201ce0a63ce 100644 --- a/RecoTracker/LSTCore/interface/Constants.h +++ b/RecoTracker/LSTCore/interface/Constants.h @@ -32,6 +32,9 @@ namespace lst { alpaka_common::Vec1D(static_cast(nElements))); } + // Named constants for pixelTypes + enum kPixelType { highPt = 0, lowPtPosCurv = 1, lowPtNegCurv = 2 }; + // If a compile time flag does not define PT_CUT, default to 0.8 (GeV) #ifndef PT_CUT constexpr float PT_CUT = 0.8f; @@ -52,7 +55,7 @@ namespace lst { constexpr unsigned int size_superbins = 45000; - //defining the constant host device variables right up here + // Defining the constant host device variables right up here // Currently pixel tracks treated as LSs with 2 double layers (IT layers 1+2 and 3+4) and 4 hits. To be potentially handled better in the future. struct Params_pLS { static constexpr int kLayers = 2, kHits = 4; diff --git a/RecoTracker/LSTCore/interface/PixelMap.h b/RecoTracker/LSTCore/interface/PixelMap.h index 73d88bc64f7ec..a0fd89387e7e4 100644 --- a/RecoTracker/LSTCore/interface/PixelMap.h +++ b/RecoTracker/LSTCore/interface/PixelMap.h @@ -17,7 +17,7 @@ namespace lst { std::vector connectedPixelsIndexNeg; std::vector connectedPixelsSizesNeg; - int* pixelType; + const int* pixelType; PixelMap(unsigned int sizef = size_superbins) : pixelModuleIndex(0), diff --git a/RecoTracker/LSTCore/interface/alpaka/LST.h b/RecoTracker/LSTCore/interface/alpaka/LST.h index 0e4c64d2535df..52a2d46dec1a5 100644 --- a/RecoTracker/LSTCore/interface/alpaka/LST.h +++ b/RecoTracker/LSTCore/interface/alpaka/LST.h @@ -96,7 +96,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE { std::vector in_charge_vec_; std::vector in_seedIdx_vec_; std::vector in_superbin_vec_; - std::vector in_pixelType_vec_; + std::vector in_pixelType_vec_; std::vector in_isQuad_vec_; std::vector> out_tc_hitIdxs_; std::vector out_tc_len_; diff --git a/RecoTracker/LSTCore/src/alpaka/Event.dev.cc b/RecoTracker/LSTCore/src/alpaka/Event.dev.cc index 62629bb08fc52..75db0e40ef17f 100644 --- a/RecoTracker/LSTCore/src/alpaka/Event.dev.cc +++ b/RecoTracker/LSTCore/src/alpaka/Event.dev.cc @@ -233,7 +233,7 @@ void Event::addPixelSegmentToEvent(std::vector const& hitIndices0, std::vector const& charge, std::vector const& seedIdx, std::vector const& superbin, - std::vector const& pixelType, + std::vector const& pixelType, std::vector const& isQuad) { unsigned int size = ptIn.size(); @@ -704,7 +704,7 @@ void Event::createPixelTriplets() { } auto superbins_buf = allocBufWrapper(devHost, n_max_pixel_segments_per_module, queue); - auto pixelTypes_buf = allocBufWrapper(devHost, n_max_pixel_segments_per_module, queue); + auto pixelTypes_buf = allocBufWrapper(devHost, n_max_pixel_segments_per_module, queue); alpaka::memcpy(queue, superbins_buf, segmentsBuffers->superbin_buf); alpaka::memcpy(queue, pixelTypes_buf, segmentsBuffers->pixelType_buf); @@ -735,28 +735,28 @@ void Event::createPixelTriplets() { // TODO: check if a map/reduction to just eligible pLSs would speed up the kernel // the current selection still leaves a significant fraction of unmatchable pLSs - for (unsigned int i = 0; i < nInnerSegments; i++) { // loop over # pLS - int8_t pixelType = pixelTypes[i]; // Get pixel type for this pLS - int superbin = superbins[i]; // Get superbin for this pixel - if ((superbin < 0) or (superbin >= (int)size_superbins) or (pixelType > 2) or (pixelType < 0)) { + for (unsigned int i = 0; i < nInnerSegments; i++) { // loop over # pLS + int pixelType = pixelTypes[i]; // Get pixel type for this pLS + int superbin = superbins[i]; // Get superbin for this pixel + if ((superbin < 0) or (superbin >= (int)size_superbins) or ((pixelType != ::lst::kPixelType::highPt) and (pixelType != ::lst::kPixelType::lowPtPosCurv) and (pixelType != ::lst::kPixelType::lowPtNegCurv))) { connectedPixelSize_host[i] = 0; connectedPixelIndex_host[i] = 0; continue; } // Used pixel type to select correct size-index arrays - if (pixelType == 0) { + if (pixelType == static_cast(::lst::kPixelType::highPt)) { connectedPixelSize_host[i] = pixelMapping_.connectedPixelsSizes[superbin]; // number of connected modules to this pixel auto connectedIdxBase = pixelMapping_.connectedPixelsIndex[superbin]; connectedPixelIndex_host[i] = connectedIdxBase; // index to get start of connected modules for this superbin in map - } else if (pixelType == 1) { + } else if (pixelType == static_cast(::lst::kPixelType::lowPtPosCurv)) { connectedPixelSize_host[i] = pixelMapping_.connectedPixelsSizesPos[superbin]; // number of pixel connected modules auto connectedIdxBase = pixelMapping_.connectedPixelsIndexPos[superbin] + pixelIndexOffsetPos; connectedPixelIndex_host[i] = connectedIdxBase; // index to get start of connected pixel modules - } else if (pixelType == 2) { + } else if (pixelType == static_cast(::lst::kPixelType::lowPtNegCurv)) { connectedPixelSize_host[i] = pixelMapping_.connectedPixelsSizesNeg[superbin]; // number of pixel connected modules auto connectedIdxBase = pixelMapping_.connectedPixelsIndexNeg[superbin] + pixelIndexOffsetNeg; @@ -900,7 +900,7 @@ void Event::createPixelQuintuplets() { } auto superbins_buf = allocBufWrapper(devHost, n_max_pixel_segments_per_module, queue); - auto pixelTypes_buf = allocBufWrapper(devHost, n_max_pixel_segments_per_module, queue); + auto pixelTypes_buf = allocBufWrapper(devHost, n_max_pixel_segments_per_module, queue); alpaka::memcpy(queue, superbins_buf, segmentsBuffers->superbin_buf); alpaka::memcpy(queue, pixelTypes_buf, segmentsBuffers->pixelType_buf); @@ -931,24 +931,25 @@ void Event::createPixelQuintuplets() { // Loop over # pLS for (unsigned int i = 0; i < nInnerSegments; i++) { - int8_t pixelType = pixelTypes[i]; // Get pixel type for this pLS - int superbin = superbins[i]; // Get superbin for this pixel - if ((superbin < 0) or (superbin >= (int)::size_superbins) or (pixelType > 2) or (pixelType < 0)) { + int pixelType = pixelTypes[i]; // Get pixel type for this pLS + int superbin = superbins[i]; // Get superbin for this pixel + if ((superbin < 0) or (superbin >= (int)size_superbins) or ((pixelType != ::lst::kPixelType::highPt) and (pixelType != ::lst::kPixelType::lowPtPosCurv) and (pixelType != ::lst::kPixelType::lowPtNegCurv))) { connectedPixelIndex_host[i] = 0; connectedPixelSize_host[i] = 0; continue; } + // Used pixel type to select correct size-index arrays - if (pixelType == 0) { + if (pixelType == static_cast(::lst::kPixelType::highPt)) { connectedPixelSize_host[i] = pixelMapping_.connectedPixelsSizes[superbin]; //number of connected modules to this pixel unsigned int connectedIdxBase = pixelMapping_.connectedPixelsIndex[superbin]; connectedPixelIndex_host[i] = connectedIdxBase; - } else if (pixelType == 1) { + } else if (pixelType == static_cast(::lst::kPixelType::lowPtPosCurv)) { connectedPixelSize_host[i] = pixelMapping_.connectedPixelsSizesPos[superbin]; //number of pixel connected modules unsigned int connectedIdxBase = pixelMapping_.connectedPixelsIndexPos[superbin] + pixelIndexOffsetPos; connectedPixelIndex_host[i] = connectedIdxBase; - } else if (pixelType == 2) { + } else if (pixelType == static_cast(::lst::kPixelType::lowPtNegCurv)) { connectedPixelSize_host[i] = pixelMapping_.connectedPixelsSizesNeg[superbin]; //number of pixel connected modules unsigned int connectedIdxBase = pixelMapping_.connectedPixelsIndexNeg[superbin] + pixelIndexOffsetNeg; connectedPixelIndex_host[i] = connectedIdxBase; diff --git a/RecoTracker/LSTCore/src/alpaka/Event.h b/RecoTracker/LSTCore/src/alpaka/Event.h index 2ad8e150ece88..a1aab4a9ecd77 100644 --- a/RecoTracker/LSTCore/src/alpaka/Event.h +++ b/RecoTracker/LSTCore/src/alpaka/Event.h @@ -80,9 +80,6 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE { void initSync(bool verbose); - int* superbinCPU; - int8_t* pixelTypeCPU; - const uint16_t nModules_; const uint16_t nLowerModules_; const unsigned int nPixels_; @@ -131,7 +128,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE { std::vector const& charge, std::vector const& seedIdx, std::vector const& superbin, - std::vector const& pixelType, + std::vector const& pixelType, std::vector const& isQuad); void createMiniDoublets(); diff --git a/RecoTracker/LSTCore/src/alpaka/LST.dev.cc b/RecoTracker/LSTCore/src/alpaka/LST.dev.cc index e847eb892af8c..b8b880139499f 100644 --- a/RecoTracker/LSTCore/src/alpaka/LST.dev.cc +++ b/RecoTracker/LSTCore/src/alpaka/LST.dev.cc @@ -77,14 +77,13 @@ void ALPAKA_ACCELERATOR_NAMESPACE::lst::LST::prepareInput(std::vector con std::vector hitIdxs(ph2_detId.size()); std::vector superbin_vec; - std::vector pixelType_vec; + std::vector pixelType_vec; std::vector isQuad_vec; std::iota(hitIdxs.begin(), hitIdxs.end(), 0); const int hit_size = trkX.size(); for (size_t iSeed = 0; iSeed < n_see; iSeed++) { XYZVector p3LH(see_stateTrajGlbPx[iSeed], see_stateTrajGlbPy[iSeed], see_stateTrajGlbPz[iSeed]); - XYZVector p3LH_helper(see_stateTrajGlbPx[iSeed], see_stateTrajGlbPy[iSeed], see_stateTrajGlbPz[iSeed]); float ptIn = p3LH.rho(); float eta = p3LH.eta(); float ptErr = see_ptErr[iSeed]; @@ -94,7 +93,7 @@ void ALPAKA_ACCELERATOR_NAMESPACE::lst::LST::prepareInput(std::vector con XYZVector p3PCA(see_px[iSeed], see_py[iSeed], see_pz[iSeed]); XYZVector r3PCA(calculateR3FromPCA(p3PCA, see_dxy[iSeed], see_dz[iSeed])); - float pixelSegmentDeltaPhiChange = (r3LH - p3LH_helper).phi(); //FIXME: this looks like a bug + float pixelSegmentDeltaPhiChange = (r3LH - p3LH).phi(); float etaErr = see_etaErr[iSeed]; float px = p3LH.x(); float py = p3LH.y(); @@ -104,12 +103,12 @@ void ALPAKA_ACCELERATOR_NAMESPACE::lst::LST::prepareInput(std::vector con int pixtype = -1; if (ptIn >= 2.0) - pixtype = 0; + pixtype = static_cast(::lst::kPixelType::highPt); else if (ptIn >= (0.8 - 2 * ptErr) and ptIn < 2.0) { if (pixelSegmentDeltaPhiChange >= 0) - pixtype = 1; + pixtype = static_cast(::lst::kPixelType::lowPtPosCurv); else - pixtype = 2; + pixtype = static_cast(::lst::kPixelType::lowPtNegCurv); } else continue; diff --git a/RecoTracker/LSTCore/src/alpaka/Segment.h b/RecoTracker/LSTCore/src/alpaka/Segment.h index b74de58f3c233..ee5eca213cd4b 100644 --- a/RecoTracker/LSTCore/src/alpaka/Segment.h +++ b/RecoTracker/LSTCore/src/alpaka/Segment.h @@ -31,7 +31,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { unsigned int* nSegments; //number of segments per inner lower module unsigned int* totOccupancySegments; //number of segments per inner lower module uint4* pLSHitsIdxs; - int8_t* pixelType; + int* pixelType; char* isQuad; char* isDup; bool* partOfPT5; @@ -107,7 +107,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { Buf nSegments_buf; Buf totOccupancySegments_buf; Buf pLSHitsIdxs_buf; - Buf pixelType_buf; + Buf pixelType_buf; Buf isQuad_buf; Buf isDup_buf; Buf partOfPT5_buf; @@ -150,7 +150,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { nSegments_buf(allocBufWrapper(devAccIn, nLowerModules + 1, queue)), totOccupancySegments_buf(allocBufWrapper(devAccIn, nLowerModules + 1, queue)), pLSHitsIdxs_buf(allocBufWrapper(devAccIn, maxPixelSegments, queue)), - pixelType_buf(allocBufWrapper(devAccIn, maxPixelSegments, queue)), + pixelType_buf(allocBufWrapper(devAccIn, maxPixelSegments, queue)), isQuad_buf(allocBufWrapper(devAccIn, maxPixelSegments, queue)), isDup_buf(allocBufWrapper(devAccIn, maxPixelSegments, queue)), partOfPT5_buf(allocBufWrapper(devAccIn, maxPixelSegments, queue)), diff --git a/RecoTracker/LSTCore/standalone/bin/lst.cc b/RecoTracker/LSTCore/standalone/bin/lst.cc index 060308e4dabab..61802e09f9849 100644 --- a/RecoTracker/LSTCore/standalone/bin/lst.cc +++ b/RecoTracker/LSTCore/standalone/bin/lst.cc @@ -338,7 +338,7 @@ void run_lst() { std::vector> out_charge_vec; std::vector> out_seedIdx_vec; std::vector> out_superbin_vec; - std::vector> out_pixelType_vec; + std::vector> out_pixelType_vec; std::vector> out_isQuad_vec; std::vector evt_num; std::vector file_name; diff --git a/RecoTracker/LSTCore/standalone/code/core/trkCore.cc b/RecoTracker/LSTCore/standalone/code/core/trkCore.cc index 3841affaaf059..c2feded363ac4 100644 --- a/RecoTracker/LSTCore/standalone/code/core/trkCore.cc +++ b/RecoTracker/LSTCore/standalone/code/core/trkCore.cc @@ -610,7 +610,7 @@ void addInputsToLineSegmentTrackingPreLoad(std::vector> &out_ std::vector> &out_charge_vec, std::vector> &out_seedIdx_vec, std::vector> &out_superbin_vec, - std::vector> &out_pixelType_vec, + std::vector> &out_pixelType_vec, std::vector> &out_isQuad_vec) { unsigned int count = 0; auto n_see = trk.see_stateTrajGlbPx().size(); @@ -651,7 +651,7 @@ void addInputsToLineSegmentTrackingPreLoad(std::vector> &out_ std::vector hitIdxs(trk.ph2_detId().size()); std::vector superbin_vec; - std::vector pixelType_vec; + std::vector pixelType_vec; std::vector isQuad_vec; std::iota(hitIdxs.begin(), hitIdxs.end(), 0); const int hit_size = trkX.size(); @@ -718,17 +718,14 @@ void addInputsToLineSegmentTrackingPreLoad(std::vector> &out_ int charge = trk.see_q()[iSeed]; unsigned int seedIdx = iSeed; - // get pixel superbin - // int ptbin = -1; int pixtype = -1; - if (ptIn >= 2.0) { /*ptbin = 1;*/ - pixtype = 0; + if (ptIn >= 2.0) { + pixtype = static_cast(::lst::kPixelType::highPt); } else if (ptIn >= (PT_CUT - 2 * ptErr) and ptIn < 2.0) { - // ptbin = 0; if (pixelSegmentDeltaPhiChange >= 0) { - pixtype = 1; + pixtype = static_cast(::lst::kPixelType::lowPtPosCurv); } else { - pixtype = 2; + pixtype = static_cast(::lst::kPixelType::lowPtNegCurv); } } else { continue; @@ -868,7 +865,7 @@ float addInputsToEventPreLoad(LSTEvent *event, std::vector charge_vec, std::vector seedIdx_vec, std::vector superbin_vec, - std::vector pixelType_vec, + std::vector pixelType_vec, std::vector isQuad_vec) { TStopwatch my_timer; @@ -1140,212 +1137,3 @@ void writeMetaData() { TNamed tracklooper_path("tracklooper_path", ana.track_looper_dir_path.Data()); tracklooper_path.Write(); } - -// ---------------------------------- =========================================== ---------------------------------------------- -// ---------------------------------- =========================================== ---------------------------------------------- -// ---------------------------------- =========================================== ---------------------------------------------- -// ---------------------------------- =========================================== ---------------------------------------------- -// ---------------------------------- =========================================== ---------------------------------------------- - -// DEPRECATED FUNCTIONS - -//__________________________________________________________________________________________ -[[deprecated]] float addInputsToLineSegmentTracking(LSTEvent &event, bool useOMP) { - TStopwatch my_timer; - if (ana.verbose >= 2) - std::cout << "Loading Inputs (i.e. outer tracker hits, and pixel line segements) to the Line Segment Tracking.... " - << std::endl; - my_timer.Start(); - - unsigned int count = 0; - std::vector px_vec; - std::vector py_vec; - std::vector pz_vec; - std::vector hitIndices_vec0; - std::vector hitIndices_vec1; - std::vector hitIndices_vec2; - std::vector hitIndices_vec3; - std::vector ptIn_vec; - std::vector ptErr_vec; - std::vector etaErr_vec; - std::vector eta_vec; - std::vector phi_vec; - std::vector charge_vec; - std::vector seedIdx_vec; - std::vector deltaPhi_vec; - std::vector trkX = trk.ph2_x(); - std::vector trkY = trk.ph2_y(); - std::vector trkZ = trk.ph2_z(); - std::vector hitId = trk.ph2_detId(); - std::vector hitIdxs(trk.ph2_detId().size()); - std::vector superbin_vec; - std::vector pixelType_vec; - std::vector isQuad_vec; - std::iota(hitIdxs.begin(), hitIdxs.end(), 0); - const int hit_size = trkX.size(); - - for (size_t iSeed = 0; iSeed < trk.see_stateTrajGlbPx().size(); ++iSeed) { - bool good_seed_type = false; - if (trk.see_algo()[iSeed] == 4) - good_seed_type = true; - // if (trk.see_algo()[iSeed] == 5) good_seed_type = true; - // if (trk.see_algo()[iSeed] == 7) good_seed_type = true; - if (trk.see_algo()[iSeed] == 22) - good_seed_type = true; - // if (trk.see_algo()[iSeed] == 23) good_seed_type = true; - // if (trk.see_algo()[iSeed] == 24) good_seed_type = true; - if (not good_seed_type) - continue; - - TVector3 p3LH(trk.see_stateTrajGlbPx()[iSeed], trk.see_stateTrajGlbPy()[iSeed], trk.see_stateTrajGlbPz()[iSeed]); - float ptIn = p3LH.Pt(); - float ptErr = trk.see_ptErr()[iSeed]; - float eta = p3LH.Eta(); - - if ((ptIn > 0.8 - 2 * ptErr)) { - TVector3 r3LH(trk.see_stateTrajGlbX()[iSeed], trk.see_stateTrajGlbY()[iSeed], trk.see_stateTrajGlbZ()[iSeed]); - TVector3 p3PCA(trk.see_px()[iSeed], trk.see_py()[iSeed], trk.see_pz()[iSeed]); - TVector3 r3PCA(calculateR3FromPCA(p3PCA, trk.see_dxy()[iSeed], trk.see_dz()[iSeed])); - - TVector3 seedSD_mdRef_r3 = r3PCA; - TVector3 seedSD_mdOut_r3 = r3LH; - TVector3 seedSD_r3 = r3LH; - TVector3 seedSD_p3 = p3LH; - - float pixelSegmentDeltaPhiChange = r3LH.DeltaPhi(p3LH); - float etaErr = trk.see_etaErr()[iSeed]; - float px = p3LH.X(); - float py = p3LH.Y(); - float pz = p3LH.Z(); - float phi = p3LH.Phi(); - int charge = trk.see_q()[iSeed]; - unsigned int seedIdx = iSeed; - // extra bit - - // get pixel superbin - // int ptbin = -1; - int pixtype = -1; - if (ptIn >= 2.0) { /*ptbin = 1;*/ - pixtype = 0; - } else if (ptIn >= (0.8 - 2 * ptErr) and ptIn < 2.0) { - // ptbin = 0; - if (pixelSegmentDeltaPhiChange >= 0) { - pixtype = 1; - } else { - pixtype = 2; - } - } else { - continue; - } - - unsigned int hitIdx0 = hit_size + count; - count++; - - unsigned int hitIdx1 = hit_size + count; - count++; - - unsigned int hitIdx2 = hit_size + count; - count++; - - unsigned int hitIdx3; - if (trk.see_hitIdx()[iSeed].size() <= 3) { - hitIdx3 = hitIdx2; - } else { - hitIdx3 = hit_size + count; - count++; - } - - trkX.push_back(r3PCA.X()); - trkY.push_back(r3PCA.Y()); - trkZ.push_back(r3PCA.Z()); - trkX.push_back(p3PCA.Pt()); - float p3PCA_Eta = p3PCA.Eta(); - trkY.push_back(p3PCA_Eta); - float p3PCA_Phi = p3PCA.Phi(); - trkZ.push_back(p3PCA_Phi); - trkX.push_back(r3LH.X()); - trkY.push_back(r3LH.Y()); - trkZ.push_back(r3LH.Z()); - hitId.push_back(1); - hitId.push_back(1); - hitId.push_back(1); - if (trk.see_hitIdx()[iSeed].size() > 3) { - trkX.push_back(r3LH.X()); - trkY.push_back(trk.see_dxy()[iSeed]); - trkZ.push_back(trk.see_dz()[iSeed]); - hitId.push_back(1); - } - px_vec.push_back(px); - py_vec.push_back(py); - pz_vec.push_back(pz); - - hitIndices_vec0.push_back(hitIdx0); - hitIndices_vec1.push_back(hitIdx1); - hitIndices_vec2.push_back(hitIdx2); - hitIndices_vec3.push_back(hitIdx3); - ptIn_vec.push_back(ptIn); - ptErr_vec.push_back(ptErr); - etaErr_vec.push_back(etaErr); - eta_vec.push_back(eta); - phi_vec.push_back(phi); - charge_vec.push_back(charge); - seedIdx_vec.push_back(seedIdx); - deltaPhi_vec.push_back(pixelSegmentDeltaPhiChange); - - // For matching with sim tracks - hitIdxs.push_back(trk.see_hitIdx()[iSeed][0]); - hitIdxs.push_back(trk.see_hitIdx()[iSeed][1]); - hitIdxs.push_back(trk.see_hitIdx()[iSeed][2]); - char isQuad = false; - if (trk.see_hitIdx()[iSeed].size() > 3) { - isQuad = true; - hitIdxs.push_back(trk.see_hitIdx()[iSeed].size() > 3 ? trk.see_hitIdx()[iSeed][3] : trk.see_hitIdx()[iSeed][2]); - } - // if (pt < 0){ ptbin = 0;} - float neta = 25.; - float nphi = 72.; - float nz = 25.; - int etabin = (p3PCA_Eta + 2.6) / ((2 * 2.6) / neta); - int phibin = (p3PCA_Phi + 3.14159265358979323846) / ((2. * 3.14159265358979323846) / nphi); - int dzbin = (trk.see_dz()[iSeed] + 30) / (2 * 30 / nz); - int isuperbin = - /*(nz * nphi * neta) * ptbin + (removed since pt bin is determined by pixelType)*/ (nz * nphi) * etabin + - (nz)*phibin + dzbin; - // if(isuperbin<0 || isuperbin>=44900){printf("isuperbin %d %d %d %d %f\n",isuperbin,etabin,phibin,dzbin,p3PCA.Eta());} - superbin_vec.push_back(isuperbin); - pixelType_vec.push_back(pixtype); - isQuad_vec.push_back(isQuad); - } - } - - event.addHitToEvent(trkX, trkY, trkZ, hitId, hitIdxs); - event.addPixelSegmentToEvent(hitIndices_vec0, - hitIndices_vec1, - hitIndices_vec2, - hitIndices_vec3, - deltaPhi_vec, - ptIn_vec, - ptErr_vec, - px_vec, - py_vec, - pz_vec, - eta_vec, - etaErr_vec, - phi_vec, - charge_vec, - seedIdx_vec, - superbin_vec, - pixelType_vec, - isQuad_vec); - - event.wait(); // device side event calls are asynchronous: wait to measure time or print - float hit_loading_elapsed = my_timer.RealTime(); - if (ana.verbose >= 2) - std::cout << "Loading inputs processing time: " << hit_loading_elapsed << " secs" << std::endl; - return hit_loading_elapsed; -} - -//__________________________________________________________________________________________ -[[deprecated]] float addInputsToLineSegmentTrackingUsingExplicitMemory(LSTEvent &event) { - return addInputsToLineSegmentTracking(event, true); -} diff --git a/RecoTracker/LSTCore/standalone/code/core/trkCore.h b/RecoTracker/LSTCore/standalone/code/core/trkCore.h index 66d5c10baf431..247acb91dd814 100644 --- a/RecoTracker/LSTCore/standalone/code/core/trkCore.h +++ b/RecoTracker/LSTCore/standalone/code/core/trkCore.h @@ -68,7 +68,7 @@ void addInputsToLineSegmentTrackingPreLoad(std::vector> &out_ std::vector> &out_charge_vec, std::vector> &out_seedIdx_vec, std::vector> &out_superbin_vec, - std::vector> &out_pixelType_vec, + std::vector> &out_pixelType_vec, std::vector> &out_isQuad_vec); float addInputsToEventPreLoad(LSTEvent *event, @@ -94,7 +94,7 @@ float addInputsToEventPreLoad(LSTEvent *event, std::vector charge_vec, std::vector seedIdx_vec, std::vector superbin_vec, - std::vector pixelType_vec, + std::vector pixelType_vec, std::vector isQuad_vec); void printTimingInformation(std::vector> &timing_information, float fullTime, float fullavg);