Skip to content

Commit

Permalink
MonitorTrackResiduals: do not apply PV compatibility cut when running…
Browse files Browse the repository at this point in the history
… cosmics
  • Loading branch information
mmusich committed Oct 25, 2021
1 parent 0f0d8b8 commit 610fecf
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 5 deletions.
3 changes: 3 additions & 0 deletions DQM/SiStripMonitorClient/python/SiStripSourceConfigP5_cff.py
Expand Up @@ -94,20 +94,23 @@
#MonitorTrackResiduals_cosmicTk.Tracks = 'cosmictrackfinderP5'
#MonitorTrackResiduals_cosmicTk.trajectoryInput = 'cosmictrackfinderP5'
#MonitorTrackResiduals_cosmicTk.Mod_On = False
#MonitorTrackResiduals_cosmicTk.VertexCut = False

# Clone for CKF Tracks
#import DQM.TrackerMonitorTrack.MonitorTrackResiduals_cfi
#MonitorTrackResiduals_ckf = DQM.TrackerMonitorTrack.MonitorTrackResiduals_cfi.MonitorTrackResiduals.clone()
#MonitorTrackResiduals_ckf.Tracks = 'ctfWithMaterialTracksP5'
#MonitorTrackResiduals_ckf.trajectoryInput = 'ctfWithMaterialTracksP5'
#MonitorTrackResiduals_ckf.Mod_On = False
#MonitorTrackResiduals_ckf.VertexCut = False

# Clone for Road Search Tracks
#import DQM.TrackerMonitorTrack.MonitorTrackResiduals_cfi
#MonitorTrackResiduals_rs = DQM.TrackerMonitorTrack.MonitorTrackResiduals_cfi.MonitorTrackResiduals.clone()
#MonitorTrackResiduals_rs.Tracks = 'rsWithMaterialTracksP5'
#MonitorTrackResiduals_rs.trajectoryInput = 'rsWithMaterialTracksP5'
#MonitorTrackResiduals_rs.Mod_On = False
#MonitorTrackResiduals_rs.VertexCut = False

# Clone for General Track (for Collision data)
import DQM.TrackerMonitorTrack.MonitorTrackResiduals_cfi
Expand Down
Expand Up @@ -84,17 +84,20 @@
MonitorTrackResiduals_cosmicTk.trajectoryInput = 'cosmictrackfinderP5'
MonitorTrackResiduals_cosmicTk.Tracks = 'cosmictrackfinderP5'
MonitorTrackResiduals_cosmicTk.Mod_On = False
MonitorTrackResiduals_cosmicTk.VertexCut = False
# Clone for CKF Tracks
MonitorTrackResiduals_ckf = DQM.TrackerMonitorTrack.MonitorTrackResiduals_cfi.MonitorTrackResiduals.clone()
MonitorTrackResiduals_ckf.trajectoryInput = 'ctfWithMaterialTracksP5'
MonitorTrackResiduals_ckf.Tracks = 'ctfWithMaterialTracksP5'
MonitorTrackResiduals_ckf.Mod_On = False
MonitorTrackResiduals_ckf.VertexCut = False
# Clone for Road Search Tracks
#import DQM.TrackerMonitorTrack.MonitorTrackResiduals_cfi
#MonitorTrackResiduals_rs = DQM.TrackerMonitorTrack.MonitorTrackResiduals_cfi.MonitorTrackResiduals.clone()
#MonitorTrackResiduals_rs.trajectoryInput = 'rsWithMaterialTracksP5'
#MonitorTrackResiduals_rs.Tracks = 'rsWithMaterialTracksP5'
#MonitorTrackResiduals_rs.Mod_On = False
#MonitorTrackResiduals_rs.VertexCut = False

# DQM Services
from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
Expand Down
1 change: 1 addition & 0 deletions DQM/TrackerMonitorTrack/interface/MonitorTrackResiduals.h
Expand Up @@ -85,6 +85,7 @@ class MonitorTrackResidualsBase : public DQMEDAnalyzer {

unsigned long long m_cacheID_;
bool ModOn;
bool applyVertexCut_;

GenericTriggerEventFlag *genTriggerEventFlag_;
TrackerValidationVariables avalidator_;
Expand Down
Expand Up @@ -6,6 +6,7 @@
OutputMEsInRootFile = cms.bool(False),
# should histogramms on module level be booked and filled?
Mod_On = cms.bool(True),
VertexCut = cms.untracked.bool(True),
OutputFileName = cms.string('test_monitortracks.root'),
genericTriggerEventPSet = cms.PSet(),
# bining and range for absolute and normalized residual histogramms
Expand Down
Expand Up @@ -6,6 +6,7 @@
OutputMEsInRootFile = cms.bool(False),
# should histogramms on module level be booked and filled?
Mod_On = cms.bool(False),
VertexCut = cms.untracked.bool(True),
OutputFileName = cms.string('test_monitortracks.root'),
genericTriggerEventPSet = cms.PSet(),
# bining and range for absolute and normalized residual histogramms
Expand Down
13 changes: 8 additions & 5 deletions DQM/TrackerMonitorTrack/src/MonitorTrackResiduals.cc
Expand Up @@ -22,6 +22,7 @@ MonitorTrackResidualsBase<pixel_or_strip>::MonitorTrackResidualsBase(const edm::
genTriggerEventFlag_(new GenericTriggerEventFlag(
iConfig.getParameter<edm::ParameterSet>("genericTriggerEventPSet"), consumesCollector(), *this)),
avalidator_(iConfig, consumesCollector()) {
applyVertexCut_ = conf_.getUntrackedParameter<bool>("VertexCut", true);
ModOn = conf_.getParameter<bool>("Mod_On");
offlinePrimaryVerticesToken_ = consumes<reco::VertexCollection>(std::string("offlinePrimaryVertices"));
}
Expand Down Expand Up @@ -235,10 +236,11 @@ void MonitorTrackResidualsBase<pixel_or_strip>::analyze(const edm::Event &iEvent
return;

edm::Handle<reco::VertexCollection> vertices;
iEvent.getByToken(offlinePrimaryVerticesToken_, vertices);
if (!vertices.isValid() || vertices->empty())
return;
const auto primaryVertex = vertices->at(0);
if (applyVertexCut_) {
iEvent.getByToken(offlinePrimaryVerticesToken_, vertices);
if (!vertices.isValid() || vertices->empty())
return;
}

// Retrieve tracker topology from geometry
const TrackerTopology *const tTopo = &iSetup.getData(trackerTopologyEventToken_);
Expand All @@ -248,7 +250,8 @@ void MonitorTrackResidualsBase<pixel_or_strip>::analyze(const edm::Event &iEvent
iSetup,
// tell the validator to only look at good tracks
[&](const reco::Track &track) -> bool {
return track.pt() > 0.75 && abs(track.dxy(primaryVertex.position())) < 5 * track.dxyError();
return (!applyVertexCut_ ||
(track.pt() > 0.75 && abs(track.dxy(vertices->at(0).position())) < 5 * track.dxyError()));
},
vtracks);

Expand Down

0 comments on commit 610fecf

Please sign in to comment.