CMS 3D CMS Logo

Functions
customizeHLTforAlpaka Namespace Reference

Functions

def customizeHLTforAlpaka (process)
 
def customizeHLTforAlpakaEcalLocalReco (process)
 ECAL HLT in Alpaka. More...
 
def customizeHLTforAlpakaPixelReco (process)
 
def customizeHLTforAlpakaPixelRecoLocal (process)
 
def customizeHLTforAlpakaPixelRecoTheRest (process)
 
def customizeHLTforAlpakaPixelRecoTracking (process)
 
def customizeHLTforAlpakaPixelRecoVertexing (process)
 
def customizeHLTforDQMGPUvsCPUPixel (process)
 Pixel HLT in Alpaka. More...
 

Function Documentation

◆ customizeHLTforAlpaka()

def customizeHLTforAlpaka.customizeHLTforAlpaka (   process)

Definition at line 645 of file customizeHLTforAlpaka.py.

References customizeHLTforAlpakaEcalLocalReco(), and customizeHLTforAlpakaPixelReco().

645 def customizeHLTforAlpaka(process):
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 
655 
def customizeHLTforAlpakaPixelReco(process)
def customizeHLTforAlpakaEcalLocalReco(process)
ECAL HLT in Alpaka.

◆ customizeHLTforAlpakaEcalLocalReco()

def customizeHLTforAlpaka.customizeHLTforAlpakaEcalLocalReco (   process)

ECAL HLT in Alpaka.

Definition at line 550 of file customizeHLTforAlpaka.py.

Referenced by customizeHLTforAlpaka().

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 
def customizeHLTforAlpakaEcalLocalReco(process)
ECAL HLT in Alpaka.

◆ customizeHLTforAlpakaPixelReco()

def customizeHLTforAlpaka.customizeHLTforAlpakaPixelReco (   process)
Customisation to introduce the Pixel Local+Track+Vertex Reconstruction in Alpaka

Definition at line 536 of file customizeHLTforAlpaka.py.

References customizeHLTforAlpakaPixelRecoLocal(), customizeHLTforAlpakaPixelRecoTheRest(), customizeHLTforAlpakaPixelRecoTracking(), customizeHLTforAlpakaPixelRecoVertexing(), and customizeHLTforDQMGPUvsCPUPixel().

Referenced by customizeHLTforAlpaka().

536 def customizeHLTforAlpakaPixelReco(process):
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 
def customizeHLTforDQMGPUvsCPUPixel(process)
Pixel HLT in Alpaka.
def customizeHLTforAlpakaPixelRecoVertexing(process)
def customizeHLTforAlpakaPixelRecoTracking(process)
def customizeHLTforAlpakaPixelRecoLocal(process)
def customizeHLTforAlpakaPixelReco(process)
def customizeHLTforAlpakaPixelRecoTheRest(process)

◆ customizeHLTforAlpakaPixelRecoLocal()

def customizeHLTforAlpaka.customizeHLTforAlpakaPixelRecoLocal (   process)
Customisation to introduce the Local Pixel Reconstruction in Alpaka

Definition at line 146 of file customizeHLTforAlpaka.py.

Referenced by customizeHLTforAlpakaPixelReco().

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 
def customizeHLTforAlpakaPixelRecoLocal(process)

◆ customizeHLTforAlpakaPixelRecoTheRest()

def customizeHLTforAlpaka.customizeHLTforAlpakaPixelRecoTheRest (   process)
Customize HLT path depending on old SoA tracks

Definition at line 478 of file customizeHLTforAlpaka.py.

Referenced by customizeHLTforAlpakaPixelReco().

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 
def customizeHLTforAlpakaPixelRecoTheRest(process)

◆ customizeHLTforAlpakaPixelRecoTracking()

def customizeHLTforAlpaka.customizeHLTforAlpakaPixelRecoTracking (   process)
Customisation to introduce the Pixel-Track Reconstruction in Alpaka

Definition at line 329 of file customizeHLTforAlpaka.py.

Referenced by customizeHLTforAlpakaPixelReco().

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 
def customizeHLTforAlpakaPixelRecoTracking(process)

◆ customizeHLTforAlpakaPixelRecoVertexing()

def customizeHLTforAlpaka.customizeHLTforAlpakaPixelRecoVertexing (   process)
Customisation to introduce the Pixel-Vertex Reconstruction in Alpaka

Definition at line 418 of file customizeHLTforAlpaka.py.

Referenced by customizeHLTforAlpakaPixelReco().

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 
def customizeHLTforAlpakaPixelRecoVertexing(process)

◆ customizeHLTforDQMGPUvsCPUPixel()

def customizeHLTforAlpaka.customizeHLTforDQMGPUvsCPUPixel (   process)

Pixel HLT in Alpaka.

Ad-hoc changes to test HLT config containing only DQM_PixelReconstruction_v and DQMGPUvsCPU stream
   only up to the Pixel Local Reconstruction

Definition at line 5 of file customizeHLTforAlpaka.py.

Referenced by customizeHLTforAlpakaPixelReco().

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 
def customizeHLTforDQMGPUvsCPUPixel(process)
Pixel HLT in Alpaka.