diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlBeamHalo_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlBeamHalo_Output_cff.py index c6af9a94d0495..5adb4aa39d078 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlBeamHalo_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlBeamHalo_Output_cff.py @@ -6,13 +6,36 @@ SelectEvents = cms.vstring('pathALCARECOTkAlBeamHalo') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlBeamHalo_*_*', + 'keep recoTracks_ALCARECOTkAlBeamHalo_*_*', + 'keep recoTrackExtras_ALCARECOTkAlBeamHalo_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlBeamHalo_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlBeamHalo_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlBeamHalo_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', 'keep DcsStatuss_scalersRawToDigi_*_*') ) +# in Run3, SCAL digis replaced by onlineMetaDataDigis import copy +_run3_common_removedCommands = OutALCARECOTkAlBeamHalo_noDrop.outputCommands.copy() +_run3_common_removedCommands.remove('keep DcsStatuss_scalersRawToDigi_*_*') + +_run3_common_extraCommands = ['keep DCSRecord_onlineMetaDataDigis_*_*', + 'keep OnlineLuminosityRecord_onlineMetaDataDigis_*_*'] + +from Configuration.Eras.Modifier_run3_common_cff import run3_common +run3_common.toModify(OutALCARECOTkAlBeamHalo_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) + +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlBeamHalo_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlBeamHalo_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlBeamHalo_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlBeamHalo_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlBeamHalo = copy.deepcopy(OutALCARECOTkAlBeamHalo_noDrop) OutALCARECOTkAlBeamHalo.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlDiMuonAndVertex_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlDiMuonAndVertex_Output_cff.py index db49091c2667f..95f6611592d29 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlDiMuonAndVertex_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlDiMuonAndVertex_Output_cff.py @@ -6,13 +6,33 @@ SelectEvents = cms.vstring('pathALCARECOTkAlDiMuonAndVertex') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlDiMuon_*_*', - 'keep *_ALCARECOTkAlDiMuonVertexTracks_*_*', + 'keep recoTracks_ALCARECOTkAlDiMuon_*_*', + 'keep recoTrackExtras_ALCARECOTkAlDiMuon_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlDiMuon_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlDiMuon_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlDiMuon_*_*', + 'keep recoTracks_ALCARECOTkAlDiMuonVertexTracks_*_*', + 'keep recoTrackExtras_ALCARECOTkAlDiMuonVertexTracks_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlDiMuonVertexTracks_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlDiMuonVertexTracks_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlDiMuonVertexTracks_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', 'keep DcsStatuss_scalersRawToDigi_*_*', 'keep *_offlinePrimaryVertices_*_*') ) + +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlDiMuonAndVertex_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlDiMuon_*_*') +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlDiMuonVertexTracks_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlDiMuon_*_*', + 'keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlDiMuonVertexTracks_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlDiMuonAndVertex_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlDiMuonAndVertex = OutALCARECOTkAlDiMuonAndVertex_noDrop.clone() OutALCARECOTkAlDiMuonAndVertex.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJetHT_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJetHT_Output_cff.py index 86c6f9cc81c26..48b462ebc5b02 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJetHT_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJetHT_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlJetHT') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlJetHT_*_*', + 'keep recoTracks_ALCARECOTkAlJetHT_*_*', + 'keep recoTrackExtras_ALCARECOTkAlJetHT_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlJetHT_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlJetHT_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlJetHT_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -26,5 +30,15 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlJetHT_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlJetHT_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlJetHT_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlJetHT_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlJetHT_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + + OutALCARECOTkAlJetHT = OutALCARECOTkAlJetHT_noDrop.clone() OutALCARECOTkAlJetHT.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJpsiMuMuHI_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJpsiMuMuHI_Output_cff.py index decf74539cb38..8fdb2d0bea7e0 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJpsiMuMuHI_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJpsiMuMuHI_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlJpsiMuMuHI') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlJpsiMuMuHI_*_*', + 'keep recoTracks_ALCARECOTkAlJpsiMuMuHI_*_*', + 'keep recoTrackExtras_ALCARECOTkAlJpsiMuMuHI_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlJpsiMuMuHI_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlJpsiMuMuHI_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlJpsiMuMuHI_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -24,5 +28,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlJpsiMuMuHI_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlJpsiMuMuHI_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlJpsiMuMuHI_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlJpsiMuMuHI_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlJpsiMuMuHI_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlJpsiMuMuHI = OutALCARECOTkAlJpsiMuMuHI_noDrop.clone() OutALCARECOTkAlJpsiMuMuHI.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJpsiMuMu_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJpsiMuMu_Output_cff.py index 2b16eaaf1a424..09895fb06e46b 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJpsiMuMu_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlJpsiMuMu_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlJpsiMuMu') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlJpsiMuMu_*_*', + 'keep recoTracks_ALCARECOTkAlJpsiMuMu_*_*', + 'keep recoTrackExtras_ALCARECOTkAlJpsiMuMu_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlJpsiMuMu_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlJpsiMuMu_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlJpsiMuMu_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -24,5 +28,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlJpsiMuMu_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlJpsiMuMu_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlJpsiMuMu_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlJpsiMuMu_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlJpsiMuMu_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlJpsiMuMu = OutALCARECOTkAlJpsiMuMu_noDrop.clone() OutALCARECOTkAlJpsiMuMu.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMinBiasHI_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMinBiasHI_Output_cff.py index fc95c1fb49e8f..8c606b2ecb2df 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMinBiasHI_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMinBiasHI_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlMinBiasHI') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlMinBiasHI_*_*', + 'keep recoTracks_ALCARECOTkAlMinBiasHI_*_*', + 'keep recoTrackExtras_ALCARECOTkAlMinBiasHI_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlMinBiasHI_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlMinBiasHI_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMinBiasHI_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -25,5 +29,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlMinBiasHI_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlMinBiasHI_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMinBiasHI_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlMinBiasHI_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlMinBiasHI_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlMinBiasHI = copy.deepcopy(OutALCARECOTkAlMinBiasHI_noDrop) OutALCARECOTkAlMinBiasHI.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMinBias_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMinBias_Output_cff.py index 9031a6e008248..4ba13e4615575 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMinBias_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMinBias_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlMinBias') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlMinBias_*_*', + 'keep recoTracks_ALCARECOTkAlMinBias_*_*', + 'keep recoTrackExtras_ALCARECOTkAlMinBias_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlMinBias_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlMinBias_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMinBias_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -26,5 +30,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlMinBias_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlMinBias_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMinBias_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlMinBias_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlMinBias_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlMinBias = OutALCARECOTkAlMinBias_noDrop.clone() OutALCARECOTkAlMinBias.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolatedHI_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolatedHI_Output_cff.py index 19ab36a222fa4..bdede16cb3e1e 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolatedHI_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolatedHI_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlMuonIsolatedHI') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlMuonIsolatedHI_*_*', + 'keep recoTracks_ALCARECOTkAlMuonIsolatedHI_*_*', + 'keep recoTrackExtras_ALCARECOTkAlMuonIsolatedHI_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlMuonIsolatedHI_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlMuonIsolatedHI_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMuonIsolatedHI_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -24,5 +28,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlMuonIsolatedHI_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlMuonIsolatedHI_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMuonIsolatedHI_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlMuonIsolatedHI_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlMuonIsolatedHI_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlMuonIsolatedHI = OutALCARECOTkAlMuonIsolatedHI_noDrop.clone() OutALCARECOTkAlMuonIsolatedHI.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolatedPA_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolatedPA_Output_cff.py index 586c3c4534f90..6fd6675ceac76 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolatedPA_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolatedPA_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlMuonIsolatedPA') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlMuonIsolatedPA_*_*', + 'keep recoTracks_ALCARECOTkAlMuonIsolatedPA_*_*', + 'keep recoTrackExtras_ALCARECOTkAlMuonIsolatedPA_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlMuonIsolatedPA_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlMuonIsolatedPA_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMuonIsolatedPA_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -15,5 +19,23 @@ ) import copy +_run3_common_removedCommands = OutALCARECOTkAlMuonIsolatedPA_noDrop.outputCommands.copy() +_run3_common_removedCommands.remove('keep DcsStatuss_scalersRawToDigi_*_*') + +_run3_common_extraCommands = ['keep DCSRecord_onlineMetaDataDigis_*_*', + 'keep OnlineLuminosityRecord_onlineMetaDataDigis_*_*'] + +from Configuration.Eras.Modifier_run3_common_cff import run3_common +run3_common.toModify(OutALCARECOTkAlMuonIsolatedPA_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) + +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlMuonIsolatedPA_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMuonIsolatedPA_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlMuonIsolatedPA_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlMuonIsolatedPA_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlMuonIsolatedPA = copy.deepcopy(OutALCARECOTkAlMuonIsolatedPA_noDrop) OutALCARECOTkAlMuonIsolatedPA.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolated_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolated_Output_cff.py index c83697462e092..ca5958791f173 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolated_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlMuonIsolated_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlMuonIsolated') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlMuonIsolated_*_*', + 'keep recoTracks_ALCARECOTkAlMuonIsolated_*_*', + 'keep recoTrackExtras_ALCARECOTkAlMuonIsolated_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlMuonIsolated_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlMuonIsolated_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMuonIsolated_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -24,5 +28,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlMuonIsolated_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlMuonIsolated_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlMuonIsolated_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlMuonIsolated_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlMuonIsolated_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlMuonIsolated = OutALCARECOTkAlMuonIsolated_noDrop.clone() OutALCARECOTkAlMuonIsolated.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMuHI_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMuHI_Output_cff.py index 7681f2bba74cc..0a58b4400dc8c 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMuHI_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMuHI_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlUpsilonMuMuHI') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlUpsilonMuMuHI_*_*', + 'keep recoTracks_ALCARECOTkAlUpsilonMuMuHI_*_*', + 'keep recoTrackExtras_ALCARECOTkAlUpsilonMuMuHI_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlUpsilonMuMuHI_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlUpsilonMuMuHI_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlUpsilonMuMuHI_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -24,5 +28,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlUpsilonMuMuHI_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlUpsilonMuMuHI_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlUpsilonMuMuHI_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlUpsilonMuMuHI_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlUpsilonMuMuHI_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlUpsilonMuMuHI = OutALCARECOTkAlUpsilonMuMuHI_noDrop.clone() OutALCARECOTkAlUpsilonMuMuHI.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMuPA_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMuPA_Output_cff.py index e20048bfe0779..58670ce14aacc 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMuPA_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMuPA_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlUpsilonMuMuPA') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlUpsilonMuMuPA_*_*', + 'keep recoTracks_ALCARECOTkAlUpsilonMuMuPA_*_*', + 'keep recoTrackExtras_ALCARECOTkAlUpsilonMuMuPA_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlUpsilonMuMuPA_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlUpsilonMuMuPA_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlUpsilonMuMuPA_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -14,6 +18,25 @@ 'keep *_offlinePrimaryVertices_*_*') ) +# in Run3, SCAL digis replaced by onlineMetaDataDigis import copy +_run3_common_removedCommands = OutALCARECOTkAlUpsilonMuMuPA_noDrop.outputCommands.copy() +_run3_common_removedCommands.remove('keep DcsStatuss_scalersRawToDigi_*_*') + +_run3_common_extraCommands = ['keep DCSRecord_onlineMetaDataDigis_*_*', + 'keep OnlineLuminosityRecord_onlineMetaDataDigis_*_*'] + +from Configuration.Eras.Modifier_run3_common_cff import run3_common +run3_common.toModify(OutALCARECOTkAlUpsilonMuMuPA_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) + +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlUpsilonMuMuPA_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlUpsilonMuMuPA_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlUpsilonMuMuPA_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlUpsilonMuMuPA_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlUpsilonMuMuPA = copy.deepcopy(OutALCARECOTkAlUpsilonMuMuPA_noDrop) OutALCARECOTkAlUpsilonMuMuPA.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMu_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMu_Output_cff.py index 1b1c94408c7f6..10bc7b291015a 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMu_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlUpsilonMuMu_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlUpsilonMuMu') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlUpsilonMuMu_*_*', + 'keep recoTracks_ALCARECOTkAlUpsilonMuMu_*_*', + 'keep recoTrackExtras_ALCARECOTkAlUpsilonMuMu_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlUpsilonMuMu_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlUpsilonMuMu_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlUpsilonMuMu_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -24,5 +28,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlUpsilonMuMu_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlUpsilonMuMu_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlUpsilonMuMu_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlUpsilonMuMu_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlUpsilonMuMu_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlUpsilonMuMu = OutALCARECOTkAlUpsilonMuMu_noDrop.clone() OutALCARECOTkAlUpsilonMuMu.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlWMuNu_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlWMuNu_Output_cff.py index 69bac8545bbcd..921237dfd3de4 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlWMuNu_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlWMuNu_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlWMuNu') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlWMuNu_*_*', + 'keep recoTracks_ALCARECOTkAlWMuNu_*_*', + 'keep recoTrackExtras_ALCARECOTkAlWMuNu_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlWMuNu_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlWMuNu_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlWMuNu_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -14,6 +18,26 @@ 'keep *_offlinePrimaryVertices_*_*') ) +# in Run3, SCAL digis replaced by onlineMetaDataDigis import copy -OutALCARECOTkAlWMuNu = copy.deepcopy(OutALCARECOTkAlWMuNu_noDrop) +_run3_common_removedCommands = OutALCARECOTkAlWMuNu_noDrop.outputCommands.copy() +_run3_common_removedCommands.remove('keep DcsStatuss_scalersRawToDigi_*_*') + +_run3_common_extraCommands = ['keep DCSRecord_onlineMetaDataDigis_*_*', + 'keep OnlineLuminosityRecord_onlineMetaDataDigis_*_*'] + +from Configuration.Eras.Modifier_run3_common_cff import run3_common +run3_common.toModify(OutALCARECOTkAlWMuNu_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) + +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlWMuNu_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlWMuNu_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlWMuNu_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlWMuNu_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + +OutALCARECOTkAlWMuNu = OutALCARECOTkAlWMuNu_noDrop.clone() OutALCARECOTkAlWMuNu.outputCommands.insert(0, "drop *") + diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMuHI_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMuHI_Output_cff.py index f43faff154f62..f4742411b89db 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMuHI_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMuHI_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlZMuMuHI') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlZMuMuHI_*_*', + 'keep recoTracks_ALCARECOTkAlZMuMuHI_*_*', + 'keep recoTrackExtras_ALCARECOTkAlZMuMuHI_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlZMuMuHI_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlZMuMuHI_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlZMuMuHI_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -24,5 +28,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlZMuMuHI_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlZMuMuHI_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlZMuMuHI_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlZMuMuHI_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlZMuMuHI_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlZMuMuHI = OutALCARECOTkAlZMuMuHI_noDrop.clone() OutALCARECOTkAlZMuMuHI.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMuPA_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMuPA_Output_cff.py index 8daf5938acaaf..94d323c65d00f 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMuPA_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMuPA_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlZMuMuPA') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlZMuMuPA_*_*', + 'keep recoTracks_ALCARECOTkAlZMuMuPA_*_*', + 'keep recoTrackExtras_ALCARECOTkAlZMuMuPA_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlZMuMuPA_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlZMuMuPA_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlZMuMuPA_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -14,6 +18,25 @@ 'keep *_offlinePrimaryVertices_*_*') ) +# in Run3, SCAL digis replaced by onlineMetaDataDigis import copy +_run3_common_removedCommands = OutALCARECOTkAlZMuMuPA_noDrop.outputCommands.copy() +_run3_common_removedCommands.remove('keep DcsStatuss_scalersRawToDigi_*_*') + +_run3_common_extraCommands = ['keep DCSRecord_onlineMetaDataDigis_*_*', + 'keep OnlineLuminosityRecord_onlineMetaDataDigis_*_*'] + +from Configuration.Eras.Modifier_run3_common_cff import run3_common +run3_common.toModify(OutALCARECOTkAlZMuMuPA_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) + +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlZMuMuPA_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlZMuMuPA_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlZMuMuPA_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlZMuMuPA_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlZMuMuPA = copy.deepcopy(OutALCARECOTkAlZMuMuPA_noDrop) OutALCARECOTkAlZMuMuPA.outputCommands.insert(0, "drop *") diff --git a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMu_Output_cff.py b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMu_Output_cff.py index 0c3928776ccc1..9f85e8b1f368a 100644 --- a/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMu_Output_cff.py +++ b/Alignment/CommonAlignmentProducer/python/ALCARECOTkAlZMuMu_Output_cff.py @@ -6,7 +6,11 @@ SelectEvents = cms.vstring('pathALCARECOTkAlZMuMu') ), outputCommands = cms.untracked.vstring( - 'keep *_ALCARECOTkAlZMuMu_*_*', + 'keep recoTracks_ALCARECOTkAlZMuMu_*_*', + 'keep recoTrackExtras_ALCARECOTkAlZMuMu_*_*', + 'keep TrackingRecHitsOwned_ALCARECOTkAlZMuMu_*_*', + 'keep SiPixelClusteredmNewDetSetVector_ALCARECOTkAlZMuMu_*_*', + 'keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlZMuMu_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', @@ -24,5 +28,14 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlZMuMu_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) +# in Phase2, remove the SiStrip clusters and keep the OT ones instead +_phase2_common_removedCommands = OutALCARECOTkAlZMuMu_noDrop.outputCommands.copy() +_phase2_common_removedCommands.remove('keep SiStripClusteredmNewDetSetVector_ALCARECOTkAlZMuMu_*_*') + +_phase2_common_extraCommands = ['keep Phase2TrackerCluster1DedmNewDetSetVector_ALCARECOTkAlZMuMu_*_*'] + +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +phase2_common.toModify(OutALCARECOTkAlZMuMu_noDrop, outputCommands = _phase2_common_removedCommands + _phase2_common_extraCommands ) + OutALCARECOTkAlZMuMu = OutALCARECOTkAlZMuMu_noDrop.clone() OutALCARECOTkAlZMuMu.outputCommands.insert(0, "drop *") diff --git a/CommonTools/RecoAlgos/BuildFile.xml b/CommonTools/RecoAlgos/BuildFile.xml index 736edd2d2c27e..a6c0862d7e5a3 100644 --- a/CommonTools/RecoAlgos/BuildFile.xml +++ b/CommonTools/RecoAlgos/BuildFile.xml @@ -6,6 +6,7 @@ + diff --git a/CommonTools/RecoAlgos/interface/ClusterStorer.h b/CommonTools/RecoAlgos/interface/ClusterStorer.h index 6b31dde114262..6066bbb1c4e1a 100644 --- a/CommonTools/RecoAlgos/interface/ClusterStorer.h +++ b/CommonTools/RecoAlgos/interface/ClusterStorer.h @@ -20,6 +20,7 @@ #include "DataFormats/TrackerRecHit2D/interface/Phase2TrackerRecHit1D.h" #include "DataFormats/SiStripCluster/interface/SiStripCluster.h" #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h" +#include "DataFormats/Phase2TrackerCluster/interface/Phase2TrackerCluster1D.h" #include "DataFormats/Common/interface/DetSetVectorNew.h" namespace helper { @@ -39,7 +40,9 @@ namespace helper { void processAllClusters(edmNew::DetSetVector &pixelDsvToFill, edm::RefProd > refPixelClusters, edmNew::DetSetVector &stripDsvToFill, - edm::RefProd > refStripClusters); + edm::RefProd > refStripClusters, + edmNew::DetSetVector &phase2OTDsvToFill, + edm::RefProd > refPhase2OTClusters); private: /// A struct for clusters associated to hits @@ -62,7 +65,7 @@ namespace helper { /// Set the reference of the hit of this record to 'newRef', /// will not modify the ref stored in this object. template - void rekey(const ClusterRefType &newRef) const; + void rekey(const ClusterRefType &newRef); private: ClusterHitRecord() {} /// private => unusable @@ -77,7 +80,7 @@ namespace helper { typedef ClusterHitRecord StripClusterHitRecord; //FIXME:: this is just temporary solution for phase2, //probably is good to add a Phase2ClusterStorer? - typedef ClusterHitRecord Phase2OTClusterHitRecord; + typedef ClusterHitRecord Phase2OTClusterHitRecord; //------------------------------------------------------------------ //! Processes all the clusters of a specific type diff --git a/CommonTools/RecoAlgos/interface/MuonSelector.h b/CommonTools/RecoAlgos/interface/MuonSelector.h index e508db3448024..bf5c7ff1ffa8d 100644 --- a/CommonTools/RecoAlgos/interface/MuonSelector.h +++ b/CommonTools/RecoAlgos/interface/MuonSelector.h @@ -22,6 +22,7 @@ #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h" #include "DataFormats/SiStripCluster/interface/SiStripCluster.h" #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h" +#include "DataFormats/Phase2TrackerCluster/interface/Phase2TrackerCluster1D.h" #include "DataFormats/Common/interface/DetSetVectorNew.h" #include "CommonTools/RecoAlgos/interface/ClusterStorer.h" #include "CommonTools/UtilAlgos/interface/ObjectSelector.h" @@ -74,6 +75,7 @@ namespace helper { std::unique_ptr selStandAloneTracksHits_; std::unique_ptr> selStripClusters_; std::unique_ptr> selPixelClusters_; + std::unique_ptr> selPhase2OTClusters_; reco::MuonRefProd rMuons_; reco::TrackRefProd rTracks_; @@ -128,6 +130,9 @@ namespace helper { edm::RefProd> rPixelClusters = evt.template getRefBeforePut>(); + edm::RefProd> rPhase2OTClusters = + evt.template getRefBeforePut>(); + id_ = 0; igbd_ = 0; isad_ = 0; @@ -145,7 +150,12 @@ namespace helper { processMuon(mu); } //--- Clone the clusters and fixup refs - clusterStorer_.processAllClusters(*selPixelClusters_, rPixelClusters, *selStripClusters_, rStripClusters); + clusterStorer_.processAllClusters(*selPixelClusters_, + rPixelClusters, + *selStripClusters_, + rStripClusters, + *selPhase2OTClusters_, + rPhase2OTClusters); } //---------------------------------------------------------------------- @@ -161,6 +171,7 @@ namespace helper { //--- New: save clusters too produces>().setBranchAlias(alias + "PixelClusters"); produces>().setBranchAlias(alias + "StripClusters"); + produces>().setBranchAlias(alias + "Phase2OTClusters"); produces("GlobalMuon").setBranchAlias(alias + "GlobalMuonTracks"); produces("GlobalMuon").setBranchAlias(alias + "GlobalMuonExtras"); produces("GlobalMuon").setBranchAlias(alias + "GlobalMuonHits"); diff --git a/CommonTools/RecoAlgos/interface/TrackSelector.h b/CommonTools/RecoAlgos/interface/TrackSelector.h index 322100a67c6de..d70b9870e5d3c 100644 --- a/CommonTools/RecoAlgos/interface/TrackSelector.h +++ b/CommonTools/RecoAlgos/interface/TrackSelector.h @@ -22,6 +22,7 @@ #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h" #include "DataFormats/SiStripCluster/interface/SiStripCluster.h" #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h" +#include "DataFormats/Phase2TrackerCluster/interface/Phase2TrackerCluster1D.h" #include "DataFormats/Common/interface/DetSetVectorNew.h" #include "CommonTools/RecoAlgos/interface/ClusterStorer.h" #include "CommonTools/UtilAlgos/interface/ObjectSelector.h" @@ -71,6 +72,7 @@ namespace helper { std::unique_ptr selHits_; std::unique_ptr > selStripClusters_; std::unique_ptr > selPixelClusters_; + std::unique_ptr > selPhase2OTClusters_; //--- References to products (i.e. to collections): reco::TrackRefProd rTracks_; @@ -107,6 +109,8 @@ namespace helper { evt.template getRefBeforePut >(); edm::RefProd > rStripClusters = evt.template getRefBeforePut >(); + edm::RefProd > rPhase2OTClusters = + evt.template getRefBeforePut >(); //--- Indices into collections handled with RefProd idx_ = 0; //!< index to track extra coll @@ -121,7 +125,12 @@ namespace helper { processTrack(trk); } //--- Clone the clusters and fixup refs - clusterStorer_.processAllClusters(*selPixelClusters_, rPixelClusters, *selStripClusters_, rStripClusters); + clusterStorer_.processAllClusters(*selPixelClusters_, + rPixelClusters, + *selStripClusters_, + rStripClusters, + *selPhase2OTClusters_, + rPhase2OTClusters); } //---------------------------------------------------------------------- @@ -135,6 +144,7 @@ namespace helper { //--- New: save clusters too produces >().setBranchAlias(alias + "PixelClusters"); produces >().setBranchAlias(alias + "StripClusters"); + produces >().setBranchAlias(alias + "Phase2OTClusters"); } }; // (end of class TrackSelectorBase) diff --git a/CommonTools/RecoAlgos/src/ClusterStorer.cc b/CommonTools/RecoAlgos/src/ClusterStorer.cc index e939ed8587b62..24db306e50b0f 100644 --- a/CommonTools/RecoAlgos/src/ClusterStorer.cc +++ b/CommonTools/RecoAlgos/src/ClusterStorer.cc @@ -71,13 +71,17 @@ namespace helper { void ClusterStorer::clear() { pixelClusterRecords_.clear(); stripClusterRecords_.clear(); + phase2OTClusterRecords_.clear(); } // ------------------------------------------------------------- - void ClusterStorer::processAllClusters(edmNew::DetSetVector &pixelDsvToFill, - edm::RefProd > refPixelClusters, - edmNew::DetSetVector &stripDsvToFill, - edm::RefProd > refStripClusters) { + void ClusterStorer::processAllClusters( + edmNew::DetSetVector &pixelDsvToFill, + edm::RefProd > refPixelClusters, + edmNew::DetSetVector &stripDsvToFill, + edm::RefProd > refStripClusters, + edmNew::DetSetVector &phase2OTDsvToFill, + edm::RefProd > refPhase2OTClusters) { if (!pixelClusterRecords_.empty()) { this->processClusters(pixelClusterRecords_, pixelDsvToFill, refPixelClusters); } @@ -89,6 +93,10 @@ namespace helper { // is specialised such that 'RecHitType' is not used... this->processClusters(stripClusterRecords_, stripDsvToFill, refStripClusters); } + if (!phase2OTClusterRecords_.empty()) { + this->processClusters( + phase2OTClusterRecords_, phase2OTDsvToFill, refPhase2OTClusters); + } } //------------------------------------------------------------- @@ -97,7 +105,7 @@ namespace helper { edmNew::DetSetVector &dsvToFill, edm::RefProd > &refprod) { std::sort(clusterRecords.begin(), clusterRecords.end()); // this sorts them by detid - typedef typename std::vector >::const_iterator RIT; + typedef typename std::vector >::iterator RIT; RIT it = clusterRecords.begin(), end = clusterRecords.end(); size_t clusters = 0; while (it != end) { @@ -135,7 +143,7 @@ namespace helper { // generic rekey (in practise for pixel only...) template // template for class template // template for member function - void ClusterStorer::ClusterHitRecord::rekey(const ClusterRefType &newRef) const { + void ClusterStorer::ClusterHitRecord::rekey(const ClusterRefType &newRef) { TrackingRecHit &genericHit = (*hits_)[index_]; RecHitType *hit = nullptr; if (genericHit.geographicalId().rawId() == detid_) { // a hit on this det, so it's simple @@ -151,9 +159,7 @@ namespace helper { // RecHitType is not used. template <> template // or template<> to specialise also here? - void ClusterStorer::ClusterHitRecord:: - // rekey(const SiStripRecHit2D::ClusterRef &newRef) const - rekey(const SiStripRecHit2D::ClusterRef &newRef) const { + void ClusterStorer::ClusterHitRecord::rekey(const SiStripRecHit2D::ClusterRef &newRef) { TrackingRecHit &genericHit = (*hits_)[index_]; const std::type_info &hit_type = typeid(genericHit); @@ -174,4 +180,28 @@ namespace helper { (*cluRef) = OmniClusterRef(newRef); } + // ------------------------------------------------------------- + // Specific rekey for class template ClusterRefType = VectorHit::ClusterRef, + // RecHitType is not used. + template <> + template // or template<> to specialise also here? + void ClusterStorer::ClusterHitRecord::rekey(const VectorHit::ClusterRef &newRef) { + TrackingRecHit &genericHit = (*hits_)[index_]; + const std::type_info &hit_type = typeid(genericHit); + + OmniClusterRef *cluRef = nullptr; + if (typeid(VectorHit) == hit_type) { + VectorHit &vHit = static_cast(genericHit); + // FIXME: this essentially uses a hack + // https://github.com/cms-sw/cmssw/blob/master/DataFormats/TrackerCommon/interface/TrackerTopology.h#L291 + cluRef = (SiStripDetId(detid_).stereo() ? &vHit.upperClusterRef() : &vHit.lowerClusterRef()); + } else { + return; + } + + assert(cluRef != nullptr); // to catch missing RecHit types + assert(cluRef->key() == ref_.key()); // otherwise something went wrong + (*cluRef) = OmniClusterRef(newRef); + } + } // namespace helper diff --git a/CommonTools/RecoAlgos/src/MuonSelector.cc b/CommonTools/RecoAlgos/src/MuonSelector.cc index 0b7d84646d158..d2af24a89aaa3 100644 --- a/CommonTools/RecoAlgos/src/MuonSelector.cc +++ b/CommonTools/RecoAlgos/src/MuonSelector.cc @@ -5,8 +5,7 @@ #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h" #include "DataFormats/TrackerRecHit2D/interface/ProjectedSiStripRecHit2D.h" #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h" - -#include +#include "DataFormats/SiStripDetId/interface/SiStripDetId.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" @@ -26,6 +25,7 @@ namespace helper { selStandAloneTracksHits_(new TrackingRecHitCollection), selStripClusters_(new edmNew::DetSetVector), selPixelClusters_(new edmNew::DetSetVector), + selPhase2OTClusters_(new edmNew::DetSetVector), rMuons_(), rTracks_(), rTrackExtras_(), @@ -202,6 +202,9 @@ namespace helper { const ProjectedSiStripRecHit2D &pHit = static_cast(hit); if (!pHit.originalHit().cluster().isAvailable()) return false; + } else if (hit_type == typeid(Phase2TrackerRecHit1D)) { + if (!static_cast(hit).cluster().isAvailable()) + return false; } else { // std::cout << "| It is a " << hit_type.name() << " hit !?" << std::endl; // Do nothing. We might end up here for FastSim hits. @@ -230,6 +233,7 @@ namespace helper { if (cloneClusters()) { evt.put(std::move(selStripClusters_)); evt.put(std::move(selPixelClusters_)); + evt.put(std::move(selPhase2OTClusters_)); } return h; } diff --git a/CommonTools/RecoAlgos/src/TrackSelector.cc b/CommonTools/RecoAlgos/src/TrackSelector.cc index 3e6492d40c0c8..5e61f61263b5b 100644 --- a/CommonTools/RecoAlgos/src/TrackSelector.cc +++ b/CommonTools/RecoAlgos/src/TrackSelector.cc @@ -10,6 +10,7 @@ namespace helper { selHits_(new TrackingRecHitCollection), selStripClusters_(new edmNew::DetSetVector), selPixelClusters_(new edmNew::DetSetVector), + selPhase2OTClusters_(new edmNew::DetSetVector), rTracks_(), rTrackExtras_(), rHits_(), @@ -62,6 +63,7 @@ namespace helper { evt.put(std::move(selHits_)); evt.put(std::move(selStripClusters_)); evt.put(std::move(selPixelClusters_)); + evt.put(std::move(selPhase2OTClusters_)); return h; } diff --git a/DataFormats/TrackerRecHit2D/interface/Phase2TrackerRecHit1D.h b/DataFormats/TrackerRecHit2D/interface/Phase2TrackerRecHit1D.h index 5a9bb8d0f4122..e598abf6e5c28 100644 --- a/DataFormats/TrackerRecHit2D/interface/Phase2TrackerRecHit1D.h +++ b/DataFormats/TrackerRecHit2D/interface/Phase2TrackerRecHit1D.h @@ -10,6 +10,7 @@ class Phase2TrackerRecHit1D final : public TrackerSingleRecHit { public: typedef OmniClusterRef::Phase2Cluster1DRef CluRef; + typedef OmniClusterRef::Phase2Cluster1DRef ClusterRef; Phase2TrackerRecHit1D() {} diff --git a/DataFormats/TrackerRecHit2D/interface/VectorHit.h b/DataFormats/TrackerRecHit2D/interface/VectorHit.h index df0a771f686d8..2f54b77117c96 100644 --- a/DataFormats/TrackerRecHit2D/interface/VectorHit.h +++ b/DataFormats/TrackerRecHit2D/interface/VectorHit.h @@ -92,6 +92,9 @@ class VectorHit final : public BaseTrackerRecHit { ClusterRef upperCluster() const { return theUpperCluster.cluster_phase2OT(); } OmniClusterRef const lowerClusterRef() const { return theLowerCluster; } OmniClusterRef const upperClusterRef() const { return theUpperCluster; } + // Non const variants needed for cluster re-keying + OmniClusterRef& lowerClusterRef() { return theLowerCluster; } + OmniClusterRef& upperClusterRef() { return theUpperCluster; } //FIXME::to update with a proper CPE maybe... Global3DPoint lowerGlobalPos() const;