1 import FWCore.ParameterSet.Config
as cms
6 from L1Trigger.Phase2L1ParticleFlow.l1tPFClustersFromL1EGClusters_cfi
import l1tPFClustersFromL1EGClusters
7 from L1Trigger.Phase2L1ParticleFlow.pfClustersFromCombinedCalo_cff
import l1tPFClustersFromCombinedCaloHCal, l1tPFClustersFromCombinedCaloHF
8 from L1Trigger.Phase2L1ParticleFlow.l1tPFClustersFromHGC3DClusters_cfi
import l1tPFClustersFromHGC3DClusters
10 from L1Trigger.Phase2L1ParticleFlow.l1TkEgAlgoEmulator_cfi
import tkEgAlgoParameters,tkEgSorterParameters
12 l1tLayer1Barrel = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
13 tracks = cms.InputTag(
'l1tPFTracksFromL1Tracks'),
14 muons = cms.InputTag(
'l1tSAMuonsGmt',
'prompt'),
15 emClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromL1EGClusters:selected')),
16 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromCombinedCaloHCal:calibrated')),
17 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"L1VerticesEmulation"),
19 emPtCut = cms.double(0.5),
20 hadPtCut = cms.double(1.0),
21 trkPtCut = cms.double(2.0),
22 trackInputConversionAlgo = cms.string(
"Emulator"),
23 trackInputConversionParameters = cms.PSet(
24 region = cms.string(
"barrel"),
25 slimDataFormat = cms.bool(
True),
26 ptLUTBits = cms.uint32(11),
27 etaLUTBits = cms.uint32(10),
28 etaShift = cms.uint32(15-10),
29 phiBits = cms.uint32(10),
30 z0Bits = cms.uint32(12),
31 dEtaBarrelBits = cms.uint32(8),
32 dEtaBarrelZ0PreShift = cms.uint32(2),
33 dEtaBarrelZ0PostShift = cms.uint32(2),
34 dPhiBarrelBits = cms.uint32(4),
35 dPhiBarrelRInvPreShift = cms.uint32(4),
36 dPhiBarrelRInvPostShift = cms.uint32(4),
38 muonInputConversionAlgo = cms.string(
"Emulator"),
39 regionizerAlgo = cms.string(
"Ideal"),
40 pfAlgo = cms.string(
"PFAlgo3"),
41 pfAlgoParameters = cms.PSet(
42 nTrack = cms.uint32(25),
43 nCalo = cms.uint32(18),
45 nSelCalo = cms.uint32(18),
46 nEmCalo = cms.uint32(12),
47 nPhoton = cms.uint32(12),
48 nAllNeutral = cms.uint32(25),
49 trackMuDR = cms.double(0.2),
50 trackEmDR = cms.double(0.04),
51 emCaloDR = cms.double(0.10),
52 trackCaloDR = cms.double(0.15),
53 maxInvisiblePt = cms.double(10.0),
54 tightTrackMaxInvisiblePt = cms.double(20),
55 caloResolution = cms.PSet(
56 etaBins = cms.vdouble( 0.700, 1.200, 1.600),
57 offset = cms.vdouble( 2.909, 2.864, 0.294),
58 scale = cms.vdouble( 0.119, 0.127, 0.442),
61 puAlgo = cms.string(
"LinearizedPuppi"),
62 puAlgoParameters = cms.PSet(
63 nTrack = cms.uint32(22),
65 nOut = cms.uint32(25),
67 nFinalSort = cms.uint32(18),
68 finalSortAlgo = cms.string(
"Insertion"),
71 drMin = cms.double(0.07),
72 ptMax = cms.double(50.),
73 absEtaCuts = cms.vdouble( ),
74 ptCut = cms.vdouble( 1.0 ),
75 ptSlopes = cms.vdouble( 0.3 ),
76 ptSlopesPhoton = cms.vdouble( 0.3 ),
77 ptZeros = cms.vdouble( 4.0 ),
78 ptZerosPhoton = cms.vdouble( 2.5 ),
79 alphaSlopes = cms.vdouble( 0.7 ),
80 alphaZeros = cms.vdouble( 6.0 ),
81 alphaCrop = cms.vdouble( 4 ),
82 priors = cms.vdouble( 5.0 ),
83 priorsPhoton = cms.vdouble( 1.0 ),
85 tkEgAlgoParameters = tkEgAlgoParameters.clone(
91 tkEgSorterAlgo = cms.string(
"Barrel"),
92 tkEgSorterParameters = tkEgSorterParameters.clone(
95 caloSectors = cms.VPSet(
97 etaBoundaries = cms.vdouble(-1.5, 1.5),
98 phiSlices = cms.uint32(3),
103 etaBoundaries = cms.vdouble(-1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5),
104 phiSlices = cms.uint32(9),
109 regions = cms.vuint32(*[0+9*ie+i
for ie
in range(6)
for i
in range(3)])),
111 regions = cms.vuint32(*[3+9*ie+i
for ie
in range(6)
for i
in range(3)])),
113 regions = cms.vuint32(*[6+9*ie+i
for ie
in range(6)
for i
in range(3)])),
117 l1tLayer1BarrelExtended = l1tLayer1Barrel.clone(tracks = cms.InputTag(
'l1tPFTracksFromL1TracksExtended'))
119 _hgcalSectors = cms.VPSet(
121 etaBoundaries = cms.vdouble(-3.0, -1.5),
122 phiSlices = cms.uint32(3),
123 phiZero = cms.double(math.pi/2)
126 etaBoundaries = cms.vdouble(+1.5, +3.0),
127 phiSlices = cms.uint32(3),
128 phiZero = cms.double(math.pi/2)
133 l1tLayer1HGCal = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
134 tracks = cms.InputTag(
'l1tPFTracksFromL1Tracks'),
135 muons = cms.InputTag(
'l1tSAMuonsGmt',
'prompt'),
136 emClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters:egamma')),
137 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters')),
138 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"L1VerticesEmulation"),
140 emPtCut = cms.double(0.5),
141 hadPtCut = cms.double(1.0),
142 trkPtCut = cms.double(2.0),
143 trackInputConversionAlgo = cms.string(
"Emulator"),
144 trackInputConversionParameters = cms.PSet(
145 region = cms.string(
"endcap"),
146 slimDataFormat = cms.bool(
False),
147 ptLUTBits = cms.uint32(11),
148 etaLUTBits = cms.uint32(11),
149 etaShift = cms.uint32(15-11),
150 etaPostOffs = cms.int32(150),
151 phiBits = cms.uint32(10),
152 z0Bits = cms.uint32(12),
153 dEtaHGCalBits = cms.uint32(10),
154 dEtaHGCalZ0PreShift = cms.uint32(2),
155 dEtaHGCalRInvPreShift = cms.uint32(6),
156 dEtaHGCalLUTBits = cms.uint32(10),
157 dEtaHGCalLUTShift = cms.uint32(2),
158 dPhiHGCalBits = cms.uint32(4),
159 dPhiHGCalZ0PreShift = cms.uint32(4),
160 dPhiHGCalZ0PostShift = cms.uint32(6),
161 dPhiHGCalRInvShift = cms.uint32(4),
162 dPhiHGCalTanlInvShift = cms.uint32(22),
163 dPhiHGCalTanlLUTBits = cms.uint32(10),
165 muonInputConversionAlgo = cms.string(
"Emulator"),
166 hgcalInputConversionAlgo = cms.string(
"Emulator"),
167 regionizerAlgo = cms.string(
"Multififo"),
168 regionizerAlgoParameters = cms.PSet(
169 useAlsoVtxCoords = cms.bool(
True),
170 nEndcaps = cms.uint32(2),
171 nClocks = cms.uint32(54),
172 nTkLinks = cms.uint32(2),
173 nCaloLinks = cms.uint32(3),
174 nTrack = cms.uint32(30),
175 nCalo = cms.uint32(20),
176 nEmCalo = cms.uint32(10),
178 egInterceptMode = cms.PSet(
179 afterFifo = cms.bool(
True),
180 emIDMask = cms.uint32(0x1E),
181 nHADCALO_IN = cms.uint32(20),
182 nEMCALO_OUT = cms.uint32(10),
185 pfAlgo = cms.string(
"PFAlgo2HGC"),
186 pfAlgoParameters = cms.PSet(
187 nTrack = cms.uint32(30),
188 nCalo = cms.uint32(20),
190 nSelCalo = cms.uint32(20),
191 trackMuDR = cms.double(0.2),
192 trackCaloDR = cms.double(0.1),
193 maxInvisiblePt = cms.double(10.0),
194 tightTrackMaxInvisiblePt = cms.double(20),
195 caloResolution = cms.PSet(
196 etaBins = cms.vdouble( 1.700, 1.900, 2.200, 2.500, 2.800, 2.900),
197 offset = cms.vdouble( 1.793, 1.827, 2.363, 2.538, 2.812, 2.642),
198 scale = cms.vdouble( 0.138, 0.137, 0.124, 0.115, 0.106, 0.121),
201 puAlgo = cms.string(
"LinearizedPuppi"),
202 puAlgoParameters = cms.PSet(
203 nTrack = cms.uint32(30),
204 nIn = cms.uint32(20),
205 nOut = cms.uint32(20),
206 nVtx = cms.uint32(1),
207 nFinalSort = cms.uint32(18),
208 finalSortAlgo = cms.string(
"FoldedHybrid"),
209 dZ = cms.double(1.33),
210 dr = cms.double(0.3),
211 drMin = cms.double(0.04),
212 ptMax = cms.double(50.),
213 absEtaCuts = cms.vdouble( 2.0 ),
214 ptCut = cms.vdouble( 1.0, 2.0 ),
215 ptSlopes = cms.vdouble( 0.3, 0.3 ),
216 ptSlopesPhoton = cms.vdouble( 0.4, 0.4 ),
217 ptZeros = cms.vdouble( 5.0, 7.0 ),
218 ptZerosPhoton = cms.vdouble( 3.0, 4.0 ),
219 alphaSlopes = cms.vdouble( 1.5, 1.5 ),
220 alphaZeros = cms.vdouble( 6.0, 6.0 ),
221 alphaCrop = cms.vdouble( 3 , 3 ),
222 priors = cms.vdouble( 5.0, 5.0 ),
223 priorsPhoton = cms.vdouble( 1.5, 1.5 ),
225 tkEgAlgoParameters = tkEgAlgoParameters.clone(
230 doBremRecovery =
True,
231 doEndcapHwQual =
True,
232 writeBeforeBremRecovery =
False,
234 doCompositeTkEle =
True,
235 trkQualityPtMin = 0.),
236 tkEgSorterAlgo = cms.string(
"Endcap"),
237 tkEgSorterParameters = tkEgSorterParameters.clone(
240 caloSectors = _hgcalSectors,
243 etaBoundaries = cms.vdouble(-2.5, -1.5),
244 phiSlices = cms.uint32(9),
247 etaBoundaries = cms.vdouble(+1.5, +2.5),
248 phiSlices = cms.uint32(9),
254 regions = cms.vuint32(
range(0, 9))),
256 regions = cms.vuint32(
range(9, 18))),
258 writeRawHgcalCluster = cms.untracked.bool(
True)
262 l1tLayer1HGCalExtended = l1tLayer1HGCal.clone(tracks = (
'l1tPFTracksFromL1TracksExtended'))
264 l1tLayer1HGCalElliptic = l1tLayer1HGCal.clone(
265 tkEgAlgoParameters = l1tLayer1HGCal.tkEgAlgoParameters.clone(
266 doCompositeTkEle =
False,
267 trkQualityPtMin = 10.)
270 l1tLayer1HGCalNoTK = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
271 muons = cms.InputTag(
'l1tSAMuonsGmt',
'prompt'),
272 emClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters:egamma')),
273 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters')),
274 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"L1VerticesEmulation"),
276 emPtCut = cms.double(0.5),
277 hadPtCut = cms.double(1.0),
278 trkPtCut = cms.double(2.0),
279 muonInputConversionAlgo = cms.string(
"Emulator"),
280 hgcalInputConversionAlgo = cms.string(
"Emulator"),
281 hgcalInputConversionParameters = cms.PSet(
282 slim = cms.bool(
True)
284 regionizerAlgo = cms.string(
"Multififo"),
285 regionizerAlgoParameters = cms.PSet(
286 useAlsoVtxCoords = cms.bool(
True),
287 nEndcaps = cms.uint32(2),
288 nClocks = cms.uint32(54),
289 nTkLinks = cms.uint32(0),
290 nCaloLinks = cms.uint32(3),
291 nTrack = cms.uint32(0),
292 nCalo = cms.uint32(12),
293 nEmCalo = cms.uint32(12),
295 egInterceptMode = cms.PSet(
296 afterFifo = cms.bool(
True),
297 emIDMask = cms.uint32(0x1E),
298 nHADCALO_IN = cms.uint32(12),
299 nEMCALO_OUT = cms.uint32(12),
302 pfAlgo = cms.string(
"PFAlgoDummy"),
303 pfAlgoParameters = cms.PSet(
304 nCalo = cms.uint32(12),
307 puAlgo = cms.string(
"LinearizedPuppi"),
308 puAlgoParameters = cms.PSet(
309 nTrack = cms.uint32(0),
310 nIn = cms.uint32(12),
311 nOut = cms.uint32(12),
312 nFinalSort = cms.uint32(12),
313 finalSortAlgo = cms.string(
"Hybrid"),
314 nVtx = cms.uint32(1),
315 dZ = cms.double(1.33),
316 dr = cms.double(0.3),
317 drMin = cms.double(0.04),
318 ptMax = cms.double(50.),
319 absEtaCuts = cms.vdouble( ),
320 ptCut = cms.vdouble( 4.0 ),
321 ptSlopes = cms.vdouble( 0.3 ),
322 ptSlopesPhoton = cms.vdouble( 0.4 ),
323 ptZeros = cms.vdouble( 9.0 ),
324 ptZerosPhoton = cms.vdouble( 5.0 ),
325 alphaSlopes = cms.vdouble( 2.2 ),
326 alphaZeros = cms.vdouble( 9.0 ),
327 alphaCrop = cms.vdouble( 4 ),
328 priors = cms.vdouble( 7.0 ),
329 priorsPhoton = cms.vdouble( 5.0 ),
331 tkEgAlgoParameters = tkEgAlgoParameters.clone(
336 doBremRecovery =
True,
337 doEndcapHwQual =
True,
338 writeBeforeBremRecovery =
False,
340 tkEgSorterAlgo = cms.string(
"Endcap"),
341 tkEgSorterParameters = tkEgSorterParameters.clone(
344 caloSectors = _hgcalSectors,
347 etaBoundaries = cms.vdouble(-3.0, -2.5),
348 phiSlices = cms.uint32(9),
351 etaBoundaries = cms.vdouble(+2.5, +3.0),
352 phiSlices = cms.uint32(9),
357 cms.PSet(regions = cms.vuint32(
range(0,18))),
359 writeRawHgcalCluster = cms.untracked.bool(
True)
362 l1tLayer1HF = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
363 muons = cms.InputTag(
'l1tSAMuonsGmt',
'prompt'),
364 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromCombinedCaloHF:calibrated')),
365 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"L1VerticesEmulation"),
367 emPtCut = cms.double(0.5),
368 hadPtCut = cms.double(15.0),
369 trkPtCut = cms.double(2.0),
370 pfAlgo = cms.string(
"PFAlgoDummy"),
371 pfAlgoParameters = cms.PSet(
372 nCalo = cms.uint32(18),
374 debug = cms.untracked.bool(
False)
376 puAlgo = cms.string(
"LinearizedPuppi"),
377 puAlgoParameters = cms.PSet(
378 nTrack = cms.uint32(0),
379 nIn = cms.uint32(18),
380 nOut = cms.uint32(18),
381 nVtx = cms.uint32(1),
382 nFinalSort = cms.uint32(10),
383 finalSortAlgo = cms.string(
"Insertion"),
384 dZ = cms.double(1.33),
385 dr = cms.double(0.3),
386 drMin = cms.double(0.1),
387 ptMax = cms.double(100.),
388 absEtaCuts = cms.vdouble( ),
389 ptCut = cms.vdouble( 10.0 ),
390 ptSlopes = cms.vdouble( 0.25 ),
391 ptSlopesPhoton = cms.vdouble( 0.25 ),
392 ptZeros = cms.vdouble( 14.0 ),
393 ptZerosPhoton = cms.vdouble( 14.0 ),
394 alphaSlopes = cms.vdouble( 0.6 ),
395 alphaZeros = cms.vdouble( 9.0 ),
396 alphaCrop = cms.vdouble( 4 ),
397 priors = cms.vdouble( 6.0 ),
398 priorsPhoton = cms.vdouble( 6.0 ),
399 debug = cms.untracked.bool(
False)
401 tkEgAlgoParameters = tkEgAlgoParameters.clone(
406 doBremRecovery =
True,
408 tkEgSorterAlgo = cms.string(
"Endcap"),
409 tkEgSorterParameters = tkEgSorterParameters.clone(),
410 caloSectors = cms.VPSet(
412 etaBoundaries = cms.vdouble(-5.5, -3.0),
413 phiSlices = cms.uint32(9),
416 etaBoundaries = cms.vdouble(+3.0, +5.5),
417 phiSlices = cms.uint32(9),
422 etaBoundaries = cms.vdouble(-5.5, -3.0),
423 phiSlices = cms.uint32(9),
426 etaBoundaries = cms.vdouble(+3.0, +5.5),
427 phiSlices = cms.uint32(9),
430 boards = cms.VPSet(),
434 l1tLayer1 = cms.EDProducer(
"L1TPFCandMultiMerger",
435 pfProducers = cms.VInputTag(
436 cms.InputTag(
"l1tLayer1Barrel"),
437 cms.InputTag(
"l1tLayer1HGCal"),
438 cms.InputTag(
"l1tLayer1HGCalNoTK"),
439 cms.InputTag(
"l1tLayer1HF")
444 l1tLayer1Extended = l1tLayer1.clone(
445 pfProducers = [ (
"l1tLayer1BarrelExtended"), (
"l1tLayer1HGCalExtended"),
446 (
"l1tLayer1HGCalNoTK"),(
"l1tLayer1HF")]
449 l1tLayer1EG = cms.EDProducer(
451 tkElectrons = cms.VPSet(
453 instance = cms.string(
"L1TkEleEE"),
454 pfProducers = cms.VInputTag(
455 cms.InputTag(
"l1tLayer1HGCal",
'L1TkEle')
459 instance = cms.string(
"L1TkEleEB"),
460 pfProducers = cms.VInputTag(
461 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEle')
467 instance = cms.string(
"L1TkEmEE"),
468 pfProducers = cms.VInputTag(
469 cms.InputTag(
"l1tLayer1HGCal",
'L1TkEm'),
470 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1TkEm')
474 instance = cms.string(
"L1TkEmEB"),
475 pfProducers = cms.VInputTag(
476 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEm')
482 instance = cms.string(
"L1EgEE"),
483 pfProducers = cms.VInputTag(
484 cms.InputTag(
"l1tLayer1HGCal",
'L1Eg'),
485 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1Eg')
491 l1tLayer1EGElliptic = cms.EDProducer(
493 tkElectrons = cms.VPSet(
495 instance = cms.string(
"L1TkEleEE"),
496 pfProducers = cms.VInputTag(
497 cms.InputTag(
"l1tLayer1HGCalElliptic",
'L1TkEle')
501 instance = cms.string(
"L1TkEleEB"),
502 pfProducers = cms.VInputTag(
503 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEle')
509 instance = cms.string(
"L1TkEmEE"),
510 pfProducers = cms.VInputTag(
511 cms.InputTag(
"l1tLayer1HGCalElliptic",
'L1TkEm'),
512 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1TkEm')
516 instance = cms.string(
"L1TkEmEB"),
517 pfProducers = cms.VInputTag(
518 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEm')
524 instance = cms.string(
"L1EgEE"),
525 pfProducers = cms.VInputTag(
526 cms.InputTag(
"l1tLayer1HGCalElliptic",
'L1Eg'),
527 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1Eg')
535 L1TLayer1TaskInputsTask = cms.Task(
536 l1tPFClustersFromL1EGClusters,
537 l1tPFClustersFromCombinedCaloHCal,
538 l1tPFClustersFromCombinedCaloHF,
539 l1tPFClustersFromHGC3DClusters,
540 l1tPFTracksFromL1Tracks,
541 l1tPFTracksFromL1TracksExtended
544 L1TLayer1Task = cms.Task(
546 l1tLayer1BarrelExtended,
548 l1tLayer1HGCalExtended,
553 l1tLayer1HGCalElliptic,