CMS 3D CMS Logo

pfClusterHBHEAlpaka_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
4 
5 from RecoParticleFlow.PFRecHitProducer.hcalRecHitSoAProducer_cfi import hcalRecHitSoAProducer as _hcalRecHitSoAProducer
6 from RecoParticleFlow.PFRecHitProducer.pfRecHitHCALParamsESProducer_cfi import pfRecHitHCALParamsESProducer as _pfRecHitHCALParamsESProducer
7 from RecoParticleFlow.PFRecHitProducer.pfRecHitHCALTopologyESProducer_cfi import pfRecHitHCALTopologyESProducer as _pfRecHitHCALTopologyESProducer
8 from RecoParticleFlow.PFRecHitProducer.pfRecHitSoAProducerHCAL_cfi import pfRecHitSoAProducerHCAL as _pfRecHitSoAProducerHCAL
9 from RecoParticleFlow.PFRecHitProducer.legacyPFRecHitProducer_cfi import legacyPFRecHitProducer as _legacyPFRecHitProducer
10 from RecoParticleFlow.PFClusterProducer.pfClusterParamsESProducer_cfi import pfClusterParamsESProducer as _pfClusterParamsESProducer
11 from RecoParticleFlow.PFClusterProducer.pfClusterSoAProducer_cfi import pfClusterSoAProducer as _pfClusterSoAProducer
12 from RecoParticleFlow.PFClusterProducer.legacyPFClusterProducer_cfi import legacyPFClusterProducer as _legacyPFClusterProducer
13 
14 from RecoParticleFlow.PFClusterProducer.particleFlowCluster_cff import pfClusteringHBHEHFTask, pfClusteringHBHEHFOnlyTask, particleFlowClusterHBHE, particleFlowRecHitHBHE, particleFlowClusterHCAL, particleFlowClusterHBHEOnly, particleFlowRecHitHBHEOnly, particleFlowClusterHCALOnly
15 #Full Reco
16 _alpaka_pfClusteringHBHEHFTask = pfClusteringHBHEHFTask.copy()
17 #HCAL Only
18 _alpaka_pfClusteringHBHEHFOnlyTask = pfClusteringHBHEHFOnlyTask.copy()
19 
20 
21 pfRecHitHCALParamsRecordSource = cms.ESSource('EmptyESSource',
22  recordName = cms.string('PFRecHitHCALParamsRecord'),
23  iovIsRunNotTime = cms.bool(True),
24  firstValid = cms.vuint32(1)
25  )
26 
27 pfRecHitHCALTopologyRecordSource = cms.ESSource('EmptyESSource',
28  recordName = cms.string('PFRecHitHCALTopologyRecord'),
29  iovIsRunNotTime = cms.bool(True),
30  firstValid = cms.vuint32(1)
31  )
32 
33 pfClusterParamsRecordSource = cms.ESSource('EmptyESSource',
34  recordName = cms.string('JobConfigurationGPURecord'),
35  iovIsRunNotTime = cms.bool(True),
36  firstValid = cms.vuint32(1)
37  )
38 
39 hbheRecHitToSoA = _hcalRecHitSoAProducer.clone(
40  src = "hbhereco"
41  )
42 
43 pfRecHitHCALParamsESProducer = _pfRecHitHCALParamsESProducer.clone(
44  energyThresholdsHB = cms.vdouble( 0.1, 0.2, 0.3, 0.3 ),
45  energyThresholdsHE = cms.vdouble( 0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 )
46  )
47 
48 pfRecHitHCALTopologyESProducer = _pfRecHitHCALTopologyESProducer.clone()
49 pfRecHitSoAProducerHCAL = _pfRecHitSoAProducerHCAL.clone(
50  producers = cms.VPSet(
51  cms.PSet(
52  src = cms.InputTag("hbheRecHitToSoA"),
53  params = cms.ESInputTag("pfRecHitHCALParamsESProducer:"),
54  )
55  ),
56  topology = "pfRecHitHCALTopologyESProducer:",
57  synchronise = cms.untracked.bool(False)
58  )
59 
60 legacyPFRecHitProducer = _legacyPFRecHitProducer.clone(
61  src = "pfRecHitSoAProducerHCAL"
62  )
63 
64 pfClusterParamsESProducer = _pfClusterParamsESProducer.clone()
65 pfClusterSoAProducer = _pfClusterSoAProducer.clone(
66  pfRecHits = 'pfRecHitSoAProducerHCAL',
67  topology = "pfRecHitHCALTopologyESProducer:",
68  pfClusterParams = 'pfClusterParamsESProducer:',
69  synchronise = cms.bool(False)
70  )
71 
72 
73 legacyPFClusterProducer = _legacyPFClusterProducer.clone(
74  src = 'pfClusterSoAProducer',
75  pfClusterParams = 'pfClusterParamsESProducer:',
76  pfClusterBuilder = particleFlowClusterHBHE.pfClusterBuilder,
77  recHitsSource = 'legacyPFRecHitProducer',
78  PFRecHitsLabelIn = 'pfRecHitSoAProducerHCAL'
79  )
80 
81 #Full Reco
82 _alpaka_pfClusteringHBHEHFTask.add(pfRecHitHCALParamsRecordSource)
83 _alpaka_pfClusteringHBHEHFTask.add(pfRecHitHCALTopologyRecordSource)
84 _alpaka_pfClusteringHBHEHFTask.add(pfClusterParamsRecordSource)
85 _alpaka_pfClusteringHBHEHFTask.add(hbheRecHitToSoA)
86 _alpaka_pfClusteringHBHEHFTask.add(pfRecHitHCALParamsESProducer)
87 _alpaka_pfClusteringHBHEHFTask.add(pfRecHitHCALTopologyESProducer)
88 _alpaka_pfClusteringHBHEHFTask.add(pfRecHitSoAProducerHCAL)
89 _alpaka_pfClusteringHBHEHFTask.add(legacyPFRecHitProducer)
90 _alpaka_pfClusteringHBHEHFTask.add(pfClusterParamsESProducer)
91 _alpaka_pfClusteringHBHEHFTask.add(pfClusterSoAProducer)
92 _alpaka_pfClusteringHBHEHFTask.add(legacyPFClusterProducer)
93 
94 _alpaka_pfClusteringHBHEHFTask.remove(particleFlowRecHitHBHE)
95 _alpaka_pfClusteringHBHEHFTask.remove(particleFlowClusterHBHE)
96 _alpaka_pfClusteringHBHEHFTask.remove(particleFlowClusterHCAL)
97 _alpaka_pfClusteringHBHEHFTask.add(particleFlowClusterHCAL)
98 
99 alpaka.toModify(particleFlowClusterHCAL, clustersSource = "legacyPFClusterProducer")
100 
101 alpaka.toReplaceWith(pfClusteringHBHEHFTask, _alpaka_pfClusteringHBHEHFTask)
102 
103 #HCAL Only
104 
105 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB
106 
107 hbheOnlyRecHitToSoA = _hcalRecHitSoAProducer.clone(
108  src = "hbheprereco"
109  )
110 run3_HB.toModify(hbheOnlyRecHitToSoA,
111  src = "hbhereco"
112  )
113 
114 pfRecHitSoAProducerHBHEOnly = _pfRecHitSoAProducerHCAL.clone(
115  producers = cms.VPSet(
116  cms.PSet(
117  src = cms.InputTag("hbheOnlyRecHitToSoA"),
118  params = cms.ESInputTag("pfRecHitHCALParamsESProducer:"),
119  )
120  ),
121  topology = "pfRecHitHCALTopologyESProducer:",
122  synchronise = cms.untracked.bool(False)
123  )
124 
125 legacyPFRecHitProducerHBHEOnly = _legacyPFRecHitProducer.clone(
126  src = "pfRecHitSoAProducerHBHEOnly"
127  )
128 
129 pfClusterSoAProducerHBHEOnly = _pfClusterSoAProducer.clone(
130  pfRecHits = 'pfRecHitSoAProducerHBHEOnly',
131  topology = "pfRecHitHCALTopologyESProducer:",
132  pfClusterParams = 'pfClusterParamsESProducer:',
133  synchronise = cms.bool(False)
134  )
135 
136 legacyPFClusterProducerHBHEOnly = _legacyPFClusterProducer.clone(
137  src = 'pfClusterSoAProducerHBHEOnly',
138  pfClusterParams = 'pfClusterParamsESProducer:',
139  pfClusterBuilder = particleFlowClusterHBHE.pfClusterBuilder,
140  recHitsSource = 'legacyPFRecHitProducerHBHEOnly',
141  PFRecHitsLabelIn = 'pfRecHitSoAProducerHBHEOnly'
142  )
143 
144 _alpaka_pfClusteringHBHEHFOnlyTask.add(pfRecHitHCALParamsRecordSource)
145 _alpaka_pfClusteringHBHEHFOnlyTask.add(pfRecHitHCALTopologyRecordSource)
146 _alpaka_pfClusteringHBHEHFOnlyTask.add(pfClusterParamsRecordSource)
147 _alpaka_pfClusteringHBHEHFOnlyTask.add(hbheOnlyRecHitToSoA)
148 _alpaka_pfClusteringHBHEHFOnlyTask.add(pfRecHitHCALParamsESProducer)
149 _alpaka_pfClusteringHBHEHFOnlyTask.add(pfRecHitHCALTopologyESProducer)
150 _alpaka_pfClusteringHBHEHFOnlyTask.add(pfRecHitSoAProducerHBHEOnly)
151 _alpaka_pfClusteringHBHEHFOnlyTask.add(legacyPFRecHitProducerHBHEOnly)
152 _alpaka_pfClusteringHBHEHFOnlyTask.add(pfClusterParamsESProducer)
153 _alpaka_pfClusteringHBHEHFOnlyTask.add(pfClusterSoAProducerHBHEOnly)
154 _alpaka_pfClusteringHBHEHFOnlyTask.add(legacyPFClusterProducerHBHEOnly)
155 
156 _alpaka_pfClusteringHBHEHFOnlyTask.remove(particleFlowRecHitHBHEOnly)
157 _alpaka_pfClusteringHBHEHFOnlyTask.remove(particleFlowClusterHBHEOnly)
158 _alpaka_pfClusteringHBHEHFOnlyTask.remove(particleFlowClusterHCALOnly)
159 _alpaka_pfClusteringHBHEHFOnlyTask.add(particleFlowClusterHCALOnly)
160 
161 alpaka.toModify(particleFlowClusterHCALOnly, clustersSource = "legacyPFClusterProducerHBHEOnly")
162 
163 alpaka.toReplaceWith(pfClusteringHBHEHFOnlyTask, _alpaka_pfClusteringHBHEHFOnlyTask)