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')),
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 ptLUTBits = cms.uint32(11),
33 etaLUTBits = cms.uint32(10),
34 etaPreOffs = cms.int32(0),
35 etaShift = cms.uint32(15-10),
36 etaPostOffs = cms.int32(0),
37 etaSigned = cms.bool(
True),
38 phiBits = cms.uint32(10),
39 z0Bits = cms.uint32(12),
40 dEtaBarrelBits = cms.uint32(8),
41 dEtaBarrelZ0PreShift = cms.uint32(2),
42 dEtaBarrelZ0PostShift = cms.uint32(2),
43 dEtaBarrelFloatOffs = cms.double(0.0),
44 dPhiBarrelBits = cms.uint32(4),
45 dPhiBarrelRInvPreShift = cms.uint32(4),
46 dPhiBarrelRInvPostShift = cms.uint32(4),
47 dPhiBarrelFloatOffs = cms.double(0.0)
49 muonInputConversionAlgo = cms.string(
"Emulator"),
50 muonInputConversionParameters = muonInputConversionParameters.clone(),
51 regionizerAlgo = cms.string(
"Ideal"),
52 pfAlgo = cms.string(
"PFAlgo3"),
53 puAlgo = cms.string(
"LinearizedPuppi"),
55 regionizerAlgoParameters = cms.PSet(
56 useAlsoVtxCoords = cms.bool(
True),
58 pfAlgoParameters = cms.PSet(
59 nTrack = cms.uint32(25),
60 nCalo = cms.uint32(18),
62 nSelCalo = cms.uint32(18),
63 nEmCalo = cms.uint32(12),
64 nPhoton = cms.uint32(12),
65 nAllNeutral = cms.uint32(25),
66 trackMuDR = cms.double(0.2),
67 trackEmDR = cms.double(0.04),
68 emCaloDR = cms.double(0.10),
69 trackCaloDR = cms.double(0.15),
70 maxInvisiblePt = cms.double(10.0),
71 tightTrackMaxInvisiblePt = cms.double(20),
72 caloResolution = cms.PSet(
73 etaBins = cms.vdouble( 0.700, 1.200, 1.600),
74 offset = cms.vdouble( 2.909, 2.864, 0.294),
75 scale = cms.vdouble( 0.119, 0.127, 0.442),
77 debug = cms.untracked.bool(
False)
79 puAlgoParameters = cms.PSet(
80 nTrack = cms.uint32(22),
82 nOut = cms.uint32(25),
84 nFinalSort = cms.uint32(18),
85 finalSortAlgo = cms.string(
"Insertion"),
88 drMin = cms.double(0.07),
89 ptMax = cms.double(50.),
90 absEtaCuts = cms.vdouble( ),
91 ptCut = cms.vdouble( 1.0 ),
92 ptSlopes = cms.vdouble( 0.3 ),
93 ptSlopesPhoton = cms.vdouble( 0.3 ),
94 ptZeros = cms.vdouble( 4.0 ),
95 ptZerosPhoton = cms.vdouble( 2.5 ),
96 alphaSlopes = cms.vdouble( 0.7 ),
97 alphaZeros = cms.vdouble( 6.0 ),
98 alphaCrop = cms.vdouble( 4 ),
99 priors = cms.vdouble( 5.0 ),
100 priorsPhoton = cms.vdouble( 1.0 ),
101 debug = cms.untracked.bool(
False)
103 tkEgAlgoParameters=tkEgAlgoParameters.clone(
109 tkEgSorterParameters=tkEgSorterParameters.clone(
112 caloSectors = cms.VPSet(
114 etaBoundaries = cms.vdouble(-1.5, 1.5),
115 phiSlices = cms.uint32(3),
116 phiZero = cms.double(0),
121 etaBoundaries = cms.vdouble(-1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5),
122 phiSlices = cms.uint32(9),
123 etaExtra = cms.double(0.25),
124 phiExtra = cms.double(0.25),
129 regions=cms.vuint32(*[0+9*ie+i
for ie
in range(6)
for i
in range(3)])),
132 regions=cms.vuint32(*[3+9*ie+i
for ie
in range(6)
for i
in range(3)])),
135 regions=cms.vuint32(*[6+9*ie+i
for ie
in range(6)
for i
in range(3)])),
140 _hgcalSectors = cms.VPSet(
142 etaBoundaries = cms.vdouble(-3.0, -1.5),
143 phiSlices = cms.uint32(3),
144 phiZero = cms.double(math.pi/2)
147 etaBoundaries = cms.vdouble(+1.5, +3.0),
148 phiSlices = cms.uint32(3),
149 phiZero = cms.double(math.pi/2)
154 l1tLayer1HGCal = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
155 tracks = cms.InputTag(
'l1tPFTracksFromL1Tracks'),
156 muons = cms.InputTag(
'l1tSAMuonsGmt',
'promptSAMuons'),
157 emClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters:egamma')),
158 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters')),
159 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"l1verticesEmulation"),
160 vtxCollectionEmulation = cms.bool(
True),
162 emPtCut = cms.double(0.5),
163 hadPtCut = cms.double(1.0),
164 trkPtCut = cms.double(2.0),
165 trackInputConversionAlgo = cms.string(
"Emulator"),
166 trackInputConversionParameters = cms.PSet(
167 region = cms.string(
"endcap"),
168 trackWordEncoding = cms.string(
"biased"),
169 bitwiseAccurate = cms.bool(
True),
170 ptLUTBits = cms.uint32(11),
171 etaLUTBits = cms.uint32(11),
172 etaPreOffs = cms.int32(0),
173 etaShift = cms.uint32(15-11),
174 etaPostOffs = cms.int32(150),
175 etaSigned = cms.bool(
True),
176 phiBits = cms.uint32(10),
177 z0Bits = cms.uint32(12),
178 dEtaHGCalBits = cms.uint32(10),
179 dEtaHGCalZ0PreShift = cms.uint32(2),
180 dEtaHGCalRInvPreShift = cms.uint32(6),
181 dEtaHGCalLUTBits = cms.uint32(10),
182 dEtaHGCalLUTShift = cms.uint32(2),
183 dEtaHGCalFloatOffs = cms.double(0.0),
184 dPhiHGCalBits = cms.uint32(4),
185 dPhiHGCalZ0PreShift = cms.uint32(4),
186 dPhiHGCalZ0PostShift = cms.uint32(6),
187 dPhiHGCalRInvShift = cms.uint32(4),
188 dPhiHGCalTanlInvShift = cms.uint32(22),
189 dPhiHGCalTanlLUTBits = cms.uint32(10),
190 dPhiHGCalFloatOffs = cms.double(0.0)
192 muonInputConversionAlgo = cms.string(
"Emulator"),
193 muonInputConversionParameters = muonInputConversionParameters.clone(),
194 regionizerAlgo = cms.string(
"Multififo"),
195 regionizerAlgoParameters = cms.PSet(
196 useAlsoVtxCoords = cms.bool(
True),
197 nEndcaps = cms.uint32(2),
198 nClocks = cms.uint32(54),
199 nTrack = cms.uint32(30),
200 nCalo = cms.uint32(20),
201 nEmCalo = cms.uint32(10),
203 egInterceptMode = cms.PSet(
204 afterFifo = cms.bool(
True),
205 emIDMask = cms.uint32(0x1E),
206 nHADCALO_IN = cms.uint32(20),
207 nEMCALO_OUT = cms.uint32(10),
210 pfAlgo = cms.string(
"PFAlgo2HGC"),
211 pfAlgoParameters = cms.PSet(
212 nTrack = cms.uint32(30),
213 nCalo = cms.uint32(20),
215 nSelCalo = cms.uint32(20),
216 trackMuDR = cms.double(0.2),
217 trackCaloDR = cms.double(0.1),
218 maxInvisiblePt = cms.double(10.0),
219 tightTrackMaxInvisiblePt = cms.double(20),
220 caloResolution = cms.PSet(
221 etaBins = cms.vdouble( 1.700, 1.900, 2.200, 2.500, 2.800, 2.900),
222 offset = cms.vdouble( 1.793, 1.827, 2.363, 2.538, 2.812, 2.642),
223 scale = cms.vdouble( 0.138, 0.137, 0.124, 0.115, 0.106, 0.121),
225 debug = cms.untracked.bool(
False)
227 puAlgo = cms.string(
"LinearizedPuppi"),
228 puAlgoParameters = cms.PSet(
229 nTrack = cms.uint32(30),
230 nIn = cms.uint32(20),
231 nOut = cms.uint32(20),
232 nVtx = cms.uint32(1),
233 nFinalSort = cms.uint32(18),
234 finalSortAlgo = cms.string(
"FoldedHybrid"),
235 dZ = cms.double(1.33),
236 dr = cms.double(0.3),
237 drMin = cms.double(0.04),
238 ptMax = cms.double(50.),
239 absEtaCuts = cms.vdouble( 2.0 ),
240 ptCut = cms.vdouble( 1.0, 2.0 ),
241 ptSlopes = cms.vdouble( 0.3, 0.3 ),
242 ptSlopesPhoton = cms.vdouble( 0.4, 0.4 ),
243 ptZeros = cms.vdouble( 5.0, 7.0 ),
244 ptZerosPhoton = cms.vdouble( 3.0, 4.0 ),
245 alphaSlopes = cms.vdouble( 1.5, 1.5 ),
246 alphaZeros = cms.vdouble( 6.0, 6.0 ),
247 alphaCrop = cms.vdouble( 3 , 3 ),
248 priors = cms.vdouble( 5.0, 5.0 ),
249 priorsPhoton = cms.vdouble( 1.5, 1.5 ),
250 debug = cms.untracked.bool(
False)
252 tkEgAlgoParameters=tkEgAlgoParameters.clone(
259 writeBeforeBremRecovery=
False,
261 tkEgSorterParameters=tkEgSorterParameters.clone(
264 caloSectors = _hgcalSectors,
267 etaBoundaries = cms.vdouble(-2.5, -1.5),
268 phiSlices = cms.uint32(9),
269 etaExtra = cms.double(0.25),
270 phiExtra = cms.double(0.25),
273 etaBoundaries = cms.vdouble(+1.5, +2.5),
274 phiSlices = cms.uint32(9),
275 etaExtra = cms.double(0.25),
276 phiExtra = cms.double(0.25),
282 regions=cms.vuint32(
range(0, 9))),
284 regions=cms.vuint32(
range(9, 18))),
286 writeRawHgcalCluster = cms.untracked.bool(
True)
290 l1tLayer1HGCalNoTK = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
291 tracks = cms.InputTag(
''),
292 muons = cms.InputTag(
'l1tSAMuonsGmt',
'promptSAMuons'),
293 emClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters:egamma')),
294 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromHGC3DClusters')),
295 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"l1verticesEmulation"),
296 vtxCollectionEmulation = cms.bool(
True),
298 emPtCut = cms.double(0.5),
299 hadPtCut = cms.double(1.0),
300 trkPtCut = cms.double(2.0),
301 muonInputConversionAlgo = cms.string(
"Emulator"),
302 muonInputConversionParameters = muonInputConversionParameters.clone(),
303 regionizerAlgo = cms.string(
"Ideal"),
304 pfAlgo = cms.string(
"PFAlgoDummy"),
305 puAlgo = cms.string(
"LinearizedPuppi"),
306 regionizerAlgoParameters = cms.PSet(
307 useAlsoVtxCoords = cms.bool(
True),
309 pfAlgoParameters = cms.PSet(
310 nCalo = cms.uint32(12),
312 debug = cms.untracked.bool(
False)
314 puAlgoParameters = cms.PSet(
315 nTrack = cms.uint32(0),
316 nIn = cms.uint32(12),
317 nOut = cms.uint32(12),
318 nFinalSort = cms.uint32(12),
319 finalSortAlgo = cms.string(
"Hybrid"),
320 nVtx = cms.uint32(1),
321 dZ = cms.double(1.33),
322 dr = cms.double(0.3),
323 drMin = cms.double(0.04),
324 ptMax = cms.double(50.),
325 absEtaCuts = cms.vdouble( ),
326 ptCut = cms.vdouble( 4.0 ),
327 ptSlopes = cms.vdouble( 0.3 ),
328 ptSlopesPhoton = cms.vdouble( 0.4 ),
329 ptZeros = cms.vdouble( 9.0 ),
330 ptZerosPhoton = cms.vdouble( 5.0 ),
331 alphaSlopes = cms.vdouble( 2.2 ),
332 alphaZeros = cms.vdouble( 9.0 ),
333 alphaCrop = cms.vdouble( 4 ),
334 priors = cms.vdouble( 7.0 ),
335 priorsPhoton = cms.vdouble( 5.0 ),
336 debug = cms.untracked.bool(
False)
338 tkEgAlgoParameters=tkEgAlgoParameters.clone(
345 writeBeforeBremRecovery=
False,
347 tkEgSorterParameters=tkEgSorterParameters.clone(
350 caloSectors = _hgcalSectors,
353 etaBoundaries = cms.vdouble(-3.0, -2.5),
354 phiSlices = cms.uint32(9),
355 etaExtra = cms.double(0.25),
356 phiExtra = cms.double(0.25),
359 etaBoundaries = cms.vdouble(+2.5, +3.0),
360 phiSlices = cms.uint32(9),
361 etaExtra = cms.double(0.25),
362 phiExtra = cms.double(0.25),
368 regions=cms.vuint32(
range(0,18))),
370 writeRawHgcalCluster = cms.untracked.bool(
True)
373 l1tLayer1HF = cms.EDProducer(
"L1TCorrelatorLayer1Producer",
374 tracks = cms.InputTag(
''),
375 muons = cms.InputTag(
'l1tSAMuonsGmt',
'promptSAMuons'),
376 useStandaloneMuons = cms.bool(
False),
377 useTrackerMuons = cms.bool(
False),
378 emClusters = cms.VInputTag(),
379 hadClusters = cms.VInputTag(cms.InputTag(
'l1tPFClustersFromCombinedCaloHF:calibrated')),
380 vtxCollection = cms.InputTag(
"l1tVertexFinderEmulator",
"l1verticesEmulation"),
381 vtxCollectionEmulation = cms.bool(
True),
383 emPtCut = cms.double(0.5),
384 hadPtCut = cms.double(15.0),
385 trkPtCut = cms.double(2.0),
386 muonInputConversionAlgo = cms.string(
"Ideal"),
387 muonInputConversionParameters = muonInputConversionParameters.clone(),
388 regionizerAlgo = cms.string(
"Ideal"),
389 pfAlgo = cms.string(
"PFAlgoDummy"),
390 puAlgo = cms.string(
"LinearizedPuppi"),
391 regionizerAlgoParameters = cms.PSet(
392 useAlsoVtxCoords = cms.bool(
True),
394 pfAlgoParameters = cms.PSet(
395 nCalo = cms.uint32(18),
397 debug = cms.untracked.bool(
False)
399 puAlgoParameters = cms.PSet(
400 nTrack = cms.uint32(0),
401 nIn = cms.uint32(18),
402 nOut = cms.uint32(18),
403 nVtx = cms.uint32(1),
404 nFinalSort = cms.uint32(10),
405 finalSortAlgo = cms.string(
"Insertion"),
406 dZ = cms.double(1.33),
407 dr = cms.double(0.3),
408 drMin = cms.double(0.1),
409 ptMax = cms.double(100.),
410 absEtaCuts = cms.vdouble( ),
411 ptCut = cms.vdouble( 10.0 ),
412 ptSlopes = cms.vdouble( 0.25 ),
413 ptSlopesPhoton = cms.vdouble( 0.25 ),
414 ptZeros = cms.vdouble( 14.0 ),
415 ptZerosPhoton = cms.vdouble( 14.0 ),
416 alphaSlopes = cms.vdouble( 0.6 ),
417 alphaZeros = cms.vdouble( 9.0 ),
418 alphaCrop = cms.vdouble( 4 ),
419 priors = cms.vdouble( 6.0 ),
420 priorsPhoton = cms.vdouble( 6.0 ),
421 debug = cms.untracked.bool(
False)
423 tkEgAlgoParameters=tkEgAlgoParameters.clone(
430 tkEgSorterParameters=tkEgSorterParameters.clone(),
431 caloSectors = cms.VPSet(
433 etaBoundaries = cms.vdouble(-5.5, -3.0),
434 phiSlices = cms.uint32(9),
435 phiZero = cms.double(0),
438 etaBoundaries = cms.vdouble(+3.0, +5.5),
439 phiSlices = cms.uint32(9),
440 phiZero = cms.double(0),
445 etaBoundaries = cms.vdouble(-5.5, -3.0),
446 phiSlices = cms.uint32(9),
447 etaExtra = cms.double(0.25),
448 phiExtra = cms.double(0.25),
451 etaBoundaries = cms.vdouble(+3.0, +5.5),
452 phiSlices = cms.uint32(9),
453 etaExtra = cms.double(0.25),
454 phiExtra = cms.double(0.25),
461 l1tLayer1 = cms.EDProducer(
"L1TPFCandMultiMerger",
462 pfProducers = cms.VInputTag(
463 cms.InputTag(
"l1tLayer1Barrel"),
464 cms.InputTag(
"l1tLayer1HGCal"),
465 cms.InputTag(
"l1tLayer1HGCalNoTK"),
466 cms.InputTag(
"l1tLayer1HF")
468 labelsToMerge = cms.vstring(
"PF",
"Puppi",
"Calo",
"TK"),
469 regionalLabelsToMerge = cms.vstring(
"Puppi"),
472 l1tLayer1EG = cms.EDProducer(
474 tkElectrons=cms.VPSet(
476 instance=cms.string(
"L1TkEleEE"),
477 pfProducers=cms.VInputTag(
478 cms.InputTag(
"l1tLayer1HGCal",
'L1TkEle')
482 instance=cms.string(
"L1TkEleEB"),
483 pfProducers=cms.VInputTag(
484 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEle')
490 instance=cms.string(
"L1TkEmEE"),
491 pfProducers=cms.VInputTag(
492 cms.InputTag(
"l1tLayer1HGCal",
'L1TkEm'),
493 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1TkEm')
497 instance=cms.string(
"L1TkEmEB"),
498 pfProducers=cms.VInputTag(
499 cms.InputTag(
"l1tLayer1Barrel",
'L1TkEm')
505 instance=cms.string(
"L1EgEE"),
506 pfProducers=cms.VInputTag(
507 cms.InputTag(
"l1tLayer1HGCal",
'L1Eg'),
508 cms.InputTag(
"l1tLayer1HGCalNoTK",
'L1Eg')
514 L1TLayer1TaskInputsTask = cms.Task(
515 l1tPFClustersFromL1EGClusters,
516 l1tPFClustersFromCombinedCaloHCal,
517 l1tPFClustersFromCombinedCaloHF,
518 l1tPFClustersFromHGC3DClusters,
519 l1tPFTracksFromL1Tracks
522 L1TLayer1Task = cms.Task(