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;