1 import FWCore.ParameterSet.Config
as cms
4 from L1Trigger.Phase2L1ParticleFlow.pfClustersFromL1EGClusters_cfi
import pfClustersFromL1EGClusters
5 from L1Trigger.Phase2L1ParticleFlow.pfClustersFromCombinedCalo_cfi
import pfClustersFromCombinedCalo
6 from L1Trigger.Phase2L1ParticleFlow.l1pfProducer_cfi
import l1pfProducer
9 from Configuration.Eras.Modifier_phase2_hgcalV10_cff
import phase2_hgcalV10
10 from Configuration.Eras.Modifier_phase2_hgcalV11_cff
import phase2_hgcalV11
13 pfClustersFromCombinedCaloHCal = pfClustersFromCombinedCalo.clone(
14 hcalHGCTowers = [], hcalDigis = [],
15 hcalDigisBarrel =
True, hcalDigisHF =
False,
16 hadCorrector = cms.string(
"L1Trigger/Phase2L1ParticleFlow/data/hadcorr_barrel.root"),
18 etaBins = cms.vdouble( 0.700, 1.200, 1.600),
19 offset = cms.vdouble( 2.582, 2.191, -0.077),
20 scale = cms.vdouble( 0.122, 0.143, 0.465),
21 kind = cms.string(
'calo'),
23 phase2_hgcalV10.toModify(pfClustersFromCombinedCaloHCal,
24 hadCorrector =
"L1Trigger/Phase2L1ParticleFlow/data/hadcorr_barrel_106X.root",
26 etaBins = cms.vdouble( 0.700, 1.200, 1.600),
27 offset = cms.vdouble( 3.084, 2.715, 0.107),
28 scale = cms.vdouble( 0.118, 0.130, 0.442),
29 kind = cms.string(
'calo'),
32 phase2_hgcalV11.toModify(pfClustersFromCombinedCaloHCal,
33 hadCorrector =
"L1Trigger/Phase2L1ParticleFlow/data/hadcorr_barrel_110X.root",
35 etaBins = cms.vdouble( 0.700, 1.200, 1.600),
36 offset = cms.vdouble( 2.909, 2.864, 0.294),
37 scale = cms.vdouble( 0.119, 0.127, 0.442),
38 kind = cms.string(
'calo'),
42 pfTracksFromL1TracksBarrel = pfTracksFromL1Tracks.clone(
43 resolCalo = pfClustersFromCombinedCaloHCal.resol.clone(),
46 pfClustersFromCombinedCaloHF = pfClustersFromCombinedCalo.clone(
47 ecalCandidates = [], hcalHGCTowers = [],
48 phase2barrelCaloTowers = [],
49 hadCorrector = cms.string(
"L1Trigger/Phase2L1ParticleFlow/data/hfcorr.root"),
51 etaBins = cms.vdouble( 3.500, 4.000, 4.500, 5.000),
52 offset = cms.vdouble( 1.099, 0.930, 1.009, 1.369),
53 scale = cms.vdouble( 0.152, 0.151, 0.144, 0.179),
54 kind = cms.string(
'calo'),
56 phase2_hgcalV10.toModify(pfClustersFromCombinedCaloHF,
57 hcalCandidates = cms.VInputTag(cms.InputTag(
"hgcalBackEndLayer2Producer",
"HGCalBackendLayer2Processor3DClustering")),
58 hadCorrector =
"L1Trigger/Phase2L1ParticleFlow/data/hfcorr_106X.root",
60 etaBins = cms.vdouble( 3.500, 4.000, 4.500, 5.000),
61 offset = cms.vdouble(-0.846, 0.696, 1.313, 1.044),
62 scale = cms.vdouble( 0.815, 0.164, 0.146, 0.192),
63 kind = cms.string(
'calo'),
66 phase2_hgcalV11.toModify(pfClustersFromCombinedCaloHF,
67 hcalCandidates = cms.VInputTag(cms.InputTag(
"hgcalBackEndLayer2Producer",
"HGCalBackendLayer2Processor3DClustering")),
68 hadCorrector =
"L1Trigger/Phase2L1ParticleFlow/data/hfcorr_110X.root",
70 etaBins = cms.vdouble( 3.500, 4.000, 4.500, 5.000),
71 offset = cms.vdouble(-1.125, 1.220, 1.514, 1.414),
72 scale = cms.vdouble( 0.868, 0.159, 0.148, 0.194),
73 kind = cms.string(
'calo'),
78 from L1Trigger.Phase2L1ParticleFlow.pfClustersFromHGC3DClusters_cfi
import pfClustersFromHGC3DClusters
80 l1ParticleFlow_calo_Task = cms.Task(
81 pfClustersFromL1EGClusters ,
82 pfClustersFromCombinedCaloHCal ,
83 pfClustersFromCombinedCaloHF ,
84 pfClustersFromHGC3DClusters
86 l1ParticleFlow_calo = cms.Sequence(l1ParticleFlow_calo_Task)
90 l1pfProducerBarrel = l1pfProducer.clone(
92 tracks = cms.InputTag(
'pfTracksFromL1TracksBarrel'),
93 emClusters = [ cms.InputTag(
'pfClustersFromL1EGClusters') ],
94 hadClusters = [ cms.InputTag(
'pfClustersFromCombinedCaloHCal:calibrated') ],
96 puppiUsingBareTracks =
True,
100 vtxFormat = cms.string(
"TkPrimaryVertex"),
101 vtxCollection = cms.InputTag(
"L1TkPrimaryVertex",
""),
103 puAlgo =
"LinearizedPuppi",
104 puppiEtaCuts = cms.vdouble( 1.6 ),
105 puppiPtCuts = cms.vdouble( 1.0 ),
106 puppiPtCutsPhotons = cms.vdouble( 1.0 ),
107 puppiPtSlopes = cms.vdouble( 0.3 ),
108 puppiPtSlopesPhotons = cms.vdouble( 0.3 ),
109 puppiPtZeros = cms.vdouble( 4.0 ),
110 puppiPtZerosPhotons = cms.vdouble( 2.5 ),
111 puppiAlphaSlopes = cms.vdouble( 0.7 ),
112 puppiAlphaSlopesPhotons = cms.vdouble( 0.7 ),
113 puppiAlphaZeros = cms.vdouble( 6.0 ),
114 puppiAlphaZerosPhotons = cms.vdouble( 6.0 ),
115 puppiAlphaCrops = cms.vdouble( 4 ),
116 puppiAlphaCropsPhotons = cms.vdouble( 4 ),
117 puppiPriors = cms.vdouble( 5.0 ),
118 puppiPriorsPhotons = cms.vdouble( 1.0 ),
120 useRelativeRegionalCoordinates = cms.bool(
False),
121 trackRegionMode = cms.string(
"atCalo"),
124 etaBoundaries = cms.vdouble(-1.5,1.5),
125 phiSlices = cms.uint32(1),
126 etaExtra = cms.double(0.3),
127 phiExtra = cms.double(0.0)
131 l1ParticleFlow_pf_barrel_Task = cms.Task(
132 pfTracksFromL1TracksBarrel ,
135 l1ParticleFlow_pf_barrel = cms.Sequence(l1ParticleFlow_pf_barrel_Task)
140 pfTracksFromL1TracksHGCal = pfTracksFromL1Tracks.clone(
141 resolCalo = pfClustersFromHGC3DClusters.resol.clone(),
143 l1pfProducerHGCal = l1pfProducer.clone(
145 pfAlgo =
"PFAlgo2HGC",
147 tracks = cms.InputTag(
'pfTracksFromL1TracksHGCal'),
149 hadClusters = [ cms.InputTag(
"pfClustersFromHGC3DClusters") ],
153 puppiUsingBareTracks =
True,
154 vtxAlgo =
"external",
155 vtxFormat = cms.string(
"TkPrimaryVertex"),
156 vtxCollection = cms.InputTag(
"L1TkPrimaryVertex",
""),
158 puAlgo =
"LinearizedPuppi",
159 puppiEtaCuts = cms.vdouble( 2.0, 2.4, 3.1 ),
160 puppiPtCuts = cms.vdouble( 1.0, 2.0, 4.0 ),
161 puppiPtCutsPhotons = cms.vdouble( 1.0, 2.0, 4.0 ),
162 puppiPtSlopes = cms.vdouble( 0.3, 0.3, 0.3 ),
163 puppiPtSlopesPhotons = cms.vdouble( 0.4, 0.4, 0.4 ),
164 puppiPtZeros = cms.vdouble( 5.0, 7.0, 9.0 ),
165 puppiPtZerosPhotons = cms.vdouble( 3.0, 4.0, 5.0 ),
166 puppiAlphaSlopes = cms.vdouble( 1.5, 1.5, 2.2 ),
167 puppiAlphaSlopesPhotons = cms.vdouble( 1.5, 1.5, 2.2 ),
168 puppiAlphaZeros = cms.vdouble( 6.0, 6.0, 9.0 ),
169 puppiAlphaZerosPhotons = cms.vdouble( 6.0, 6.0, 9.0 ),
170 puppiAlphaCrops = cms.vdouble( 3 , 3 , 4 ),
171 puppiAlphaCropsPhotons = cms.vdouble( 3 , 3 , 4 ),
172 puppiPriors = cms.vdouble( 5.0, 5.0, 7.0 ),
173 puppiPriorsPhotons = cms.vdouble( 1.5, 1.5, 5.0 ),
175 useRelativeRegionalCoordinates = cms.bool(
False),
176 trackRegionMode = cms.string(
"atCalo"),
179 etaBoundaries = cms.vdouble(-2.5,-1.5),
180 phiSlices = cms.uint32(1),
181 etaExtra = cms.double(0.3),
182 phiExtra = cms.double(0.0)
185 etaBoundaries = cms.vdouble(1.5,2.5),
186 phiSlices = cms.uint32(1),
187 etaExtra = cms.double(0.3),
188 phiExtra = cms.double(0.0)
192 l1pfProducerHGCal.linking.trackCaloDR = 0.1
193 l1pfProducerHGCal.linking.ecalPriority =
False
194 l1pfProducerHGCalNoTK = l1pfProducerHGCal.clone(regions = cms.VPSet(
196 etaBoundaries = cms.vdouble(-3,-2.5),
197 phiSlices = cms.uint32(1),
198 etaExtra = cms.double(0.3),
199 phiExtra = cms.double(0.0)
202 etaBoundaries = cms.vdouble(2.5,3),
203 phiSlices = cms.uint32(1),
204 etaExtra = cms.double(0.3),
205 phiExtra = cms.double(0.0)
209 l1ParticleFlow_pf_hgcal_Task = cms.Task(
210 pfTracksFromL1TracksHGCal ,
212 l1pfProducerHGCalNoTK
214 l1ParticleFlow_pf_hgcal = cms.Sequence(l1ParticleFlow_pf_hgcal_Task)
219 l1pfProducerHF = l1pfProducer.clone(
221 tracks = cms.InputTag(
''),
223 hadClusters = [ cms.InputTag(
'pfClustersFromCombinedCaloHF:calibrated') ],
228 vtxAlgo =
"external",
229 vtxFormat = cms.string(
"TkPrimaryVertex"),
230 vtxCollection = cms.InputTag(
"L1TkPrimaryVertex",
""),
232 puAlgo =
"LinearizedPuppi",
233 puppiEtaCuts = cms.vdouble( 5.5 ),
234 puppiPtCuts = cms.vdouble( 10. ),
235 puppiPtCutsPhotons = cms.vdouble( 10. ),
236 puppiPtSlopes = cms.vdouble( 0.25),
237 puppiPtSlopesPhotons = cms.vdouble( 0.25),
238 puppiPtZeros = cms.vdouble( 14. ),
239 puppiPtZerosPhotons = cms.vdouble( 14. ),
240 puppiAlphaSlopes = cms.vdouble( 0.6 ),
241 puppiAlphaSlopesPhotons = cms.vdouble( 0.6 ),
242 puppiAlphaZeros = cms.vdouble( 9.0 ),
243 puppiAlphaZerosPhotons = cms.vdouble( 9.0 ),
244 puppiAlphaCrops = cms.vdouble( 4 ),
245 puppiAlphaCropsPhotons = cms.vdouble( 4 ),
246 puppiPriors = cms.vdouble( 6.0 ),
247 puppiPriorsPhotons = cms.vdouble( 6.0 ),
249 useRelativeRegionalCoordinates = cms.bool(
False),
250 trackRegionMode = cms.string(
"atCalo"),
253 etaBoundaries = cms.vdouble(-5.5,-3),
254 phiSlices = cms.uint32(1),
255 etaExtra = cms.double(0.0),
256 phiExtra = cms.double(0.0)
259 etaBoundaries = cms.vdouble(3,5.5),
260 phiSlices = cms.uint32(1),
261 etaExtra = cms.double(0.0),
262 phiExtra = cms.double(0.0)
266 l1ParticleFlow_pf_hf_Task = cms.Task(
269 l1ParticleFlow_pf_hf = cms.Sequence(l1ParticleFlow_pf_hf_Task)
273 l1pfProducerTSA = l1pfProducerBarrel.clone(
274 trackRegionMode = cms.string(
"atVertex"),
277 etaBoundaries = cms.vdouble(-3,3),
278 phiSlices = cms.uint32(18),
279 etaExtra = cms.double(0.0),
280 phiExtra = cms.double(0.0)
284 l1ParticleFlow_pf_tsa = cms.Sequence(
285 pfTracksFromL1TracksBarrel +
290 l1pfCandidates = cms.EDProducer(
"L1TPFCandMultiMerger",
291 pfProducers = cms.VInputTag(
292 cms.InputTag(
"l1pfProducerBarrel"),
293 cms.InputTag(
"l1pfProducerHGCal"),
294 cms.InputTag(
"l1pfProducerHGCalNoTK"),
295 cms.InputTag(
"l1pfProducerHF")
297 labelsToMerge = cms.vstring(
"Calo",
"TK",
"TKVtx",
"PF",
"Puppi"),
300 l1ParticleFlow_proper = cms.Sequence(
301 l1ParticleFlow_calo +
302 l1ParticleFlow_pf_barrel +
303 l1ParticleFlow_pf_hgcal +
304 l1ParticleFlow_pf_hf +
308 l1ParticleFlow = cms.Sequence(l1ParticleFlow_proper)
310 l1ParticleFlowTask = cms.Task(
311 l1ParticleFlow_calo_Task,
312 l1ParticleFlow_pf_barrel_Task,
313 l1ParticleFlow_pf_hgcal_Task,
314 l1ParticleFlow_pf_hf_Task,
315 cms.Task(l1pfCandidates)