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  # DROP statements
27  'drop recoBasicClusters_multi5x5BasicClusters_multi5x5BarrelBasicClusters_*',
28  'drop recoSuperClusters_multi5x5SuperClusters_multi5x5BarrelSuperClusters_*')
29 )
30 # RECO content
31 RecoEcalRECO = cms.PSet(
32  outputCommands = cms.untracked.vstring(
33  #selected digis
34  'keep *_selectDigi_*_*',
35  # Hits
36  'keep EcalRecHitsSorted_reducedEcalRecHitsEE_*_*',
37  'keep EcalRecHitsSorted_reducedEcalRecHitsEB_*_*',
38  'keep EcalRecHitsSorted_reducedEcalRecHitsES_*_*',
39  # Barrel clusters
40  'keep *_hybridSuperClusters_*_*',
41  'keep recoSuperClusters_correctedHybridSuperClusters_*_*',
42  # Endcap clusters
43  'keep *_multi5x5SuperClusters_*_*',
44  'keep recoSuperClusters_multi5x5SuperClusters_*_*',
45  'keep recoSuperClusters_multi5x5SuperClustersWithPreshower_*_*',
46  'keep recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower_*_*',
47  # Preshower clusters
48  'keep recoPreshowerClusters_multi5x5SuperClustersWithPreshower_*_*',
49  'keep recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_*_*',
50  # Particle Flow superclusters
51  'keep *_particleFlowSuperClusterECAL_*_*',
52  # DROP statements
53  'drop recoClusterShapes_*_*_*',
54  'drop recoBasicClustersToOnerecoClusterShapesAssociation_*_*_*',
55  'drop recoBasicClusters_multi5x5BasicClusters_multi5x5BarrelBasicClusters_*',
56  'drop recoSuperClusters_multi5x5SuperClusters_multi5x5BarrelSuperClusters_*')
57 )
58 # AOD content
59 RecoEcalAOD = cms.PSet(
60  outputCommands = cms.untracked.vstring(
61  #selected digis
62  'keep *_selectDigi_*_*',
63  # Hits
64  'keep EcalRecHitsSorted_reducedEcalRecHitsEB_*_*',
65  'keep EcalRecHitsSorted_reducedEcalRecHitsEE_*_*',
66  'keep EcalRecHitsSorted_reducedEcalRecHitsES_*_*',
67  # Barrel clusters (uncleaned only in separate collections)
68  'keep recoSuperClusters_correctedHybridSuperClusters_*_*',
69  'keep recoCaloClusters_hybridSuperClusters_*_*',
70  'keep recoSuperClusters_hybridSuperClusters_uncleanOnlyHybridSuperClusters_*',
71  # Endcap clusters
72  'keep recoCaloClusters_multi5x5SuperClusters_multi5x5EndcapBasicClusters_*',
73  'keep recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower_*_*',
74  # Preshower clusters
75  'keep recoPreshowerClusters_multi5x5SuperClustersWithPreshower_*_*',
76  'keep recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_*_*',
77  # Particle Flow superclusters (only SuperCluster and CaloCluster outputs, not association map from PFClusters)
78  'keep recoSuperClusters_particleFlowSuperClusterECAL_*_*',
79  'keep recoCaloClusters_particleFlowSuperClusterECAL_*_*'
80  )
81 )
82 
83 _phase2_hgcal_scCommands = ['keep *_particleFlowSuperClusterHGCal_*_*']
84 _phase2_hgcal_scCommandsAOD = ['keep recoSuperClusters_particleFlowSuperClusterHGCal__*',
85  'keep recoCaloClusters_particleFlowSuperClusterHGCal__*']
86 _phase2_hgcal_RecoEcalFEVT = RecoEcalFEVT.clone()
87 _phase2_hgcal_RecoEcalFEVT.outputCommands += _phase2_hgcal_scCommands
88 _phase2_hgcal_RecoEcalRECO = RecoEcalRECO.clone()
89 _phase2_hgcal_RecoEcalRECO.outputCommands += _phase2_hgcal_scCommands
90 _phase2_hgcal_RecoEcalAOD = RecoEcalAOD.clone()
91 _phase2_hgcal_RecoEcalAOD.outputCommands += _phase2_hgcal_scCommandsAOD
92 from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
93 phase2_hgcal.toReplaceWith( RecoEcalFEVT, _phase2_hgcal_RecoEcalFEVT )
94 phase2_hgcal.toReplaceWith( RecoEcalRECO, _phase2_hgcal_RecoEcalRECO )
95 phase2_hgcal.toReplaceWith( RecoEcalAOD , _phase2_hgcal_RecoEcalAOD )
96 
97 from Configuration.Eras.Modifier_pA_2016_cff import pA_2016
98 from Configuration.Eras.Modifier_peripheralPbPb_cff import peripheralPbPb
99 #HI-specific products needed in pp scenario special configurations
100 for e in [pA_2016, peripheralPbPb]:
101  for ec in [RecoEcalRECO.outputCommands, RecoEcalFEVT.outputCommands]:
102  e.toModify( ec, func=lambda outputCommands: outputCommands.extend(['keep recoCaloClusters_islandBasicClusters_*_*'])
103  )