From be3226dbeb905046bff4f22f1fbc177891ce6af6 Mon Sep 17 00:00:00 2001 From: Chengdong Fu <fucd@ihep.ac.cn> Date: Tue, 29 Sep 2020 16:40:19 +0800 Subject: [PATCH] deal FTD pixel and strip in one collection --- Reconstruction/SiliconTracking/src/ForwardTrackingAlg.cpp | 6 +++++- Reconstruction/SiliconTracking/src/SiliconTrackingAlg.cpp | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Reconstruction/SiliconTracking/src/ForwardTrackingAlg.cpp b/Reconstruction/SiliconTracking/src/ForwardTrackingAlg.cpp index 9badc084..6833e404 100644 --- a/Reconstruction/SiliconTracking/src/ForwardTrackingAlg.cpp +++ b/Reconstruction/SiliconTracking/src/ForwardTrackingAlg.cpp @@ -216,9 +216,10 @@ StatusCode ForwardTrackingAlg::execute(){ debug() << "\t\t---Reading in Collections---" << endmsg; Navigation::Instance()->Initialize(); std::vector<const edm4hep::TrackerHitCollection*> hitFTDCollections; - + int pixelCollectionID = -1; try { auto hitFTDPixelCol = _inFTDPixelColHdl.get(); + pixelCollectionID = hitFTDPixelCol->getID(); hitFTDCollections.push_back(hitFTDPixelCol); Navigation::Instance()->AddTrackerHitCollection(hitFTDPixelCol); } @@ -262,6 +263,9 @@ StatusCode ForwardTrackingAlg::execute(){ debug() << "Number of hits in collection " << hitFTDCollections[iCol]->getID() << ": " << nHits << endmsg; for(auto trackerHit : *hitFTDCollections[iCol]){ + if(pixelCollectionID==hitFTDCollections[iCol]->getID()){ + if ( UTIL::BitSet32( trackerHit.getType() )[ UTIL::ILDTrkHitTypeBit::ONE_DIMENSIONAL ] ) continue; + } edm4hep::ConstTrackerHit hit = trackerHit; debug() << "hit " << trackerHit.id() << " " << KiTrackMarlin::getCellID0Info( trackerHit.getCellID() ) << " " << KiTrackMarlin::getPositionInfo( hit )<< endmsg; diff --git a/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.cpp b/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.cpp index 2e7ae95c..9dc29640 100644 --- a/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.cpp +++ b/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.cpp @@ -435,7 +435,8 @@ int SiliconTrackingAlg::InitialiseFTD() { _nTotalFTDHits = nelem; //for (int ielem=0; ielem<nelem; ++ielem) { - for(auto hit : *hitFTDPixelCol){ + for(auto hit : *hitFTDPixelCol){ + if ( UTIL::BitSet32( hit.getType() )[ UTIL::ILDTrkHitTypeBit::ONE_DIMENSIONAL ] ) continue; //dm4hep::ConstTrackerHit hit = hitFTDPixelCol->at(ielem); TrackerHitExtended * hitExt = new TrackerHitExtended( hit ); //gear::Vector3D U(1.0,hit->getU()[1],hit->getU()[0],gear::Vector3D::spherical); -- GitLab