diff --git a/CalibTracker/Configuration/python/Reconstruction_cff.py b/CalibTracker/Configuration/python/Reconstruction_cff.py index fa1cad3d1372d..d49f3e13a0e17 100644 --- a/CalibTracker/Configuration/python/Reconstruction_cff.py +++ b/CalibTracker/Configuration/python/Reconstruction_cff.py @@ -7,7 +7,7 @@ from RecoLocalTracker.SiStripZeroSuppression.SiStripZeroSuppression_cfi import * from RecoLocalTracker.SiStripClusterizer.SiStripClusterizer_cfi import * recolocal = cms.Sequence(siPixelDigis + siPixelClustersPreSplitting + siStripDigis + siStripZeroSuppression + siStripClusters) -siPixelDigis.cpu.InputLabel = 'rawDataCollector' +siPixelDigis.InputLabel = 'rawDataCollector' # tracking from RecoVertex.BeamSpotProducer.BeamSpot_cff import * diff --git a/Calibration/LumiAlCaRecoProducers/python/ALCARECOLumiPixels_cff.py b/Calibration/LumiAlCaRecoProducers/python/ALCARECOLumiPixels_cff.py index 25c7e5e60cb26..153c944ea4721 100644 --- a/Calibration/LumiAlCaRecoProducers/python/ALCARECOLumiPixels_cff.py +++ b/Calibration/LumiAlCaRecoProducers/python/ALCARECOLumiPixels_cff.py @@ -9,12 +9,12 @@ ) from EventFilter.SiPixelRawToDigi.SiPixelRawToDigi_cfi import siPixelDigis -siPixelDigisForLumi = siPixelDigis.cpu.clone( +siPixelDigisForLumi = siPixelDigis.clone( InputLabel = "hltFEDSelectorLumiPixels" ) from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizerPreSplitting_cfi import siPixelClustersPreSplitting -siPixelClustersForLumi = siPixelClustersPreSplitting.cpu.clone( +siPixelClustersForLumi = siPixelClustersPreSplitting.clone( src = "siPixelDigisForLumi" ) diff --git a/Configuration/ProcessModifiers/python/gpuValidationEcal_cff.py b/Configuration/ProcessModifiers/python/gpuValidationEcal_cff.py deleted file mode 100644 index dfe5aeed6e52a..0000000000000 --- a/Configuration/ProcessModifiers/python/gpuValidationEcal_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# This modifier is for turning on gpu validation modules for ECAL DQM - -gpuValidationEcal = cms.Modifier() diff --git a/Configuration/ProcessModifiers/python/gpuValidationHcal_cff.py b/Configuration/ProcessModifiers/python/gpuValidationHcal_cff.py deleted file mode 100644 index e1646440cf61e..0000000000000 --- a/Configuration/ProcessModifiers/python/gpuValidationHcal_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# This modifier is for turning on gpu validation modules for HCAL DQM - -gpuValidationHcal = cms.Modifier() diff --git a/Configuration/ProcessModifiers/python/gpuValidationPixel_cff.py b/Configuration/ProcessModifiers/python/gpuValidationPixel_cff.py deleted file mode 100644 index 267e2916b62a9..0000000000000 --- a/Configuration/ProcessModifiers/python/gpuValidationPixel_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# This modifier is for turning on gpu validation modules for Pixel DQM - -gpuValidationPixel = cms.Modifier() diff --git a/Configuration/ProcessModifiers/python/gpuValidation_cff.py b/Configuration/ProcessModifiers/python/gpuValidation_cff.py deleted file mode 100644 index 58cb45db31b7f..0000000000000 --- a/Configuration/ProcessModifiers/python/gpuValidation_cff.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.ProcessModifiers.gpu_cff import * -from Configuration.ProcessModifiers.gpuValidationEcal_cff import * -from Configuration.ProcessModifiers.gpuValidationHcal_cff import * -from Configuration.ProcessModifiers.gpuValidationPixel_cff import * - -# This modifier chain is for turning on DQM modules used for gpu validation - -gpuValidation = cms.ModifierChain( - gpu, - gpuValidationEcal, - gpuValidationHcal, - gpuValidationPixel -) diff --git a/Configuration/ProcessModifiers/python/gpu_cff.py b/Configuration/ProcessModifiers/python/gpu_cff.py deleted file mode 100644 index 993f71804fbc1..0000000000000 --- a/Configuration/ProcessModifiers/python/gpu_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# This modifier is for replacing CPU modules with GPU counterparts - -gpu = cms.Modifier() diff --git a/Configuration/StandardSequences/python/RawToDigi_Repacked_cff.py b/Configuration/StandardSequences/python/RawToDigi_Repacked_cff.py index e40eaee29c6e1..b39b63cd85ed1 100644 --- a/Configuration/StandardSequences/python/RawToDigi_Repacked_cff.py +++ b/Configuration/StandardSequences/python/RawToDigi_Repacked_cff.py @@ -2,7 +2,6 @@ from Configuration.StandardSequences.RawToDigi_cff import * -from Configuration.ProcessModifiers.gpu_cff import gpu from Configuration.ProcessModifiers.alpaka_cff import alpaka scalersRawToDigi.scalersInputTag = 'rawDataRepacker' @@ -11,11 +10,10 @@ gctDigis.inputLabel = 'rawDataRepacker' gtDigis.DaqGtInputTag = 'rawDataRepacker' gtEvmDigis.EvmGtInputTag = 'rawDataRepacker' -siPixelDigis.cpu.InputLabel = 'rawDataRepacker' +siPixelDigis.InputLabel = 'rawDataRepacker' siStripDigis.ProductLabel = 'rawDataRepacker' -ecalDigisCPU.InputLabel = 'rawDataRepacker' -gpu.toModify(ecalDigisGPU, InputLabel = 'rawDataRepacker') -alpaka.toModify(ecalDigisPortable, InputLabel = 'rawDataRepacker') +ecalDigis.InputLabel = 'rawDataRepacker' +ecalDigisPortable.InputLabel = 'rawDataRepacker' ecalPreshowerDigis.sourceTag = 'rawDataRepacker' hcalDigis.InputLabel = 'rawDataRepacker' muonCSCDigis.InputObjects = 'rawDataRepacker' diff --git a/Configuration/StandardSequences/python/RawToDigi_cff.py b/Configuration/StandardSequences/python/RawToDigi_cff.py index 321e5daa02370..d89edb0d49810 100644 --- a/Configuration/StandardSequences/python/RawToDigi_cff.py +++ b/Configuration/StandardSequences/python/RawToDigi_cff.py @@ -1,5 +1,4 @@ import FWCore.ParameterSet.Config as cms -from Configuration.ProcessModifiers.gpu_cff import gpu # This object is used to selectively make changes for different running # scenarios. In this case it makes changes for Run 2. @@ -73,14 +72,12 @@ RawToDigiTask_hcalOnly = cms.Task(hcalDigis) RawToDigi_hcalOnly = cms.Sequence(RawToDigiTask_hcalOnly) -from Configuration.ProcessModifiers.gpu_cff import gpu from Configuration.ProcessModifiers.alpaka_cff import alpaka scalersRawToDigi.scalersInputTag = 'rawDataCollector' -siPixelDigis.cpu.InputLabel = 'rawDataCollector' -ecalDigisCPU.InputLabel = 'rawDataCollector' -gpu.toModify(ecalDigisGPU, InputLabel = 'rawDataCollector') -alpaka.toModify(ecalDigisPortable, InputLabel = 'rawDataCollector') +siPixelDigis.InputLabel = 'rawDataCollector' +ecalDigis.InputLabel = 'rawDataCollector' +ecalDigisPortable.InputLabel = 'rawDataCollector' ecalPreshowerDigis.sourceTag = 'rawDataCollector' hcalDigis.InputLabel = 'rawDataCollector' muonCSCDigis.InputObjects = 'rawDataCollector' diff --git a/Configuration/StandardSequences/python/Services_cff.py b/Configuration/StandardSequences/python/Services_cff.py index d7530b51f0ed9..1e2ff198bd964 100644 --- a/Configuration/StandardSequences/python/Services_cff.py +++ b/Configuration/StandardSequences/python/Services_cff.py @@ -9,15 +9,14 @@ from DQMServices.Core.DQMStore_cfi import * # load ProcessAccelerators (that set the e.g. the necessary CUDA -# stuff) when the "gpu" or "pixelNtupletFit" modifiers are enabled +# stuff) when the "pixelNtupletFit" or "alpaka" modifiers are enabled def _addProcessAccelerators(process): process.load("Configuration.StandardSequences.Accelerators_cff") -from Configuration.ProcessModifiers.gpu_cff import gpu from Configuration.ProcessModifiers.pixelNtupletFit_cff import pixelNtupletFit from Configuration.ProcessModifiers.alpaka_cff import alpaka -modifyConfigurationStandardSequencesServicesAddProcessAccelerators_ = (gpu | pixelNtupletFit | alpaka).makeProcessModifier(_addProcessAccelerators) +modifyConfigurationStandardSequencesServicesAddProcessAccelerators_ = (pixelNtupletFit | alpaka).makeProcessModifier(_addProcessAccelerators) # load TritonService when SONIC workflow is enabled def _addTritonService(process): diff --git a/Configuration/StandardSequences/python/SimL1EmulatorRepack_GCTGT_cff.py b/Configuration/StandardSequences/python/SimL1EmulatorRepack_GCTGT_cff.py index 3a1d0505b4d8c..92206b63e09da 100644 --- a/Configuration/StandardSequences/python/SimL1EmulatorRepack_GCTGT_cff.py +++ b/Configuration/StandardSequences/python/SimL1EmulatorRepack_GCTGT_cff.py @@ -26,14 +26,12 @@ ## run the L1 emulator ## -from Configuration.ProcessModifiers.gpu_cff import gpu from Configuration.ProcessModifiers.alpaka_cff import alpaka from L1Trigger.L1TCalorimeter.L1TCaloStage1_PPFromRaw_cff import * -from EventFilter.EcalRawToDigi.ecalDigis_cff import ecalDigisCPU, ecalDigisGPU, ecalDigisPortable -ecalDigisCPU.InputLabel = cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess()) -gpu.toModify(ecalDigisGPU, InputLabel = cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess())) -alpaka.toModify(ecalDigisPortable, InputLabel = cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess())) +from EventFilter.EcalRawToDigi.ecalDigis_cff import ecalDigis, ecalDigisPortable +ecalDigis.InputLabel = cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess()) +ecalDigisPortable.InputLabel = cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess()) hcalDigis.InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()) simHcalTriggerPrimitiveDigis.InputTagFEDRaw = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()) diff --git a/DQM/EcalMonitorTasks/python/EcalMonitorTask_cff.py b/DQM/EcalMonitorTasks/python/EcalMonitorTask_cff.py index 35252ac0f438f..17b7cdfff3528 100644 --- a/DQM/EcalMonitorTasks/python/EcalMonitorTask_cff.py +++ b/DQM/EcalMonitorTasks/python/EcalMonitorTask_cff.py @@ -1,16 +1,3 @@ import FWCore.ParameterSet.Config as cms from DQM.EcalMonitorTasks.EcalMonitorTask_cfi import * - -# Customization to run the CPU vs GPU comparison task if the job runs on a GPU enabled machine -from Configuration.ProcessModifiers.gpuValidationEcal_cff import gpuValidationEcal -from DQM.EcalMonitorTasks.ecalGpuTask_cfi import ecalGpuTask - -gpuValidationEcal.toModify(ecalGpuTask.params, runGpuTask = True) -gpuValidationEcal.toModify(ecalMonitorTask.workers, func = lambda workers: workers.append("GpuTask")) -gpuValidationEcal.toModify(ecalMonitorTask, workerParameters = dict(GpuTask = ecalGpuTask)) - -# Skip consuming and running over the EcalRawData collection for all GPU WFs -# This is to be used as long as the GPU unpacker unpacks a dummy EcalRawData collection -from Configuration.ProcessModifiers.gpu_cff import gpu -gpu.toModify(ecalMonitorTask.skipCollections, func = lambda skipCollections: skipCollections.append("EcalRawData")) diff --git a/DQM/HcalTasks/python/OfflineSourceSequence_pp.py b/DQM/HcalTasks/python/OfflineSourceSequence_pp.py index e857dd95f1b45..874b6d1f6c417 100644 --- a/DQM/HcalTasks/python/OfflineSourceSequence_pp.py +++ b/DQM/HcalTasks/python/OfflineSourceSequence_pp.py @@ -10,7 +10,7 @@ from DQM.HcalTasks.RawTask_cfi import rawTask from DQM.HcalTasks.TPTask_cfi import tpTask from DQM.HcalTasks.RecHitTask_cfi import recHitTask, recHitPreRecoTask -from DQM.HcalTasks.hcalGPUComparisonTask_cfi import hcalGPUComparisonTask +from DQM.HcalTasks.hcalGPUComparisonTask_cfi import hcalGPUComparisonTask as _hcalGPUComparisonTask # set processing type to Offine digiTask.ptype = 1 @@ -18,9 +18,9 @@ recHitTask.ptype = 1 rawTask.ptype = 1 recHitPreRecoTask.ptype = 1 -hcalGPUComparisonTask.ptype = 1 -hcalAlpakaComparisonTask = hcalGPUComparisonTask.clone() +hcalAlpakaComparisonTask = _hcalGPUComparisonTask.clone() +hcalAlpakaComparisonTask.ptype = 1 # set the label for Emulator TP Task tpTask.tagEmul = "valHcalTriggerPrimitiveDigis" @@ -36,12 +36,6 @@ recHitPreRecoTask + rawTask ) -hcalOnlyOfflineSourceSequenceGPU = cms.Sequence( - digiTask + - recHitTask + - rawTask + - hcalGPUComparisonTask -) hcalOnlyOfflineSourceSequenceAlpaka = cms.Sequence( digiTask + recHitTask + @@ -49,15 +43,7 @@ hcalAlpakaComparisonTask ) - -from Configuration.ProcessModifiers.gpuValidationHcal_cff import gpuValidationHcal -gpuValidationHcal.toReplaceWith(hcalOnlyOfflineSourceSequence, hcalOnlyOfflineSourceSequenceGPU) - from Configuration.Eras.Modifier_run2_HCAL_2018_cff import run2_HCAL_2018 -run2_HCAL_2018.toModify(hcalGPUComparisonTask, - tagHBHE_ref = "hbheprereco@cpu", - tagHBHE_target = "hbheprereco@cuda" -) run2_HCAL_2018.toModify(recHitTask, tagHBHE = "hbheprereco" ) @@ -65,17 +51,9 @@ from Configuration.Eras.Modifier_run3_HB_cff import run3_HB from Configuration.ProcessModifiers.alpaka_cff import alpaka ### reverting the reco tag setting that inherited from run2 -run3_HB.toModify(hcalGPUComparisonTask, - tagHBHE_ref = "hbhereco@cpu", - tagHBHE_target = "hbhereco@cuda" -) run3_HB.toModify(recHitTask, tagHBHE = "hbhereco" ) -(alpaka & run3_HB).toModify(hcalGPUComparisonTask, - tagHBHE_ref = "hbherecoSerial", - tagHBHE_target = "hbhereco" -) run3_HB.toModify(hcalAlpakaComparisonTask, tagHBHE_ref = "hbherecoLegacy", tagHBHE_target = "hbhereco" diff --git a/DQM/Integration/python/clients/beam_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/beam_dqm_sourceclient-live_cfg.py index 184d73e337dfd..e385167a833a9 100644 --- a/DQM/Integration/python/clients/beam_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/beam_dqm_sourceclient-live_cfg.py @@ -307,7 +307,7 @@ process.castorDigis.InputLabel = rawDataInputTag process.csctfDigis.producer = rawDataInputTag process.dttfDigis.DTTF_FED_Source = rawDataInputTag -process.ecalDigisCPU.InputLabel = rawDataInputTag +process.ecalDigis.InputLabel = rawDataInputTag process.ecalPreshowerDigis.sourceTag = rawDataInputTag process.gctDigis.inputLabel = rawDataInputTag process.gtDigis.DaqGtInputTag = rawDataInputTag @@ -316,7 +316,7 @@ process.muonDTDigis.inputLabel = rawDataInputTag process.muonRPCDigis.InputLabel = rawDataInputTag process.scalersRawToDigi.scalersInputTag = rawDataInputTag -process.siPixelDigis.cpu.InputLabel = rawDataInputTag +process.siPixelDigis.InputLabel = rawDataInputTag process.siStripDigis.ProductLabel = rawDataInputTag process.tcdsDigis.InputLabel = rawDataInputTag diff --git a/DQM/Integration/python/clients/beamfake_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/beamfake_dqm_sourceclient-live_cfg.py index c1ce11e58c568..c7f48ac75aeb0 100644 --- a/DQM/Integration/python/clients/beamfake_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/beamfake_dqm_sourceclient-live_cfg.py @@ -118,10 +118,11 @@ else: rawDataInputTag = "rawDataCollector" -""" process.castorDigis.InputLabel = rawDataInputTag +""" +process.castorDigis.InputLabel = rawDataInputTag process.csctfDigis.producer = rawDataInputTag process.dttfDigis.DTTF_FED_Source = rawDataInputTag -process.ecalDigisCPU.InputLabel = rawDataInputTag +process.ecalDigis.InputLabel = rawDataInputTag process.ecalPreshowerDigis.sourceTag = rawDataInputTag process.gctDigis.inputLabel = rawDataInputTag process.gtDigis.DaqGtInputTag = rawDataInputTag @@ -132,7 +133,7 @@ process.scalersRawToDigi.scalersInputTag = rawDataInputTag process.siPixelDigis.InputLabel = rawDataInputTag process.siStripDigis.ProductLabel = rawDataInputTag - """ +""" process.dqmFakeBeamMonitor.OnlineMode = True process.dqmFakeBeamMonitor.recordName = BSOnlineRecordName diff --git a/DQM/Integration/python/clients/beampixel_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/beampixel_dqm_sourceclient-live_cfg.py index ce2037d83d50b..10776c679459d 100644 --- a/DQM/Integration/python/clients/beampixel_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/beampixel_dqm_sourceclient-live_cfg.py @@ -121,7 +121,7 @@ process.castorDigis.InputLabel = "rawDataCollector" process.csctfDigis.producer = "rawDataCollector" process.dttfDigis.DTTF_FED_Source = "rawDataCollector" - process.ecalDigisCPU.InputLabel = "rawDataCollector" + process.ecalDigis.InputLabel = "rawDataCollector" process.ecalPreshowerDigis.sourceTag = "rawDataCollector" process.gctDigis.inputLabel = "rawDataCollector" process.gtDigis.DaqGtInputTag = "rawDataCollector" @@ -130,7 +130,7 @@ process.muonDTDigis.inputLabel = "rawDataCollector" process.muonRPCDigis.InputLabel = "rawDataCollector" process.scalersRawToDigi.scalersInputTag = "rawDataCollector" - process.siPixelDigis.cpu.InputLabel = "rawDataCollector" + process.siPixelDigis.InputLabel = "rawDataCollector" process.siStripDigis.ProductLabel = "rawDataCollector" @@ -174,7 +174,7 @@ process.castorDigis.InputLabel = "rawDataRepacker" process.csctfDigis.producer = "rawDataRepacker" process.dttfDigis.DTTF_FED_Source = "rawDataRepacker" - process.ecalDigisCPU.InputLabel = "rawDataRepacker" + process.ecalDigis.InputLabel = "rawDataRepacker" process.ecalPreshowerDigis.sourceTag = "rawDataRepacker" process.gctDigis.inputLabel = "rawDataRepacker" process.gtDigis.DaqGtInputTag = "rawDataRepacker" @@ -183,7 +183,7 @@ process.muonDTDigis.inputLabel = "rawDataRepacker" process.muonRPCDigis.InputLabel = "rawDataRepacker" process.scalersRawToDigi.scalersInputTag = "rawDataRepacker" - process.siPixelDigis.cpu.InputLabel = "rawDataRepacker" + process.siPixelDigis.InputLabel = "rawDataRepacker" process.siStripDigis.ProductLabel = "rawDataRepacker" diff --git a/DQM/Integration/python/clients/csc_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/csc_dqm_sourceclient-live_cfg.py index d35d5114bf361..698dd6efc9839 100644 --- a/DQM/Integration/python/clients/csc_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/csc_dqm_sourceclient-live_cfg.py @@ -180,7 +180,7 @@ process.castorDigis.InputLabel = "rawDataCollector" process.csctfDigis.producer = "rawDataCollector" process.dttfDigis.DTTF_FED_Source = "rawDataCollector" -process.ecalDigisCPU.InputLabel = "rawDataCollector" +process.ecalDigis.InputLabel = "rawDataCollector" process.ecalPreshowerDigis.sourceTag = "rawDataCollector" process.gctDigis.inputLabel = "rawDataCollector" process.gtDigis.DaqGtInputTag = "rawDataCollector" @@ -190,7 +190,7 @@ process.muonDTDigis.inputLabel = "rawDataCollector" process.muonRPCDigis.InputLabel = "rawDataCollector" process.scalersRawToDigi.scalersInputTag = "rawDataCollector" -process.siPixelDigis.cpu.InputLabel = "rawDataCollector" +process.siPixelDigis.InputLabel = "rawDataCollector" process.siStripDigis.ProductLabel = "rawDataCollector" process.cscMonitor.FEDRawDataCollectionTag = "rawDataCollector" process.dqmCSCClient.InputObjects = "rawDataCollector" @@ -205,7 +205,7 @@ process.castorDigis.InputLabel = "rawDataRepacker" process.csctfDigis.producer = "rawDataRepacker" process.dttfDigis.DTTF_FED_Source = "rawDataRepacker" - process.ecalDigisCPU.InputLabel = "rawDataRepacker" + process.ecalDigis.InputLabel = "rawDataRepacker" process.ecalPreshowerDigis.sourceTag = "rawDataRepacker" process.gctDigis.inputLabel = "rawDataRepacker" process.gtDigis.DaqGtInputTag = "rawDataRepacker" @@ -215,7 +215,7 @@ process.muonDTDigis.inputLabel = "rawDataRepacker" process.muonRPCDigis.InputLabel = "rawDataRepacker" process.scalersRawToDigi.scalersInputTag = "rawDataRepacker" - process.siPixelDigis.cpu.InputLabel = "rawDataRepacker" + process.siPixelDigis.InputLabel = "rawDataRepacker" process.siStripDigis.ProductLabel = "rawDataRepacker" process.cscMonitor.FEDRawDataCollectionTag = "rawDataRepacker" process.dqmCSCClient.InputObjects = "rawDataRepacker" diff --git a/DQM/Integration/python/clients/ecal_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/ecal_dqm_sourceclient-live_cfg.py index 9b9d1cdb91d7f..7e9edc204c4f8 100644 --- a/DQM/Integration/python/clients/ecal_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/ecal_dqm_sourceclient-live_cfg.py @@ -193,7 +193,7 @@ process.ecalMonitorTask.workerParameters.PresampleTask.params.doPulseMaxCheck = False elif runTypeName == 'hi_run': process.ecalMonitorTask.collectionTags.Source = "rawDataRepacker" - process.ecalDigisCPU.InputLabel = 'rawDataRepacker' + process.ecalDigis.InputLabel = 'rawDataRepacker' elif runTypeName == 'hpu_run': if not unitTest: process.source.SelectEvents = cms.untracked.vstring("*") diff --git a/DQM/Integration/python/clients/fed_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/fed_dqm_sourceclient-live_cfg.py index 55507bf00242b..adf80aba94818 100644 --- a/DQM/Integration/python/clients/fed_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/fed_dqm_sourceclient-live_cfg.py @@ -49,7 +49,7 @@ # Pixel sequence: process.load('Configuration.StandardSequences.MagneticField_cff') process.load('EventFilter.SiPixelRawToDigi.SiPixelRawToDigi_cfi') -process.siPixelDigis.cpu.IncludeErrors = True +process.siPixelDigis.IncludeErrors = True process.load('DQM.SiPixelMonitorRawData.SiPixelMonitorHLT_cfi') process.SiPixelHLTSource.saveFile = False process.SiPixelHLTSource.slowDown = False @@ -95,7 +95,7 @@ # Setting raw data collection label for all subsytem modules, depending on run type: if (process.runType.getRunType() == process.runType.hi_run): process.l1tStage2Fed.rawTag = 'rawDataRepacker' - process.siPixelDigis.cpu.InputLabel = 'rawDataRepacker' + process.siPixelDigis.InputLabel = 'rawDataRepacker' process.SiPixelHLTSource.RawInput = 'rawDataRepacker' process.siStripFEDCheck.RawDataTag = 'rawDataRepacker' process.esRawToDigi.sourceTag = 'rawDataRepacker' @@ -109,7 +109,7 @@ process.cscDQMEvF.InputObjects = 'rawDataRepacker' else: process.l1tStage2Fed.rawTag = 'rawDataCollector' - process.siPixelDigis.cpu.InputLabel = 'rawDataCollector' + process.siPixelDigis.InputLabel = 'rawDataCollector' process.SiPixelHLTSource.RawInput = 'rawDataCollector' process.siStripFEDCheck.RawDataTag = 'rawDataCollector' process.esRawToDigi.sourceTag = 'rawDataCollector' diff --git a/DQM/Integration/python/clients/l1t_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/l1t_dqm_sourceclient-live_cfg.py index 7bc0d8da8e6de..b3dcd9925c11c 100644 --- a/DQM/Integration/python/clients/l1t_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/l1t_dqm_sourceclient-live_cfg.py @@ -172,7 +172,7 @@ process.castorDigis.InputLabel = "rawDataCollector" process.csctfDigis.producer = "rawDataCollector" process.dttfDigis.DTTF_FED_Source = "rawDataCollector" -process.ecalDigisCPU.InputLabel = "rawDataCollector" +process.ecalDigis.InputLabel = "rawDataCollector" process.ecalPreshowerDigis.sourceTag = "rawDataCollector" process.gctDigis.inputLabel = "rawDataCollector" process.gtDigis.DaqGtInputTag = "rawDataCollector" @@ -182,7 +182,7 @@ process.muonDTDigis.inputLabel = "rawDataCollector" process.muonRPCDigis.InputLabel = "rawDataCollector" process.scalersRawToDigi.scalersInputTag = "rawDataCollector" -process.siPixelDigis.cpu.InputLabel = "rawDataCollector" +process.siPixelDigis.InputLabel = "rawDataCollector" process.siStripDigis.ProductLabel = "rawDataCollector" process.bxTiming.FedSource = "rawDataCollector" process.l1s.fedRawData = "rawDataCollector" @@ -191,7 +191,7 @@ process.castorDigis.InputLabel = "rawDataRepacker" process.csctfDigis.producer = "rawDataRepacker" process.dttfDigis.DTTF_FED_Source = "rawDataRepacker" - process.ecalDigisCPU.InputLabel = "rawDataRepacker" + process.ecalDigis.InputLabel = "rawDataRepacker" process.ecalPreshowerDigis.sourceTag = "rawDataRepacker" process.gctDigis.inputLabel = "rawDataRepacker" process.gtDigis.DaqGtInputTag = "rawDataRepacker" @@ -201,7 +201,7 @@ process.muonDTDigis.inputLabel = "rawDataRepacker" process.muonRPCDigis.InputLabel = "rawDataRepacker" process.scalersRawToDigi.scalersInputTag = "rawDataRepacker" - process.siPixelDigis.cpu.InputLabel = "rawDataRepacker" + process.siPixelDigis.InputLabel = "rawDataRepacker" process.siStripDigis.ProductLabel = "rawDataRepacker" process.bxTiming.FedSource = "rawDataRepacker" process.l1s.fedRawData = "rawDataRepacker" diff --git a/DQM/Integration/python/clients/l1temulator_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/l1temulator_dqm_sourceclient-live_cfg.py index 6435e7e224413..b8ebfa80bb4a6 100644 --- a/DQM/Integration/python/clients/l1temulator_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/l1temulator_dqm_sourceclient-live_cfg.py @@ -186,7 +186,7 @@ process.castorDigis.InputLabel = "rawDataCollector" process.csctfDigis.producer = "rawDataCollector" process.dttfDigis.DTTF_FED_Source = "rawDataCollector" -process.ecalDigisCPU.InputLabel = "rawDataCollector" +process.ecalDigis.InputLabel = "rawDataCollector" process.ecalPreshowerDigis.sourceTag = "rawDataCollector" process.gctDigis.inputLabel = "rawDataCollector" process.gtDigis.DaqGtInputTag = "rawDataCollector" @@ -198,7 +198,7 @@ process.muonDTDigis.inputLabel = "rawDataCollector" process.muonRPCDigis.InputLabel = "rawDataCollector" process.scalersRawToDigi.scalersInputTag = "rawDataCollector" -process.siPixelDigis.cpu.InputLabel = "rawDataCollector" +process.siPixelDigis.InputLabel = "rawDataCollector" process.siStripDigis.ProductLabel = "rawDataCollector" #-------------------------------------------------- @@ -208,7 +208,7 @@ process.castorDigis.InputLabel = "rawDataRepacker" process.csctfDigis.producer = "rawDataRepacker" process.dttfDigis.DTTF_FED_Source = "rawDataRepacker" - process.ecalDigisCPU.InputLabel = "rawDataRepacker" + process.ecalDigis.InputLabel = "rawDataRepacker" process.ecalPreshowerDigis.sourceTag = "rawDataRepacker" process.gctDigis.inputLabel = "rawDataRepacker" process.gtDigis.DaqGtInputTag = "rawDataRepacker" @@ -220,7 +220,7 @@ process.muonDTDigis.inputLabel = "rawDataRepacker" process.muonRPCDigis.InputLabel = "rawDataRepacker" process.scalersRawToDigi.scalersInputTag = "rawDataRepacker" - process.siPixelDigis.cpu.InputLabel = "rawDataRepacker" + process.siPixelDigis.InputLabel = "rawDataRepacker" process.siStripDigis.ProductLabel = "rawDataRepacker" diff --git a/DQM/Integration/python/clients/l1tstage1_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/l1tstage1_dqm_sourceclient-live_cfg.py index 47272fe19a1a0..21a60468529ee 100644 --- a/DQM/Integration/python/clients/l1tstage1_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/l1tstage1_dqm_sourceclient-live_cfg.py @@ -183,7 +183,7 @@ process.castorDigis.InputLabel = "rawDataCollector" process.csctfDigis.producer = "rawDataCollector" process.dttfDigis.DTTF_FED_Source = "rawDataCollector" -process.ecalDigisCPU.InputLabel = "rawDataCollector" +process.ecalDigis.InputLabel = "rawDataCollector" process.ecalPreshowerDigis.sourceTag = "rawDataCollector" process.gctDigis.inputLabel = "rawDataCollector" process.gtDigis.DaqGtInputTag = "rawDataCollector" @@ -193,7 +193,7 @@ process.muonDTDigis.inputLabel = "rawDataCollector" process.muonRPCDigis.InputLabel = "rawDataCollector" process.scalersRawToDigi.scalersInputTag = "rawDataCollector" -process.siPixelDigis.cpu.InputLabel = "rawDataCollector" +process.siPixelDigis.InputLabel = "rawDataCollector" process.siStripDigis.ProductLabel = "rawDataCollector" process.bxTiming.FedSource = "rawDataCollector" process.l1s.fedRawData = "rawDataCollector" @@ -202,7 +202,7 @@ process.castorDigis.InputLabel = "rawDataRepacker" process.csctfDigis.producer = "rawDataRepacker" process.dttfDigis.DTTF_FED_Source = "rawDataRepacker" - process.ecalDigisCPU.InputLabel = "rawDataRepacker" + process.ecalDigis.InputLabel = "rawDataRepacker" process.ecalPreshowerDigis.sourceTag = "rawDataRepacker" process.gctDigis.inputLabel = "rawDataRepacker" process.gtDigis.DaqGtInputTag = "rawDataRepacker" @@ -212,7 +212,7 @@ process.muonDTDigis.inputLabel = "rawDataRepacker" process.muonRPCDigis.InputLabel = "rawDataRepacker" process.scalersRawToDigi.scalersInputTag = "rawDataRepacker" - process.siPixelDigis.cpu.InputLabel = "rawDataRepacker" + process.siPixelDigis.InputLabel = "rawDataRepacker" process.siStripDigis.ProductLabel = "rawDataRepacker" process.bxTiming.FedSource = "rawDataRepacker" process.l1s.fedRawData = "rawDataRepacker" diff --git a/DQM/Integration/python/clients/l1tstage1emulator_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/l1tstage1emulator_dqm_sourceclient-live_cfg.py index e905aada1a7e1..4baf6cbf41504 100644 --- a/DQM/Integration/python/clients/l1tstage1emulator_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/l1tstage1emulator_dqm_sourceclient-live_cfg.py @@ -193,7 +193,7 @@ process.castorDigis.InputLabel = "rawDataCollector" process.csctfDigis.producer = "rawDataCollector" process.dttfDigis.DTTF_FED_Source = "rawDataCollector" -process.ecalDigisCPU.InputLabel = "rawDataCollector" +process.ecalDigis.InputLabel = "rawDataCollector" process.ecalPreshowerDigis.sourceTag = "rawDataCollector" process.gctDigis.inputLabel = "rawDataCollector" process.gtDigis.DaqGtInputTag = "rawDataCollector" @@ -205,7 +205,7 @@ process.muonDTDigis.inputLabel = "rawDataCollector" process.muonRPCDigis.InputLabel = "rawDataCollector" process.scalersRawToDigi.scalersInputTag = "rawDataCollector" -process.siPixelDigis.cpu.InputLabel = "rawDataCollector" +process.siPixelDigis.InputLabel = "rawDataCollector" process.siStripDigis.ProductLabel = "rawDataCollector" #-------------------------------------------------- @@ -215,7 +215,7 @@ process.castorDigis.InputLabel = "rawDataRepacker" process.csctfDigis.producer = "rawDataRepacker" process.dttfDigis.DTTF_FED_Source = "rawDataRepacker" - process.ecalDigisCPU.InputLabel = "rawDataRepacker" + process.ecalDigis.InputLabel = "rawDataRepacker" process.ecalPreshowerDigis.sourceTag = "rawDataRepacker" process.gctDigis.inputLabel = "rawDataRepacker" process.gtDigis.DaqGtInputTag = "rawDataRepacker" @@ -227,7 +227,7 @@ process.muonDTDigis.inputLabel = "rawDataRepacker" process.muonRPCDigis.InputLabel = "rawDataRepacker" process.scalersRawToDigi.scalersInputTag = "rawDataRepacker" - process.siPixelDigis.cpu.InputLabel = "rawDataRepacker" + process.siPixelDigis.InputLabel = "rawDataRepacker" process.siStripDigis.ProductLabel = "rawDataRepacker" diff --git a/DQM/Integration/python/clients/l1tstage2_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/l1tstage2_dqm_sourceclient-live_cfg.py index 80024d91aa6cd..bbcce6deabcf8 100644 --- a/DQM/Integration/python/clients/l1tstage2_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/l1tstage2_dqm_sourceclient-live_cfg.py @@ -132,7 +132,7 @@ process.castorDigis.InputLabel = rawDataRepackerLabel process.ctppsDiamondRawToDigi.rawDataTag = rawDataRepackerLabel process.ctppsPixelDigis.inputLabel = rawDataRepackerLabel - process.ecalDigisCPU.InputLabel = rawDataRepackerLabel + process.ecalDigis.InputLabel = rawDataRepackerLabel process.ecalPreshowerDigis.sourceTag = rawDataRepackerLabel process.hcalDigis.InputLabel = rawDataRepackerLabel process.muonCSCDigis.InputObjects = rawDataRepackerLabel @@ -140,7 +140,7 @@ process.muonRPCDigis.InputLabel = rawDataRepackerLabel process.muonGEMDigis.InputLabel = rawDataRepackerLabel process.scalersRawToDigi.scalersInputTag = rawDataRepackerLabel - process.siPixelDigis.cpu.InputLabel = rawDataRepackerLabel + process.siPixelDigis.InputLabel = rawDataRepackerLabel process.siStripDigis.ProductLabel = rawDataRepackerLabel process.tcdsDigis.InputLabel = rawDataRepackerLabel process.tcdsRawToDigi.InputLabel = rawDataRepackerLabel diff --git a/DQM/Integration/python/clients/l1tstage2emulator_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/l1tstage2emulator_dqm_sourceclient-live_cfg.py index 906f9456f8686..d62550dc323a6 100644 --- a/DQM/Integration/python/clients/l1tstage2emulator_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/l1tstage2emulator_dqm_sourceclient-live_cfg.py @@ -131,7 +131,7 @@ process.castorDigis.InputLabel = rawDataRepackerLabel process.ctppsDiamondRawToDigi.rawDataTag = rawDataRepackerLabel process.ctppsPixelDigis.inputLabel = rawDataRepackerLabel - process.ecalDigisCPU.InputLabel = rawDataRepackerLabel + process.ecalDigis.InputLabel = rawDataRepackerLabel process.ecalPreshowerDigis.sourceTag = rawDataRepackerLabel process.hcalDigis.InputLabel = rawDataRepackerLabel process.muonCSCDigis.InputObjects = rawDataRepackerLabel @@ -139,7 +139,7 @@ process.muonRPCDigis.InputLabel = rawDataRepackerLabel process.muonGEMDigis.InputLabel = rawDataRepackerLabel process.scalersRawToDigi.scalersInputTag = rawDataRepackerLabel - process.siPixelDigis.cpu.InputLabel = rawDataRepackerLabel + process.siPixelDigis.InputLabel = rawDataRepackerLabel process.siStripDigis.ProductLabel = rawDataRepackerLabel process.tcdsDigis.InputLabel = rawDataRepackerLabel process.tcdsRawToDigi.InputLabel = rawDataRepackerLabel diff --git a/DQM/Integration/python/clients/lumi_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/lumi_dqm_sourceclient-live_cfg.py index ea863855d66bc..19b124a3bfea5 100644 --- a/DQM/Integration/python/clients/lumi_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/lumi_dqm_sourceclient-live_cfg.py @@ -50,7 +50,7 @@ process.load("Configuration.StandardSequences.EndOfProcess_cff") process.load("Configuration.EventContent.EventContent_cff") process.load("Configuration.StandardSequences.Reconstruction_cff") -process.siPixelDigis.cpu.InputLabel = cms.InputTag("hltFEDSelectorLumiPixels") +process.siPixelDigis.InputLabel = cms.InputTag("hltFEDSelectorLumiPixels") process.reconstruction_step = cms.Sequence( process.siPixelDigis + diff --git a/DQM/Integration/python/clients/physics_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/physics_dqm_sourceclient-live_cfg.py index 66e159fcdd9e6..a0b78eb138688 100644 --- a/DQM/Integration/python/clients/physics_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/physics_dqm_sourceclient-live_cfg.py @@ -62,7 +62,7 @@ process.dqmSaverPB ) -process.siPixelDigis.cpu.InputLabel = "rawDataCollector" +process.siPixelDigis.InputLabel = "rawDataCollector" ### process customizations included here from DQM.Integration.config.online_customizations_cfi import * @@ -75,4 +75,4 @@ print("Running with run type = ", process.runType.getRunType()) if (process.runType.getRunType() == process.runType.hi_run): - process.siPixelDigis.cpu.InputLabel = "rawDataRepacker" + process.siPixelDigis.InputLabel = "rawDataRepacker" diff --git a/DQM/Integration/python/clients/pixel_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/pixel_dqm_sourceclient-live_cfg.py index 53944ce845a36..5bea839cbb737 100644 --- a/DQM/Integration/python/clients/pixel_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/pixel_dqm_sourceclient-live_cfg.py @@ -106,20 +106,20 @@ # PixelPhase1 Real data raw to digi process.load("EventFilter.SiPixelRawToDigi.SiPixelRawToDigi_cfi") -process.siPixelDigis.cpu.IncludeErrors = True +process.siPixelDigis.IncludeErrors = True if (process.runType.getRunType() == process.runType.hi_run): rawDataRepackerLabel = 'rawDataRepacker' #-------------------------------- # Heavy Ion Configuration Changes #-------------------------------- - process.siPixelDigis.cpu.InputLabel = rawDataRepackerLabel + process.siPixelDigis.InputLabel = rawDataRepackerLabel process.siStripDigis.ProductLabel = rawDataRepackerLabel process.scalersRawToDigi.scalersInputTag = rawDataRepackerLabel process.tcdsDigis.InputLabel = rawDataRepackerLabel else : rawDataCollectorLabel = 'rawDataCollector' - process.siPixelDigis.cpu.InputLabel = rawDataCollectorLabel + process.siPixelDigis.InputLabel = rawDataCollectorLabel process.siStripDigis.ProductLabel = rawDataCollectorLabel ## Collision Reconstruction diff --git a/DQM/Integration/python/clients/pixellumi_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/pixellumi_dqm_sourceclient-live_cfg.py index f3aa3b56ecc5c..eeb23dfc8a586 100644 --- a/DQM/Integration/python/clients/pixellumi_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/pixellumi_dqm_sourceclient-live_cfg.py @@ -83,7 +83,7 @@ #----------------------- # Real data raw to digi process.load("EventFilter.SiPixelRawToDigi.SiPixelRawToDigi_cfi") -process.siPixelDigis.cpu.IncludeErrors = True +process.siPixelDigis.IncludeErrors = True # Local Reconstruction process.load("RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi") @@ -96,13 +96,13 @@ # SelectEvents = cms.vstring('HLT_600Tower*','HLT_L1*','HLT_Jet*','HLT_*Cosmic*','HLT_HT*','HLT_MinBias_*','HLT_Physics*', 'HLT_ZeroBias*','HLT_HcalNZS*')) -process.siPixelDigis.cpu.InputLabel = cms.InputTag("rawDataCollector") +process.siPixelDigis.InputLabel = cms.InputTag("rawDataCollector") #-------------------------------- # Heavy Ion Configuration Changes #-------------------------------- if (process.runType.getRunType() == process.runType.hi_run): process.load('Configuration.StandardSequences.RawToDigi_Repacked_cff') - process.siPixelDigis.cpu.InputLabel = "rawDataRepacker" + process.siPixelDigis.InputLabel = "rawDataRepacker" if not unitTest: process.source.SelectEvents = ['HLT_HIL1MinimumBiasHF2AND*'] diff --git a/DQM/Integration/python/clients/scal_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/scal_dqm_sourceclient-live_cfg.py index e677a2c05ede6..5de018bc27a7b 100644 --- a/DQM/Integration/python/clients/scal_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/scal_dqm_sourceclient-live_cfg.py @@ -89,7 +89,7 @@ process.castorDigis.InputLabel = "rawDataRepacker" process.csctfDigis.producer = "rawDataRepacker" process.dttfDigis.DTTF_FED_Source = "rawDataRepacker" - process.ecalDigisCPU.InputLabel = "rawDataRepacker" + process.ecalDigis.InputLabel = "rawDataRepacker" process.ecalPreshowerDigis.sourceTag = "rawDataRepacker" process.gctDigis.inputLabel = "rawDataRepacker" process.gtDigis.DaqGtInputTag = "rawDataRepacker" @@ -99,7 +99,7 @@ process.muonDTDigis.inputLabel = "rawDataRepacker" process.muonRPCDigis.InputLabel = "rawDataRepacker" process.scalersRawToDigi.scalersInputTag = "rawDataRepacker" - process.siPixelDigis.cpu.InputLabel = "rawDataRepacker" + process.siPixelDigis.InputLabel = "rawDataRepacker" process.siStripDigis.ProductLabel = "rawDataRepacker" diff --git a/DQM/Integration/python/clients/sistrip_approx_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/sistrip_approx_dqm_sourceclient-live_cfg.py index 353a171155d95..abf5453b1098d 100644 --- a/DQM/Integration/python/clients/sistrip_approx_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/sistrip_approx_dqm_sourceclient-live_cfg.py @@ -186,7 +186,7 @@ process.castorDigis.InputLabel = rawDataRepackerLabel process.csctfDigis.producer = rawDataRepackerLabel process.dttfDigis.DTTF_FED_Source = rawDataRepackerLabel - process.ecalDigisCPU.InputLabel = rawDataRepackerLabel + process.ecalDigis.InputLabel = rawDataRepackerLabel process.ecalPreshowerDigis.sourceTag = rawDataRepackerLabel process.gctDigis.inputLabel = rawDataRepackerLabel process.hcalDigis.InputLabel = rawDataRepackerLabel @@ -194,7 +194,7 @@ process.muonDTDigis.inputLabel = rawDataRepackerLabel process.muonRPCDigis.InputLabel = rawDataRepackerLabel process.scalersRawToDigi.scalersInputTag = rawDataRepackerLabel - process.siPixelDigis.cpu.InputLabel = rawDataRepackerLabel + process.siPixelDigis.InputLabel = rawDataRepackerLabel process.siStripDigis.ProductLabel = rawDataRepackerLabel process.tcdsDigis.InputLabel = rawDataRepackerLabel diff --git a/DQM/Integration/python/clients/sistrip_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/sistrip_dqm_sourceclient-live_cfg.py index 979624000d2c5..9e7c54591261b 100644 --- a/DQM/Integration/python/clients/sistrip_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/sistrip_dqm_sourceclient-live_cfg.py @@ -512,7 +512,7 @@ process.castorDigis.InputLabel = rawDataCollectorLabel process.csctfDigis.producer = rawDataCollectorLabel process.dttfDigis.DTTF_FED_Source = rawDataCollectorLabel -process.ecalDigisCPU.InputLabel = rawDataCollectorLabel +process.ecalDigis.InputLabel = rawDataCollectorLabel process.ecalPreshowerDigis.sourceTag = rawDataCollectorLabel process.gctDigis.inputLabel = rawDataCollectorLabel process.gtDigis.DaqGtInputTag = rawDataCollectorLabel @@ -521,7 +521,7 @@ process.muonDTDigis.inputLabel = rawDataCollectorLabel process.muonRPCDigis.InputLabel = rawDataCollectorLabel process.scalersRawToDigi.scalersInputTag = rawDataCollectorLabel -process.siPixelDigis.cpu.InputLabel = rawDataCollectorLabel +process.siPixelDigis.InputLabel = rawDataCollectorLabel process.siStripDigis.ProductLabel = rawDataCollectorLabel process.siStripFEDMonitor.RawDataTag = rawDataCollectorLabel #-------------------------------------------------- @@ -536,7 +536,7 @@ process.castorDigis.InputLabel = rawDataRepackerLabel process.csctfDigis.producer = rawDataRepackerLabel process.dttfDigis.DTTF_FED_Source = rawDataRepackerLabel - process.ecalDigisCPU.InputLabel = rawDataRepackerLabel + process.ecalDigis.InputLabel = rawDataRepackerLabel process.ecalPreshowerDigis.sourceTag = rawDataRepackerLabel process.gctDigis.inputLabel = rawDataRepackerLabel process.hcalDigis.InputLabel = rawDataRepackerLabel @@ -544,7 +544,7 @@ process.muonDTDigis.inputLabel = rawDataRepackerLabel process.muonRPCDigis.InputLabel = rawDataRepackerLabel process.scalersRawToDigi.scalersInputTag = rawDataRepackerLabel - process.siPixelDigis.cpu.InputLabel = rawDataRepackerLabel + process.siPixelDigis.InputLabel = rawDataRepackerLabel process.siStripDigis.ProductLabel = rawDataRepackerLabel process.siStripFEDMonitor.RawDataTag = rawDataRepackerLabel process.tcdsDigis.InputLabel = rawDataRepackerLabel diff --git a/DQM/Physics/python/qcdLowPtDQM_cfi.py b/DQM/Physics/python/qcdLowPtDQM_cfi.py index ead851164104b..c77a780bb9725 100644 --- a/DQM/Physics/python/qcdLowPtDQM_cfi.py +++ b/DQM/Physics/python/qcdLowPtDQM_cfi.py @@ -7,7 +7,7 @@ from RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi import * from RecoLocalTracker.SiPixelRecHits.PixelCPEESProducers_cff import * -siPixelDigis.cpu.InputLabel = cms.InputTag("source") +siPixelDigis.InputLabel = cms.InputTag("source") myRecoSeq1 = cms.Sequence( siPixelDigis * diff --git a/DQM/SiPixelHeterogeneous/python/SiPixelHeterogenousDQMHarvesting_cff.py b/DQM/SiPixelHeterogeneous/python/SiPixelHeterogenousDQMHarvesting_cff.py index c717a98168a75..1457b99daa6a9 100644 --- a/DQM/SiPixelHeterogeneous/python/SiPixelHeterogenousDQMHarvesting_cff.py +++ b/DQM/SiPixelHeterogeneous/python/SiPixelHeterogenousDQMHarvesting_cff.py @@ -1,24 +1,15 @@ import FWCore.ParameterSet.Config as cms siPixelHeterogeneousDQMHarvesting = cms.Sequence() # empty sequence if not both CPU and GPU recos are run -from DQM.SiPixelPhase1Common.SiPixelPhase1RawData_cfi import * -from DQM.SiPixelHeterogeneous.SiPixelHeterogenousDQM_FirstStep_cff import SiPixelPhase1RawDataConfForCPU,SiPixelPhase1RawDataConfForGPU,SiPixelPhase1RawDataConfForSerial,SiPixelPhase1RawDataConfForDevice - -# CUDA code -siPixelPhase1RawDataHarvesterCPU = SiPixelPhase1RawDataHarvester.clone(histograms = SiPixelPhase1RawDataConfForCPU) -siPixelPhase1RawDataHarvesterGPU = SiPixelPhase1RawDataHarvester.clone(histograms = SiPixelPhase1RawDataConfForGPU) - # alpaka code +from DQM.SiPixelPhase1Common.SiPixelPhase1RawData_cfi import * +from DQM.SiPixelHeterogeneous.SiPixelHeterogenousDQM_FirstStep_cff import SiPixelPhase1RawDataConfForSerial,SiPixelPhase1RawDataConfForDevice siPixelPhase1RawDataHarvesterSerial = SiPixelPhase1RawDataHarvester.clone(histograms = SiPixelPhase1RawDataConfForSerial) siPixelPhase1RawDataHarvesterDevice = SiPixelPhase1RawDataHarvester.clone(histograms = SiPixelPhase1RawDataConfForDevice) -from DQM.SiPixelHeterogeneous.siPixelTrackComparisonHarvester_cfi import * +from DQM.SiPixelHeterogeneous.siPixelTrackComparisonHarvester_cfi import siPixelTrackComparisonHarvester siPixelTrackComparisonHarvesterAlpaka = siPixelTrackComparisonHarvester.clone(topFolderName = cms.string('SiPixelHeterogeneous/PixelTrackCompareDeviceVSHost')) -siPixelHeterogeneousDQMComparisonHarvesting = cms.Sequence(siPixelPhase1RawDataHarvesterCPU * - siPixelPhase1RawDataHarvesterGPU * - siPixelTrackComparisonHarvester ) - siPixelHeterogeneousDQMComparisonHarvestingAlpaka = cms.Sequence(siPixelPhase1RawDataHarvesterSerial * siPixelPhase1RawDataHarvesterDevice * siPixelTrackComparisonHarvesterAlpaka ) @@ -30,8 +21,5 @@ # add the harvester in case of the validation modifier is active -from Configuration.ProcessModifiers.gpuValidationPixel_cff import gpuValidationPixel -gpuValidationPixel.toReplaceWith(siPixelHeterogeneousDQMHarvesting,siPixelHeterogeneousDQMComparisonHarvesting) - from Configuration.ProcessModifiers.alpakaValidationPixel_cff import alpakaValidationPixel -(alpakaValidationPixel & ~gpuValidationPixel).toReplaceWith(siPixelHeterogeneousDQMHarvesting,siPixelHeterogeneousDQMComparisonHarvestingAlpaka) +alpakaValidationPixel.toReplaceWith(siPixelHeterogeneousDQMHarvesting,siPixelHeterogeneousDQMComparisonHarvestingAlpaka) diff --git a/DQM/SiPixelHeterogeneous/python/SiPixelHeterogenousDQM_FirstStep_cff.py b/DQM/SiPixelHeterogeneous/python/SiPixelHeterogenousDQM_FirstStep_cff.py index a08b3df2eea33..35a108a054c3a 100644 --- a/DQM/SiPixelHeterogeneous/python/SiPixelHeterogenousDQM_FirstStep_cff.py +++ b/DQM/SiPixelHeterogeneous/python/SiPixelHeterogenousDQM_FirstStep_cff.py @@ -39,16 +39,9 @@ #Define the sequence for GPU vs CPU validation #This should run:- individual monitor for the 2 collections + comparison module -from DQM.SiPixelHeterogeneous.siPixelPhase1CompareRecHitsSoA_cfi import * -from DQM.SiPixelHeterogeneous.siPixelPhase2CompareRecHitsSoA_cfi import * -from DQM.SiPixelHeterogeneous.siPixelHIonPhase1CompareRecHitsSoA_cfi import * -from DQM.SiPixelHeterogeneous.siPixelPhase1CompareTrackSoA_cfi import * -from DQM.SiPixelHeterogeneous.siPixelPhase2CompareTrackSoA_cfi import * -from DQM.SiPixelHeterogeneous.siPixelHIonPhase1CompareTrackSoA_cfi import * -from DQM.SiPixelHeterogeneous.siPixelCompareVertexSoA_cfi import * -from DQM.SiPixelHeterogeneous.siPixelPhase1RawDataErrorComparator_cfi import * -from DQM.SiPixelPhase1Common.SiPixelPhase1RawData_cfi import * #Alpaka +from DQM.SiPixelPhase1Common.SiPixelPhase1RawData_cfi import * +from DQM.SiPixelHeterogeneous.siPixelPhase1RawDataErrorComparator_cfi import * # keep from DQM.SiPixelHeterogeneous.siPixelPhase1CompareRecHits_cfi import * from DQM.SiPixelHeterogeneous.siPixelPhase2CompareRecHits_cfi import * from DQM.SiPixelHeterogeneous.siPixelHIonPhase1CompareRecHits_cfi import * @@ -57,100 +50,6 @@ from DQM.SiPixelHeterogeneous.siPixelHIonPhase1CompareTracks_cfi import * from DQM.SiPixelHeterogeneous.siPixelCompareVertices_cfi import * -# digi errors -SiPixelPhase1RawDataConfForCPU = copy.deepcopy(SiPixelPhase1RawDataConf) -for pset in SiPixelPhase1RawDataConfForCPU: - pset.topFolderName = "SiPixelHeterogeneous/PixelErrorsCPU" - -siPixelPhase1MonitorRawDataACPU = SiPixelPhase1RawDataAnalyzer.clone( - src = "siPixelDigis@cpu", - histograms = SiPixelPhase1RawDataConfForCPU -) - -SiPixelPhase1RawDataConfForGPU = copy.deepcopy(SiPixelPhase1RawDataConf) -for pset in SiPixelPhase1RawDataConfForGPU: - pset.topFolderName = "SiPixelHeterogeneous/PixelErrorsGPU" - -siPixelPhase1MonitorRawDataAGPU = SiPixelPhase1RawDataAnalyzer.clone( - src = "siPixelDigis@cuda", - histograms =SiPixelPhase1RawDataConfForGPU -) - -## rechits -siPixelPhase1MonitorRecHitsSoACPU = siPixelPhase1MonitorRecHitsSoA.clone( - pixelHitsSrc = "siPixelRecHitsPreSplittingSoA@cpu", - TopFolderName = "SiPixelHeterogeneous/PixelRecHitsSoACPU" -) - -siPixelPhase1MonitorRecHitsSoAGPU = siPixelPhase1MonitorRecHitsSoA.clone( - pixelHitsSrc = "siPixelRecHitsPreSplittingSoA@cuda", - TopFolderName = "SiPixelHeterogeneous/PixelRecHitsSoAGPU" -) - -siPixelPhase2MonitorRecHitsSoACPU = siPixelPhase2MonitorRecHitsSoA.clone( - pixelHitsSrc = "siPixelRecHitsPreSplittingSoA@cpu", - TopFolderName = "SiPixelHeterogeneous/PixelRecHitsSoACPU" -) - -siPixelPhase2MonitorRecHitsSoAGPU = siPixelPhase2MonitorRecHitsSoA.clone( - pixelHitsSrc = "siPixelRecHitsPreSplittingSoA@cuda", - TopFolderName = "SiPixelHeterogeneous/PixelRecHitsSoAGPU" -) - -siPixelHIonPhase1MonitorRecHitsSoACPU = siPixelHIonPhase1MonitorRecHitsSoA.clone( - pixelHitsSrc = "siPixelRecHitsPreSplittingSoA@cpu", - TopFolderName = "SiPixelHeterogeneous/PixelRecHitsSoACPU" -) - -siPixelHIonPhase1MonitorRecHitsSoAGPU = siPixelHIonPhase1MonitorRecHitsSoA.clone( - pixelHitsSrc = "siPixelRecHitsPreSplittingSoA@cuda", - TopFolderName = "SiPixelHeterogeneous/PixelRecHitsSoAGPU" -) - -## tracks -siPixelPhase1MonitorTrackSoACPU = siPixelPhase1MonitorTrackSoA.clone( - pixelTrackSrc = 'pixelTracksSoA@cpu', - topFolderName = 'SiPixelHeterogeneous/PixelTrackSoACPU', -) - -siPixelPhase1MonitorTrackSoAGPU = siPixelPhase1MonitorTrackSoA.clone( - pixelTrackSrc = 'pixelTracksSoA@cuda', - topFolderName = 'SiPixelHeterogeneous/PixelTrackSoAGPU', -) - -siPixelPhase2MonitorTrackSoACPU = siPixelPhase2MonitorTrackSoA.clone( - pixelTrackSrc = 'pixelTracksSoA@cpu', - topFolderName = 'SiPixelHeterogeneous/PixelTrackSoACPU', -) - -siPixelPhase2MonitorTrackSoAGPU = siPixelPhase2MonitorTrackSoA.clone( - pixelTrackSrc = 'pixelTracksSoA@cuda', - topFolderName = 'SiPixelHeterogeneous/PixelTrackSoAGPU', -) - -siPixelHIonPhase1MonitorTrackSoACPU = siPixelHIonPhase1MonitorTrackSoA.clone( - pixelTrackSrc = 'pixelTracksSoA@cpu', - topFolderName = 'SiPixelHeterogeneous/PixelTrackSoACPU', -) - -siPixelHIonPhase1MonitorTrackSoAGPU = siPixelHIonPhase1MonitorTrackSoA.clone( - pixelTrackSrc = 'pixelTracksSoA@cuda', - topFolderName = 'SiPixelHeterogeneous/PixelTrackSoAGPU', -) - -## vertices -siPixelMonitorVertexSoACPU = siPixelMonitorVertexSoA.clone( - pixelVertexSrc = 'pixelVerticesSoA@cpu', - topFolderName = 'SiPixelHeterogeneous/PixelVertexSoACPU', -) - -siPixelMonitorVertexSoAGPU = siPixelMonitorVertexSoA.clone( - pixelVertexSrc = 'pixelVerticesSoA@cuda', - topFolderName = 'SiPixelHeterogeneous/PixelVertexSoAGPU', -) - -### Alpaka - # digi errors SiPixelPhase1RawDataConfForSerial = copy.deepcopy(SiPixelPhase1RawDataConf) for pset in SiPixelPhase1RawDataConfForSerial: @@ -212,19 +111,6 @@ ) # Run-3 sequence -monitorpixelSoACompareSource = cms.Sequence(siPixelPhase1MonitorRawDataACPU * - siPixelPhase1MonitorRawDataAGPU * - siPixelPhase1MonitorRecHitsSoACPU * - siPixelPhase1MonitorRecHitsSoAGPU * - siPixelPhase1CompareRecHitsSoA * - siPixelPhase1MonitorTrackSoAGPU * - siPixelPhase1MonitorTrackSoACPU * - siPixelPhase1CompareTrackSoA * - siPixelMonitorVertexSoACPU * - siPixelMonitorVertexSoAGPU * - siPixelCompareVertexSoA * - siPixelPhase1RawDataErrorComparator) -# and the Alpaka version monitorpixelSoACompareSourceAlpaka = cms.Sequence( siPixelPhase1MonitorRawDataASerial * siPixelPhase1MonitorRawDataADevice * @@ -239,18 +125,7 @@ siPixelVertexSoAMonitorDevice * siPixelCompareVertices ) -# Phase-2 sequence ... -_monitorpixelSoACompareSource = cms.Sequence(siPixelPhase2MonitorRecHitsSoACPU * - siPixelPhase2MonitorRecHitsSoAGPU * - siPixelPhase2CompareRecHitsSoA * - siPixelPhase2MonitorTrackSoAGPU * - siPixelPhase2MonitorTrackSoACPU * - siPixelPhase2CompareTrackSoA * - siPixelMonitorVertexSoACPU * - siPixelMonitorVertexSoAGPU * - siPixelCompareVertexSoA) - -# ...and the Alpaka version +# Phase-2 sequence _monitorpixelSoACompareSourceAlpakaPhase2 = cms.Sequence( siPixelRecHitsSoAMonitorSerial * siPixelRecHitsSoAMonitorDevice * @@ -262,24 +137,9 @@ siPixelVertexSoAMonitorDevice * siPixelCompareVertices ) -# HIon sequence -_monitorpixelSoACompareSourceHIonPhase1 = cms.Sequence(siPixelHIonPhase1MonitorRecHitsSoACPU * - siPixelHIonPhase1MonitorRecHitsSoAGPU * - siPixelHIonPhase1CompareRecHitsSoA * - siPixelHIonPhase1MonitorTrackSoAGPU * - siPixelHIonPhase1MonitorTrackSoACPU * - siPixelHIonPhase1CompareTrackSoA * - siPixelMonitorVertexSoACPU * - siPixelMonitorVertexSoAGPU * - siPixelCompareVertexSoA) +# TODO implement the HIon sequence _monitorpixelSoACompareSourceAlpakaHIonPhase1 -phase2_tracker.toReplaceWith(monitorpixelSoACompareSource,_monitorpixelSoACompareSource) phase2_tracker.toReplaceWith(monitorpixelSoACompareSourceAlpaka,_monitorpixelSoACompareSourceAlpakaPhase2) -from Configuration.ProcessModifiers.gpuValidationPixel_cff import gpuValidationPixel -gpuValidationPixel.toReplaceWith(monitorpixelSoASource, monitorpixelSoACompareSource) - from Configuration.ProcessModifiers.alpakaValidationPixel_cff import alpakaValidationPixel -(alpakaValidationPixel & ~gpuValidationPixel ).toReplaceWith(monitorpixelSoASource, monitorpixelSoACompareSourceAlpaka) - - +alpakaValidationPixel.toReplaceWith(monitorpixelSoASource, monitorpixelSoACompareSourceAlpaka) diff --git a/EventFilter/EcalRawToDigi/python/ecalDigis_cff.py b/EventFilter/EcalRawToDigi/python/ecalDigis_cff.py index 0710a87569343..99b4080aed03e 100644 --- a/EventFilter/EcalRawToDigi/python/ecalDigis_cff.py +++ b/EventFilter/EcalRawToDigi/python/ecalDigis_cff.py @@ -1,13 +1,8 @@ import FWCore.ParameterSet.Config as cms -from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA # ECAL unpacker running on CPU from EventFilter.EcalRawToDigi.EcalUnpackerData_cfi import ecalEBunpacker as _ecalEBunpacker -ecalDigisCPU = _ecalEBunpacker.clone() - -ecalDigis = SwitchProducerCUDA( - cpu = ecalDigisCPU -) +ecalDigis = _ecalEBunpacker.clone() ecalDigisTask = cms.Task( # ECAL unpacker running on CPU @@ -16,36 +11,6 @@ from Configuration.StandardSequences.Accelerators_cff import * -# process modifier to run on GPUs -from Configuration.ProcessModifiers.gpu_cff import gpu - -# ECAL conditions used by the unpacker running on GPU -from EventFilter.EcalRawToDigi.ecalElectronicsMappingGPUESProducer_cfi import ecalElectronicsMappingGPUESProducer - -# ECAL unpacker running on GPU -from EventFilter.EcalRawToDigi.ecalRawToDigiGPU_cfi import ecalRawToDigiGPU as _ecalRawToDigiGPU -ecalDigisGPU = _ecalRawToDigiGPU.clone() - -# extend the SwitchProducer to add a case to copy the ECAL digis from GPU to CPU and convert them from SoA to legacy format -from EventFilter.EcalRawToDigi.ecalCPUDigisProducer_cfi import ecalCPUDigisProducer as _ecalCPUDigisProducer -gpu.toModify(ecalDigis, - # copy the ECAL digis from GPU to CPU and convert them from SoA to legacy format - cuda = _ecalCPUDigisProducer.clone( - digisInLabelEB = ('ecalDigisGPU', 'ebDigis'), - digisInLabelEE = ('ecalDigisGPU', 'eeDigis'), - produceDummyIntegrityCollections = True - ) -) - -gpu.toReplaceWith(ecalDigisTask, cms.Task( - # ECAL conditions used by the unpacker running on GPU - ecalElectronicsMappingGPUESProducer, - # run the ECAL unpacker on GPU - ecalDigisGPU, - # run the ECAL unpacker on CPU, or copy the ECAL digis from GPU to CPU and convert them from SoA to legacy format - ecalDigis -)) - # process modifier to run alpaka implementation from Configuration.ProcessModifiers.alpaka_cff import alpaka diff --git a/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigiRegional_cfi.py b/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigiRegional_cfi.py index 81622b3b9d1e1..ef5b783cfd9b7 100644 --- a/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigiRegional_cfi.py +++ b/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigiRegional_cfi.py @@ -2,12 +2,13 @@ from EventFilter.SiPixelRawToDigi.SiPixelRawToDigi_cfi import * -## regional seeded unpacking for specialized HLT paths -siPixelDigisRegional = siPixelDigis.cpu.clone() -siPixelDigisRegional.Regions = cms.PSet( - inputs = cms.VInputTag( "hltL2EtCutDoublePFIsoTau45Trk5" ), - deltaPhi = cms.vdouble( 0.5 ), - maxZ = cms.vdouble( 24. ), - beamSpot = cms.InputTag( "hltOnlineBeamSpot" ) +# regional seeded unpacking for specialized HLT paths +siPixelDigisRegional = siPixelDigis.clone( + Regions = cms.PSet( + inputs = cms.VInputTag("hltL2EtCutDoublePFIsoTau45Trk5"), + deltaPhi = cms.vdouble(0.5), + maxZ = cms.vdouble(24.), + beamSpot = cms.InputTag("hltOnlineBeamSpot") + ) ) diff --git a/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py b/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py index 26136836c7b5f..18eed6451c252 100644 --- a/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py +++ b/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py @@ -1,36 +1,17 @@ import FWCore.ParameterSet.Config as cms -from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA -from Configuration.ProcessModifiers.gpu_cff import gpu # legacy pixel unpacker from EventFilter.SiPixelRawToDigi.siPixelRawToDigi_cfi import siPixelRawToDigi as _siPixelRawToDigi -siPixelDigis = SwitchProducerCUDA( - cpu = _siPixelRawToDigi.clone() -) +siPixelDigis = _siPixelRawToDigi.clone() # use the Phase 1 settings from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel -phase1Pixel.toModify(siPixelDigis.cpu, +phase1Pixel.toModify(siPixelDigis, UsePhase1 = True ) from Configuration.ProcessModifiers.siPixelQualityRawToDigi_cff import siPixelQualityRawToDigi -siPixelQualityRawToDigi.toModify(siPixelDigis.cpu, +siPixelQualityRawToDigi.toModify(siPixelDigis, UseQualityInfo = True, SiPixelQualityLabel = 'forRawToDigi', ) - -from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker -# SwitchProducer wrapping the legacy pixel digis producer or an alias combining the pixel digis information converted from SoA -(gpu & ~phase2_tracker).toModify(siPixelDigis, - cuda = cms.EDAlias( - siPixelDigiErrors = cms.VPSet( - cms.PSet(type = cms.string("DetIdedmEDCollection")), - cms.PSet(type = cms.string("SiPixelRawDataErroredmDetSetVector")), - cms.PSet(type = cms.string("PixelFEDChanneledmNewDetSetVector")) - ), - siPixelDigisClustersPreSplitting = cms.VPSet( - cms.PSet(type = cms.string("PixelDigiedmDetSetVector")) - ) - ) -) diff --git a/EventFilter/SiPixelRawToDigi/python/siPixelDigis_cff.py b/EventFilter/SiPixelRawToDigi/python/siPixelDigis_cff.py index b5484afd2fafa..1786a2b95498b 100644 --- a/EventFilter/SiPixelRawToDigi/python/siPixelDigis_cff.py +++ b/EventFilter/SiPixelRawToDigi/python/siPixelDigis_cff.py @@ -3,44 +3,10 @@ from EventFilter.SiPixelRawToDigi.SiPixelRawToDigi_cfi import siPixelDigis siPixelDigisTask = cms.Task( - # SwitchProducer wrapping the legacy pixel digis producer or an alias combining the pixel digis information converted from SoA + # legacy pixel digis producer or an alias combining the pixel digis information converted from SoA siPixelDigis ) -# copy the pixel digis (except errors) and clusters to the host -from EventFilter.SiPixelRawToDigi.siPixelDigisSoAFromCUDA_cfi import siPixelDigisSoAFromCUDA as _siPixelDigisSoAFromCUDA -siPixelDigisSoA = _siPixelDigisSoAFromCUDA.clone( - src = "siPixelClustersPreSplittingCUDA" -) - -# copy the pixel digis errors to the host -from EventFilter.SiPixelRawToDigi.siPixelDigiErrorsSoAFromCUDA_cfi import siPixelDigiErrorsSoAFromCUDA as _siPixelDigiErrorsSoAFromCUDA -siPixelDigiErrorsSoA = _siPixelDigiErrorsSoAFromCUDA.clone( - src = "siPixelClustersPreSplittingCUDA" -) - -# convert the pixel digis errors to the legacy format -from EventFilter.SiPixelRawToDigi.siPixelDigiErrorsFromSoA_cfi import siPixelDigiErrorsFromSoA as _siPixelDigiErrorsFromSoA -siPixelDigiErrors = _siPixelDigiErrorsFromSoA.clone() - -# use the Phase 1 settings -from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel -phase1Pixel.toModify(siPixelDigiErrors, - UsePhase1 = True -) - -from Configuration.ProcessModifiers.gpu_cff import gpu +# remove siPixelDigis until we have phase2 pixel digis from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker -(gpu & ~phase2_tracker).toReplaceWith(siPixelDigisTask, cms.Task( - # copy the pixel digis (except errors) and clusters to the host - siPixelDigisSoA, - # copy the pixel digis errors to the host - siPixelDigiErrorsSoA, - # convert the pixel digis errors to the legacy format - siPixelDigiErrors, - # SwitchProducer wrapping the legacy pixel digis producer or an alias combining the pixel digis information converted from SoA - siPixelDigisTask.copy() -)) - -# Remove siPixelDigis until we have phase2 pixel digis phase2_tracker.toReplaceWith(siPixelDigisTask, cms.Task()) #FIXME diff --git a/RecoHI/HiTracking/python/HILowPtConformalPixelTracks_cfi.py b/RecoHI/HiTracking/python/HILowPtConformalPixelTracks_cfi.py index e5733107d3622..d3433591f57c4 100644 --- a/RecoHI/HiTracking/python/HILowPtConformalPixelTracks_cfi.py +++ b/RecoHI/HiTracking/python/HILowPtConformalPixelTracks_cfi.py @@ -130,59 +130,31 @@ hiConformalPixelTracks ) -from Configuration.ProcessModifiers.gpu_cff import gpu from Configuration.ProcessModifiers.pixelNtupletFit_cff import pixelNtupletFit from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAHIonPhase1_cfi import pixelTrackSoAFromCUDAHIonPhase1 as _pixelTracksSoA from RecoTracker.PixelSeeding.caHitNtupletCUDAHIonPhase1_cfi import caHitNtupletCUDAHIonPhase1 as _pixelTracksCUDA from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAHIonPhase1_cfi import pixelTrackProducerFromSoAHIonPhase1 as _pixelTrackProducerFromSoA -from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA - -hiPixelTracksCUDA = _pixelTracksCUDA.clone(pixelRecHitSrc="siPixelRecHitsPreSplittingCUDA", idealConditions = False, - ptmin = 0.25, z0Cut = 8.0, hardCurvCut = 0.0756, doPtCut = False, - onGPU = True, - dcaCutInnerTriplet = 0.05, dcaCutOuterTriplet = 0.10, - CAThetaCutForward = 0.002, CAThetaCutBarrel = 0.001, - phiCuts = cms.vint32(19*[900]), #19 pairs - trackQualityCuts = dict( - chi2MaxPt = 10, - chi2Coeff = [0.9,1.8], - chi2Scale = 1.8, - tripletMinPt = 0.1, - tripletMaxTip = 0.3, - tripletMaxZip = 12, - quadrupletMinPt = 0.1, - quadrupletMaxTip = 0.5, - quadrupletMaxZip = 12 - )) - -# SwitchProducer providing the pixel tracks in SoA format on the CPU -hiPixelTracksSoA = SwitchProducerCUDA( - # build pixel ntuplets and pixel tracks in SoA format on the CPU - cpu = _pixelTracksCUDA.clone( - pixelRecHitSrc = "siPixelRecHitsPreSplittingCPU", - idealConditions = False, - doPtCut = False, - ptmin = 0.25, - hardCurvCut = 0.0756, - onGPU = False, - phiCuts = cms.vint32(19*[900]), #19 pairs - trackQualityCuts = dict( - chi2MaxPt = 10, - chi2Coeff = [0.9,1.8], - chi2Scale = 8, - tripletMinPt = 0.5, - tripletMaxTip = 0.3, - tripletMaxZip = 12, - quadrupletMinPt = 0.3, - quadrupletMaxTip = 0.5, - quadrupletMaxZip = 12 - )) -) - -gpu.toModify(hiPixelTracksSoA, - # transfer the pixel tracks in SoA format to the host - cuda = _pixelTracksSoA.clone(src="hiPixelTracksCUDA") +# build pixel ntuplets and pixel tracks in SoA format on the CPU +hiPixelTracksSoA = _pixelTracksCUDA.clone( + pixelRecHitSrc = "siPixelRecHitsPreSplittingCPU", + idealConditions = False, + doPtCut = False, + ptmin = 0.25, + hardCurvCut = 0.0756, + onGPU = False, + phiCuts = cms.vint32(19*[900]), # 19 pairs + trackQualityCuts = dict( + chi2MaxPt = 10, + chi2Coeff = [0.9,1.8], + chi2Scale = 8, + tripletMinPt = 0.5, + tripletMaxTip = 0.3, + tripletMaxZip = 12, + quadrupletMinPt = 0.3, + quadrupletMaxTip = 0.5, + quadrupletMaxZip = 12 + ) ) pixelNtupletFit.toReplaceWith(hiConformalPixelTracks,_pixelTrackProducerFromSoA.clone( @@ -209,13 +181,6 @@ hiConformalPixelTracks )) -(gpu & pixelNtupletFit).toReplaceWith(hiConformalPixelTracksTaskPhase1, cms.Task( - # build the pixel ntuplets and the pixel tracks in SoA format on the GPU - hiPixelTracksCUDA, - # just copying the task above - hiConformalPixelTracksTaskPhase1.copy() -)) - hiConformalPixelTracksSequencePhase1 = cms.Sequence(hiConformalPixelTracksTaskPhase1) from Configuration.Eras.Modifier_run3_upc_cff import run3_upc diff --git a/RecoLocalCalo/Configuration/python/RecoLocalCalo_Cosmics_cff.py b/RecoLocalCalo/Configuration/python/RecoLocalCalo_Cosmics_cff.py index ac5ac4b452f07..db970cfe467e6 100644 --- a/RecoLocalCalo/Configuration/python/RecoLocalCalo_Cosmics_cff.py +++ b/RecoLocalCalo/Configuration/python/RecoLocalCalo_Cosmics_cff.py @@ -19,7 +19,7 @@ # sequence CaloLocalReco # -hbhereco = _hcalLocalReco_cff.hbheprereco.cpu.clone( +hbhereco = _hcalLocalReco_cff.hbheprereco.clone( tsFromDB = False, recoParamsFromDB = False, algorithm = dict( diff --git a/RecoLocalCalo/Configuration/python/hcalGlobalReco_cff.py b/RecoLocalCalo/Configuration/python/hcalGlobalReco_cff.py index 078e8f2804f60..3c9d014225328 100644 --- a/RecoLocalCalo/Configuration/python/hcalGlobalReco_cff.py +++ b/RecoLocalCalo/Configuration/python/hcalGlobalReco_cff.py @@ -1,14 +1,10 @@ import FWCore.ParameterSet.Config as cms -from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA #--- for Run 1 and Run 2 from RecoLocalCalo.HcalRecProducers.HBHEIsolatedNoiseReflagger_cfi import hbhereco as _phase0_hbhereco -hbhereco = SwitchProducerCUDA( - cpu = _phase0_hbhereco.clone() -) +hbhereco = _phase0_hbhereco.clone() hbherecoLegacy = _phase0_hbhereco.clone() - hcalGlobalRecoTask = cms.Task(hbhereco) hcalGlobalRecoSequence = cms.Sequence(hcalGlobalRecoTask) @@ -22,32 +18,23 @@ from Configuration.Eras.Modifier_run3_HB_cff import run3_HB from RecoLocalCalo.HcalRecProducers.HBHEPhase1Reconstructor_cfi import hbheprereco as _phase1_hbheprereco -run3_HB.toReplaceWith(hbhereco.cpu, _phase1_hbheprereco) +run3_HB.toReplaceWith(hbhereco, _phase1_hbheprereco) run3_HB.toReplaceWith(hcalOnlyGlobalRecoTask, cms.Task(hbhereco)) run3_HB.toReplaceWith(hbherecoLegacy, _phase1_hbheprereco) run3_HB.toReplaceWith(hcalOnlyLegacyGlobalRecoTask, cms.Task(hbherecoLegacy)) #--- for Run 3 on GPU -from Configuration.ProcessModifiers.gpu_cff import gpu from Configuration.ProcessModifiers.alpaka_cff import alpaka - -from RecoLocalCalo.HcalRecProducers.hcalCPURecHitsProducer_cfi import hcalCPURecHitsProducer as _hbherecoFromCUDA -(run3_HB & gpu).toModify(hbhereco, - cuda = _hbherecoFromCUDA.clone( - produceSoA = False - ) -) - -from RecoLocalCalo.HcalRecProducers.hcalRecHitSoAToLegacy_cfi import hcalRecHitSoAToLegacy -(alpaka & run3_HB).toModify(hbhereco, - cpu = hcalRecHitSoAToLegacy.clone( - src = ("hbheRecHitProducerPortable","") +from RecoLocalCalo.HcalRecProducers.hcalRecHitSoAToLegacy_cfi import hcalRecHitSoAToLegacy +(alpaka & run3_HB).toReplaceWith(hbhereco, + hcalRecHitSoAToLegacy.clone( + src = ("hbheRecHitProducerPortable", "") ) ) hbherecoSerial = hcalRecHitSoAToLegacy.clone( - src = ("hbheRecHitProducerSerial","") + src = ("hbheRecHitProducerSerial", "") ) alpaka.toReplaceWith(hcalGlobalRecoTask, hcalGlobalRecoTask.copyAndAdd(hbherecoSerial)) alpaka.toReplaceWith(hcalOnlyGlobalRecoTask, hcalOnlyGlobalRecoTask.copyAndAdd(hbherecoSerial)) diff --git a/RecoLocalCalo/Configuration/python/hcalLocalReco_cff.py b/RecoLocalCalo/Configuration/python/hcalLocalReco_cff.py index 1b797e466f76e..05bee3cf880df 100644 --- a/RecoLocalCalo/Configuration/python/hcalLocalReco_cff.py +++ b/RecoLocalCalo/Configuration/python/hcalLocalReco_cff.py @@ -1,18 +1,15 @@ import FWCore.ParameterSet.Config as cms -from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA from RecoLocalCalo.HcalRecAlgos.hcalRecAlgoESProd_cfi import * from RecoLocalCalo.HcalRecAlgos.hcalChannelPropertiesESProd_cfi import * hcalOOTPileupESProducer = cms.ESProducer('OOTPileupDBCompatibilityESProducer') from RecoLocalCalo.HcalRecProducers.HBHEPhase1Reconstructor_cfi import hbheprereco as _phase1_hbheprereco -hbheprereco = SwitchProducerCUDA( - cpu = _phase1_hbheprereco.clone( - processQIE11 = False, - tsFromDB = True, - pulseShapeParametersQIE8 = dict( - TrianglePeakTS = 4, - ) +hbheprereco = _phase1_hbheprereco.clone( + processQIE11 = False, + tsFromDB = True, + pulseShapeParametersQIE8 = dict( + TrianglePeakTS = 4, ) ) @@ -37,9 +34,7 @@ run2_HF_2017.toReplaceWith(hcalLocalRecoTask, _phase1_hcalLocalRecoTask) run2_HF_2017.toReplaceWith(hfreco, _phase1_hfreco) from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017 -run2_HCAL_2017.toModify(hbheprereco, - cpu = _phase1_hbheprereco.clone() -) +run2_HCAL_2017.toReplaceWith(hbheprereco, _phase1_hbheprereco.clone()) _plan1_hcalLocalRecoTask = _phase1_hcalLocalRecoTask.copy() _plan1_hcalLocalRecoTask.add(hbheplan1) @@ -53,7 +48,7 @@ run2_HECollapse_2018.toReplaceWith(hcalLocalRecoTask, _collapse_hcalLocalRecoTask) #--- Legacy HCAL Only Task -hbheprerecoLegacy = hbheprereco.cpu.clone() +hbheprerecoLegacy = hbheprereco.clone() hcalOnlyLegacyLocalRecoTask = hcalLocalRecoTask.copyAndExclude([zdcreco,hbheprereco]) hcalOnlyLegacyLocalRecoTask.add(hbheprerecoLegacy) @@ -67,15 +62,7 @@ from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toReplaceWith(hcalLocalRecoTask, _run3_hcalLocalRecoTask) -#--- for Run 3 on GPU -from Configuration.ProcessModifiers.gpu_cff import gpu - -from RecoLocalCalo.HcalRecProducers.hbheRecHitProducerGPUTask_cff import * -_run3_hcalLocalRecoGPUTask = hcalLocalRecoTask.copy() -_run3_hcalLocalRecoGPUTask.add(hbheRecHitProducerGPUTask) -gpu.toReplaceWith(hcalLocalRecoTask, _run3_hcalLocalRecoGPUTask) - -#--- for alpaka +#--- for Run 3 with alpaka from Configuration.ProcessModifiers.alpaka_cff import alpaka from RecoLocalCalo.HcalRecProducers.hbheRecHitProducerPortableTask_cff import * _run3_hcalLocalRecoPortableTask = hcalLocalRecoTask.copy() @@ -85,19 +72,10 @@ #--- HCAL-only workflow hcalOnlyLocalRecoTask = hcalLocalRecoTask.copyAndExclude([zdcreco,zdcrecoRun3]) -#--- HCAL-only workflow for Run 2 on GPU +#--- HCAL-only workflow for Run 2 with alpaka from Configuration.Eras.Modifier_run3_HB_cff import run3_HB -from RecoLocalCalo.HcalRecProducers.hcalCPURecHitsProducer_cfi import hcalCPURecHitsProducer as _hbheprerecoFromCUDA -(gpu & ~run3_HB).toModify(hbheprereco, - cuda = _hbheprerecoFromCUDA.clone( - produceSoA = False - ) -) -#--- HCAL-only workflow for Run 2 on GPU -from RecoLocalCalo.HcalRecProducers.hcalRecHitSoAToLegacy_cfi import hcalRecHitSoAToLegacy -(alpaka & ~run3_HB).toModify(hbheprereco, - cpu = hcalRecHitSoAToLegacy.clone() -) +from RecoLocalCalo.HcalRecProducers.hcalRecHitSoAToLegacy_cfi import hcalRecHitSoAToLegacy +(alpaka & ~run3_HB).toReplaceWith(hbheprereco, hcalRecHitSoAToLegacy.clone()) #--- for FastSim _fastSim_hcalLocalRecoTask = hcalLocalRecoTask.copyAndExclude([zdcreco,zdcrecoRun3]) diff --git a/RecoLocalCalo/EcalRecProducers/python/ecalMultiFitUncalibRecHit_cff.py b/RecoLocalCalo/EcalRecProducers/python/ecalMultiFitUncalibRecHit_cff.py index c6104c21b62db..03c924c1ad7b0 100644 --- a/RecoLocalCalo/EcalRecProducers/python/ecalMultiFitUncalibRecHit_cff.py +++ b/RecoLocalCalo/EcalRecProducers/python/ecalMultiFitUncalibRecHit_cff.py @@ -1,6 +1,5 @@ import FWCore.ParameterSet.Config as cms from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA -from Configuration.ProcessModifiers.gpu_cff import gpu # ECAL multifit running on CPU from RecoLocalCalo.EcalRecProducers.ecalMultiFitUncalibRecHit_cfi import ecalMultiFitUncalibRecHit as _ecalMultiFitUncalibRecHit @@ -16,58 +15,6 @@ from Configuration.StandardSequences.Accelerators_cff import * -# ECAL conditions used by the multifit running on GPU -from RecoLocalCalo.EcalRecProducers.ecalPedestalsGPUESProducer_cfi import ecalPedestalsGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalGainRatiosGPUESProducer_cfi import ecalGainRatiosGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalPulseShapesGPUESProducer_cfi import ecalPulseShapesGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalPulseCovariancesGPUESProducer_cfi import ecalPulseCovariancesGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalSamplesCorrelationGPUESProducer_cfi import ecalSamplesCorrelationGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalTimeBiasCorrectionsGPUESProducer_cfi import ecalTimeBiasCorrectionsGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalTimeCalibConstantsGPUESProducer_cfi import ecalTimeCalibConstantsGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalMultifitParametersGPUESProducer_cfi import ecalMultifitParametersGPUESProducer - -# ECAL multifit running on GPU -from RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitProducerGPU_cfi import ecalUncalibRecHitProducerGPU as _ecalUncalibRecHitProducerGPU -ecalMultiFitUncalibRecHitGPU = _ecalUncalibRecHitProducerGPU.clone( - digisLabelEB = 'ecalDigisGPU:ebDigis', - digisLabelEE = 'ecalDigisGPU:eeDigis', -) - -# copy the uncalibrated rechits from GPU to CPU -from RecoLocalCalo.EcalRecProducers.ecalCPUUncalibRecHitProducer_cfi import ecalCPUUncalibRecHitProducer as _ecalCPUUncalibRecHitProducer -ecalMultiFitUncalibRecHitSoA = _ecalCPUUncalibRecHitProducer.clone( - recHitsInLabelEB = 'ecalMultiFitUncalibRecHitGPU:EcalUncalibRecHitsEB', - recHitsInLabelEE = 'ecalMultiFitUncalibRecHitGPU:EcalUncalibRecHitsEE', - containsTimingInformation = True -) - -# convert the uncalibrated rechits from SoA to legacy format -from RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitConvertGPU2CPUFormat_cfi import ecalUncalibRecHitConvertGPU2CPUFormat as _ecalUncalibRecHitConvertGPU2CPUFormat -gpu.toModify(ecalMultiFitUncalibRecHit, - cuda = _ecalUncalibRecHitConvertGPU2CPUFormat.clone( - recHitsLabelGPUEB = 'ecalMultiFitUncalibRecHitSoA:EcalUncalibRecHitsEB', - recHitsLabelGPUEE = 'ecalMultiFitUncalibRecHitSoA:EcalUncalibRecHitsEE', - ) -) - -gpu.toReplaceWith(ecalMultiFitUncalibRecHitTask, cms.Task( - # ECAL conditions used by the multifit running on GPU - ecalPedestalsGPUESProducer, - ecalGainRatiosGPUESProducer, - ecalPulseShapesGPUESProducer, - ecalPulseCovariancesGPUESProducer, - ecalSamplesCorrelationGPUESProducer, - ecalTimeBiasCorrectionsGPUESProducer, - ecalTimeCalibConstantsGPUESProducer, - ecalMultifitParametersGPUESProducer, - # ECAL multifit running on GPU - ecalMultiFitUncalibRecHitGPU, - # copy the uncalibrated rechits from GPU to CPU - ecalMultiFitUncalibRecHitSoA, - # ECAL multifit running on CPU, or convert the uncalibrated rechits from SoA to legacy format - ecalMultiFitUncalibRecHit, -)) - # modifications for alpaka from Configuration.ProcessModifiers.alpaka_cff import alpaka diff --git a/RecoLocalCalo/EcalRecProducers/python/ecalMultiFitUncalibRecHit_cfi.py b/RecoLocalCalo/EcalRecProducers/python/ecalMultiFitUncalibRecHit_cfi.py index 13a1f8e142642..75082b982d22a 100644 --- a/RecoLocalCalo/EcalRecProducers/python/ecalMultiFitUncalibRecHit_cfi.py +++ b/RecoLocalCalo/EcalRecProducers/python/ecalMultiFitUncalibRecHit_cfi.py @@ -18,17 +18,3 @@ timeOffsetTag = ':CC' ) ) - -# this overrides the modifications made by the ecal_cctiming modifier if both modifiers are active -from Configuration.ProcessModifiers.gpuValidationEcal_cff import gpuValidationEcal -gpuValidationEcal.toModify(ecalMultiFitUncalibRecHit, - algoPSet = dict(timealgo = 'RatioMethod', - outOfTimeThresholdGain12pEB = 5., - outOfTimeThresholdGain12mEB = 5., - outOfTimeThresholdGain61pEB = 5., - outOfTimeThresholdGain61mEB = 5., - timeCalibTag = ':', - timeOffsetTag = ':' - ) -) - diff --git a/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cff.py b/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cff.py index 71247d33d6063..351a3c224cd0e 100644 --- a/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cff.py +++ b/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cff.py @@ -1,6 +1,5 @@ import FWCore.ParameterSet.Config as cms from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA -from Configuration.ProcessModifiers.gpu_cff import gpu # ECAL calibrated rechit reconstruction on CPU from RecoLocalCalo.EcalRecProducers.ecalRecHit_cfi import ecalRecHit as _ecalRecHit @@ -11,57 +10,3 @@ ecalCalibratedRecHitTask = cms.Task( ecalRecHit ) - -# ECAL rechit calibrations on GPU -from RecoLocalCalo.EcalRecProducers.ecalRechitADCToGeVConstantGPUESProducer_cfi import ecalRechitADCToGeVConstantGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalRechitChannelStatusGPUESProducer_cfi import ecalRechitChannelStatusGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalIntercalibConstantsGPUESProducer_cfi import ecalIntercalibConstantsGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalLaserAPDPNRatiosGPUESProducer_cfi import ecalLaserAPDPNRatiosGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalLaserAPDPNRatiosRefGPUESProducer_cfi import ecalLaserAPDPNRatiosRefGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalLaserAlphasGPUESProducer_cfi import ecalLaserAlphasGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalLinearCorrectionsGPUESProducer_cfi import ecalLinearCorrectionsGPUESProducer -from RecoLocalCalo.EcalRecProducers.ecalRecHitParametersGPUESProducer_cfi import ecalRecHitParametersGPUESProducer - -# ECAL rechits running on GPU -from RecoLocalCalo.EcalRecProducers.ecalRecHitGPU_cfi import ecalRecHitGPU as _ecalRecHitGPU -ecalRecHitGPU = _ecalRecHitGPU.clone( - uncalibrecHitsInLabelEB = cms.InputTag('ecalMultiFitUncalibRecHitGPU', 'EcalUncalibRecHitsEB'), - uncalibrecHitsInLabelEE = cms.InputTag('ecalMultiFitUncalibRecHitGPU', 'EcalUncalibRecHitsEE') -) - -# copy the rechits from GPU to CPU -from RecoLocalCalo.EcalRecProducers.ecalCPURecHitProducer_cfi import ecalCPURecHitProducer as _ecalCPURecHitProducer -ecalRecHitSoA = _ecalCPURecHitProducer.clone( - recHitsInLabelEB = cms.InputTag('ecalRecHitGPU', 'EcalRecHitsEB'), - recHitsInLabelEE = cms.InputTag('ecalRecHitGPU', 'EcalRecHitsEE') -) - -# TODO: the ECAL calibrated rechits produced on the GPU are not correct, yet. -# When they are working and validated, remove this comment and uncomment the next lines: -# convert the rechits from SoA to legacy format -#from RecoLocalCalo.EcalRecProducers.ecalRecHitConvertGPU2CPUFormat_cfi import ecalRecHitConvertGPU2CPUFormat as _ecalRecHitFromSoA -#gpu.toModify(ecalRecHit, -# cuda = _ecalRecHitFromSoA.clone( -# recHitsLabelGPUEB = cms.InputTag('ecalRecHitSoA', 'EcalRecHitsEB'), -# recHitsLabelGPUEE = cms.InputTag('ecalRecHitSoA', 'EcalRecHitsEE') -# ) -#) - -# ECAL calibrated rechit reconstruction on GPU -gpu.toReplaceWith(ecalCalibratedRecHitTask, cms.Task( - # ECAL rechit calibrations on GPU - ecalRechitADCToGeVConstantGPUESProducer, - ecalRechitChannelStatusGPUESProducer, - ecalIntercalibConstantsGPUESProducer, - ecalLaserAPDPNRatiosGPUESProducer, - ecalLaserAPDPNRatiosRefGPUESProducer, - ecalLaserAlphasGPUESProducer, - ecalLinearCorrectionsGPUESProducer, - ecalRecHitParametersGPUESProducer, - # ECAL rechits running on GPU - ecalRecHitGPU, - # copy the rechits from GPU to CPU - ecalRecHitSoA, - # convert the rechits from SoA to legacy format - ecalRecHit -)) diff --git a/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py b/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py index 0ca9b166d9b15..452414df503f4 100644 --- a/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py +++ b/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py @@ -86,18 +86,17 @@ bdtWeightFileNoCracks = cms.FileInPath("RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/BDTWeights/bdtgAllRH_8GT700MeV_noCracks_ZskimData2017_v1.xml"), bdtWeightFileCracks = cms.FileInPath("RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/BDTWeights/bdtgAllRH_8GT700MeV_onlyCracks_ZskimData2017_v1.xml"), triggerPrimitiveDigiCollection = cms.InputTag("ecalDigis:EcalTriggerPrimitives"), - cleaningConfig=cleaningAlgoConfig, - - ) + cleaningConfig = cleaningAlgoConfig, +) -from Configuration.Eras.Modifier_fastSim_cff import fastSim # no flags for bad channels in FastSim +from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toModify(ecalRecHit, - killDeadChannels = False, - recoverEBFE = False, - recoverEEFE = False, - recoverEBIsolatedChannels = False - ) + killDeadChannels = False, + recoverEBFE = False, + recoverEEFE = False, + recoverEBIsolatedChannels = False +) # use CC timing method for Run3 and Phase 2 (carried over from Run3 era) from Configuration.ProcessModifiers.ecal_cctiming_cff import ecal_cctiming @@ -106,13 +105,6 @@ timeOffsetTag = ':CC' ) -# this overrides the modifications made by ecal_cctiming if both modifiers are active -from Configuration.ProcessModifiers.gpuValidationEcal_cff import gpuValidationEcal -gpuValidationEcal.toModify(ecalRecHit, - timeCalibTag = ':', - timeOffsetTag = ':' -) - # Phase 2 modifications from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel phase2_ecal_devel.toModify(ecalRecHit, @@ -124,4 +116,3 @@ recoverEBIsolatedChannels = False, recoverEEIsolatedChannels = False ) - diff --git a/RecoLocalCalo/EcalRecProducers/python/ecalUncalibRecHitPhase2_cff.py b/RecoLocalCalo/EcalRecProducers/python/ecalUncalibRecHitPhase2_cff.py index dbe491850c028..1c639f3e4682b 100644 --- a/RecoLocalCalo/EcalRecProducers/python/ecalUncalibRecHitPhase2_cff.py +++ b/RecoLocalCalo/EcalRecProducers/python/ecalUncalibRecHitPhase2_cff.py @@ -1,7 +1,5 @@ import FWCore.ParameterSet.Config as cms from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA -from Configuration.ProcessModifiers.gpu_cff import gpu - from RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitPhase2_cfi import ecalUncalibRecHitPhase2 as _ecalUncalibRecHitPhase2 ecalUncalibRecHitPhase2 = SwitchProducerCUDA( @@ -10,46 +8,3 @@ # cpu weights ecalUncalibRecHitPhase2Task = cms.Task(ecalUncalibRecHitPhase2) - -# conditions used on gpu - - -from RecoLocalCalo.EcalRecProducers.ecalPhase2DigiToGPUProducer_cfi import ecalPhase2DigiToGPUProducer as _ecalPhase2DigiToGPUProducer -ecalPhase2DigiToGPUProducer = _ecalPhase2DigiToGPUProducer.clone() - -# gpu weights -from RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitPhase2GPU_cfi import ecalUncalibRecHitPhase2GPU as _ecalUncalibRecHitPhase2GPU -ecalUncalibRecHitPhase2GPU = _ecalUncalibRecHitPhase2GPU.clone( - digisLabelEB = ('ecalPhase2DigiToGPUProducer', 'ebDigis') -) - -# copy the uncalibrated rechits from GPU to CPU -from RecoLocalCalo.EcalRecProducers.ecalCPUUncalibRecHitProducer_cfi import ecalCPUUncalibRecHitProducer as _ecalCPUUncalibRecHitProducer -ecalUncalibRecHitSoA = _ecalCPUUncalibRecHitProducer.clone( - recHitsInLabelEB = ('ecalUncalibRecHitPhase2GPU', 'EcalUncalibRecHitsEB'), - isPhase2 = True, - recHitsInLabelEE = None, # remove unneeded Phase1 parameters - recHitsOutLabelEE = None -) - - -from RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitConvertGPU2CPUFormat_cfi import ecalUncalibRecHitConvertGPU2CPUFormat as _ecalUncalibRecHitConvertGPU2CPUFormat -gpu.toModify(ecalUncalibRecHitPhase2, - cuda = _ecalUncalibRecHitConvertGPU2CPUFormat.clone( - isPhase2 = True, - recHitsLabelGPUEB = ('ecalUncalibRecHitSoA', 'EcalUncalibRecHitsEB'), - recHitsLabelGPUEE = None, # remove unneeded Phase1 parameters - recHitsLabelCPUEE = None - ) -) - -gpu.toReplaceWith(ecalUncalibRecHitPhase2Task, cms.Task( - # convert phase2 digis to GPU SoA - ecalPhase2DigiToGPUProducer, - # ECAL weights running on GPU - ecalUncalibRecHitPhase2GPU, - # copy the uncalibrated rechits from GPU to CPU - ecalUncalibRecHitSoA, - # ECAL multifit running on CPU, or convert the uncalibrated rechits from SoA to legacy format - ecalUncalibRecHitPhase2, -)) diff --git a/RecoLocalCalo/EcalRecProducers/test/testEcalRechitProducer_cfg.py b/RecoLocalCalo/EcalRecProducers/test/testEcalRechitProducer_cfg.py index e8f8e26ca29e1..713c2f3d4c269 100644 --- a/RecoLocalCalo/EcalRecProducers/test/testEcalRechitProducer_cfg.py +++ b/RecoLocalCalo/EcalRecProducers/test/testEcalRechitProducer_cfg.py @@ -36,9 +36,6 @@ process.load("RecoLuminosity.LumiProducer.bunchSpacingProducer_cfi") # load both cpu and gpu plugins -# -# ../cfipython/slc7_amd64_gcc700/RecoLocalCalo/EcalRecProducers/ecalUncalibRecHitProducerGPU_cfi.py -# process.load("RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitProducerGPU_cfi") process.load("RecoLocalCalo.EcalRecProducers.ecalMultiFitUncalibRecHit_cfi") diff --git a/RecoLocalCalo/EcalRecProducers/test/testEcalUncalibRecHitPhase2WeightsProducerGPU.py b/RecoLocalCalo/EcalRecProducers/test/testEcalUncalibRecHitPhase2WeightsProducerGPU.py deleted file mode 100644 index ea98be71cc5f1..0000000000000 --- a/RecoLocalCalo/EcalRecProducers/test/testEcalUncalibRecHitPhase2WeightsProducerGPU.py +++ /dev/null @@ -1,141 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.Eras.Era_Phase2C10_cff import Phase2C10 -from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel -from Configuration.ProcessModifiers.gpu_cff import gpu -from Configuration.ProcessModifiers.gpuValidationEcal_cff import gpuValidationEcal - -process = cms.Process('RECO',Phase2C10,phase2_ecal_devel, gpu, gpuValidationEcal) - -# import of standard configurations -process.load('Configuration.StandardSequences.Services_cff') -process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') -process.load('FWCore.MessageService.MessageLogger_cfi') -process.load('Configuration.EventContent.EventContent_cff') -process.load('SimGeneral.MixingModule.mixNoPU_cfi') -process.load('Configuration.Geometry.GeometryExtended2026D60Reco_cff') -process.load('Configuration.StandardSequences.MagneticField_cff') -process.load('Configuration.StandardSequences.RawToDigi_cff') -process.load('Configuration.StandardSequences.L1Reco_cff') -process.load('Configuration.StandardSequences.Reconstruction_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') -process.load('DQMOffline.Configuration.DQMOfflineMC_cff') -process.load('RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitPhase2_cff') -process.load('RecoLuminosity.LumiProducer.bunchSpacingProducer_cfi') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(100), - output = cms.optional.untracked.allowed(cms.int32,cms.PSet) -) - -process.load('HLTrigger.Timer.FastTimerService_cfi') -process.FastTimerService.enableDQM = False -process.FastTimerService.printRunSummary = False -process.FastTimerService.printJobSummary = True -process.FastTimerService.writeJSONSummary = True -process.FastTimerService.jsonFileName = 'resources.json' -process.MessageLogger.FastReport = cms.untracked.PSet() - - - -# Input source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring('/store/group/dpg_ecal/comm_ecal/upgrade/Phase2CMSSW///RelValTTbar_14TeV_ecaldigi_123X_mcRun4_realistic_v3_2026D77noPU-v1.root'), - secondaryFileNames = cms.untracked.vstring() -) - -process.options = cms.untracked.PSet( - IgnoreCompletely = cms.untracked.vstring(), - Rethrow = cms.untracked.vstring(), - TryToContinue = cms.untracked.vstring(), - allowUnscheduled = cms.obsolete.untracked.bool, - canDeleteEarly = cms.untracked.vstring(), - emptyRunLumiMode = cms.obsolete.untracked.string, - eventSetup = cms.untracked.PSet( - forceNumberOfConcurrentIOVs = cms.untracked.PSet( - allowAnyLabel_=cms.required.untracked.uint32 - ), - numberOfConcurrentIOVs = cms.untracked.uint32(1) - ), - fileMode = cms.untracked.string('FULLMERGE'), - forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False), - makeTriggerResults = cms.obsolete.untracked.bool, - numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1), - numberOfConcurrentRuns = cms.untracked.uint32(1), - numberOfStreams = cms.untracked.uint32(0), - numberOfThreads = cms.untracked.uint32(1), - printDependencies = cms.untracked.bool(False), - sizeOfStackForThreadsInKB = cms.optional.untracked.uint32, - throwIfIllegalParameter = cms.untracked.bool(True), - wantSummary = cms.untracked.bool(True) -) - -# Production Info -process.configurationMetadata = cms.untracked.PSet( - annotation = cms.untracked.string('step3GPU nevts:10'), - name = cms.untracked.string('Applications'), - version = cms.untracked.string('$Revision: 1.19 $') -) - -# Set up the DQM GPU validation task -process.ecalMonitorTaskEcalOnly.workers = ["GpuTask"] -process.ecalMonitorTaskEcalOnly.collectionTags.EBCpuUncalibRecHit = "ecalUncalibRecHitPhase2@cpu:EcalUncalibRecHitsEB" -process.ecalMonitorTaskEcalOnly.collectionTags.EBGpuUncalibRecHit = "ecalUncalibRecHitPhase2@cuda:EcalUncalibRecHitsEB" - -# Output definition -outputCommand = process.FEVTDEBUGHLTEventContent.outputCommands -outputCommand.append('keep *_ecalUncalibRecHitPhase2*_*_RECO') -process.FEVTDEBUGHLToutput = cms.OutputModule("PoolOutputModule", - dataset = cms.untracked.PSet( - dataTier = cms.untracked.string('GEN-SIM-RECO'), - filterName = cms.untracked.string('') - ), - fileName = cms.untracked.string('file:step3GPU.root'), - outputCommands = outputCommand, - splitLevel = cms.untracked.int32(0) -) - -process.DQMoutput = cms.OutputModule("DQMRootOutputModule", - dataset = cms.untracked.PSet( - dataTier = cms.untracked.string('DQMIO'), - filterName = cms.untracked.string('') - ), - fileName = cms.untracked.string('file:step3GPU_inDQM.root'), - outputCommands = process.DQMEventContent.outputCommands, - splitLevel = cms.untracked.int32(0) -) - -# Additional output definition - -# Other statements -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T15', '') - -# Path and EndPath definitions -process.L1Reco_step = cms.Path(process.L1Reco) -process.reconstruction_step = cms.Path(cms.Sequence(cms.Task( - process.bunchSpacingProducer, - process.ecalUncalibRecHitPhase2Task -))) -process.dqmoffline_step = cms.EndPath(process.DQMOfflineEcalOnly) - -process.FEVTDEBUGHLToutput_step = cms.EndPath(process.FEVTDEBUGHLToutput) -process.DQMoutput_step = cms.EndPath(process.DQMoutput) - -# Schedule definition -process.schedule = cms.Schedule(process.L1Reco_step,process.reconstruction_step,process.dqmoffline_step,process.FEVTDEBUGHLToutput_step,process.DQMoutput_step) -from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask -associatePatAlgosToolsTask(process) - - - -# Customisation from command line - -#Have logErrorHarvester wait for the same EDProducers to finish as those providing data for the OutputModule -from FWCore.Modules.logErrorHarvester_cff import customiseLogErrorHarvesterUsingOutputCommands -process = customiseLogErrorHarvesterUsingOutputCommands(process) - -# Add early deletion of temporary data products to reduce peak memory need -from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete -process = customiseEarlyDelete(process) -# End adding early deletion diff --git a/RecoLocalCalo/EcalRecProducers/test/testEcalUncalibRechitProducer_cfg.py b/RecoLocalCalo/EcalRecProducers/test/testEcalUncalibRechitProducer_cfg.py index f389209f32d0b..9408bc7394515 100644 --- a/RecoLocalCalo/EcalRecProducers/test/testEcalUncalibRechitProducer_cfg.py +++ b/RecoLocalCalo/EcalRecProducers/test/testEcalUncalibRechitProducer_cfg.py @@ -48,9 +48,6 @@ process.load("RecoLuminosity.LumiProducer.bunchSpacingProducer_cfi") # load both cpu and gpu plugins -# -# ../cfipython/slc7_amd64_gcc700/RecoLocalCalo/EcalRecProducers/ecalUncalibRecHitProducerGPU_cfi.py -# process.load("RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitProducerGPU_cfi") process.load("RecoLocalCalo.EcalRecProducers.ecalMultiFitUncalibRecHit_cfi") diff --git a/RecoLocalTracker/SiPixelClusterizer/python/SiPixelClusterizerPreSplitting_cfi.py b/RecoLocalTracker/SiPixelClusterizer/python/SiPixelClusterizerPreSplitting_cfi.py index 2732b4641da19..782ae56ba47ad 100644 --- a/RecoLocalTracker/SiPixelClusterizer/python/SiPixelClusterizerPreSplitting_cfi.py +++ b/RecoLocalTracker/SiPixelClusterizer/python/SiPixelClusterizerPreSplitting_cfi.py @@ -1,39 +1,13 @@ import FWCore.ParameterSet.Config as cms -from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA # SiPixelGainCalibrationServiceParameters from CondTools.SiPixel.SiPixelGainCalibrationService_cfi import * # legacy pixel cluster producer from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters -siPixelClustersPreSplitting = SwitchProducerCUDA( - cpu = _siPixelClusters.clone() -) - -from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker -from Configuration.ProcessModifiers.gpu_cff import gpu - -# ensure the same results when running on GPU (which supports only the 'HLT' payload) and CPU -# but not for phase-2 where we don't calibrate digis in the clusterizer (yet) -(gpu & ~phase2_tracker).toModify(siPixelClustersPreSplitting, - cpu = dict( - payloadType = 'HLT' - ) -) - -# SwitchProducer wrapping the legacy pixel cluster producer or an alias for the pixel clusters information converted from SoA -gpu.toModify(siPixelClustersPreSplitting, - cuda = cms.EDAlias( - siPixelDigisClustersPreSplitting = cms.VPSet( - cms.PSet(type = cms.string("SiPixelClusteredmNewDetSetVector")) - ) - ) -) +siPixelClustersPreSplitting = _siPixelClusters.clone() from Configuration.ProcessModifiers.siPixelDigiMorphing_cff import siPixelDigiMorphing -siPixelDigiMorphing.toModify( - siPixelClustersPreSplitting, - cpu = dict( - src = 'siPixelDigisMorphed' - ) +siPixelDigiMorphing.toModify(siPixelClustersPreSplitting, + src = 'siPixelDigisMorphed' ) diff --git a/RecoLocalTracker/SiPixelClusterizer/python/siPixelClustersPreSplitting_cff.py b/RecoLocalTracker/SiPixelClusterizer/python/siPixelClustersPreSplitting_cff.py index 71d2ff35cadce..36337bce6ff84 100644 --- a/RecoLocalTracker/SiPixelClusterizer/python/siPixelClustersPreSplitting_cff.py +++ b/RecoLocalTracker/SiPixelClusterizer/python/siPixelClustersPreSplitting_cff.py @@ -1,101 +1,18 @@ import FWCore.ParameterSet.Config as cms from HeterogeneousCore.AlpakaCore.functions import * from Configuration.Eras.Modifier_run3_common_cff import run3_common -from Configuration.ProcessModifiers.gpu_cff import gpu +from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker from Configuration.ProcessModifiers.alpaka_cff import alpaka +from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA -# conditions used *only* by the modules running on GPU -from CalibTracker.SiPixelESProducers.siPixelROCsStatusAndMappingWrapperESProducer_cfi import siPixelROCsStatusAndMappingWrapperESProducer -from CalibTracker.SiPixelESProducers.siPixelGainCalibrationForHLTGPU_cfi import siPixelGainCalibrationForHLTGPU - -# SwitchProducer wrapping the legacy pixel cluster producer or an alias for the pixel clusters information converted from SoA +# legacy pixel cluster producer from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizerPreSplitting_cfi import siPixelClustersPreSplitting siPixelClustersPreSplittingTask = cms.Task( - # SwitchProducer wrapping the legacy pixel cluster producer or an alias for the pixel clusters information converted from SoA + # legacy pixel cluster producer siPixelClustersPreSplitting ) -# reconstruct the pixel digis and clusters on the gpu -from RecoLocalTracker.SiPixelClusterizer.siPixelRawToClusterCUDAPhase1_cfi import siPixelRawToClusterCUDAPhase1 as _siPixelRawToClusterCUDA -from RecoLocalTracker.SiPixelClusterizer.siPixelRawToClusterCUDAHIonPhase1_cfi import siPixelRawToClusterCUDAHIonPhase1 as _siPixelRawToClusterCUDAHIonPhase1 - -siPixelClustersPreSplittingCUDA = _siPixelRawToClusterCUDA.clone() - -# HIon Modifiers -from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA -# Phase 2 Tracker Modifier -from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker - -(pp_on_AA & ~phase2_tracker).toReplaceWith(siPixelClustersPreSplittingCUDA, _siPixelRawToClusterCUDAHIonPhase1.clone()) - -run3_common.toModify(siPixelClustersPreSplittingCUDA, - # use the pixel channel calibrations scheme for Run 3 - clusterThreshold_layer1 = 4000, - VCaltoElectronGain = 1, # all gains=1, pedestals=0 - VCaltoElectronGain_L1 = 1, - VCaltoElectronOffset = 0, - VCaltoElectronOffset_L1 = 0) - -from RecoLocalTracker.SiPixelClusterizer.siPixelDigisClustersFromSoAPhase1_cfi import siPixelDigisClustersFromSoAPhase1 as _siPixelDigisClustersFromSoAPhase1 -from RecoLocalTracker.SiPixelClusterizer.siPixelDigisClustersFromSoAPhase2_cfi import siPixelDigisClustersFromSoAPhase2 as _siPixelDigisClustersFromSoAPhase2 - -siPixelDigisClustersPreSplitting = _siPixelDigisClustersFromSoAPhase1.clone() - -from RecoLocalTracker.SiPixelClusterizer.siPixelDigisClustersFromSoAHIonPhase1_cfi import siPixelDigisClustersFromSoAHIonPhase1 as _siPixelDigisClustersFromSoAHIonPhase1 -(pp_on_AA & ~phase2_tracker).toReplaceWith(siPixelDigisClustersPreSplitting, _siPixelDigisClustersFromSoAHIonPhase1.clone()) - - -run3_common.toModify(siPixelDigisClustersPreSplitting, - clusterThreshold_layer1 = 4000) - -gpu.toReplaceWith(siPixelClustersPreSplittingTask, cms.Task( - # conditions used *only* by the modules running on GPU - siPixelROCsStatusAndMappingWrapperESProducer, - siPixelGainCalibrationForHLTGPU, - # reconstruct the pixel digis and clusters on the gpu - siPixelClustersPreSplittingCUDA, - # convert the pixel digis (except errors) and clusters to the legacy format - siPixelDigisClustersPreSplitting, - # SwitchProducer wrapping the legacy pixel cluster producer or an alias for the pixel clusters information converted from SoA - siPixelClustersPreSplittingTask.copy() -)) - -from RecoLocalTracker.SiPixelClusterizer.siPixelPhase2DigiToClusterCUDA_cfi import siPixelPhase2DigiToClusterCUDA as _siPixelPhase2DigiToClusterCUDA -# for phase2 no pixel raw2digi is available at the moment -# so we skip the raw2digi step and run on pixel digis copied to gpu - -from SimTracker.SiPhase2Digitizer.phase2TrackerDigitizer_cfi import PixelDigitizerAlgorithmCommon - -phase2_tracker.toReplaceWith(siPixelClustersPreSplittingCUDA,_siPixelPhase2DigiToClusterCUDA.clone( - Phase2ReadoutMode = PixelDigitizerAlgorithmCommon.Phase2ReadoutMode.value(), # Flag to decide Readout Mode : linear TDR (-1), dual slope with slope parameters (+1,+2,+3,+4 ...) with threshold subtraction - Phase2DigiBaseline = int(PixelDigitizerAlgorithmCommon.ThresholdInElectrons_Barrel.value()), #Same for barrel and endcap - Phase2KinkADC = 8, - ElectronPerADCGain = PixelDigitizerAlgorithmCommon.ElectronPerAdc.value() -)) - -from EventFilter.SiPixelRawToDigi.siPixelDigisSoAFromCUDA_cfi import siPixelDigisSoAFromCUDA as _siPixelDigisSoAFromCUDA -siPixelDigisPhase2SoA = _siPixelDigisSoAFromCUDA.clone( - src = "siPixelClustersPreSplittingCUDA" -) - -phase2_tracker.toReplaceWith(siPixelDigisClustersPreSplitting, _siPixelDigisClustersFromSoAPhase2.clone( - clusterThreshold_layer1 = 4000, - clusterThreshold_otherLayers = 4000, - src = "siPixelDigisPhase2SoA", - #produceDigis = False - )) - -(gpu & phase2_tracker).toReplaceWith(siPixelClustersPreSplittingTask, cms.Task( - # reconstruct the pixel clusters on the gpu from copied digis - siPixelClustersPreSplittingCUDA, - # copy from gpu to cpu - siPixelDigisPhase2SoA, - # convert the pixel digis (except errors) and clusters to the legacy format - siPixelDigisClustersPreSplitting, - # SwitchProducer wrapping the legacy pixel cluster producer or an alias for the pixel clusters information converted from SoA - siPixelClustersPreSplitting)) - ###################################################################### ### Alpaka Pixel Clusters Reco @@ -126,7 +43,7 @@ def _addProcessCalibTrackerAlpakaES(process): VCaltoElectronOffset_L1 = 0) from RecoLocalTracker.SiPixelClusterizer.siPixelPhase2DigiToCluster_cfi import siPixelPhase2DigiToCluster as _siPixelPhase2DigiToCluster - +from SimTracker.SiPhase2Digitizer.phase2TrackerDigitizer_cfi import PixelDigitizerAlgorithmCommon (alpaka & phase2_tracker).toReplaceWith(siPixelClustersPreSplittingAlpaka, _siPixelPhase2DigiToCluster.clone( Phase2ReadoutMode = PixelDigitizerAlgorithmCommon.Phase2ReadoutMode.value(), # flag to decide Readout Mode : linear TDR (-1), dual slope with slope parameters (+1,+2,+3,+4 ...) with threshold subtraction Phase2DigiBaseline = int(PixelDigitizerAlgorithmCommon.ThresholdInElectrons_Barrel.value()), # same for barrel and endcap @@ -141,30 +58,22 @@ def _addProcessCalibTrackerAlpakaES(process): from RecoLocalTracker.SiPixelClusterizer.siPixelDigisClustersFromSoAAlpakaPhase2_cfi import siPixelDigisClustersFromSoAAlpakaPhase2 as _siPixelDigisClustersFromSoAAlpakaPhase2 from RecoLocalTracker.SiPixelClusterizer.siPixelDigisClustersFromSoAAlpakaHIonPhase1_cfi import siPixelDigisClustersFromSoAAlpakaHIonPhase1 as _siPixelDigisClustersFromSoAAlpakaHIonPhase1 -(alpaka & ~phase2_tracker).toReplaceWith(siPixelDigisClustersPreSplitting,_siPixelDigisClustersFromSoAAlpakaPhase1.clone( +(alpaka & ~phase2_tracker).toReplaceWith(siPixelClustersPreSplitting, _siPixelDigisClustersFromSoAAlpakaPhase1.clone( src = "siPixelClustersPreSplittingAlpaka" )) -(alpaka & pp_on_AA & ~phase2_tracker).toReplaceWith(siPixelDigisClustersPreSplitting,_siPixelDigisClustersFromSoAAlpakaHIonPhase1.clone( +(alpaka & pp_on_AA & ~phase2_tracker).toReplaceWith(siPixelClustersPreSplitting, _siPixelDigisClustersFromSoAAlpakaHIonPhase1.clone( src = "siPixelClustersPreSplittingAlpaka" )) -(alpaka & phase2_tracker).toReplaceWith(siPixelDigisClustersPreSplitting,_siPixelDigisClustersFromSoAAlpakaPhase2.clone( +(alpaka & phase2_tracker).toReplaceWith(siPixelClustersPreSplitting, _siPixelDigisClustersFromSoAAlpakaPhase2.clone( + src = "siPixelClustersPreSplittingAlpaka", clusterThreshold_layer1 = 4000, clusterThreshold_otherLayers = 4000, - src = "siPixelClustersPreSplittingAlpaka", storeDigis = False, produceDigis = False )) -alpaka.toModify(siPixelClustersPreSplitting, - cpu = cms.EDAlias( - siPixelDigisClustersPreSplitting = cms.VPSet( - cms.PSet(type = cms.string("SiPixelClusteredmNewDetSetVector")) - ) - ) -) - # These produce pixelDigiErrors in Alpaka; they are constructed here because they need # siPixelClustersPreSplittingAlpaka* as input from EventFilter.SiPixelRawToDigi.siPixelDigiErrorsFromSoAAlpaka_cfi import siPixelDigiErrorsFromSoAAlpaka as _siPixelDigiErrorsFromSoAAlpaka @@ -180,7 +89,7 @@ def _addProcessCalibTrackerAlpakaES(process): ) # Run 3 -alpaka.toReplaceWith(siPixelClustersPreSplittingTask, cms.Task( +(alpaka & ~phase2_tracker).toReplaceWith(siPixelClustersPreSplittingTask, cms.Task( # reconstruct the pixel clusters with alpaka siPixelClustersPreSplittingAlpaka, # reconstruct the pixel clusters with alpaka on the cpu (if requested by the validation) @@ -189,8 +98,6 @@ def _addProcessCalibTrackerAlpakaES(process): siPixelDigiErrorsAlpaka, siPixelDigiErrorsAlpakaSerial, # convert from host SoA to legacy formats (digis and clusters) - siPixelDigisClustersPreSplitting, - # EDAlias for the clusters siPixelClustersPreSplitting) ) @@ -204,7 +111,5 @@ def _addProcessCalibTrackerAlpakaES(process): siPixelDigiErrorsAlpaka, siPixelDigiErrorsAlpakaSerial, # convert the pixel digis (except errors) and clusters to the legacy format - siPixelDigisClustersPreSplitting, - # SwitchProducer wrapping the legacy pixel cluster producer or an alias for the pixel clusters information converted from SoA siPixelClustersPreSplitting) ) diff --git a/RecoLocalTracker/SiPixelRecHits/python/SiPixelRecHits_cfi.py b/RecoLocalTracker/SiPixelRecHits/python/SiPixelRecHits_cfi.py index cb539a2b1c6e4..ca375f5d57bf1 100644 --- a/RecoLocalTracker/SiPixelRecHits/python/SiPixelRecHits_cfi.py +++ b/RecoLocalTracker/SiPixelRecHits/python/SiPixelRecHits_cfi.py @@ -1,8 +1,9 @@ import FWCore.ParameterSet.Config as cms from HeterogeneousCore.AlpakaCore.functions import * from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA -from Configuration.ProcessModifiers.gpu_cff import gpu +from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker from Configuration.ProcessModifiers.alpaka_cff import alpaka +from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA # legacy pixel rechit producer siPixelRecHits = cms.EDProducer("SiPixelRecHitConverter", @@ -18,58 +19,52 @@ ) ) -# phase 2 tracker modifier -from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker -# HIon modifiers -from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA - # convert the pixel rechits from legacy to SoA format on CPU from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacyPhase1_cfi import siPixelRecHitSoAFromLegacyPhase1 as _siPixelRecHitsPreSplittingSoA -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacyPhase2_cfi import siPixelRecHitSoAFromLegacyPhase2 as _siPixelRecHitsPreSplittingSoAPhase2 +siPixelRecHitsPreSplittingCPU = _siPixelRecHitsPreSplittingSoA.clone( + convertToLegacy = True +) + from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacyHIonPhase1_cfi import siPixelRecHitSoAFromLegacyHIonPhase1 as _siPixelRecHitsPreSplittingSoAHIonPhase1 +(pp_on_AA & ~phase2_tracker).toReplaceWith(siPixelRecHitsPreSplittingCPU, + _siPixelRecHitsPreSplittingSoAHIonPhase1.clone( + convertToLegacy = True, + CPE = cms.string('PixelCPEFastHIonPhase1') + ) +) -siPixelRecHitsPreSplittingCPU = _siPixelRecHitsPreSplittingSoA.clone(convertToLegacy=True) -(pp_on_AA & ~phase2_tracker).toReplaceWith(siPixelRecHitsPreSplittingCPU, _siPixelRecHitsPreSplittingSoAHIonPhase1.clone(convertToLegacy=True, CPE = cms.string('PixelCPEFastHIonPhase1'))) -phase2_tracker.toReplaceWith(siPixelRecHitsPreSplittingCPU, _siPixelRecHitsPreSplittingSoAPhase2.clone(convertToLegacy=True, CPE = cms.string('PixelCPEFastPhase2'))) +from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacyPhase2_cfi import siPixelRecHitSoAFromLegacyPhase2 as _siPixelRecHitsPreSplittingSoAPhase2 +phase2_tracker.toReplaceWith(siPixelRecHitsPreSplittingCPU, + _siPixelRecHitsPreSplittingSoAPhase2.clone( + convertToLegacy = True, + CPE = cms.string('PixelCPEFastPhase2') + ) +) # modifier used to prompt patatrack pixel tracks reconstruction on cpu from Configuration.ProcessModifiers.pixelNtupletFit_cff import pixelNtupletFit pixelNtupletFit.toModify(siPixelRecHitsPreSplitting, cpu = cms.EDAlias( - siPixelRecHitsPreSplittingCPU = cms.VPSet( - cms.PSet(type = cms.string("SiPixelRecHitedmNewDetSetVector")), - cms.PSet(type = cms.string("uintAsHostProduct")) - ) -)) - + siPixelRecHitsPreSplittingCPU = cms.VPSet( + cms.PSet(type = cms.string("SiPixelRecHitedmNewDetSetVector")), + cms.PSet(type = cms.string("uintAsHostProduct")) + ) + ) +) siPixelRecHitsPreSplittingTask = cms.Task( # SwitchProducer wrapping the legacy pixel rechit producer or the cpu SoA producer siPixelRecHitsPreSplitting ) -# reconstruct the pixel rechits on the gpu -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDAPhase1_cfi import siPixelRecHitCUDAPhase1 as _siPixelRecHitCUDAPhase1 -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDAPhase2_cfi import siPixelRecHitCUDAPhase2 as _siPixelRecHitCUDAPhase2 -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDAHIonPhase1_cfi import siPixelRecHitCUDAHIonPhase1 as _siPixelRecHitCUDAHIonPhase1 - -siPixelRecHitsPreSplittingCUDA = _siPixelRecHitCUDAPhase1.clone( - beamSpot = "offlineBeamSpotToCUDA" -) -(pp_on_AA & ~phase2_tracker).toReplaceWith(siPixelRecHitsPreSplittingCUDA,_siPixelRecHitCUDAHIonPhase1.clone( - beamSpot = "offlineBeamSpotToCUDA" -)) -phase2_tracker.toReplaceWith(siPixelRecHitsPreSplittingCUDA,_siPixelRecHitCUDAPhase2.clone( - beamSpot = "offlineBeamSpotToCUDA" -)) - -#this is an alias for the SoA on GPU or CPU to be used for DQM +# this is an alias for the SoA on CPU to be used for DQM siPixelRecHitsPreSplittingSoA = SwitchProducerCUDA( cpu = cms.EDAlias( - siPixelRecHitsPreSplittingCPU = cms.VPSet( - cms.PSet(type = cms.string("pixelTopologyPhase1TrackingRecHitSoAHost")), - cms.PSet(type = cms.string("uintAsHostProduct")) - )), + siPixelRecHitsPreSplittingCPU = cms.VPSet( + cms.PSet(type = cms.string("pixelTopologyPhase1TrackingRecHitSoAHost")), + cms.PSet(type = cms.string("uintAsHostProduct")) + ) + ) ) (pp_on_AA & ~phase2_tracker).toModify(siPixelRecHitsPreSplittingSoA, @@ -77,53 +72,29 @@ siPixelRecHitsPreSplittingCPU = cms.VPSet( cms.PSet(type = cms.string("pixelTopologyHIonPhase1TrackingRecHitSoAHost")), cms.PSet(type = cms.string("uintAsHostProduct")) - ))) + ) + ) +) phase2_tracker.toModify(siPixelRecHitsPreSplittingSoA, cpu = cms.EDAlias( siPixelRecHitsPreSplittingCPU = cms.VPSet( cms.PSet(type = cms.string("pixelTopologyPhase2TrackingRecHitSoAHost")), cms.PSet(type = cms.string("uintAsHostProduct")) - ))) - -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromCUDAPhase1_cfi import siPixelRecHitSoAFromCUDAPhase1 as _siPixelRecHitSoAFromCUDA -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromCUDAHIonPhase1_cfi import siPixelRecHitSoAFromCUDAHIonPhase1 as _siPixelRecHitSoAFromCUDAHIonPhase1 -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromCUDAPhase2_cfi import siPixelRecHitSoAFromCUDAPhase2 as _siPixelRecHitSoAFromCUDAPhase2 - -(gpu & pixelNtupletFit).toModify(siPixelRecHitsPreSplittingSoA, cuda = _siPixelRecHitSoAFromCUDA.clone()) -(gpu & pixelNtupletFit & phase2_tracker).toModify(siPixelRecHitsPreSplittingSoA, cuda = _siPixelRecHitSoAFromCUDAPhase2.clone()) - -# transfer the pixel rechits to the host and convert them from SoA -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDAPhase1_cfi import siPixelRecHitFromCUDAPhase1 as _siPixelRecHitFromCUDA -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDAHIonPhase1_cfi import siPixelRecHitFromCUDAHIonPhase1 as _siPixelRecHitFromCUDAHIonPhase1 -from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDAPhase2_cfi import siPixelRecHitFromCUDAPhase2 as _siPixelRecHitFromCUDAPhase2 - -(gpu & pixelNtupletFit).toModify(siPixelRecHitsPreSplitting, cuda = _siPixelRecHitFromCUDA.clone()) -(gpu & pixelNtupletFit & pp_on_AA).toModify(siPixelRecHitsPreSplitting, cuda = _siPixelRecHitFromCUDAHIonPhase1.clone()) -(gpu & pixelNtupletFit & phase2_tracker).toModify(siPixelRecHitsPreSplitting, cuda = _siPixelRecHitFromCUDAPhase2.clone()) - + ) + ) +) -pixelNtupletFit.toReplaceWith(siPixelRecHitsPreSplittingTask, cms.Task( +pixelNtupletFit.toReplaceWith(siPixelRecHitsPreSplittingTask, cms.Task( # reconstruct the pixel rechits on the cpu siPixelRecHitsPreSplittingCPU, - # SwitchProducer wrapping an EDAlias on cpu or the converter from SoA to legacy on gpu + # SwitchProducer wrapping an EDAlias on cpu siPixelRecHitsPreSplittingTask.copy(), # producing and converting on cpu (if needed) - siPixelRecHitsPreSplittingSoA) - ) - ) - -(gpu & pixelNtupletFit).toReplaceWith(siPixelRecHitsPreSplittingTask, cms.Task( - # reconstruct the pixel rechits on the gpu or on the cpu - # (normally only one of the two is run because only one is consumed from later stages) - siPixelRecHitsPreSplittingCUDA, - siPixelRecHitsPreSplittingCPU, - # SwitchProducer wrapping an EDAlias on cpu or the converter from SoA to legacy on gpu - siPixelRecHitsPreSplittingTask.copy(), - # producing and converting on cpu (if needed) - siPixelRecHitsPreSplittingSoA -)) + siPixelRecHitsPreSplittingSoA + ) +) ###################################################################### @@ -155,20 +126,23 @@ (alpaka & ~phase2_tracker).toModify(siPixelRecHitsPreSplitting, cpu = _siPixelRecHitFromSoAAlpakaPhase1.clone( - pixelRecHitSrc = cms.InputTag('siPixelRecHitsPreSplittingAlpaka'), - src = cms.InputTag('siPixelClustersPreSplitting')) + pixelRecHitSrc = cms.InputTag('siPixelRecHitsPreSplittingAlpaka'), + src = cms.InputTag('siPixelClustersPreSplitting') + ) ) (alpaka & phase2_tracker).toModify(siPixelRecHitsPreSplitting, cpu = _siPixelRecHitFromSoAAlpakaPhase2.clone( - pixelRecHitSrc = cms.InputTag('siPixelRecHitsPreSplittingAlpaka'), - src = cms.InputTag('siPixelClustersPreSplitting')) + pixelRecHitSrc = cms.InputTag('siPixelRecHitsPreSplittingAlpaka'), + src = cms.InputTag('siPixelClustersPreSplitting') + ) ) (alpaka & pp_on_AA & ~phase2_tracker).toModify(siPixelRecHitsPreSplitting, cpu = _siPixelRecHitFromSoAAlpakaHIonPhase1.clone( - pixelRecHitSrc = cms.InputTag('siPixelRecHitsPreSplittingAlpaka'), - src = cms.InputTag('siPixelClustersPreSplitting')) + pixelRecHitSrc = cms.InputTag('siPixelRecHitsPreSplittingAlpaka'), + src = cms.InputTag('siPixelClustersPreSplitting') + ) ) diff --git a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterToDigiProducer_cfi.py b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterToDigiProducer_cfi.py index d2be0fedbf945..f0250062bff07 100644 --- a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterToDigiProducer_cfi.py +++ b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterToDigiProducer_cfi.py @@ -1,5 +1,5 @@ import FWCore.ParameterSet.Config as cms siStripClustersToDigis = cms.EDProducer("SiStripClusterToDigiProducer", - ClusterProducer = cms.InputTag('siStripClusters','') - ) + ClusterProducer = cms.InputTag('siStripClusters', '') +) diff --git a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizerOnDemand_cfi.py b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizerOnDemand_cfi.py index 0e912f7ba5660..73fc9de9801e7 100644 --- a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizerOnDemand_cfi.py +++ b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizerOnDemand_cfi.py @@ -1,56 +1,19 @@ import FWCore.ParameterSet.Config as cms -from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA - -# from RecoLocalTracker.SiStripClusterizer.SiStripClusterizer_RealData_cfi import * from RecoLocalTracker.SiStripClusterizer.DefaultClusterizer_cff import * from RecoLocalTracker.SiStripZeroSuppression.DefaultAlgorithms_cff import * -from RecoLocalTracker.SiStripClusterizer.siStripClusterizerFromRawGPU_cfi import siStripClusterizerFromRawGPU -from RecoLocalTracker.SiStripClusterizer.siStripClustersSOAtoHost_cfi import siStripClustersSOAtoHost -from RecoLocalTracker.SiStripClusterizer.siStripClustersFromSOA_cfi import siStripClustersFromSOA -from RecoLocalTracker.SiStripClusterizer.SiStripClusterizerConditionsGPUESProducer_cfi import SiStripClusterizerConditionsGPUESProducer - -_siStripClusterizerFromRaw = cms.EDProducer("SiStripClusterizerFromRaw", - onDemand = cms.bool(True), - Clusterizer = DefaultClusterizer, - Algorithms = DefaultAlgorithms, - DoAPVEmulatorCheck = cms.bool(False), - HybridZeroSuppressed = cms.bool(False), - ProductLabel = cms.InputTag('rawDataCollector')) - -_siStripClusterizerFromRaw.Clusterizer.MaxClusterSize = cms.uint32(16) - -siStripClusterizerFromRawGPU.Clusterizer = DefaultClusterizer - -siStripClusters = SwitchProducerCUDA( - cpu = _siStripClusterizerFromRaw.clone(), +siStripClusters = cms.EDProducer("SiStripClusterizerFromRaw", + onDemand = cms.bool(True), + Clusterizer = DefaultClusterizer.clone( + MaxClusterSize = cms.uint32(16) + ), + Algorithms = DefaultAlgorithms, + DoAPVEmulatorCheck = cms.bool(False), + HybridZeroSuppressed = cms.bool(False), + ProductLabel = cms.InputTag('rawDataCollector') ) siStripClustersTask = cms.Task( - siStripClusters, + siStripClusters ) - -from Configuration.ProcessModifiers.gpu_cff import gpu - -gpu.toModify(siStripClusters, - cuda = siStripClustersFromSOA, -) - -siStripClustersTaskCUDA = cms.Task() - -gpu.toReplaceWith(siStripClustersTaskCUDA, cms.Task( - # conditions used *only* by the modules running on GPU - SiStripClusterizerConditionsGPUESProducer, - # reconstruct the strip clusters on the gpu - siStripClusterizerFromRawGPU, - # copy clusters from GPU to pinned host memory - siStripClustersSOAtoHost, -)) - -gpu.toReplaceWith(siStripClustersTask, cms.Task( - # CUDA specific - siStripClustersTaskCUDA, - # switch producer to legacy format - siStripClusters, -)) diff --git a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_RealData_cfi.py b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_RealData_cfi.py index 82b8e07527547..9d23474a5f291 100644 --- a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_RealData_cfi.py +++ b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_RealData_cfi.py @@ -3,13 +3,14 @@ from RecoLocalTracker.SiStripClusterizer.DefaultClusterizer_cff import * siStripClusters = cms.EDProducer("SiStripClusterizer", - Clusterizer = DefaultClusterizer, - DigiProducersList = cms.VInputTag( - cms.InputTag('siStripDigis','ZeroSuppressed'), - cms.InputTag('siStripZeroSuppression','VirginRaw'), - cms.InputTag('siStripZeroSuppression','ProcessedRaw'), - cms.InputTag('siStripZeroSuppression','ScopeMode')), - ) + Clusterizer = DefaultClusterizer, + DigiProducersList = cms.VInputTag( + cms.InputTag('siStripDigis', 'ZeroSuppressed'), + cms.InputTag('siStripZeroSuppression', 'VirginRaw'), + cms.InputTag('siStripZeroSuppression', 'ProcessedRaw'), + cms.InputTag('siStripZeroSuppression', 'ScopeMode') + ), +) from Configuration.ProcessModifiers.approxSiStripClusters_cff import approxSiStripClusters from RecoLocalTracker.SiStripClusterizer.SiStripApprox2Clusters_cfi import SiStripApprox2Clusters diff --git a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_SimData2_cfi.py b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_SimData2_cfi.py index 45af4cdb8c234..846a584ee3fe7 100644 --- a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_SimData2_cfi.py +++ b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_SimData2_cfi.py @@ -3,10 +3,11 @@ from RecoLocalTracker.SiStripClusterizer.DefaultClusterizer_cff import * siStripClusters = cms.EDProducer("SiStripClusterizer", - Clusterizer = DefaultClusterizer, - DigiProducersList = cms.VInputTag( - cms.InputTag('simSiStripDigis','ZeroSuppressed'), - cms.InputTag('siStripZeroSuppression','VirginRaw'), - cms.InputTag('siStripZeroSuppression','ProcessedRaw'), - cms.InputTag('siStripZeroSuppression','ScopeMode')) - ) + Clusterizer = DefaultClusterizer, + DigiProducersList = cms.VInputTag( + cms.InputTag('simSiStripDigis', 'ZeroSuppressed'), + cms.InputTag('siStripZeroSuppression', 'VirginRaw'), + cms.InputTag('siStripZeroSuppression', 'ProcessedRaw'), + cms.InputTag('siStripZeroSuppression', 'ScopeMode') + ) +) diff --git a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_SimData_cfi.py b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_SimData_cfi.py index 5396b1ba774cf..19e73f11b6f36 100644 --- a/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_SimData_cfi.py +++ b/RecoLocalTracker/SiStripClusterizer/python/SiStripClusterizer_SimData_cfi.py @@ -3,6 +3,8 @@ from RecoLocalTracker.SiStripClusterizer.DefaultClusterizer_cff import * siStripClusters = cms.EDProducer("SiStripClusterizer", - Clusterizer = DefaultClusterizer, - DigiProducersList = cms.VInputTag(cms.InputTag('simSiStripDigis','\0')) - ) + Clusterizer = DefaultClusterizer, + DigiProducersList = cms.VInputTag( + cms.InputTag('simSiStripDigis','\0') + ) +) diff --git a/RecoLocalTracker/SiStripClusterizer/python/customizeStripClustersFromRaw.py b/RecoLocalTracker/SiStripClusterizer/python/customizeStripClustersFromRaw.py index db7d02855713f..f8e8188b3eaef 100644 --- a/RecoLocalTracker/SiStripClusterizer/python/customizeStripClustersFromRaw.py +++ b/RecoLocalTracker/SiStripClusterizer/python/customizeStripClustersFromRaw.py @@ -6,8 +6,8 @@ def customizeStripClustersFromRaw(process): if hasattr(process, 'striptrackerlocalrecoTask'): process.striptrackerlocalrecoTask.remove(process.siStripClusters) process.load("RecoLocalTracker.SiStripClusterizer.SiStripClusterizerOnDemand_cfi") - # CPU should emulate the full detector clusterizer - process.siStripClusters.cpu.onDemand = cms.bool(False) + # emulate the full detector clusterizer + process.siStripClusters.onDemand = cms.bool(False) process.striptrackerlocalrecoTask.add(process.siStripClustersTask) return process diff --git a/RecoTracker/PixelTrackFitting/python/PixelTracks_cff.py b/RecoTracker/PixelTrackFitting/python/PixelTracks_cff.py index c8c3719edfc84..afaeafa1445fc 100644 --- a/RecoTracker/PixelTrackFitting/python/PixelTracks_cff.py +++ b/RecoTracker/PixelTrackFitting/python/PixelTracks_cff.py @@ -1,6 +1,5 @@ import FWCore.ParameterSet.Config as cms from HeterogeneousCore.AlpakaCore.functions import * -from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA from RecoLocalTracker.SiStripRecHitConverter.StripCPEfromTrackAngle_cfi import * from RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitMatcher_cfi import * @@ -28,6 +27,10 @@ # Eras from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU from Configuration.Eras.Modifier_run3_common_cff import run3_common +from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker + +# HIon modifier +from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA # seeding layers from RecoTracker.IterativeTracking.InitialStep_cff import initialStepSeedLayers, initialStepHitDoublets, _initialStepCAHitQuadruplets @@ -96,26 +99,28 @@ from RecoTracker.PixelSeeding.caHitNtupletCUDAPhase2_cfi import caHitNtupletCUDAPhase2 as _pixelTracksCUDAPhase2 from RecoTracker.PixelSeeding.caHitNtupletCUDAHIonPhase1_cfi import caHitNtupletCUDAHIonPhase1 as _pixelTracksCUDAHIonPhase1 -# Phase 2 modifier -from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker -# HIon modifiers -from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA - -# SwitchProducer providing the pixel tracks in SoA format on the CPU -pixelTracksSoA = SwitchProducerCUDA( - # build pixel ntuplets and pixel tracks in SoA format on the CPU - cpu = _pixelTracksCUDA.clone( - pixelRecHitSrc = "siPixelRecHitsPreSplittingSoA", - idealConditions = False, - onGPU = False - ) +# pixel tracks in SoA format +pixelTracksSoA = _pixelTracksCUDA.clone( + pixelRecHitSrc = "siPixelRecHitsPreSplittingSoA", + idealConditions = False, + onGPU = False ) # use quality cuts tuned for Run 2 ideal conditions for all Run 3 workflows -run3_common.toModify(pixelTracksSoA.cpu, +run3_common.toModify(pixelTracksSoA, idealConditions = True ) +phase2_tracker.toReplaceWith(pixelTracksSoA, _pixelTracksCUDAPhase2.clone( + pixelRecHitSrc = "siPixelRecHitsPreSplittingSoA", + onGPU = False +)) + +(pp_on_AA & ~phase2_tracker).toReplaceWith(pixelTracksSoA, _pixelTracksCUDAHIonPhase1.clone( + pixelRecHitSrc = "siPixelRecHitsPreSplittingSoA", + onGPU = False +)) + # convert the pixel tracks from SoA to legacy format from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAPhase1_cfi import pixelTrackProducerFromSoAPhase1 as _pixelTrackProducerFromSoA from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAPhase2_cfi import pixelTrackProducerFromSoAPhase2 as _pixelTrackProducerFromSoAPhase2 @@ -140,71 +145,6 @@ pixelTracks )) -# "Patatrack" sequence running on GPU (or CPU if not available) -from Configuration.ProcessModifiers.gpu_cff import gpu - -# build the pixel ntuplets and pixel tracks in SoA format on the GPU -pixelTracksCUDA = _pixelTracksCUDA.clone( - pixelRecHitSrc = "siPixelRecHitsPreSplittingCUDA", - idealConditions = False, - onGPU = True, -) - -# use quality cuts tuned for Run 2 ideal conditions for all Run 3 workflows -run3_common.toModify(pixelTracksCUDA, - idealConditions = True -) - -# SwitchProducer providing the pixel tracks in SoA format on the CPU -from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAPhase1_cfi import pixelTrackSoAFromCUDAPhase1 as _pixelTracksSoA -from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAPhase2_cfi import pixelTrackSoAFromCUDAPhase2 as _pixelTracksSoAPhase2 -from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAHIonPhase1_cfi import pixelTrackSoAFromCUDAHIonPhase1 as _pixelTracksSoAHIonPhase1 - -gpu.toModify(pixelTracksSoA, - # transfer the pixel tracks in SoA format to the host - cuda = _pixelTracksSoA.clone() -) - -(gpu & phase2_tracker).toModify(pixelTracksSoA,cuda = _pixelTracksSoAPhase2.clone( -)) - -(gpu & pp_on_AA).toModify(pixelTracksSoA,cuda = _pixelTracksSoAHIonPhase1.clone( -)) - -phase2_tracker.toModify(pixelTracksSoA,cpu = _pixelTracksCUDAPhase2.clone( - pixelRecHitSrc = "siPixelRecHitsPreSplittingSoA", - onGPU = False -)) - -(pp_on_AA & ~phase2_tracker).toModify(pixelTracksSoA,cpu = _pixelTracksCUDAHIonPhase1.clone( - pixelRecHitSrc = "siPixelRecHitsPreSplittingSoA", - onGPU = False -)) - -phase2_tracker.toReplaceWith(pixelTracksCUDA,_pixelTracksCUDAPhase2.clone( - pixelRecHitSrc = "siPixelRecHitsPreSplittingCUDA", - onGPU = True, -)) - -(pp_on_AA & ~phase2_tracker).toReplaceWith(pixelTracksCUDA,_pixelTracksCUDAHIonPhase1.clone( - pixelRecHitSrc = "siPixelRecHitsPreSplittingCUDA", - onGPU = True, -)) - -(pixelNtupletFit & gpu).toReplaceWith(pixelTracksTask, cms.Task( - # build the pixel ntuplets and pixel tracks in SoA format on the GPU - pixelTracksCUDA, - # transfer the pixel tracks in SoA format to the CPU, and convert them to legacy format - pixelTracksTask.copy() -)) - -## GPU vs CPU validation -# force CPU vertexing to use hit SoA from CPU chain and not the converted one from GPU chain -from Configuration.ProcessModifiers.gpuValidationPixel_cff import gpuValidationPixel -(pixelNtupletFit & gpu & gpuValidationPixel).toModify(pixelTracksSoA.cpu, - pixelRecHitSrc = "siPixelRecHitsPreSplittingSoA@cpu" - ) - ###################################################################### ### Alpaka Pixel Track Reco diff --git a/RecoVertex/BeamSpotProducer/python/BeamSpot_cff.py b/RecoVertex/BeamSpotProducer/python/BeamSpot_cff.py index 5c17275c17274..23a0fe98d93cd 100644 --- a/RecoVertex/BeamSpotProducer/python/BeamSpot_cff.py +++ b/RecoVertex/BeamSpotProducer/python/BeamSpot_cff.py @@ -1,18 +1,12 @@ import FWCore.ParameterSet.Config as cms from RecoVertex.BeamSpotProducer.BeamSpot_cfi import * -from RecoVertex.BeamSpotProducer.offlineBeamSpotToCUDA_cfi import offlineBeamSpotToCUDA -from RecoVertex.BeamSpotProducer.beamSpotDeviceProducer_cfi import beamSpotDeviceProducer as _beamSpotDeviceProducer - offlineBeamSpotTask = cms.Task(offlineBeamSpot) -from Configuration.ProcessModifiers.gpu_cff import gpu -_offlineBeamSpotTask_gpu = offlineBeamSpotTask.copy() -_offlineBeamSpotTask_gpu.add(offlineBeamSpotToCUDA) -gpu.toReplaceWith(offlineBeamSpotTask, _offlineBeamSpotTask_gpu) +from RecoVertex.BeamSpotProducer.beamSpotDeviceProducer_cfi import beamSpotDeviceProducer as _beamSpotDeviceProducer +offlineBeamSpotDevice = _beamSpotDeviceProducer.clone(src = cms.InputTag('offlineBeamSpot')) from Configuration.ProcessModifiers.alpaka_cff import alpaka _offlineBeamSpotTask_alpaka = offlineBeamSpotTask.copy() -offlineBeamSpotDevice = _beamSpotDeviceProducer.clone(src = cms.InputTag('offlineBeamSpot')) _offlineBeamSpotTask_alpaka.add(offlineBeamSpotDevice) alpaka.toReplaceWith(offlineBeamSpotTask, _offlineBeamSpotTask_alpaka) diff --git a/RecoVertex/Configuration/python/RecoPixelVertexing_cff.py b/RecoVertex/Configuration/python/RecoPixelVertexing_cff.py index 0a2bb0d2b63b7..990c3328c66f4 100644 --- a/RecoVertex/Configuration/python/RecoPixelVertexing_cff.py +++ b/RecoVertex/Configuration/python/RecoPixelVertexing_cff.py @@ -1,7 +1,5 @@ import FWCore.ParameterSet.Config as cms from HeterogeneousCore.AlpakaCore.functions import * -from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA - from RecoTracker.PixelTrackFitting.PixelTracks_cff import * from RecoVertex.PixelVertexFinding.PixelVertices_cff import * @@ -22,24 +20,26 @@ from RecoVertex.PixelVertexFinding.pixelVertexProducerCUDAPhase2_cfi import pixelVertexProducerCUDAPhase2 as _pixelVerticesCUDAPhase2 from RecoVertex.PixelVertexFinding.pixelVertexProducerCUDAHIonPhase1_cfi import pixelVertexProducerCUDAHIonPhase1 as _pixelVerticesCUDAHIonPhase1 -pixelVerticesSoA = SwitchProducerCUDA( - cpu = _pixelVerticesCUDA.clone( +pixelVerticesSoA = _pixelVerticesCUDA.clone( + pixelTrackSrc = "pixelTracksSoA", + onGPU = False +) + +phase2_tracker.toReplaceWith(pixelVerticesSoA, + _pixelVerticesCUDAPhase2.clone( pixelTrackSrc = "pixelTracksSoA", - onGPU = False + onGPU = False, + PtMin = 2.0 ) ) -phase2_tracker.toModify(pixelVerticesSoA,cpu = _pixelVerticesCUDAPhase2.clone( - pixelTrackSrc = "pixelTracksSoA", - onGPU = False, - PtMin = 2.0 -)) - -(pp_on_AA & ~phase2_tracker).toModify(pixelVerticesSoA,cpu = _pixelVerticesCUDAHIonPhase1.clone( - pixelTrackSrc = "pixelTracksSoA", - doSplitting = False, - onGPU = False, -)) +(pp_on_AA & ~phase2_tracker).toReplaceWith(pixelVerticesSoA, + _pixelVerticesCUDAHIonPhase1.clone( + pixelTrackSrc = "pixelTracksSoA", + doSplitting = False, + onGPU = False, + ) +) # convert the pixel vertices from SoA to legacy format from RecoVertex.PixelVertexFinding.pixelVertexFromSoA_cfi import pixelVertexFromSoA as _pixelVertexFromSoA @@ -56,49 +56,6 @@ )) -# "Patatrack" sequence running on the GPU -from Configuration.ProcessModifiers.gpu_cff import gpu - -# build pixel vertices in SoA format on the GPU -pixelVerticesCUDA = _pixelVerticesCUDA.clone( - pixelTrackSrc = "pixelTracksCUDA", - onGPU = True -) - -phase2_tracker.toReplaceWith(pixelVerticesCUDA,_pixelVerticesCUDAPhase2.clone( - pixelTrackSrc = "pixelTracksCUDA", - onGPU = True, - PtMin = 2.0 -)) - -(pp_on_AA & ~phase2_tracker).toReplaceWith(pixelVerticesCUDA,_pixelVerticesCUDAHIonPhase1.clone( - pixelTrackSrc = "pixelTracksCUDA", - doSplitting = False, - onGPU = True -)) - -# transfer the pixel vertices in SoA format to the CPU -from RecoVertex.PixelVertexFinding.pixelVerticesSoA_cfi import pixelVerticesSoA as _pixelVerticesSoA -gpu.toModify(pixelVerticesSoA, - cuda = _pixelVerticesSoA.clone( - src = cms.InputTag("pixelVerticesCUDA") - ) -) - -## GPU vs CPU validation -# force CPU vertexing to use track SoA from CPU chain and not the converted one from GPU chain -from Configuration.ProcessModifiers.gpuValidationPixel_cff import gpuValidationPixel -(pixelNtupletFit & gpu & gpuValidationPixel).toModify(pixelVerticesSoA.cpu, - pixelTrackSrc = "pixelTracksSoA@cpu" -) - -(pixelNtupletFit & gpu).toReplaceWith(pixelVerticesTask, cms.Task( - # build pixel vertices in SoA format on the GPU - pixelVerticesCUDA, - # transfer the pixel vertices in SoA format to the CPU and convert them to legacy format - pixelVerticesTask.copy() -)) - ## pixel vertex reconstruction with Alpaka # pixel vertex SoA producer with alpaka on the device