CMS 3D CMS Logo

RecoEcal_EventContent_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # Full Event content
4 RecoEcalFEVT = cms.PSet(
5  outputCommands = cms.untracked.vstring(
6  #selected digis
7  'keep *_selectDigi_*_*',
8  # Hits
9  'keep *_reducedEcalRecHitsEB_*_*',
10  'keep *_reducedEcalRecHitsEE_*_*',
11  'keep *_reducedEcalRecHitsES_*_*',
12  'keep *_interestingEcalDetId*_*_*',
13  'keep *_ecalWeightUncalibRecHit_*_*',
14  'keep *_ecalPreshowerRecHit_*_*',
15  # Barrel clusters
16  'keep *_hybridSuperClusters_*_*',
17  'keep *_correctedHybridSuperClusters_*_*',
18  # Endcap clusters
19  'keep *_multi5x5*_*_*',
20  'keep *_correctedMulti5x5*_*_*',
21  # Preshower clusters
22  'keep recoPreshowerClusters_multi5x5SuperClustersWithPreshower_*_*',
23  'keep recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_*_*',
24  # Particle Flow superclusters
25  'keep *_particleFlowSuperClusterECAL_*_*',
26  'keep *_particleFlowSuperClusterOOTECAL_*_*',
27  # DROP statements
28  'drop recoBasicClusters_multi5x5BasicClusters_multi5x5BarrelBasicClusters_*',
29  'drop recoSuperClusters_multi5x5SuperClusters_multi5x5BarrelSuperClusters_*')
30 )
31 # RECO content
32 RecoEcalRECO = cms.PSet(
33  outputCommands = cms.untracked.vstring(
34  #selected digis
35  'keep *_selectDigi_*_*',
36  # Hits
37  'keep EcalRecHitsSorted_reducedEcalRecHitsEE_*_*',
38  'keep EcalRecHitsSorted_reducedEcalRecHitsEB_*_*',
39  'keep EcalRecHitsSorted_reducedEcalRecHitsES_*_*',
40  # Barrel clusters
41  'keep *_hybridSuperClusters_*_*',
42  'keep recoSuperClusters_correctedHybridSuperClusters_*_*',
43  # Endcap clusters
44  'keep *_multi5x5SuperClusters_*_*',
45  'keep recoSuperClusters_multi5x5SuperClusters_*_*',
46  'keep recoSuperClusters_multi5x5SuperClustersWithPreshower_*_*',
47  'keep recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower_*_*',
48  # Preshower clusters
49  'keep recoPreshowerClusters_multi5x5SuperClustersWithPreshower_*_*',
50  'keep recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_*_*',
51  # Particle Flow superclusters
52  'keep *_particleFlowSuperClusterECAL_*_*',
53  'keep *_particleFlowSuperClusterOOTECAL_*_*',
54  # DROP statements
55  'drop recoClusterShapes_*_*_*',
56  'drop recoBasicClustersToOnerecoClusterShapesAssociation_*_*_*',
57  'drop recoBasicClusters_multi5x5BasicClusters_multi5x5BarrelBasicClusters_*',
58  'drop recoSuperClusters_multi5x5SuperClusters_multi5x5BarrelSuperClusters_*')
59 )
60 # AOD content
61 RecoEcalAOD = cms.PSet(
62  outputCommands = cms.untracked.vstring(
63  #selected digis
64  'keep *_selectDigi_*_*',
65  # Hits
66  'keep EcalRecHitsSorted_reducedEcalRecHitsEB_*_*',
67  'keep EcalRecHitsSorted_reducedEcalRecHitsEE_*_*',
68  'keep EcalRecHitsSorted_reducedEcalRecHitsES_*_*',
69  # Barrel clusters (uncleaned only in separate collections)
70  'keep recoSuperClusters_correctedHybridSuperClusters_*_*',
71  'keep recoCaloClusters_hybridSuperClusters_*_*',
72  'keep recoSuperClusters_hybridSuperClusters_uncleanOnlyHybridSuperClusters_*',
73  # Endcap clusters
74  'keep recoCaloClusters_multi5x5SuperClusters_multi5x5EndcapBasicClusters_*',
75  'keep recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower_*_*',
76  # Preshower clusters
77  'keep recoPreshowerClusters_multi5x5SuperClustersWithPreshower_*_*',
78  'keep recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_*_*',
79  # Particle Flow superclusters (only SuperCluster and CaloCluster outputs, not association map from PFClusters)
80  'keep recoSuperClusters_particleFlowSuperClusterECAL_*_*',
81  'keep recoCaloClusters_particleFlowSuperClusterECAL_*_*',
82  'keep recoSuperClusters_particleFlowSuperClusterOOTECAL_*_*',
83  'keep recoCaloClusters_particleFlowSuperClusterOOTECAL_*_*',
84  )
85 )
86 
87 _phase2_hgcal_scCommands = ['keep *_particleFlowSuperClusterHGCal_*_*', 'keep *_particleFlowSuperClusterHGCalFromMultiCl_*_*']
88 _phase2_hgcal_scCommandsAOD = ['keep recoSuperClusters_particleFlowSuperClusterHGCal__*',
89  'keep recoCaloClusters_particleFlowSuperClusterHGCal__*',
90  'keep recoSuperClusters_particleFlowSuperClusterHGCalFromMultiCl__*',
91  'keep recoCaloClusters_particleFlowSuperClusterHGCalFromMultiCl__*']
92 _phase2_hgcal_RecoEcalFEVT = RecoEcalFEVT.clone()
93 _phase2_hgcal_RecoEcalFEVT.outputCommands += _phase2_hgcal_scCommands
94 _phase2_hgcal_RecoEcalRECO = RecoEcalRECO.clone()
95 _phase2_hgcal_RecoEcalRECO.outputCommands += _phase2_hgcal_scCommands
96 _phase2_hgcal_RecoEcalAOD = RecoEcalAOD.clone()
97 _phase2_hgcal_RecoEcalAOD.outputCommands += _phase2_hgcal_scCommandsAOD
98 from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
99 phase2_hgcal.toReplaceWith( RecoEcalFEVT, _phase2_hgcal_RecoEcalFEVT )
100 phase2_hgcal.toReplaceWith( RecoEcalRECO, _phase2_hgcal_RecoEcalRECO )
101 phase2_hgcal.toReplaceWith( RecoEcalAOD , _phase2_hgcal_RecoEcalAOD )
102 
103 from Configuration.Eras.Modifier_pA_2016_cff import pA_2016
104 from Configuration.Eras.Modifier_peripheralPbPb_cff import peripheralPbPb
105 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
106 from Configuration.Eras.Modifier_ppRef_2017_cff import ppRef_2017
107 #HI-specific products needed in pp scenario special configurations
108 for e in [pA_2016, peripheralPbPb, pp_on_XeXe_2017, ppRef_2017]:
109  for ec in [RecoEcalAOD.outputCommands, RecoEcalRECO.outputCommands, RecoEcalFEVT.outputCommands]:
110  e.toModify( ec, func=lambda outputCommands: outputCommands.extend(['keep recoSuperClusters_correctedIslandBarrelSuperClusters_*_*',
111  'keep recoSuperClusters_correctedIslandEndcapSuperClusters_*_*'
112  ])
113  )
114  for ec in [RecoEcalRECO.outputCommands, RecoEcalFEVT.outputCommands]:
115  e.toModify( ec, func=lambda outputCommands: outputCommands.extend(['keep recoCaloClusters_islandBasicClusters_*_*'])
116  )