From cf63d0ce8ed4169380e75fa2d390d2ba94307d7f Mon Sep 17 00:00:00 2001 From: Davide Bruschini Date: Wed, 11 Oct 2023 19:09:03 +0200 Subject: [PATCH] Added switch to run on RECO (StandaloneTrackMonitor loops over recHits, not available in AOD) --- .../plugins/StandaloneTrackMonitor.cc | 46 +++++++++++-------- .../python/StandaloneTrackMonitor_cfi.py | 1 + 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/DQM/TrackingMonitorSource/plugins/StandaloneTrackMonitor.cc b/DQM/TrackingMonitorSource/plugins/StandaloneTrackMonitor.cc index 6fc6b2d98621d..c390913a7471b 100644 --- a/DQM/TrackingMonitorSource/plugins/StandaloneTrackMonitor.cc +++ b/DQM/TrackingMonitorSource/plugins/StandaloneTrackMonitor.cc @@ -76,6 +76,8 @@ class StandaloneTrackMonitor : public DQMEDAnalyzer { const std::string moduleName_; const std::string folderName_; + const bool isRECO_; + SiStripClusterInfo siStripClusterInfo_; const edm::InputTag trackTag_; @@ -370,6 +372,7 @@ void StandaloneTrackMonitor::fillDescriptions(edm::ConfigurationDescriptions& de edm::ParameterSetDescription desc; desc.addUntracked("moduleName", "StandaloneTrackMonitor"); desc.addUntracked("folderName", "highPurityTracks"); + desc.addUntracked("isRECO", false); desc.addUntracked("trackInputTag", edm::InputTag("generalTracks")); desc.addUntracked("offlineBeamSpot", edm::InputTag("offlineBeamSpot")); desc.addUntracked("vertexTag", edm::InputTag("offlinePrimaryVertices")); @@ -424,6 +427,7 @@ void StandaloneTrackMonitor::fillDescriptions(edm::ConfigurationDescriptions& de StandaloneTrackMonitor::StandaloneTrackMonitor(const edm::ParameterSet& ps) : moduleName_(ps.getUntrackedParameter("moduleName", "StandaloneTrackMonitor")), folderName_(ps.getUntrackedParameter("folderName", "highPurityTracks")), + isRECO_(ps.getUntrackedParameter("isRECO", false)), siStripClusterInfo_(consumesCollector()), trackTag_(ps.getUntrackedParameter("trackInputTag", edm::InputTag("generalTracks"))), bsTag_(ps.getUntrackedParameter("offlineBeamSpot", edm::InputTag("offlineBeamSpot"))), @@ -1674,26 +1678,28 @@ void StandaloneTrackMonitor::analyze(edm::Event const& iEvent, edm::EventSetup c vertexZposH_->Fill(vz, wfac); int nPixBarrel = 0, nPixEndcap = 0, nStripTIB = 0, nStripTOB = 0, nStripTEC = 0, nStripTID = 0; - for (auto it = track.recHitsBegin(); it != track.recHitsEnd(); ++it) { - const TrackingRecHit& hit = (**it); - if (hit.isValid()) { - if (hit.geographicalId().det() == DetId::Tracker) { - int subdetId = hit.geographicalId().subdetId(); - if (subdetId == PixelSubdetector::PixelBarrel) - ++nPixBarrel; - else if (subdetId == PixelSubdetector::PixelEndcap) - ++nPixEndcap; - else if (subdetId == StripSubdetector::TIB) - ++nStripTIB; - else if (subdetId == StripSubdetector::TOB) - ++nStripTOB; - else if (subdetId == StripSubdetector::TEC) - ++nStripTEC; - else if (subdetId == StripSubdetector::TID) - ++nStripTID; - - // Find on-track clusters - processHit(hit, iSetup, tkGeom, wfac); + if (isRECO_) { + for (auto it = track.recHitsBegin(); it != track.recHitsEnd(); ++it) { + const TrackingRecHit& hit = (**it); + if (hit.isValid()) { + if (hit.geographicalId().det() == DetId::Tracker) { + int subdetId = hit.geographicalId().subdetId(); + if (subdetId == PixelSubdetector::PixelBarrel) + ++nPixBarrel; + else if (subdetId == PixelSubdetector::PixelEndcap) + ++nPixEndcap; + else if (subdetId == StripSubdetector::TIB) + ++nStripTIB; + else if (subdetId == StripSubdetector::TOB) + ++nStripTOB; + else if (subdetId == StripSubdetector::TEC) + ++nStripTEC; + else if (subdetId == StripSubdetector::TID) + ++nStripTID; + + // Find on-track clusters + processHit(hit, iSetup, tkGeom, wfac); + } } } } diff --git a/DQM/TrackingMonitorSource/python/StandaloneTrackMonitor_cfi.py b/DQM/TrackingMonitorSource/python/StandaloneTrackMonitor_cfi.py index 35d1d95079af1..296368efa3b77 100644 --- a/DQM/TrackingMonitorSource/python/StandaloneTrackMonitor_cfi.py +++ b/DQM/TrackingMonitorSource/python/StandaloneTrackMonitor_cfi.py @@ -5,6 +5,7 @@ standaloneTrackMonitor = standaloneTrackMonitorDefault.clone( moduleName = "StandaloneTrackMonitor", folderName = "highPurityTracks", + isRECO = False, vertexTag = "selectedPrimaryVertices", # "offlinePrimaryVertices", puTag = "addPileupInfo", clusterTag = "siStripClusters",