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 muonInputConversionParameters = cms.PSet(
13 z0Scale = cms.double(1.875),
14 dxyScale = cms.double(3.85)
17 l1tLayer1Barrel = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
18 tracks = cms.InputTag(
'l1tPFTracksFromL1Tracks'),
19 muons = cms.InputTag(
'l1tSAMuonsGmt',
'promptSAMuons'),
20 emClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromL1EGClusters:selected')),
21 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromCombinedCaloHCal:calibrated')),
22 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"L1VerticesEmulation"),
23 vtxCollectionEmulation = cms.bool(
True),
24 emPtCut = cms.double(0.5),
25 hadPtCut = cms.double(1.0),
26 trkPtCut = cms.double(2.0),
27 trackInputConversionAlgo = cms.string(
"Emulator"),
28 trackInputConversionParameters = cms.PSet(
29 region = cms.string(
"barrel"),
30 trackWordEncoding = cms.string(
"biased"),
31 bitwiseAccurate = cms.bool(
True),
32 slimDataFormat = cms.bool(
True),
33 ptLUTBits = cms.uint32(11),
34 etaLUTBits = cms.uint32(10),
35 etaPreOffs = cms.int32(0),
36 etaShift = cms.uint32(15-10),
37 etaPostOffs = cms.int32(0),
38 etaSigned = cms.bool(
True),
39 phiBits = cms.uint32(10),
40 z0Bits = cms.uint32(12),
41 dEtaBarrelBits = cms.uint32(8),
42 dEtaBarrelZ0PreShift = cms.uint32(2),
43 dEtaBarrelZ0PostShift = cms.uint32(2),
44 dEtaBarrelFloatOffs = cms.double(0.0),
45 dPhiBarrelBits = cms.uint32(4),
46 dPhiBarrelRInvPreShift = cms.uint32(4),
47 dPhiBarrelRInvPostShift = cms.uint32(4),
48 dPhiBarrelFloatOffs = cms.double(0.0)
50 muonInputConversionAlgo = cms.string(
"Emulator"),
51 muonInputConversionParameters = muonInputConversionParameters.clone(),
52 regionizerAlgo = cms.string(
"Ideal"),
53 pfAlgo = cms.string(
"PFAlgo3"),
54 puAlgo = cms.string(
"LinearizedPuppi"),
56 regionizerAlgoParameters = cms.PSet(
57 useAlsoVtxCoords = cms.bool(
True),
59 pfAlgoParameters = cms.PSet(
60 nTrack = cms.uint32(25),
61 nCalo = cms.uint32(18),
63 nSelCalo = cms.uint32(18),
64 nEmCalo = cms.uint32(12),
65 nPhoton = cms.uint32(12),
66 nAllNeutral = cms.uint32(25),
67 trackMuDR = cms.double(0.2),
68 trackEmDR = cms.double(0.04),
69 emCaloDR = cms.double(0.10),
70 trackCaloDR = cms.double(0.15),
71 maxInvisiblePt = cms.double(10.0),
72 tightTrackMaxInvisiblePt = cms.double(20),
73 caloResolution = cms.PSet(
74 etaBins = cms.vdouble( 0.700, 1.200, 1.600),
75 offset = cms.vdouble( 2.909, 2.864, 0.294),
76 scale = cms.vdouble( 0.119, 0.127, 0.442),
78 debug = cms.untracked.bool(
False)
80 puAlgoParameters = cms.PSet(
81 nTrack = cms.uint32(22),
83 nOut = cms.uint32(25),
85 nFinalSort = cms.uint32(18),
86 finalSortAlgo = cms.string(
"Insertion"),
89 drMin = cms.double(0.07),
90 ptMax = cms.double(50.),
91 absEtaCuts = cms.vdouble( ),
92 ptCut = cms.vdouble( 1.0 ),
93 ptSlopes = cms.vdouble( 0.3 ),
94 ptSlopesPhoton = cms.vdouble( 0.3 ),
95 ptZeros = cms.vdouble( 4.0 ),
96 ptZerosPhoton = cms.vdouble( 2.5 ),
97 alphaSlopes = cms.vdouble( 0.7 ),
98 alphaZeros = cms.vdouble( 6.0 ),
99 alphaCrop = cms.vdouble( 4 ),
100 priors = cms.vdouble( 5.0 ),
101 priorsPhoton = cms.vdouble( 1.0 ),
102 debug = cms.untracked.bool(
False)
104 tkEgAlgoParameters=tkEgAlgoParameters.clone(
110 tkEgSorterAlgo = cms.string(
"Barrel"),
111 tkEgSorterParameters=tkEgSorterParameters.clone(
114 caloSectors = cms.VPSet(
116 etaBoundaries = cms.vdouble(-1.5, 1.5),
117 phiSlices = cms.uint32(3),
118 phiZero = cms.double(0),
123 etaBoundaries = cms.vdouble(-1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5),
124 phiSlices = cms.uint32(9),
125 etaExtra = cms.double(0.25),
126 phiExtra = cms.double(0.25),
131 regions=cms.vuint32(*[0+9*ie+i
for ie
in range(6)
for i
in range(3)])),
134 regions=cms.vuint32(*[3+9*ie+i
for ie
in range(6)
for i
in range(3)])),
137 regions=cms.vuint32(*[6+9*ie+i
for ie
in range(6)
for i
in range(3)])),
142 l1tLayer1BarrelExtended = l1tLayer1Barrel.clone(tracks = cms.InputTag(
'l1tPFTracksFromL1TracksExtended'))
144 _hgcalSectors = cms.VPSet(
146 etaBoundaries = cms.vdouble(-3.0, -1.5),
147 phiSlices = cms.uint32(3),
148 phiZero = cms.double(math.pi/2)
151 etaBoundaries = cms.vdouble(+1.5, +3.0),
152 phiSlices = cms.uint32(3),
153 phiZero = cms.double(math.pi/2)
158 l1tLayer1HGCal = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
159 tracks = cms.InputTag(
'l1tPFTracksFromL1Tracks'),
160 muons = cms.InputTag(
'l1tSAMuonsGmt',
'promptSAMuons'),
161 emClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters:egamma')),
162 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters')),
163 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"L1VerticesEmulation"),
164 vtxCollectionEmulation = cms.bool(
True),
166 emPtCut = cms.double(0.5),
167 hadPtCut = cms.double(1.0),
168 trkPtCut = cms.double(2.0),
169 trackInputConversionAlgo = cms.string(
"Emulator"),
170 trackInputConversionParameters = cms.PSet(
171 region = cms.string(
"endcap"),
172 trackWordEncoding = cms.string(
"biased"),
173 bitwiseAccurate = cms.bool(
True),
174 slimDataFormat = cms.bool(
False),
175 ptLUTBits = cms.uint32(11),
176 etaLUTBits = cms.uint32(11),
177 etaPreOffs = cms.int32(0),
178 etaShift = cms.uint32(15-11),
179 etaPostOffs = cms.int32(150),
180 etaSigned = cms.bool(
True),
181 phiBits = cms.uint32(10),
182 z0Bits = cms.uint32(12),
183 dEtaHGCalBits = cms.uint32(10),
184 dEtaHGCalZ0PreShift = cms.uint32(2),
185 dEtaHGCalRInvPreShift = cms.uint32(6),
186 dEtaHGCalLUTBits = cms.uint32(10),
187 dEtaHGCalLUTShift = cms.uint32(2),
188 dEtaHGCalFloatOffs = cms.double(0.0),
189 dPhiHGCalBits = cms.uint32(4),
190 dPhiHGCalZ0PreShift = cms.uint32(4),
191 dPhiHGCalZ0PostShift = cms.uint32(6),
192 dPhiHGCalRInvShift = cms.uint32(4),
193 dPhiHGCalTanlInvShift = cms.uint32(22),
194 dPhiHGCalTanlLUTBits = cms.uint32(10),
195 dPhiHGCalFloatOffs = cms.double(0.0)
197 muonInputConversionAlgo = cms.string(
"Emulator"),
198 muonInputConversionParameters = muonInputConversionParameters.clone(),
199 regionizerAlgo = cms.string(
"Multififo"),
200 regionizerAlgoParameters = cms.PSet(
201 useAlsoVtxCoords = cms.bool(
True),
202 nEndcaps = cms.uint32(2),
203 nClocks = cms.uint32(54),
204 nTkLinks = cms.uint32(2),
205 nCaloLinks = cms.uint32(3),
206 nTrack = cms.uint32(30),
207 nCalo = cms.uint32(20),
208 nEmCalo = cms.uint32(10),
210 egInterceptMode = cms.PSet(
211 afterFifo = cms.bool(
True),
212 emIDMask = cms.uint32(0x1E),
213 nHADCALO_IN = cms.uint32(20),
214 nEMCALO_OUT = cms.uint32(10),
217 pfAlgo = cms.string(
"PFAlgo2HGC"),
218 pfAlgoParameters = cms.PSet(
219 nTrack = cms.uint32(30),
220 nCalo = cms.uint32(20),
222 nSelCalo = cms.uint32(20),
223 trackMuDR = cms.double(0.2),
224 trackCaloDR = cms.double(0.1),
225 maxInvisiblePt = cms.double(10.0),
226 tightTrackMaxInvisiblePt = cms.double(20),
227 caloResolution = cms.PSet(
228 etaBins = cms.vdouble( 1.700, 1.900, 2.200, 2.500, 2.800, 2.900),
229 offset = cms.vdouble( 1.793, 1.827, 2.363, 2.538, 2.812, 2.642),
230 scale = cms.vdouble( 0.138, 0.137, 0.124, 0.115, 0.106, 0.121),
232 debug = cms.untracked.bool(
False)
234 puAlgo = cms.string(
"LinearizedPuppi"),
235 puAlgoParameters = cms.PSet(
236 nTrack = cms.uint32(30),
237 nIn = cms.uint32(20),
238 nOut = cms.uint32(20),
239 nVtx = cms.uint32(1),
240 nFinalSort = cms.uint32(18),
241 finalSortAlgo = cms.string(
"FoldedHybrid"),
242 dZ = cms.double(1.33),
243 dr = cms.double(0.3),
244 drMin = cms.double(0.04),
245 ptMax = cms.double(50.),
246 absEtaCuts = cms.vdouble( 2.0 ),
247 ptCut = cms.vdouble( 1.0, 2.0 ),
248 ptSlopes = cms.vdouble( 0.3, 0.3 ),
249 ptSlopesPhoton = cms.vdouble( 0.4, 0.4 ),
250 ptZeros = cms.vdouble( 5.0, 7.0 ),
251 ptZerosPhoton = cms.vdouble( 3.0, 4.0 ),
252 alphaSlopes = cms.vdouble( 1.5, 1.5 ),
253 alphaZeros = cms.vdouble( 6.0, 6.0 ),
254 alphaCrop = cms.vdouble( 3 , 3 ),
255 priors = cms.vdouble( 5.0, 5.0 ),
256 priorsPhoton = cms.vdouble( 1.5, 1.5 ),
257 debug = cms.untracked.bool(
False)
259 tkEgAlgoParameters=tkEgAlgoParameters.clone(
266 writeBeforeBremRecovery=
False,
268 doCompositeTkEle=
True,
270 tkEgSorterAlgo = cms.string(
"Endcap"),
271 tkEgSorterParameters=tkEgSorterParameters.clone(
274 caloSectors = _hgcalSectors,
277 etaBoundaries = cms.vdouble(-2.5, -1.5),
278 phiSlices = cms.uint32(9),
279 etaExtra = cms.double(0.25),
280 phiExtra = cms.double(0.25),
283 etaBoundaries = cms.vdouble(+1.5, +2.5),
284 phiSlices = cms.uint32(9),
285 etaExtra = cms.double(0.25),
286 phiExtra = cms.double(0.25),
292 regions=cms.vuint32(
range(0, 9))),
294 regions=cms.vuint32(
range(9, 18))),
296 writeRawHgcalCluster = cms.untracked.bool(
True)
300 l1tLayer1HGCalExtended = l1tLayer1HGCal.clone(tracks = (
'l1tPFTracksFromL1TracksExtended'))
302 l1tLayer1HGCalElliptic = l1tLayer1HGCal.clone(
303 tkEgAlgoParameters = l1tLayer1HGCal.tkEgAlgoParameters.clone(
304 doCompositeTkEle =
False,
305 trkQualityPtMin = 10.)
308 l1tLayer1HGCalNoTK = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
309 tracks = cms.InputTag(
''),
310 muons = cms.InputTag(
'l1tSAMuonsGmt',
'promptSAMuons'),
311 emClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters:egamma')),
312 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters')),
313 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"L1VerticesEmulation"),
314 vtxCollectionEmulation = cms.bool(
True),
316 emPtCut = cms.double(0.5),
317 hadPtCut = cms.double(1.0),
318 trkPtCut = cms.double(2.0),
319 muonInputConversionAlgo = cms.string(
"Emulator"),
320 muonInputConversionParameters = muonInputConversionParameters.clone(),
321 regionizerAlgo = cms.string(
"Ideal"),
322 pfAlgo = cms.string(
"PFAlgoDummy"),
323 puAlgo = cms.string(
"LinearizedPuppi"),
324 regionizerAlgoParameters = cms.PSet(
325 useAlsoVtxCoords = cms.bool(
True),
327 pfAlgoParameters = cms.PSet(
328 nCalo = cms.uint32(12),
330 debug = cms.untracked.bool(
False)
332 puAlgoParameters = cms.PSet(
333 nTrack = cms.uint32(0),
334 nIn = cms.uint32(12),
335 nOut = cms.uint32(12),
336 nFinalSort = cms.uint32(12),
337 finalSortAlgo = cms.string(
"Hybrid"),
338 nVtx = cms.uint32(1),
339 dZ = cms.double(1.33),
340 dr = cms.double(0.3),
341 drMin = cms.double(0.04),
342 ptMax = cms.double(50.),
343 absEtaCuts = cms.vdouble( ),
344 ptCut = cms.vdouble( 4.0 ),
345 ptSlopes = cms.vdouble( 0.3 ),
346 ptSlopesPhoton = cms.vdouble( 0.4 ),
347 ptZeros = cms.vdouble( 9.0 ),
348 ptZerosPhoton = cms.vdouble( 5.0 ),
349 alphaSlopes = cms.vdouble( 2.2 ),
350 alphaZeros = cms.vdouble( 9.0 ),
351 alphaCrop = cms.vdouble( 4 ),
352 priors = cms.vdouble( 7.0 ),
353 priorsPhoton = cms.vdouble( 5.0 ),
354 debug = cms.untracked.bool(
False)
356 tkEgAlgoParameters=tkEgAlgoParameters.clone(
363 writeBeforeBremRecovery=
False,
365 tkEgSorterAlgo = cms.string(
"Endcap"),
366 tkEgSorterParameters=tkEgSorterParameters.clone(
369 caloSectors = _hgcalSectors,
372 etaBoundaries = cms.vdouble(-3.0, -2.5),
373 phiSlices = cms.uint32(9),
374 etaExtra = cms.double(0.25),
375 phiExtra = cms.double(0.25),
378 etaBoundaries = cms.vdouble(+2.5, +3.0),
379 phiSlices = cms.uint32(9),
380 etaExtra = cms.double(0.25),
381 phiExtra = cms.double(0.25),
387 regions=cms.vuint32(
range(0,18))),
389 writeRawHgcalCluster = cms.untracked.bool(
True)
392 l1tLayer1HF = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
393 tracks = cms.InputTag(
''),
394 muons = cms.InputTag(
'l1tSAMuonsGmt',
'promptSAMuons'),
395 useStandaloneMuons = cms.bool(
False),
396 useTrackerMuons = cms.bool(
False),
397 emClusters = cms.VInputTag(),
398 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromCombinedCaloHF:calibrated')),
399 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"L1VerticesEmulation"),
400 vtxCollectionEmulation = cms.bool(
True),
402 emPtCut = cms.double(0.5),
403 hadPtCut = cms.double(15.0),
404 trkPtCut = cms.double(2.0),
405 muonInputConversionAlgo = cms.string(
"Ideal"),
406 muonInputConversionParameters = muonInputConversionParameters.clone(),
407 regionizerAlgo = cms.string(
"Ideal"),
408 pfAlgo = cms.string(
"PFAlgoDummy"),
409 puAlgo = cms.string(
"LinearizedPuppi"),
410 regionizerAlgoParameters = cms.PSet(
411 useAlsoVtxCoords = cms.bool(
True),
413 pfAlgoParameters = cms.PSet(
414 nCalo = cms.uint32(18),
416 debug = cms.untracked.bool(
False)
418 puAlgoParameters = cms.PSet(
419 nTrack = cms.uint32(0),
420 nIn = cms.uint32(18),
421 nOut = cms.uint32(18),
422 nVtx = cms.uint32(1),
423 nFinalSort = cms.uint32(10),
424 finalSortAlgo = cms.string(
"Insertion"),
425 dZ = cms.double(1.33),
426 dr = cms.double(0.3),
427 drMin = cms.double(0.1),
428 ptMax = cms.double(100.),
429 absEtaCuts = cms.vdouble( ),
430 ptCut = cms.vdouble( 10.0 ),
431 ptSlopes = cms.vdouble( 0.25 ),
432 ptSlopesPhoton = cms.vdouble( 0.25 ),
433 ptZeros = cms.vdouble( 14.0 ),
434 ptZerosPhoton = cms.vdouble( 14.0 ),
435 alphaSlopes = cms.vdouble( 0.6 ),
436 alphaZeros = cms.vdouble( 9.0 ),
437 alphaCrop = cms.vdouble( 4 ),
438 priors = cms.vdouble( 6.0 ),
439 priorsPhoton = cms.vdouble( 6.0 ),
440 debug = cms.untracked.bool(
False)
442 tkEgAlgoParameters=tkEgAlgoParameters.clone(
449 tkEgSorterAlgo = cms.string(
"Endcap"),
450 tkEgSorterParameters=tkEgSorterParameters.clone(),
451 caloSectors = cms.VPSet(
453 etaBoundaries = cms.vdouble(-5.5, -3.0),
454 phiSlices = cms.uint32(9),
455 phiZero = cms.double(0),
458 etaBoundaries = cms.vdouble(+3.0, +5.5),
459 phiSlices = cms.uint32(9),
460 phiZero = cms.double(0),
465 etaBoundaries = cms.vdouble(-5.5, -3.0),
466 phiSlices = cms.uint32(9),
467 etaExtra = cms.double(0.25),
468 phiExtra = cms.double(0.25),
471 etaBoundaries = cms.vdouble(+3.0, +5.5),
472 phiSlices = cms.uint32(9),
473 etaExtra = cms.double(0.25),
474 phiExtra = cms.double(0.25),
481 l1tLayer1 = cms.EDProducer(
"L1TPFCandMultiMerger",
482 pfProducers = cms.VInputTag(
483 cms.InputTag(
"l1tLayer1Barrel"),
484 cms.InputTag(
"l1tLayer1HGCal"),
485 cms.InputTag(
"l1tLayer1HGCalNoTK"),
486 cms.InputTag(
"l1tLayer1HF")
488 labelsToMerge = cms.vstring(
"PF",
"Puppi",
"Calo",
"TK"),
489 regionalLabelsToMerge = cms.vstring(
"Puppi"),
493 l1tLayer1Extended = l1tLayer1.clone(
494 pfProducers = [ (
"l1tLayer1BarrelExtended"), (
"l1tLayer1HGCalExtended"),
495 (
"l1tLayer1HGCalNoTK"),(
"l1tLayer1HF")]
498 l1tLayer1EG = cms.EDProducer(
500 tkElectrons=cms.VPSet(
502 instance=cms.string(
"L1TkEleEE"),
503 pfProducers=cms.VInputTag(
504 cms.InputTag(
"l1tLayer1HGCal",
'L1TkEle')
508 instance=cms.string(
"L1TkEleEB"),
509 pfProducers=cms.VInputTag(
510 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEle')
516 instance=cms.string(
"L1TkEmEE"),
517 pfProducers=cms.VInputTag(
518 cms.InputTag(
"l1tLayer1HGCal",
'L1TkEm'),
519 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1TkEm')
523 instance=cms.string(
"L1TkEmEB"),
524 pfProducers=cms.VInputTag(
525 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEm')
531 instance=cms.string(
"L1EgEE"),
532 pfProducers=cms.VInputTag(
533 cms.InputTag(
"l1tLayer1HGCal",
'L1Eg'),
534 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1Eg')
540 l1tLayer1EGElliptic = cms.EDProducer(
542 tkElectrons=cms.VPSet(
544 instance=cms.string(
"L1TkEleEE"),
545 pfProducers=cms.VInputTag(
546 cms.InputTag(
"l1tLayer1HGCalElliptic",
'L1TkEle')
550 instance=cms.string(
"L1TkEleEB"),
551 pfProducers=cms.VInputTag(
552 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEle')
558 instance=cms.string(
"L1TkEmEE"),
559 pfProducers=cms.VInputTag(
560 cms.InputTag(
"l1tLayer1HGCalElliptic",
'L1TkEm'),
561 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1TkEm')
565 instance=cms.string(
"L1TkEmEB"),
566 pfProducers=cms.VInputTag(
567 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEm')
573 instance=cms.string(
"L1EgEE"),
574 pfProducers=cms.VInputTag(
575 cms.InputTag(
"l1tLayer1HGCalElliptic",
'L1Eg'),
576 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1Eg')
584 L1TLayer1TaskInputsTask = cms.Task(
585 l1tPFClustersFromL1EGClusters,
586 l1tPFClustersFromCombinedCaloHCal,
587 l1tPFClustersFromCombinedCaloHF,
588 l1tPFClustersFromHGC3DClusters,
589 l1tPFTracksFromL1Tracks,
590 l1tPFTracksFromL1TracksExtended
593 L1TLayer1Task = cms.Task(
595 l1tLayer1BarrelExtended,
597 l1tLayer1HGCalExtended,
602 l1tLayer1HGCalElliptic,