From 6c2703755b2cfd2688f0bf4f9510f661f0ef6e9b Mon Sep 17 00:00:00 2001 From: Francesco Fiori Date: Mon, 30 Nov 2015 16:13:34 +0100 Subject: [PATCH 1/2] Fix of On-Track Clusters plots in HI --- .../python/SiPixelOfflineDQM_source_cff.py | 11 +++++++---- DQM/SiPixelCommon/python/SiPixelP5DQM_source_cff.py | 6 ++++-- .../interface/SiPixelHitEfficiencySource.h | 3 ++- .../interface/SiPixelTrackResidualSource.h | 2 +- .../python/SiPixelMonitorEfficiency_cfi.py | 3 ++- .../python/SiPixelMonitorTrack_cfi.py | 1 + .../src/SiPixelHitEfficiencySource.cc | 3 ++- .../src/SiPixelTrackResidualSource.cc | 13 +++++++------ 8 files changed, 26 insertions(+), 16 deletions(-) diff --git a/DQM/SiPixelCommon/python/SiPixelOfflineDQM_source_cff.py b/DQM/SiPixelCommon/python/SiPixelOfflineDQM_source_cff.py index 430877a53af73..6d222bb156be6 100644 --- a/DQM/SiPixelCommon/python/SiPixelOfflineDQM_source_cff.py +++ b/DQM/SiPixelCommon/python/SiPixelOfflineDQM_source_cff.py @@ -97,15 +97,18 @@ SiPixelHitEfficiencySource.ringOn = False #HI track modules -hiTracks = "hiGlobalPrimTracks" +hiTracks = "hiGeneralTracks" SiPixelTrackResidualSource_HeavyIons = SiPixelTrackResidualSource.clone( - TrackCandidateProducer = 'hiPrimTrackCandidates', - trajectoryInput = hiTracks + TrackCandidateProducer = hiTracks, + trajectoryInput = hiTracks, + tracksrc=hiTracks, + vtxsrc='hiSelectedVertex' ) SiPixelHitEfficiencySource_HeavyIons = SiPixelHitEfficiencySource.clone( - trajectoryInput = hiTracks + trajectoryInput = hiTracks, + vtxsrc='hiSelectedVertex' ) diff --git a/DQM/SiPixelCommon/python/SiPixelP5DQM_source_cff.py b/DQM/SiPixelCommon/python/SiPixelP5DQM_source_cff.py index 1b9c15ea0a954..4ee649abae0c4 100644 --- a/DQM/SiPixelCommon/python/SiPixelP5DQM_source_cff.py +++ b/DQM/SiPixelCommon/python/SiPixelP5DQM_source_cff.py @@ -107,11 +107,13 @@ SiPixelTrackResidualSource_HeavyIons = SiPixelTrackResidualSource.clone( TrackCandidateProducer = 'hiPrimTrackCandidates', - trajectoryInput = hiTracks + trajectoryInput = hiTracks, + vtxsrc='hiSelectedVertex' ) SiPixelHitEfficiencySource_HeavyIons = SiPixelHitEfficiencySource.clone( - trajectoryInput = hiTracks + trajectoryInput = hiTracks, + vtxsrc='hiSelectedVertex' ) #DQM service diff --git a/DQM/SiPixelMonitorTrack/interface/SiPixelHitEfficiencySource.h b/DQM/SiPixelMonitorTrack/interface/SiPixelHitEfficiencySource.h index d6d0ac27c5ec8..515fe7c4a71f1 100644 --- a/DQM/SiPixelMonitorTrack/interface/SiPixelHitEfficiencySource.h +++ b/DQM/SiPixelMonitorTrack/interface/SiPixelHitEfficiencySource.h @@ -74,7 +74,8 @@ class SiPixelHitEfficiencySource : public DQMEDAnalyzer { bool firstRun; std::map theSiPixelStructure; - + + std::string vtxsrc_; int nmissing,nvalid; int nvtx_; diff --git a/DQM/SiPixelMonitorTrack/interface/SiPixelTrackResidualSource.h b/DQM/SiPixelMonitorTrack/interface/SiPixelTrackResidualSource.h index 001a44b065f68..7b25fda5028cf 100644 --- a/DQM/SiPixelMonitorTrack/interface/SiPixelTrackResidualSource.h +++ b/DQM/SiPixelMonitorTrack/interface/SiPixelTrackResidualSource.h @@ -71,7 +71,7 @@ class SiPixelTrackResidualSource : public DQMEDAnalyzer { edm::EDGetTokenT > trackToken_; edm::EDGetTokenT trackAssociationToken_; edm::EDGetTokenT > clustersrcToken_; - + std::string vtxsrc_; bool debug_; bool modOn; diff --git a/DQM/SiPixelMonitorTrack/python/SiPixelMonitorEfficiency_cfi.py b/DQM/SiPixelMonitorTrack/python/SiPixelMonitorEfficiency_cfi.py index 4079443104014..ac56cfc6b6b23 100644 --- a/DQM/SiPixelMonitorTrack/python/SiPixelMonitorEfficiency_cfi.py +++ b/DQM/SiPixelMonitorTrack/python/SiPixelMonitorEfficiency_cfi.py @@ -13,8 +13,9 @@ bladeOn = cms.untracked.bool(True), diskOn = cms.untracked.bool(False), updateEfficiencies = cms.untracked.bool(False), + vtxsrc = cms.untracked.string('offlinePrimaryVertices'), - trajectoryInput = cms.InputTag('rsWithMaterialTracksP5'), + trajectoryInput = cms.InputTag('generalTracks'), applyEdgeCut = cms.untracked.bool(False), nSigma_EdgeCut = cms.untracked.double(2.) ) diff --git a/DQM/SiPixelMonitorTrack/python/SiPixelMonitorTrack_cfi.py b/DQM/SiPixelMonitorTrack/python/SiPixelMonitorTrack_cfi.py index 7d7e08026b9c1..d6682b94406c1 100644 --- a/DQM/SiPixelMonitorTrack/python/SiPixelMonitorTrack_cfi.py +++ b/DQM/SiPixelMonitorTrack/python/SiPixelMonitorTrack_cfi.py @@ -21,6 +21,7 @@ bladeOn = cms.untracked.bool(True), diskOn = cms.untracked.bool(True), PtMinRes = cms.untracked.double(4.0), + vtxsrc= cms.untracked.string("offlinePrimaryVertices"), trajectoryInput = cms.InputTag('generalTracks') ) diff --git a/DQM/SiPixelMonitorTrack/src/SiPixelHitEfficiencySource.cc b/DQM/SiPixelMonitorTrack/src/SiPixelHitEfficiencySource.cc index cb28b6621fb48..3e238eb8d2385 100644 --- a/DQM/SiPixelMonitorTrack/src/SiPixelHitEfficiencySource.cc +++ b/DQM/SiPixelMonitorTrack/src/SiPixelHitEfficiencySource.cc @@ -86,7 +86,8 @@ SiPixelHitEfficiencySource::SiPixelHitEfficiencySource(const edm::ParameterSet& debug_ = pSet_.getUntrackedParameter("debug", false); applyEdgeCut_ = pSet_.getUntrackedParameter("applyEdgeCut"); nSigma_EdgeCut_ = pSet_.getUntrackedParameter("nSigma_EdgeCut"); - vertexCollectionToken_ = consumes(std::string("offlinePrimaryVertices")); + vtxsrc_= pSet_.getUntrackedParameter("vtxsrc","offlinePrimaryVertices"); + vertexCollectionToken_ = consumes(vtxsrc_); tracksrc_ = consumes(pSet_.getParameter("trajectoryInput")); clusterCollectionToken_ = consumes >(std::string("siPixelClusters")); diff --git a/DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualSource.cc b/DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualSource.cc index 8b73878427b25..bd06f9502af68 100644 --- a/DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualSource.cc +++ b/DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualSource.cc @@ -84,7 +84,8 @@ SiPixelTrackResidualSource::SiPixelTrackResidualSource(const edm::ParameterSet& ttrhbuilder_ = pSet_.getParameter("TTRHBuilder"); ptminres_= pSet.getUntrackedParameter("PtMinRes",4.0) ; beamSpotToken_ = consumes(std::string("offlineBeamSpot")); - offlinePrimaryVerticesToken_ = consumes(std::string("offlinePrimaryVertices")); + vtxsrc_=pSet_.getUntrackedParameter("vtxsrc", "offlinePrimaryVertices"); + offlinePrimaryVerticesToken_ = consumes(vtxsrc_);// consumes(std::string("hiSelectedVertex")); //"offlinePrimaryVertices")); generalTracksToken_ = consumes(pSet_.getParameter("tracksrc")); tracksrcToken_ = consumes >(pSet_.getParameter("trajectoryInput")); trackToken_ = consumes >(pSet_.getParameter("trajectoryInput")); @@ -874,26 +875,26 @@ void SiPixelTrackResidualSource::analyze(const edm::Event& iEvent, const edm::Ev edm::Handle > trajCollectionHandle; //iEvent.getByLabel(tracksrc_,trajCollectionHandle); iEvent.getByToken ( tracksrcToken_, trajCollectionHandle ); - auto const & trajColl = *(trajCollectionHandle.product()); + const std::vector trajColl = *(trajCollectionHandle.product()); //get tracks edm::Handle > trackCollectionHandle; //iEvent.getByLabel(tracksrc_,trackCollectionHandle); iEvent.getByToken( trackToken_, trackCollectionHandle ); - auto const & trackColl = *(trackCollectionHandle.product()); + const std::vector trackColl = *(trackCollectionHandle.product()); //get the map edm::Handle match; //iEvent.getByLabel(tracksrc_,match); iEvent.getByToken( trackAssociationToken_, match); - auto const & ttac = *(match.product()); + const TrajTrackAssociationCollection ttac = *(match.product()); // get clusters edm::Handle< edmNew::DetSetVector > clusterColl; //iEvent.getByLabel( clustersrc_, clusterColl ); iEvent.getByToken( clustersrcToken_, clusterColl ); - auto const & clustColl = *(clusterColl.product()); + const edmNew::DetSetVector clustColl = *(clusterColl.product()); if(debug_){ std::cout << "Trajectories\t : " << trajColl.size() << std::endl; @@ -1047,7 +1048,7 @@ void SiPixelTrackResidualSource::analyze(const edm::Event& iEvent, const edm::Ev float phi = clustgp.phi(); float z = clustgp.z(); - PixelBarrelName pbn(DetId((*hit).geographicalId()), tTopo, isUpgrade); + PixelBarrelName pbn(DetId((*hit).geographicalId()), tTopo, isUpgrade); int ladder = pbn.ladderName(); int module = pbn.moduleName(); From d9792a12f48043e4497a6eb7c065325a0acd4bc3 Mon Sep 17 00:00:00 2001 From: Francesco Fiori Date: Mon, 30 Nov 2015 16:43:34 +0100 Subject: [PATCH 2/2] pix HI fix --- .../src/SiPixelTrackResidualSource.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualSource.cc b/DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualSource.cc index bd06f9502af68..be203c592a047 100644 --- a/DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualSource.cc +++ b/DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualSource.cc @@ -875,26 +875,26 @@ void SiPixelTrackResidualSource::analyze(const edm::Event& iEvent, const edm::Ev edm::Handle > trajCollectionHandle; //iEvent.getByLabel(tracksrc_,trajCollectionHandle); iEvent.getByToken ( tracksrcToken_, trajCollectionHandle ); - const std::vector trajColl = *(trajCollectionHandle.product()); + auto const & trajColl = *(trajCollectionHandle.product()); //get tracks edm::Handle > trackCollectionHandle; //iEvent.getByLabel(tracksrc_,trackCollectionHandle); iEvent.getByToken( trackToken_, trackCollectionHandle ); - - const std::vector trackColl = *(trackCollectionHandle.product()); - + auto const & trackColl = *(trackCollectionHandle.product()); + //get the map edm::Handle match; //iEvent.getByLabel(tracksrc_,match); iEvent.getByToken( trackAssociationToken_, match); - const TrajTrackAssociationCollection ttac = *(match.product()); - + auto const & ttac = *(match.product()); + // get clusters edm::Handle< edmNew::DetSetVector > clusterColl; //iEvent.getByLabel( clustersrc_, clusterColl ); iEvent.getByToken( clustersrcToken_, clusterColl ); - const edmNew::DetSetVector clustColl = *(clusterColl.product()); + auto const & clustColl = *(clusterColl.product()); + if(debug_){ std::cout << "Trajectories\t : " << trajColl.size() << std::endl;