From 6dfbfb75be3a5864cdd3adb844b7ecaa6b09ba39 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Sun, 23 Oct 2022 16:24:58 +0200 Subject: [PATCH] Use token rather than label in accessing collections in Alignment/CommonAlignmentMonitor Code check --- .../plugins/AlignmentMonitorAsAnalyzer.cc | 7 +-- .../AlignmentMonitorMuonSystemMap1D.cc | 48 ++++++++++--------- .../AlignmentMonitorMuonVsCurvature.cc | 43 +++++++++-------- .../AlignmentMonitorSegmentDifferences.cc | 39 ++++++++------- .../AlignmentMonitorTracksFromTrajectories.cc | 11 +++-- .../plugins/AlignmentStats.cc | 11 ++--- .../plugins/AlignmentStats.h | 20 +++++--- .../plugins/TrackerToMuonPropagator.cc | 28 ++++++----- 8 files changed, 112 insertions(+), 95 deletions(-) diff --git a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorAsAnalyzer.cc b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorAsAnalyzer.cc index 48bf8b041dc29..c134984abf9f4 100644 --- a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorAsAnalyzer.cc +++ b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorAsAnalyzer.cc @@ -102,6 +102,7 @@ class AlignmentMonitorAsAnalyzer : public edm::one::EDAnalyzer<> { const edm::ESGetToken esTokenCSCAPE_; const edm::ESGetToken esTokenGEMAl_; const edm::ESGetToken esTokenGEMAPE_; + const edm::EDGetTokenT trajTrackToken_; bool m_firstEvent; }; @@ -134,7 +135,8 @@ AlignmentMonitorAsAnalyzer::AlignmentMonitorAsAnalyzer(const edm::ParameterSet& esTokenCSCAl_(esConsumes()), esTokenCSCAPE_(esConsumes()), esTokenGEMAl_(esConsumes()), - esTokenGEMAPE_(esConsumes()) { + esTokenGEMAPE_(esConsumes()), + trajTrackToken_(consumes(m_tjTag)) { edm::ConsumesCollector consumeCollector = consumesCollector(); std::vector monitors = iConfig.getUntrackedParameter>("monitors"); @@ -213,8 +215,7 @@ void AlignmentMonitorAsAnalyzer::analyze(const edm::Event& iEvent, const edm::Ev } // Retrieve trajectories and tracks from the event - edm::Handle trajTracksMap; - iEvent.getByLabel(m_tjTag, trajTracksMap); + const edm::Handle& trajTracksMap = iEvent.getHandle(trajTrackToken_); // Form pairs of trajectories and tracks ConstTrajTrackPairCollection trajTracks; diff --git a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorMuonSystemMap1D.cc b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorMuonSystemMap1D.cc index 76996cb3d005b..1430911f3b7e2 100644 --- a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorMuonSystemMap1D.cc +++ b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorMuonSystemMap1D.cc @@ -34,7 +34,7 @@ class AlignmentMonitorMuonSystemMap1D : public AlignmentMonitorBase { public: AlignmentMonitorMuonSystemMap1D(const edm::ParameterSet &cfg, edm::ConsumesCollector iC); - ~AlignmentMonitorMuonSystemMap1D() override {} + ~AlignmentMonitorMuonSystemMap1D() override = default; void book() override; @@ -54,23 +54,25 @@ class AlignmentMonitorMuonSystemMap1D : public AlignmentMonitorBase { const MuonResidualsFromTrack::BuilderToken m_esTokenBuilder; // parameters - edm::InputTag m_muonCollectionTag; - double m_minTrackPt; - double m_maxTrackPt; - double m_minTrackP; - double m_maxTrackP; - double m_maxDxy; - int m_minTrackerHits; - double m_maxTrackerRedChi2; - bool m_allowTIDTEC; - int m_minNCrossedChambers; - int m_minDT13Hits; - int m_minDT2Hits; - int m_minCSCHits; - bool m_doDT; - bool m_doCSC; - bool m_useStubPosition; - bool m_createNtuple; + const edm::InputTag m_muonCollectionTag; + const double m_minTrackPt; + const double m_maxTrackPt; + const double m_minTrackP; + const double m_maxTrackP; + const double m_maxDxy; + const int m_minTrackerHits; + const double m_maxTrackerRedChi2; + const bool m_allowTIDTEC; + const int m_minNCrossedChambers; + const int m_minDT13Hits; + const int m_minDT2Hits; + const int m_minCSCHits; + const bool m_doDT; + const bool m_doCSC; + const bool m_useStubPosition; + const bool m_createNtuple; + const edm::EDGetTokenT bsToken_; + const edm::EDGetTokenT muonToken_; // counter long m_counter_event; @@ -173,7 +175,9 @@ AlignmentMonitorMuonSystemMap1D::AlignmentMonitorMuonSystemMap1D(const edm::Para m_doDT(cfg.getParameter("doDT")), m_doCSC(cfg.getParameter("doCSC")), m_useStubPosition(cfg.getParameter("useStubPosition")), - m_createNtuple(cfg.getParameter("createNtuple")) { + m_createNtuple(cfg.getParameter("createNtuple")), + bsToken_(iC.consumes(m_beamSpotTag)), + muonToken_(iC.consumes(m_muonCollectionTag)) { if (m_createNtuple) { edm::Service fs; m_cscnt = fs->make("mualNtuple", "mualNtuple"); @@ -266,8 +270,7 @@ void AlignmentMonitorMuonSystemMap1D::event(const edm::Event &iEvent, const ConstTrajTrackPairCollection &trajtracks) { m_counter_event++; - edm::Handle beamSpot; - iEvent.getByLabel(m_beamSpotTag, beamSpot); + const edm::Handle &beamSpot = iEvent.getHandle(bsToken_); const GlobalTrackingGeometry *globalGeometry = &iSetup.getData(m_esTokenGBTGeom); const DetIdAssociator *muonDetIdAssociator_ = &iSetup.getData(m_esTokenDetId); @@ -296,8 +299,7 @@ void AlignmentMonitorMuonSystemMap1D::event(const edm::Event &iEvent, } // end if track has acceptable momentum } // end loop over tracks } else { - edm::Handle muons; - iEvent.getByLabel(m_muonCollectionTag, muons); + const edm::Handle &muons = iEvent.getHandle(muonToken_); for (reco::MuonCollection::const_iterator muon = muons->begin(); muon != muons->end(); ++muon) { if (!(muon->isTrackerMuon() && muon->innerTrack().isNonnull())) diff --git a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorMuonVsCurvature.cc b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorMuonVsCurvature.cc index c674bc5e7639f..4004983d9373a 100644 --- a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorMuonVsCurvature.cc +++ b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorMuonVsCurvature.cc @@ -52,21 +52,24 @@ class AlignmentMonitorMuonVsCurvature : public AlignmentMonitorBase { const MuonResidualsFromTrack::BuilderToken m_esTokenBuilder; // parameters - edm::InputTag m_muonCollectionTag; - double m_minTrackPt; - double m_minTrackP; - int m_minTrackerHits; - double m_maxTrackerRedChi2; - bool m_allowTIDTEC; - bool m_minNCrossedChambers; - double m_maxDxy; - int m_minDT13Hits; - int m_minDT2Hits; - int m_minCSCHits; - int m_layer; - std::string m_propagator; - bool m_doDT; - bool m_doCSC; + const edm::InputTag m_muonCollectionTag; + const double m_minTrackPt; + const double m_minTrackP; + const int m_minTrackerHits; + const double m_maxTrackerRedChi2; + const bool m_allowTIDTEC; + const bool m_minNCrossedChambers; + const double m_maxDxy; + const int m_minDT13Hits; + const int m_minDT2Hits; + const int m_minCSCHits; + const int m_layer; + const std::string m_propagator; + const bool m_doDT; + const bool m_doCSC; + + const edm::EDGetTokenT bsToken_; + const edm::EDGetTokenT muonToken_; enum { kDeltaX = 0, kDeltaDxDz, kNumComponents }; @@ -104,7 +107,9 @@ AlignmentMonitorMuonVsCurvature::AlignmentMonitorMuonVsCurvature(const edm::Para m_layer(cfg.getParameter("layer")), m_propagator(cfg.getParameter("propagator")), m_doDT(cfg.getParameter("doDT")), - m_doCSC(cfg.getParameter("doCSC")) {} + m_doCSC(cfg.getParameter("doCSC")), + bsToken_(iC.consumes(m_beamSpotTag)), + muonToken_(iC.consumes(m_muonCollectionTag)) {} void AlignmentMonitorMuonVsCurvature::book() { // DT @@ -196,8 +201,7 @@ void AlignmentMonitorMuonVsCurvature::book() { void AlignmentMonitorMuonVsCurvature::event(const edm::Event &iEvent, const edm::EventSetup &iSetup, const ConstTrajTrackPairCollection &trajtracks) { - edm::Handle beamSpot; - iEvent.getByLabel(m_beamSpotTag, beamSpot); + const edm::Handle &beamSpot = iEvent.getHandle(bsToken_); const GlobalTrackingGeometry *globalGeometry = &iSetup.getData(m_esTokenGBTGeom); const DetIdAssociator *muonDetIdAssociator_ = &iSetup.getData(m_esTokenDetId); @@ -219,8 +223,7 @@ void AlignmentMonitorMuonVsCurvature::event(const edm::Event &iEvent, } // end if track pT is within range } // end loop over tracks } else { - edm::Handle muons; - iEvent.getByLabel(m_muonCollectionTag, muons); + const edm::Handle &muons = iEvent.getHandle(muonToken_); for (reco::MuonCollection::const_iterator muon = muons->begin(); muon != muons->end(); ++muon) { if (!(muon->isTrackerMuon() && muon->innerTrack().isNonnull())) diff --git a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorSegmentDifferences.cc b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorSegmentDifferences.cc index 55234490d0000..f3603dda2fbdf 100644 --- a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorSegmentDifferences.cc +++ b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorSegmentDifferences.cc @@ -52,19 +52,22 @@ class AlignmentMonitorSegmentDifferences : public AlignmentMonitorBase { const MuonResidualsFromTrack::BuilderToken m_esTokenBuilder; // parameters - edm::InputTag m_muonCollectionTag; - double m_minTrackPt; - double m_minTrackP; - double m_maxDxy; - int m_minTrackerHits; - double m_maxTrackerRedChi2; - bool m_allowTIDTEC; - bool m_minNCrossedChambers; - int m_minDT13Hits; - int m_minDT2Hits; - int m_minCSCHits; - bool m_doDT; - bool m_doCSC; + const edm::InputTag m_muonCollectionTag; + const double m_minTrackPt; + const double m_minTrackP; + const double m_maxDxy; + const int m_minTrackerHits; + const double m_maxTrackerRedChi2; + const bool m_allowTIDTEC; + const bool m_minNCrossedChambers; + const int m_minDT13Hits; + const int m_minDT2Hits; + const int m_minCSCHits; + const bool m_doDT; + const bool m_doCSC; + + const edm::EDGetTokenT bsToken_; + const edm::EDGetTokenT muonToken_; // wheel, sector, stationdiff TProfile *m_dt13_resid[5][12][3]; @@ -135,7 +138,9 @@ AlignmentMonitorSegmentDifferences::AlignmentMonitorSegmentDifferences(const edm m_minDT2Hits(cfg.getParameter("minDT2Hits")), m_minCSCHits(cfg.getParameter("minCSCHits")), m_doDT(cfg.getParameter("doDT")), - m_doCSC(cfg.getParameter("doCSC")) {} + m_doCSC(cfg.getParameter("doCSC")), + bsToken_(iC.consumes(m_beamSpotTag)), + muonToken_(iC.consumes(m_muonCollectionTag)) {} void AlignmentMonitorSegmentDifferences::book() { char name[225], pos[228], neg[228]; @@ -371,8 +376,7 @@ void AlignmentMonitorSegmentDifferences::book() { void AlignmentMonitorSegmentDifferences::event(const edm::Event &iEvent, const edm::EventSetup &iSetup, const ConstTrajTrackPairCollection &trajtracks) { - edm::Handle beamSpot; - iEvent.getByLabel(m_beamSpotTag, beamSpot); + const edm::Handle &beamSpot = iEvent.getHandle(bsToken_); const GlobalTrackingGeometry *globalGeometry = &iSetup.getData(m_esTokenGBTGeom); const DetIdAssociator *muonDetIdAssociator_ = &iSetup.getData(m_esTokenDetId); @@ -394,8 +398,7 @@ void AlignmentMonitorSegmentDifferences::event(const edm::Event &iEvent, } } // end loop over tracks } else { - edm::Handle muons; - iEvent.getByLabel(m_muonCollectionTag, muons); + const edm::Handle &muons = iEvent.getHandle(muonToken_); for (reco::MuonCollection::const_iterator muon = muons->begin(); muon != muons->end(); ++muon) { if (!(muon->isTrackerMuon() && muon->innerTrack().isNonnull())) diff --git a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorTracksFromTrajectories.cc b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorTracksFromTrajectories.cc index 28593423d663a..ace0c8ea1a23e 100644 --- a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorTracksFromTrajectories.cc +++ b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorTracksFromTrajectories.cc @@ -44,8 +44,9 @@ class AlignmentMonitorTracksFromTrajectories : public AlignmentMonitorBase { private: MuonServiceProxy *theMuonServiceProxy; MuonUpdatorAtVertex *theMuonUpdatorAtVertex; - bool m_vertexConstraint; - edm::InputTag m_beamSpot; + const bool m_vertexConstraint; + const edm::InputTag m_beamSpot; + const edm::EDGetTokenT bsToken_; TH1F *m_diMuon_Z; TH1F *m_diMuon_Zforward; @@ -100,7 +101,8 @@ AlignmentMonitorTracksFromTrajectories::AlignmentMonitorTracksFromTrajectories(c edm::ConsumesCollector iC) : AlignmentMonitorBase(cfg, iC, "AlignmentMonitorTracksFromTrajectories"), m_vertexConstraint(cfg.getParameter("vertexConstraint")), - m_beamSpot(cfg.getParameter("beamSpot")) { + m_beamSpot(cfg.getParameter("beamSpot")), + bsToken_(iC.consumes(m_beamSpot)) { theMuonServiceProxy = new MuonServiceProxy(cfg.getParameter("ServiceParameters")); theMuonUpdatorAtVertex = new MuonUpdatorAtVertex(cfg.getParameter("MuonUpdatorAtVertexParameters"), theMuonServiceProxy); @@ -152,8 +154,7 @@ void AlignmentMonitorTracksFromTrajectories::event(const edm::Event &iEvent, const ConstTrajTrackPairCollection &tracks) { theMuonServiceProxy->update(iSetup); - edm::Handle beamSpot; - iEvent.getByLabel(m_beamSpot, beamSpot); + const edm::Handle &beamSpot = iEvent.getHandle(bsToken_); GlobalVector p1, p2; double e1 = 0.; diff --git a/Alignment/CommonAlignmentMonitor/plugins/AlignmentStats.cc b/Alignment/CommonAlignmentMonitor/plugins/AlignmentStats.cc index c0cd83a898698..8e185fd9d1522 100644 --- a/Alignment/CommonAlignmentMonitor/plugins/AlignmentStats.cc +++ b/Alignment/CommonAlignmentMonitor/plugins/AlignmentStats.cc @@ -15,7 +15,6 @@ #include "RecoTracker/TransientTrackingRecHit/interface/TSiPixelRecHit.h" #include "DataFormats/Alignment/interface/AlignmentClusterFlag.h" -#include "DataFormats/Alignment/interface/AliClusterValueMap.h" #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h" #include "DataFormats/TrackReco/interface/Track.h" @@ -34,7 +33,9 @@ AlignmentStats::AlignmentStats(const edm::ParameterSet &iConfig) keepHitPopulation_(iConfig.getParameter("keepHitStats")), statsTreeName_(iConfig.getParameter("TrkStatsFileName")), hitsTreeName_(iConfig.getParameter("HitStatsFileName")), - prescale_(iConfig.getParameter("TrkStatsPrescale")) { + prescale_(iConfig.getParameter("TrkStatsPrescale")), + trackToken_(consumes(src_)), + mapToken_(consumes(overlapAM_)) { //sanity checks //init @@ -87,12 +88,10 @@ void AlignmentStats::analyze(const edm::Event &iEvent, const edm::EventSetup &iS //take trajectories and tracks to loop on // edm::Handle TrackAssoMap; - edm::Handle Tracks; - iEvent.getByLabel(src_, Tracks); + const edm::Handle &Tracks = iEvent.getHandle(trackToken_); //take overlap HitAssomap - edm::Handle hMap; - iEvent.getByLabel(overlapAM_, hMap); + const edm::Handle &hMap = iEvent.getHandle(mapToken_); const AliClusterValueMap &OverlapMap = *hMap; // Initialise diff --git a/Alignment/CommonAlignmentMonitor/plugins/AlignmentStats.h b/Alignment/CommonAlignmentMonitor/plugins/AlignmentStats.h index c0741abc4ebbd..73ceb8cda1c7d 100644 --- a/Alignment/CommonAlignmentMonitor/plugins/AlignmentStats.h +++ b/Alignment/CommonAlignmentMonitor/plugins/AlignmentStats.h @@ -11,6 +11,8 @@ #include "FWCore/Utilities/interface/InputTag.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" +#include "DataFormats/TrackReco/interface/TrackFwd.h" +#include "DataFormats/Alignment/interface/AliClusterValueMap.h" // #include #include @@ -39,13 +41,17 @@ class AlignmentStats : public edm::one::EDAnalyzer<> { const edm::ESGetToken esTokenTkGeo_; //////inputs from config file - edm::InputTag src_; - edm::InputTag overlapAM_; - bool keepTrackStats_; - bool keepHitPopulation_; - std::string statsTreeName_; - std::string hitsTreeName_; - uint32_t prescale_; + const edm::InputTag src_; + const edm::InputTag overlapAM_; + const bool keepTrackStats_; + const bool keepHitPopulation_; + const std::string statsTreeName_; + const std::string hitsTreeName_; + const uint32_t prescale_; + + const edm::EDGetTokenT trackToken_; + const edm::EDGetTokenT mapToken_; + ////// uint32_t tmpPresc_; diff --git a/Alignment/CommonAlignmentMonitor/plugins/TrackerToMuonPropagator.cc b/Alignment/CommonAlignmentMonitor/plugins/TrackerToMuonPropagator.cc index 0100ad24a85a7..9faabc963da96 100644 --- a/Alignment/CommonAlignmentMonitor/plugins/TrackerToMuonPropagator.cc +++ b/Alignment/CommonAlignmentMonitor/plugins/TrackerToMuonPropagator.cc @@ -78,9 +78,12 @@ class TrackerToMuonPropagator : public edm::stream::EDProducer<> { const edm::ESGetToken m_esTokenMF; const edm::ESGetToken m_esTokenGTGeo; - edm::InputTag m_globalMuons, m_globalMuonTracks; + const edm::InputTag m_globalMuons, m_globalMuonTracks; + const bool m_refitTracker; + + const edm::EDGetTokenT muonToken_; + const edm::EDGetTokenT trackToken_; - bool m_refitTracker; TrackTransformer* m_trackTransformer; }; @@ -101,14 +104,16 @@ TrackerToMuonPropagator::TrackerToMuonPropagator(const edm::ParameterSet& iConfi m_esTokenDT(esConsumes()), m_esTokenCSC(esConsumes()), m_esTokenMF(esConsumes()), - m_esTokenGTGeo(esConsumes()) { - m_globalMuons = iConfig.getParameter("globalMuons"); - m_globalMuonTracks = iConfig.getParameter("globalMuonTracks"); - m_refitTracker = iConfig.getParameter("refitTrackerTrack"); - if (m_refitTracker) { + m_esTokenGTGeo(esConsumes()), + m_globalMuons(iConfig.getParameter("globalMuons")), + m_globalMuonTracks(iConfig.getParameter("globalMuonTracks")), + m_refitTracker(iConfig.getParameter("refitTrackerTrack")), + muonToken_(consumes(m_globalMuons)), + trackToken_(consumes(m_globalMuonTracks)) { + if (m_refitTracker) m_trackTransformer = new TrackTransformer(iConfig.getParameter("trackerTrackTransformer"), consumesCollector()); - } else + else m_trackTransformer = nullptr; produces>(); @@ -129,11 +134,8 @@ void TrackerToMuonPropagator::produce(edm::Event& iEvent, const edm::EventSetup& if (m_trackTransformer) m_trackTransformer->setServices(iSetup); - edm::Handle globalMuons; - iEvent.getByLabel(m_globalMuons, globalMuons); - - edm::Handle globalMuonTracks; - iEvent.getByLabel(m_globalMuonTracks, globalMuonTracks); + const edm::Handle& globalMuons = iEvent.getHandle(muonToken_); + const edm::Handle& globalMuonTracks = iEvent.getHandle(trackToken_); const Propagator* propagator = &iSetup.getData(m_esTokenProp); const TrackerGeometry* trackerGeometry = &iSetup.getData(m_esTokenTk);