From a500dce8e0a8068922d68f1d5d3aad03eb4ae37f Mon Sep 17 00:00:00 2001 From: Giuseppe Date: Thu, 17 Jun 2021 09:58:03 -0700 Subject: [PATCH 1/3] dead moules code in MkFitEventOfHitsProducer --- RecoTracker/MkFit/interface/MkFitGeometry.h | 1 + .../MkFit/plugins/MkFitEventOfHitsProducer.cc | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/RecoTracker/MkFit/interface/MkFitGeometry.h b/RecoTracker/MkFit/interface/MkFitGeometry.h index 1fe5b6447580e..c7cd6bef2b7ed 100644 --- a/RecoTracker/MkFit/interface/MkFitGeometry.h +++ b/RecoTracker/MkFit/interface/MkFitGeometry.h @@ -36,6 +36,7 @@ class MkFitGeometry { mkfit::IterationsInfo const& iterationsInfo() const { return *iterationsInfo_; } const std::vector& detLayers() const { return dets_; } unsigned int uniqueIdInLayer(int layer, unsigned int detId) const { return detIdToShortId_.at(layer).at(detId); } + const TrackerTopology* topology() const { return ttopo_; } private: const TrackerTopology* ttopo_; diff --git a/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc b/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc index 270bce35fe048..02a3a101b831a 100644 --- a/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc +++ b/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc @@ -12,9 +12,15 @@ #include "RecoTracker/MkFit/interface/MkFitHitWrapper.h" #include "RecoTracker/Record/interface/TrackerRecoGeometryRecord.h" +#include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" +#include "CalibTracker/Records/interface/SiStripQualityRcd.h" +#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "DataFormats/TrackerCommon/interface/TrackerDetSide.h" + // mkFit includes #include "mkFit/HitStructures.h" #include "mkFit/MkStdSeqs.h" +#include "LayerNumberConverter.h" class MkFitEventOfHitsProducer : public edm::global::EDProducer<> { public: @@ -35,6 +41,8 @@ class MkFitEventOfHitsProducer : public edm::global::EDProducer<> { const edm::EDGetTokenT pixelClusterIndexToHitToken_; const edm::EDGetTokenT stripClusterIndexToHitToken_; const edm::ESGetToken mkFitGeomToken_; + const edm::ESGetToken qualityToken_; + const edm::ESGetToken geomToken_; const edm::EDPutTokenT putToken_; }; @@ -44,6 +52,8 @@ MkFitEventOfHitsProducer::MkFitEventOfHitsProducer(edm::ParameterSet const& iCon pixelClusterIndexToHitToken_{consumes(iConfig.getParameter("pixelHits"))}, stripClusterIndexToHitToken_{consumes(iConfig.getParameter("stripHits"))}, mkFitGeomToken_{esConsumes()}, + qualityToken_{esConsumes()}, + geomToken_{esConsumes()}, putToken_{produces()} {} void MkFitEventOfHitsProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { @@ -63,6 +73,27 @@ void MkFitEventOfHitsProducer::produce(edm::StreamID iID, edm::Event& iEvent, co auto eventOfHits = std::make_unique(mkFitGeom.trackerInfo()); mkfit::StdSeq::Cmssw_LoadHits_Begin(*eventOfHits, {&pixelHits.hits(), &stripHits.hits()}); + std::vector deadvectors(mkFitGeom.layerNumberConverter().nLayers()); + const auto& siStripQuality = iSetup.getData(qualityToken_); + const auto& trackerGeom = iSetup.getData(geomToken_); + const auto& badStrips = siStripQuality.getBadComponentList(); + for (const auto& bs : badStrips) { + const auto& surf = trackerGeom.idToDet(DetId(bs.detid))->surface(); + const DetId detid(bs.detid); + const auto subdet = detid.subdetId(); + const auto layer = mkFitGeom.topology()->layer(detid); + const auto isStereo = mkFitGeom.topology()->isStereo(detid); + bool isBarrel = (mkFitGeom.topology()->side(detid) == static_cast(TrackerDetSide::Barrel)); + bool isPlusSide = (mkFitGeom.topology()->side(detid) == static_cast(TrackerDetSide::PosEndcap)); + const auto ilay = mkFitGeom.layerNumberConverter().convertLayerNumber(subdet, layer, false, isStereo, isPlusSide); + //dump content of deadmodules.h in standalone setup + // std::cout << "deadvectors["< Date: Thu, 17 Jun 2021 09:58:03 -0700 Subject: [PATCH 2/3] dead moules code in MkFitEventOfHitsProducer --- RecoTracker/MkFit/interface/MkFitGeometry.h | 1 + .../MkFit/plugins/MkFitEventOfHitsProducer.cc | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/RecoTracker/MkFit/interface/MkFitGeometry.h b/RecoTracker/MkFit/interface/MkFitGeometry.h index 1fe5b6447580e..c7cd6bef2b7ed 100644 --- a/RecoTracker/MkFit/interface/MkFitGeometry.h +++ b/RecoTracker/MkFit/interface/MkFitGeometry.h @@ -36,6 +36,7 @@ class MkFitGeometry { mkfit::IterationsInfo const& iterationsInfo() const { return *iterationsInfo_; } const std::vector& detLayers() const { return dets_; } unsigned int uniqueIdInLayer(int layer, unsigned int detId) const { return detIdToShortId_.at(layer).at(detId); } + const TrackerTopology* topology() const { return ttopo_; } private: const TrackerTopology* ttopo_; diff --git a/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc b/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc index 270bce35fe048..02a3a101b831a 100644 --- a/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc +++ b/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc @@ -12,9 +12,15 @@ #include "RecoTracker/MkFit/interface/MkFitHitWrapper.h" #include "RecoTracker/Record/interface/TrackerRecoGeometryRecord.h" +#include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" +#include "CalibTracker/Records/interface/SiStripQualityRcd.h" +#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "DataFormats/TrackerCommon/interface/TrackerDetSide.h" + // mkFit includes #include "mkFit/HitStructures.h" #include "mkFit/MkStdSeqs.h" +#include "LayerNumberConverter.h" class MkFitEventOfHitsProducer : public edm::global::EDProducer<> { public: @@ -35,6 +41,8 @@ class MkFitEventOfHitsProducer : public edm::global::EDProducer<> { const edm::EDGetTokenT pixelClusterIndexToHitToken_; const edm::EDGetTokenT stripClusterIndexToHitToken_; const edm::ESGetToken mkFitGeomToken_; + const edm::ESGetToken qualityToken_; + const edm::ESGetToken geomToken_; const edm::EDPutTokenT putToken_; }; @@ -44,6 +52,8 @@ MkFitEventOfHitsProducer::MkFitEventOfHitsProducer(edm::ParameterSet const& iCon pixelClusterIndexToHitToken_{consumes(iConfig.getParameter("pixelHits"))}, stripClusterIndexToHitToken_{consumes(iConfig.getParameter("stripHits"))}, mkFitGeomToken_{esConsumes()}, + qualityToken_{esConsumes()}, + geomToken_{esConsumes()}, putToken_{produces()} {} void MkFitEventOfHitsProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { @@ -63,6 +73,27 @@ void MkFitEventOfHitsProducer::produce(edm::StreamID iID, edm::Event& iEvent, co auto eventOfHits = std::make_unique(mkFitGeom.trackerInfo()); mkfit::StdSeq::Cmssw_LoadHits_Begin(*eventOfHits, {&pixelHits.hits(), &stripHits.hits()}); + std::vector deadvectors(mkFitGeom.layerNumberConverter().nLayers()); + const auto& siStripQuality = iSetup.getData(qualityToken_); + const auto& trackerGeom = iSetup.getData(geomToken_); + const auto& badStrips = siStripQuality.getBadComponentList(); + for (const auto& bs : badStrips) { + const auto& surf = trackerGeom.idToDet(DetId(bs.detid))->surface(); + const DetId detid(bs.detid); + const auto subdet = detid.subdetId(); + const auto layer = mkFitGeom.topology()->layer(detid); + const auto isStereo = mkFitGeom.topology()->isStereo(detid); + bool isBarrel = (mkFitGeom.topology()->side(detid) == static_cast(TrackerDetSide::Barrel)); + bool isPlusSide = (mkFitGeom.topology()->side(detid) == static_cast(TrackerDetSide::PosEndcap)); + const auto ilay = mkFitGeom.layerNumberConverter().convertLayerNumber(subdet, layer, false, isStereo, isPlusSide); + //dump content of deadmodules.h in standalone setup + // std::cout << "deadvectors["< Date: Fri, 18 Jun 2021 06:47:07 -0700 Subject: [PATCH 3/3] reduce number of temporary variables, per PR review suggestion --- RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc b/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc index 02a3a101b831a..ed0ef5601db74 100644 --- a/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc +++ b/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc @@ -80,12 +80,8 @@ void MkFitEventOfHitsProducer::produce(edm::StreamID iID, edm::Event& iEvent, co for (const auto& bs : badStrips) { const auto& surf = trackerGeom.idToDet(DetId(bs.detid))->surface(); const DetId detid(bs.detid); - const auto subdet = detid.subdetId(); - const auto layer = mkFitGeom.topology()->layer(detid); - const auto isStereo = mkFitGeom.topology()->isStereo(detid); bool isBarrel = (mkFitGeom.topology()->side(detid) == static_cast(TrackerDetSide::Barrel)); - bool isPlusSide = (mkFitGeom.topology()->side(detid) == static_cast(TrackerDetSide::PosEndcap)); - const auto ilay = mkFitGeom.layerNumberConverter().convertLayerNumber(subdet, layer, false, isStereo, isPlusSide); + const auto ilay = mkFitGeom.mkFitLayerNumber(detid); //dump content of deadmodules.h in standalone setup // std::cout << "deadvectors["<