CMS 3D CMS Logo

customizeHLTforAlpaka.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 
4 
6  '''Ad-hoc changes to test HLT config containing only DQM_PixelReconstruction_v and DQMGPUvsCPU stream
7  only up to the Pixel Local Reconstruction
8  '''
9  dqmPixelRecoPathName = None
10  for pathName in process.paths_():
11  if pathName.startswith('DQM_PixelReconstruction_v'):
12  dqmPixelRecoPathName = pathName
13  break
14 
15  if dqmPixelRecoPathName == None:
16  return process
17 
18  process.hltPixelConsumerGPU.eventProducts = [
19  'hltSiPixelClusters',
20  'hltSiPixelClustersSoA',
21  'hltSiPixelDigis',
22  'hltSiPixelRecHits',
23  'hltSiPixelRecHitsSoA',
24  'hltPixelTracks',
25  'hltPixelTracksSoA',
26  'hltPixelVertices',
27  'hltPixelVerticesSoA',
28  ]
29 
30  process.hltPixelConsumerCPU.eventProducts = []
31  for foo in process.hltPixelConsumerGPU.eventProducts:
32  process.hltPixelConsumerCPU.eventProducts += [foo+'CPUSerial']
33 
34  # modify EventContent of DQMGPUvsCPU stream
35  if hasattr(process, 'hltOutputDQMGPUvsCPU'):
36  process.hltOutputDQMGPUvsCPU.outputCommands = [
37  'drop *',
38  'keep *Cluster*_hltSiPixelClusters_*_*',
39  'keep *Cluster*_hltSiPixelClustersLegacyFormatCPUSerial_*_*',
40  'keep *_hltSiPixelDigis_*_*',
41  'keep *_hltSiPixelDigiErrorsLegacyFormatCPUSerial_*_*',
42  'keep *RecHit*_hltSiPixelRecHits_*_*',
43  'keep *RecHit*_hltSiPixelRecHitsLegacyFormatCPUSerial_*_*',
44  'keep *_hltPixelTracks_*_*',
45  'keep *_hltPixelTracksLegacyFormatCPUSerial_*_*',
46  'keep *_hltPixelVertices_*_*',
47  'keep *_hltPixelVerticesLegacyFormatCPUSerial_*_*',
48  ]
49 
50  # PixelRecHits: monitor of CPUSerial product (Alpaka backend: 'serial_sync')
51  process.hltPixelRecHitsSoAMonitorCPU = cms.EDProducer('SiPixelPhase1MonitorRecHitsSoAAlpaka',
52  pixelHitsSrc = cms.InputTag( 'hltSiPixelRecHitsCPUSerial' ),
53  TopFolderName = cms.string( 'SiPixelHeterogeneous/PixelRecHitsCPU' )
54  )
55 
56  # PixelRecHits: monitor of GPU product (Alpaka backend: '')
57  process.hltPixelRecHitsSoAMonitorGPU = cms.EDProducer('SiPixelPhase1MonitorRecHitsSoAAlpaka',
58  pixelHitsSrc = cms.InputTag( 'hltSiPixelRecHitsSoA' ),
59  TopFolderName = cms.string( 'SiPixelHeterogeneous/PixelRecHitsGPU' )
60  )
61 
62  # PixelRecHits: 'GPUvsCPU' comparisons
63  process.hltPixelRecHitsSoACompareGPUvsCPU = cms.EDProducer('SiPixelPhase1CompareRecHitsSoAAlpaka',
64  pixelHitsSrcHost = cms.InputTag( 'hltSiPixelRecHitsCPUSerial' ),
65  pixelHitsSrcDevice = cms.InputTag( 'hltSiPixelRecHitsSoA' ),
66  topFolderName = cms.string( 'SiPixelHeterogeneous/PixelRecHitsCompareGPUvsCPU' ),
67  minD2cut = cms.double( 1.0E-4 )
68  )
69 
70  process.hltPixelTracksSoAMonitorCPU = cms.EDProducer("SiPixelPhase1MonitorTrackSoAAlpaka",
71  mightGet = cms.optional.untracked.vstring,
72  minQuality = cms.string('loose'),
73  pixelTrackSrc = cms.InputTag('hltPixelTracksCPUSerial'),
74  topFolderName = cms.string('SiPixelHeterogeneous/PixelTrackCPU'),
75  useQualityCut = cms.bool(True)
76  )
77 
78  process.hltPixelTracksSoAMonitorGPU = cms.EDProducer("SiPixelPhase1MonitorTrackSoAAlpaka",
79  mightGet = cms.optional.untracked.vstring,
80  minQuality = cms.string('loose'),
81  pixelTrackSrc = cms.InputTag('hltPixelTracksSoA'),
82  topFolderName = cms.string('SiPixelHeterogeneous/PixelTrackGPU'),
83  useQualityCut = cms.bool(True)
84  )
85 
86  process.hltPixelTracksSoACompareGPUvsCPU = cms.EDProducer("SiPixelPhase1CompareTrackSoAAlpaka",
87  deltaR2cut = cms.double(0.04),
88  mightGet = cms.optional.untracked.vstring,
89  minQuality = cms.string('loose'),
90  pixelTrackSrcHost = cms.InputTag("hltPixelTracksCPUSerial"),
91  pixelTrackSrcDevice = cms.InputTag("hltPixelTracksSoA"),
92  topFolderName = cms.string('SiPixelHeterogeneous/PixelTrackCompareGPUvsCPU'),
93  useQualityCut = cms.bool(True)
94  )
95 
96  process.hltPixelVertexSoAMonitorCPU = cms.EDProducer("SiPixelMonitorVertexSoAAlpaka",
97  beamSpotSrc = cms.InputTag("hltOnlineBeamSpot"),
98  mightGet = cms.optional.untracked.vstring,
99  pixelVertexSrc = cms.InputTag("hltPixelVerticesCPUSerial"),
100  topFolderName = cms.string('SiPixelHeterogeneous/PixelVertexCPU')
101  )
102 
103  process.hltPixelVertexSoAMonitorGPU = cms.EDProducer("SiPixelMonitorVertexSoAAlpaka",
104  beamSpotSrc = cms.InputTag("hltOnlineBeamSpot"),
105  mightGet = cms.optional.untracked.vstring,
106  pixelVertexSrc = cms.InputTag("hltPixelVerticesSoA"),
107  topFolderName = cms.string('SiPixelHeterogeneous/PixelVertexGPU')
108  )
109 
110  process.hltPixelVertexSoACompareGPUvsCPU = cms.EDProducer("SiPixelCompareVertexSoAAlpaka",
111  beamSpotSrc = cms.InputTag("hltOnlineBeamSpot"),
112  dzCut = cms.double(1),
113  mightGet = cms.optional.untracked.vstring,
114  pixelVertexSrcHost = cms.InputTag("hltPixelVerticesCPUSerial"),
115  pixelVertexSrcDevice = cms.InputTag("hltPixelVerticesSoA"),
116  topFolderName = cms.string('SiPixelHeterogeneous/PixelVertexCompareGPUvsCPU')
117  )
118 
119  process.HLTDQMPixelReconstruction = cms.Sequence(
120  process.hltPixelRecHitsSoAMonitorCPU
121  + process.hltPixelRecHitsSoAMonitorGPU
122  + process.hltPixelRecHitsSoACompareGPUvsCPU
123  + process.hltPixelTracksSoAMonitorCPU
124  + process.hltPixelTracksSoAMonitorGPU
125  + process.hltPixelTracksSoACompareGPUvsCPU
126  + process.hltPixelVertexSoAMonitorCPU
127  + process.hltPixelVertexSoAMonitorGPU
128  + process.hltPixelVertexSoACompareGPUvsCPU
129  )
130 
131  # Add CPUSerial sequences to DQM_PixelReconstruction_v Path
132  dqmPixelRecoPath = getattr(process, dqmPixelRecoPathName)
133  try:
134  dqmPixelRecoPathIndex = dqmPixelRecoPath.index(process.HLTRecopixelvertexingSequence) + 1
135  for cpuSeqName in [
136  'HLTDoLocalPixelCPUSerialSequence',
137  'HLTRecopixelvertexingCPUSerialSequence',
138  ]:
139  dqmPixelRecoPath.insert(dqmPixelRecoPathIndex, getattr(process, cpuSeqName))
140  dqmPixelRecoPathIndex += 1
141  except:
142  dqmPixelRecoPathIndex = None
143 
144  return process
145 
147  '''Customisation to introduce the Local Pixel Reconstruction in Alpaka
148  '''
149  process.hltESPSiPixelCablingSoA = cms.ESProducer('SiPixelCablingSoAESProducer@alpaka',
150  CablingMapLabel = cms.string(''),
151  UseQualityInfo = cms.bool(False),
152  appendToDataLabel = cms.string(''),
153  alpaka = cms.untracked.PSet(
154  backend = cms.untracked.string('')
155  )
156  )
157 
158  process.hltESPSiPixelGainCalibrationForHLTSoA = cms.ESProducer('SiPixelGainCalibrationForHLTSoAESProducer@alpaka',
159  appendToDataLabel = cms.string(''),
160  alpaka = cms.untracked.PSet(
161  backend = cms.untracked.string('')
162  )
163  )
164 
165  process.hltESPPixelCPEFastParamsPhase1 = cms.ESProducer('PixelCPEFastParamsESProducerAlpakaPhase1@alpaka',
166  appendToDataLabel = cms.string(''),
167  alpaka = cms.untracked.PSet(
168  backend = cms.untracked.string('')
169  )
170  )
171 
172 
173 
174  # alpaka EDProducer
175  # consumes
176  # - reco::BeamSpot
177  # produces
178  # - BeamSpotDevice
179  process.hltOnlineBeamSpotDevice = cms.EDProducer('BeamSpotDeviceProducer@alpaka',
180  src = cms.InputTag('hltOnlineBeamSpot'),
181  alpaka = cms.untracked.PSet(
182  backend = cms.untracked.string('')
183  )
184  )
185 
186  # alpaka EDProducer
187  # consumes
188  # - FEDRawDataCollection
189  # produces (* optional)
190  # - SiPixelClustersSoA
191  # - SiPixelDigisSoACollection
192  # - SiPixelDigiErrorsSoACollection *
193  # - SiPixelFormatterErrors *
194  process.hltSiPixelClustersSoA = cms.EDProducer('SiPixelRawToClusterPhase1@alpaka',
195  mightGet = cms.optional.untracked.vstring,
196  IncludeErrors = cms.bool(True),
197  UseQualityInfo = cms.bool(False),
198  clusterThreshold_layer1 = cms.int32(4000),
199  clusterThreshold_otherLayers = cms.int32(4000),
200  VCaltoElectronGain = cms.double(1), # all gains=1, pedestals=0
201  VCaltoElectronGain_L1 = cms.double(1),
202  VCaltoElectronOffset = cms.double(0),
203  VCaltoElectronOffset_L1 = cms.double(0),
204  InputLabel = cms.InputTag('rawDataCollector'),
205  Regions = cms.PSet(
206  inputs = cms.optional.VInputTag,
207  deltaPhi = cms.optional.vdouble,
208  maxZ = cms.optional.vdouble,
209  beamSpot = cms.optional.InputTag
210  ),
211  CablingMapLabel = cms.string(''),
212  # autoselect the alpaka backend
213  alpaka = cms.untracked.PSet(
214  backend = cms.untracked.string('')
215  )
216  )
217 
218  process.hltSiPixelClusters = cms.EDProducer('SiPixelDigisClustersFromSoAAlpakaPhase1',
219  src = cms.InputTag('hltSiPixelClustersSoA'),
220  clusterThreshold_layer1 = cms.int32(4000),
221  clusterThreshold_otherLayers = cms.int32(4000),
222  produceDigis = cms.bool(False),
223  storeDigis = cms.bool(False)
224  )
225 
226  process.hltSiPixelClustersCache = cms.EDProducer('SiPixelClusterShapeCacheProducer',
227  src = cms.InputTag( 'hltSiPixelClusters' ),
228  onDemand = cms.bool( False )
229  )
230 
231  # legacy EDProducer
232  # consumes
233  # - SiPixelDigiErrorsHost
234  # - SiPixelFormatterErrors
235  # produces
236  # - edm::DetSetVector<SiPixelRawDataError>
237  # - DetIdCollection
238  # - DetIdCollection, 'UserErrorModules'
239  # - edmNew::DetSetVector<PixelFEDChannel>
240  process.hltSiPixelDigis = cms.EDProducer('SiPixelDigiErrorsFromSoAAlpaka',
241  digiErrorSoASrc = cms.InputTag('hltSiPixelClustersSoA'),
242  fmtErrorsSoASrc = cms.InputTag('hltSiPixelClustersSoA'),
243  CablingMapLabel = cms.string(''),
244  UsePhase1 = cms.bool(True),
245  ErrorList = cms.vint32(29),
246  UserErrorList = cms.vint32(40)
247  )
248 
249  # alpaka EDProducer
250  # consumes
251  # - BeamSpotDevice
252  # - SiPixelClustersSoA
253  # - SiPixelDigisSoACollection
254  # produces
255  # - TrackingRecHitsSoACollection<TrackerTraits>
256  process.hltSiPixelRecHitsSoA = cms.EDProducer('SiPixelRecHitAlpakaPhase1@alpaka',
257  beamSpot = cms.InputTag('hltOnlineBeamSpotDevice'),
258  src = cms.InputTag('hltSiPixelClustersSoA'),
259  CPE = cms.string('PixelCPEFastParams'),
260  mightGet = cms.optional.untracked.vstring,
261  # autoselect the alpaka backend
262  alpaka = cms.untracked.PSet(
263  backend = cms.untracked.string('')
264  )
265  )
266 
267  process.hltSiPixelRecHits = cms.EDProducer('SiPixelRecHitFromSoAAlpakaPhase1',
268  pixelRecHitSrc = cms.InputTag('hltSiPixelRecHitsSoA'),
269  src = cms.InputTag('hltSiPixelClusters'),
270  )
271 
272 
275  process.HLTDoLocalPixelTask = cms.ConditionalTask(
276  process.hltOnlineBeamSpotDevice,
277  process.hltSiPixelClustersSoA,
278  process.hltSiPixelClusters, # was: hltSiPixelClusters
279  process.hltSiPixelClustersCache, # really needed ??
280  process.hltSiPixelDigis, # was: hltSiPixelDigis
281  process.hltSiPixelRecHitsSoA,
282  process.hltSiPixelRecHits, # was: hltSiPixelRecHits
283  )
284 
285 
288  process.hltOnlineBeamSpotDeviceCPUSerial = process.hltOnlineBeamSpotDevice.clone(
289  alpaka = dict( backend = 'serial_sync' )
290  )
291 
292  process.hltSiPixelClustersCPUSerial = process.hltSiPixelClustersSoA.clone(
293  alpaka = dict( backend = 'serial_sync' )
294  )
295 
296  process.hltSiPixelClustersLegacyFormatCPUSerial = process.hltSiPixelClusters.clone(
297  src = 'hltSiPixelClustersCPUSerial'
298  )
299 
300  process.hltSiPixelDigiErrorsLegacyFormatCPUSerial = process.hltSiPixelDigis.clone(
301  digiErrorSoASrc = 'hltSiPixelClustersCPUSerial',
302  fmtErrorsSoASrc = 'hltSiPixelClustersCPUSerial',
303  )
304 
305  process.hltSiPixelRecHitsCPUSerial = process.hltSiPixelRecHitsSoA.clone(
306  beamSpot = 'hltOnlineBeamSpotDeviceCPUSerial',
307  src = 'hltSiPixelClustersCPUSerial',
308  alpaka = dict( backend = 'serial_sync' )
309  )
310 
311  process.hltSiPixelRecHitsLegacyFormatCPUSerial = process.hltSiPixelRecHits.clone(
312  pixelRecHitSrc = 'hltSiPixelRecHitsCPUSerial',
313  src = 'hltSiPixelClustersLegacyFormatCPUSerial',
314  )
315 
316  process.HLTDoLocalPixelCPUSerialTask = cms.ConditionalTask(
317  process.hltOnlineBeamSpotDeviceCPUSerial,
318  process.hltSiPixelClustersCPUSerial,
319  process.hltSiPixelClustersLegacyFormatCPUSerial,
320  process.hltSiPixelDigiErrorsLegacyFormatCPUSerial,
321  process.hltSiPixelRecHitsCPUSerial,
322  process.hltSiPixelRecHitsLegacyFormatCPUSerial,
323  )
324 
325  process.HLTDoLocalPixelCPUSerialSequence = cms.Sequence( process.HLTDoLocalPixelCPUSerialTask )
326 
327  return process
328 
330  '''Customisation to introduce the Pixel-Track Reconstruction in Alpaka
331  '''
332 
333  # alpaka EDProducer
334  # consumes
335  # - TrackingRecHitsSoACollection<TrackerTraits>
336  # produces
337  # - TkSoADevice
338  process.hltPixelTracksSoA = cms.EDProducer('CAHitNtupletAlpakaPhase1@alpaka',
339  pixelRecHitSrc = cms.InputTag('hltSiPixelRecHitsSoA'),
340  CPE = cms.string('PixelCPEFastParams'),
341  ptmin = cms.double(0.9),
342  CAThetaCutBarrel = cms.double(0.002),
343  CAThetaCutForward = cms.double(0.003),
344  hardCurvCut = cms.double(0.0328407225),
345  dcaCutInnerTriplet = cms.double(0.15),
346  dcaCutOuterTriplet = cms.double(0.25),
347  earlyFishbone = cms.bool(True),
348  lateFishbone = cms.bool(False),
349  fillStatistics = cms.bool(False),
350  minHitsPerNtuplet = cms.uint32(3),
351  phiCuts = cms.vint32(
352  522, 730, 730, 522, 626,
353  626, 522, 522, 626, 626,
354  626, 522, 522, 522, 522,
355  522, 522, 522, 522
356  ),
357  maxNumberOfDoublets = cms.uint32(524288),
358  minHitsForSharingCut = cms.uint32(10),
359  fitNas4 = cms.bool(False),
360  doClusterCut = cms.bool(True),
361  doZ0Cut = cms.bool(True),
362  doPtCut = cms.bool(True),
363  useRiemannFit = cms.bool(False),
364  doSharedHitCut = cms.bool(True),
365  dupPassThrough = cms.bool(False),
366  useSimpleTripletCleaner = cms.bool(True),
367  idealConditions = cms.bool(False),
368  includeJumpingForwardDoublets = cms.bool(True),
369  trackQualityCuts = cms.PSet(
370  chi2MaxPt = cms.double(10),
371  chi2Coeff = cms.vdouble(0.9, 1.8),
372  chi2Scale = cms.double(8),
373  tripletMinPt = cms.double(0.5),
374  tripletMaxTip = cms.double(0.3),
375  tripletMaxZip = cms.double(12),
376  quadrupletMinPt = cms.double(0.3),
377  quadrupletMaxTip = cms.double(0.5),
378  quadrupletMaxZip = cms.double(12)
379  ),
380  # autoselect the alpaka backend
381  alpaka = cms.untracked.PSet(
382  backend = cms.untracked.string('')
383  )
384  )
385 
386  process.hltPixelTracksCPUSerial = process.hltPixelTracksSoA.clone(
387  pixelRecHitSrc = 'hltSiPixelRecHitsCPUSerial',
388  alpaka = dict( backend = 'serial_sync' )
389  )
390 
391  process.hltPixelTracks = cms.EDProducer("PixelTrackProducerFromSoAAlpakaPhase1",
392  beamSpot = cms.InputTag("hltOnlineBeamSpot"),
393  minNumberOfHits = cms.int32(0),
394  minQuality = cms.string('loose'),
395  pixelRecHitLegacySrc = cms.InputTag("hltSiPixelRecHits"),
396  trackSrc = cms.InputTag("hltPixelTracksSoA")
397  )
398 
399  process.hltPixelTracksLegacyFormatCPUSerial = process.hltPixelTracks.clone(
400  pixelRecHitLegacySrc = cms.InputTag("hltSiPixelRecHitsLegacyFormatCPUSerial"),
401  trackSrc = cms.InputTag("hltPixelTracksCPUSerial")
402  )
403 
404  process.HLTRecoPixelTracksTask = cms.ConditionalTask(
405  process.hltPixelTracksSoA,
406  process.hltPixelTracks,
407  )
408 
409  process.HLTRecoPixelTracksCPUSerialTask = cms.ConditionalTask(
410  process.hltPixelTracksCPUSerial,
411  process.hltPixelTracksLegacyFormatCPUSerial,
412  )
413 
414  process.HLTRecoPixelTracksCPUSerialSequence = cms.Sequence( process.HLTRecoPixelTracksCPUSerialTask )
415 
416  return process
417 
419  '''Customisation to introduce the Pixel-Vertex Reconstruction in Alpaka
420  '''
421 
422  # alpaka EDProducer
423  # consumes
424  # - TkSoADevice
425  # produces
426  # - ZVertexDevice
427  process.hltPixelVerticesSoA = cms.EDProducer('PixelVertexProducerAlpakaPhase1@alpaka',
428  oneKernel = cms.bool(True),
429  useDensity = cms.bool(True),
430  useDBSCAN = cms.bool(False),
431  useIterative = cms.bool(False),
432  minT = cms.int32(2),
433  eps = cms.double(0.07),
434  errmax = cms.double(0.01),
435  chi2max = cms.double(9),
436  PtMin = cms.double(0.5),
437  PtMax = cms.double(75),
438  pixelTrackSrc = cms.InputTag('hltPixelTracksSoA'),
439  # autoselect the alpaka backend
440  alpaka = cms.untracked.PSet(
441  backend = cms.untracked.string('')
442  )
443  )
444 
445  process.hltPixelVerticesCPUSerial = process.hltPixelVerticesSoA.clone(
446  pixelTrackSrc = 'hltPixelTracksCPUSerial',
447  alpaka = dict( backend = 'serial_sync' )
448  )
449 
450  process.hltPixelVertices = cms.EDProducer("PixelVertexProducerFromSoAAlpaka",
451  TrackCollection = cms.InputTag("hltPixelTracks"),
452  beamSpot = cms.InputTag("hltOnlineBeamSpot"),
453  src = cms.InputTag("hltPixelVerticesSoA")
454  )
455 
456  process.hltPixelVerticesLegacyFormatCPUSerial = process.hltPixelVertices.clone(
457  TrackCollection = cms.InputTag("hltPixelTracksLegacyFormatCPUSerial"),
458  src = cms.InputTag("hltPixelVerticesCPUSerial")
459  )
460 
461  process.HLTRecopixelvertexingTask = cms.ConditionalTask(
462  process.HLTRecoPixelTracksTask,
463  process.hltPixelVerticesSoA,
464  process.hltPixelVertices,
465  process.hltTrimmedPixelVertices
466  )
467 
468  process.HLTRecopixelvertexingCPUSerialTask = cms.ConditionalTask(
469  process.HLTRecoPixelTracksCPUSerialTask,
470  process.hltPixelVerticesCPUSerial,
471  process.hltPixelVerticesLegacyFormatCPUSerial,
472  )
473 
474  process.HLTRecopixelvertexingCPUSerialSequence = cms.Sequence( process.HLTRecopixelvertexingCPUSerialTask )
475 
476  return process
477 
479  '''Customize HLT path depending on old SoA tracks
480  '''
481  process.hltL2TauTagNNProducer = cms.EDProducer("L2TauNNProducerAlpaka",
482  BeamSpot = cms.InputTag("hltOnlineBeamSpot"),
483  L1Taus = cms.VPSet(
484  cms.PSet(
485  L1CollectionName = cms.string('DoubleTau'),
486  L1TauTrigger = cms.InputTag("hltL1sDoubleTauBigOR")
487  ),
488  cms.PSet(
489  L1CollectionName = cms.string('SingleTau'),
490  L1TauTrigger = cms.InputTag("hltL1sSingleTau")
491  ),
492  cms.PSet(
493  L1CollectionName = cms.string('MuXXTauYY'),
494  L1TauTrigger = cms.InputTag("hltL1sBigOrMuXXerIsoTauYYer")
495  ),
496  cms.PSet(
497  L1CollectionName = cms.string('Mu22Tau40'),
498  L1TauTrigger = cms.InputTag("hltL1sMu22erIsoTau40er")
499  ),
500  cms.PSet(
501  L1CollectionName = cms.string('DoubleTauJet'),
502  L1TauTrigger = cms.InputTag("hltL1sBigORDoubleTauJet")
503  ),
504  cms.PSet(
505  L1CollectionName = cms.string('VBFIsoTau'),
506  L1TauTrigger = cms.InputTag("hltL1VBFDiJetIsoTau")
507  ),
508  cms.PSet(
509  L1CollectionName = cms.string('Mu18TauXX'),
510  L1TauTrigger = cms.InputTag("hltL1sVeryBigORMu18erTauXXer2p1")
511  ),
512  cms.PSet(
513  L1CollectionName = cms.string('DoubleTauLowMass'),
514  L1TauTrigger = cms.InputTag("hltL1sDoubleTauBigORWithLowMass")
515  )
516  ),
517  debugLevel = cms.int32(0),
518  ebInput = cms.InputTag("hltEcalRecHit","EcalRecHitsEB"),
519  eeInput = cms.InputTag("hltEcalRecHit","EcalRecHitsEE"),
520  fractionSumPt2 = cms.double(0.3),
521  graphPath = cms.string('RecoTauTag/TrainingFiles/data/L2TauNNTag/L2TauTag_Run3v1.pb'),
522  hbheInput = cms.InputTag("hltHbhereco"),
523  hoInput = cms.InputTag("hltHoreco"),
524  maxVtx = cms.uint32(100),
525  minSumPt2 = cms.double(0.0),
526  normalizationDict = cms.string('RecoTauTag/TrainingFiles/data/L2TauNNTag/NormalizationDict.json'),
527  pataTracks = cms.InputTag("hltPixelTracksSoA"),
528  pataVertices = cms.InputTag("hltPixelVerticesSoA"),
529  track_chi2_max = cms.double(99999.0),
530  track_pt_max = cms.double(10.0),
531  track_pt_min = cms.double(1.0)
532  )
533 
534  return process
535 
537  '''Customisation to introduce the Pixel Local+Track+Vertex Reconstruction in Alpaka
538  '''
539 
540  process = customizeHLTforAlpakaPixelRecoLocal(process)
541  process = customizeHLTforAlpakaPixelRecoTracking(process)
542  process = customizeHLTforAlpakaPixelRecoVertexing(process)
543  process = customizeHLTforDQMGPUvsCPUPixel(process)
544  process = customizeHLTforAlpakaPixelRecoTheRest(process)
545 
546  return process
547 
548 
549 
551 
552  if hasattr(process, 'hltEcalDigisGPU'):
553  process.hltEcalDigisPortable = cms.EDProducer("EcalRawToDigiPortable@alpaka",
554  FEDs = process.hltEcalDigisGPU.FEDs,
555  InputLabel = process.hltEcalDigisGPU.InputLabel,
556  alpaka = cms.untracked.PSet(
557  backend = cms.untracked.string('')
558  ),
559  digisLabelEB = process.hltEcalDigisGPU.digisLabelEB,
560  digisLabelEE = process.hltEcalDigisGPU.digisLabelEE,
561  maxChannelsEB = process.hltEcalDigisGPU.maxChannelsEB,
562  maxChannelsEE = process.hltEcalDigisGPU.maxChannelsEE,
563  mightGet = cms.optional.untracked.vstring
564  )
565  process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerTask.add(process.hltEcalDigisPortable)
566 
567  process.load("EventFilter.EcalRawToDigi.ecalElectronicsMappingHostESProducer_cfi")
568  process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerTask.add(process.ecalElectronicsMappingHostESProducer)
569 
570  delattr(process, 'hltEcalDigisGPU')
571  delattr(process, 'ecalElectronicsMappingGPUESProducer')
572 
573  if hasattr(process, 'hltEcalDigisFromGPU'):
574  process.hltEcalDigisFromGPU = cms.EDProducer( "EcalDigisFromPortableProducer",
575  digisInLabelEB = cms.InputTag( 'hltEcalDigisPortable','ebDigis' ),
576  digisInLabelEE = cms.InputTag( 'hltEcalDigisPortable','eeDigis' ),
577  digisOutLabelEB = cms.string( "ebDigis" ),
578  digisOutLabelEE = cms.string( "eeDigis" ),
579  produceDummyIntegrityCollections = cms.bool( False )
580  )
581 
582  if hasattr(process, 'hltEcalUncalibRecHitGPU'):
583  process.hltEcalUncalibRecHitPortable = cms.EDProducer("EcalUncalibRecHitProducerPortable@alpaka",
584  EBtimeConstantTerm = process.hltEcalUncalibRecHitGPU.EBtimeConstantTerm,
585  EBtimeFitLimits_Lower = process.hltEcalUncalibRecHitGPU.EBtimeFitLimits_Lower,
586  EBtimeFitLimits_Upper = process.hltEcalUncalibRecHitGPU.EBtimeFitLimits_Upper,
587  EBtimeNconst = process.hltEcalUncalibRecHitGPU.EBtimeNconst,
588  EEtimeConstantTerm = process.hltEcalUncalibRecHitGPU.EEtimeConstantTerm,
589  EEtimeFitLimits_Lower = process.hltEcalUncalibRecHitGPU.EEtimeFitLimits_Lower,
590  EEtimeFitLimits_Upper = process.hltEcalUncalibRecHitGPU.EEtimeFitLimits_Upper,
591  EEtimeNconst = process.hltEcalUncalibRecHitGPU.EEtimeNconst,
592  alpaka = cms.untracked.PSet(
593  backend = cms.untracked.string('')
594  ),
595  amplitudeThresholdEB = process.hltEcalUncalibRecHitGPU.amplitudeThresholdEB,
596  amplitudeThresholdEE = process.hltEcalUncalibRecHitGPU.amplitudeThresholdEE,
597  digisLabelEB = cms.InputTag("hltEcalDigisPortable","ebDigis"),
598  digisLabelEE = cms.InputTag("hltEcalDigisPortable","eeDigis"),
599  kernelMinimizeThreads = process.hltEcalUncalibRecHitGPU.kernelMinimizeThreads,
600  mightGet = cms.optional.untracked.vstring,
601  outOfTimeThresholdGain12mEB = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain12mEB,
602  outOfTimeThresholdGain12mEE = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain12mEE,
603  outOfTimeThresholdGain12pEB = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain12pEB,
604  outOfTimeThresholdGain12pEE = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain12pEE,
605  outOfTimeThresholdGain61mEB = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain61mEB,
606  outOfTimeThresholdGain61mEE = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain61mEE,
607  outOfTimeThresholdGain61pEB = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain61pEB,
608  outOfTimeThresholdGain61pEE = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain61pEE,
609  recHitsLabelEB = process.hltEcalUncalibRecHitGPU.recHitsLabelEB,
610  recHitsLabelEE = process.hltEcalUncalibRecHitGPU.recHitsLabelEE,
611  shouldRunTimingComputation = process.hltEcalUncalibRecHitGPU.shouldRunTimingComputation
612  )
613  process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerTask.add(process.hltEcalUncalibRecHitPortable)
614 
615  process.load("RecoLocalCalo.EcalRecProducers.ecalMultifitConditionsHostESProducer_cfi")
616  process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerTask.add(process.ecalMultifitConditionsHostESProducer)
617 
618  process.ecalMultifitParametersSource = cms.ESSource("EmptyESSource",
619  firstValid = cms.vuint32(1),
620  iovIsRunNotTime = cms.bool(True),
621  recordName = cms.string('EcalMultifitParametersRcd')
622  )
623  process.load("RecoLocalCalo.EcalRecProducers.ecalMultifitParametersHostESProducer_cfi")
624  process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerTask.add(process.ecalMultifitParametersHostESProducer)
625 
626  delattr(process, 'hltEcalUncalibRecHitGPU')
627 
628  if hasattr(process, 'hltEcalUncalibRecHitFromSoA'):
629  process.hltEcalUncalibRecHitFromSoA = cms.EDProducer("EcalUncalibRecHitSoAToLegacy",
630  isPhase2 = process.hltEcalUncalibRecHitFromSoA.isPhase2,
631  mightGet = cms.optional.untracked.vstring,
632  recHitsLabelCPUEB = process.hltEcalUncalibRecHitFromSoA.recHitsLabelCPUEB,
633  recHitsLabelCPUEE = process.hltEcalUncalibRecHitFromSoA.recHitsLabelCPUEE,
634  uncalibRecHitsPortableEB = cms.InputTag("hltEcalUncalibRecHitPortable","EcalUncalibRecHitsEB"),
635  uncalibRecHitsPortableEE = cms.InputTag("hltEcalUncalibRecHitPortable","EcalUncalibRecHitsEE")
636  )
637 
638  if hasattr(process, 'hltEcalUncalibRecHitSoA'):
639  delattr(process, 'hltEcalUncalibRecHitSoA')
640 
641  process.HLTDoFullUnpackingEgammaEcalTask = cms.ConditionalTask(process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerTask, process.HLTPreshowerTask)
642 
643  return process
644 
646 
647  process.load("HeterogeneousCore.AlpakaCore.ProcessAcceleratorAlpaka_cfi")
648  process.load('Configuration.StandardSequences.Accelerators_cff')
649 
650  process = customizeHLTforAlpakaEcalLocalReco(process)
651  process = customizeHLTforAlpakaPixelReco(process)
652 
653  return process
654 
def customizeHLTforDQMGPUvsCPUPixel(process)
Pixel HLT in Alpaka.
def customizeHLTforAlpakaPixelRecoVertexing(process)
def customizeHLTforAlpakaPixelRecoTracking(process)
def customizeHLTforAlpakaPixelRecoLocal(process)
def customizeHLTforAlpakaPixelReco(process)
def customizeHLTforAlpakaEcalLocalReco(process)
ECAL HLT in Alpaka.
def customizeHLTforAlpakaPixelRecoTheRest(process)