diff --git a/L1Trigger/TrackFindingTracklet/src/PurgeDuplicate.cc b/L1Trigger/TrackFindingTracklet/src/PurgeDuplicate.cc index f66f75bee9898..6aa852fb93717 100644 --- a/L1Trigger/TrackFindingTracklet/src/PurgeDuplicate.cc +++ b/L1Trigger/TrackFindingTracklet/src/PurgeDuplicate.cc @@ -214,7 +214,8 @@ void PurgeDuplicate::execute(std::vector& outputtracks, unsigned int iSec } // Initialize all-false 2D array of tracks being duplicates to other tracks - std::vector> dupMap(numStublists, std::vector(numStublists, false)); // Ends up symmetric + std::vector> dupMap(numStublists, + std::vector(numStublists, false)); // Ends up symmetric //Flag to check if track will be merged into another track std::vector mergedTrack(numStublists, false); @@ -304,7 +305,7 @@ void PurgeDuplicate::execute(std::vector& outputtracks, unsigned int iSec if (nShareLay >= settings_.minIndStubs()) { // For number of shared stub merge condition dupMap[seedRankIdx[itrk]][seedRankIdx[jtrk]] = true; dupMap[seedRankIdx[jtrk]][seedRankIdx[itrk]] = true; - if (seedRank[itrk] < seedRank[jtrk]) { + if (seedRank[itrk] <= seedRank[jtrk]) { mergedTrack[seedRankIdx[jtrk]] = true; } } @@ -332,42 +333,6 @@ void PurgeDuplicate::execute(std::vector& outputtracks, unsigned int iSec trackBinInfo[seedRankIdx[preftrk]] = true; trackBinInfo[seedRankIdx[rejetrk]] = true; } else { - // Get a merged stub list - std::vector newStubList; - std::vector stubsTrk1 = sortedinputstublists_[preftrk]; - std::vector stubsTrk2 = sortedinputstublists_[rejetrk]; - std::vector stubsTrk1indices; - std::vector stubsTrk2indices; - for (unsigned int stub1it = 0; stub1it < stubsTrk1.size(); stub1it++) { - stubsTrk1indices.push_back(stubsTrk1[stub1it]->l1tstub()->uniqueIndex()); - } - for (unsigned int stub2it = 0; stub2it < stubsTrk2.size(); stub2it++) { - stubsTrk2indices.push_back(stubsTrk2[stub2it]->l1tstub()->uniqueIndex()); - } - newStubList = stubsTrk1; - for (unsigned int stub2it = 0; stub2it < stubsTrk2.size(); stub2it++) { - if (find(stubsTrk1indices.begin(), stubsTrk1indices.end(), stubsTrk2indices[stub2it]) == - stubsTrk1indices.end()) { - newStubList.push_back(stubsTrk2[stub2it]); - } - } - // Overwrite stublist of preferred track with merged list - sortedinputstublists_[preftrk] = newStubList; - - std::vector> newStubidsList; - std::vector> stubidsTrk1 = sortedmergedstubidslists_[preftrk]; - std::vector> stubidsTrk2 = sortedmergedstubidslists_[rejetrk]; - newStubidsList = stubidsTrk1; - - for (unsigned int stub2it = 0; stub2it < stubsTrk2.size(); stub2it++) { - if (find(stubsTrk1indices.begin(), stubsTrk1indices.end(), stubsTrk2indices[stub2it]) == - stubsTrk1indices.end()) { - newStubidsList.push_back(stubidsTrk2[stub2it]); - } - } - // Overwrite stubidslist of preferred track with merged list - sortedmergedstubidslists_[preftrk] = newStubidsList; - // Mark that rejected track has been merged into another track trackInfo[seedRankIdx[jtrk]].second = true; }