Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:52

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from Configuration.StandardSequences.Eras import eras
0004 
0005 process = cms.Process('RECOgpu', eras.Run2_2018)
0006 
0007 # import of standard configurations
0008 process.load('Configuration.StandardSequences.Services_cff')
0009 process.load('FWCore.MessageService.MessageLogger_cfi')
0010 process.load('HeterogeneousCore.CUDACore.ProcessAcceleratorCUDA_cfi')
0011 
0012 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0013 from Configuration.AlCa.GlobalTag import GlobalTag
0014 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_hlt_relval', '')
0015 
0016 process.maxEvents = cms.untracked.PSet(
0017     input = cms.untracked.int32(1000)
0018 )
0019 
0020 #-----------------------------------------
0021 # INPUT
0022 #-----------------------------------------
0023 
0024 process.source = cms.Source("PoolSource",
0025   fileNames = cms.untracked.vstring('/store/data/Run2018D/EphemeralHLTPhysics1/RAW/v1/000/323/775/00000/A27DFA33-8FCB-BE42-A2D2-1A396EEE2B6E.root')
0026 )
0027 
0028 process.hltGetRaw = cms.EDAnalyzer( "HLTGetRaw",
0029     RawDataCollection = cms.InputTag( "rawDataCollector" )
0030 )
0031 
0032 process.input = cms.Path( process.hltGetRaw )
0033 
0034 #-----------------------------------------
0035 # CMSSW/Hcal non-DQM Related Module import
0036 #-----------------------------------------
0037 
0038 process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
0039 process.load("RecoLocalCalo.Configuration.hcalLocalReco_cff")
0040 process.load("EventFilter.HcalRawToDigi.HcalRawToDigi_cfi")
0041 process.load("RecoLuminosity.LumiProducer.bunchSpacingProducer_cfi")
0042 
0043 process.hcalDigis.InputLabel = cms.InputTag("rawDataCollector")
0044 
0045 #-----------------------------------------
0046 # CMSSW/Hcal GPU related files
0047 #-----------------------------------------
0048 
0049 process.load("RecoLocalCalo.HcalRecProducers.hbheRecHitProducerGPUTask_cff")
0050 process.load("RecoLocalCalo.HcalRecProducers.hcalCPURecHitsProducer_cfi")
0051 process.hcalCPURecHitsProducer.recHitsM0LabelIn = cms.InputTag("hbheRecHitProducerGPU","")
0052 process.hcalCPURecHitsProducer.recHitsM0LabelOut = cms.string("")
0053 
0054 #-----------------------------------------
0055 # Temporary customization (things not implemented on the GPU)
0056 #-----------------------------------------
0057 
0058 ## the one below is taken directly from the DB, regard M0
0059 #process.hbheprereco.algorithm.correctForPhaseContainment = cms.bool(False)
0060 
0061 ## do always 8 pulse
0062 process.hbheprereco.cpu.algorithm.chiSqSwitch = cms.double(-1)
0063 
0064 ## to match hard coded setting (will be fixed on CPU)
0065 process.hbheprereco.cpu.algorithm.nMaxItersMin = cms.int32(50)
0066 
0067 #-----------------------------------------
0068 # Final Custmization for Run3
0069 #-----------------------------------------
0070 
0071 # we will not run arrival Time at HLT
0072 process.hbheprereco.cpu.algorithm.calculateArrivalTime = cms.bool(False)
0073 
0074 ## we do not need this
0075 process.hbheprereco.cpu.algorithm.applyLegacyHBMCorrection = cms.bool(False)
0076 
0077 # we only run Mahi at HLT
0078 process.hbheprereco.cpu.algorithm.useM3 = cms.bool(False)
0079 
0080 # we will not have the HPD noise flags in Run3, as will be all siPM
0081 process.hbheprereco.cpu.setLegacyFlagsQIE8 = cms.bool(False)
0082 process.hbheprereco.cpu.setNegativeFlagsQIE8 = cms.bool(False)
0083 process.hbheprereco.cpu.setNoiseFlagsQIE8 = cms.bool(False)
0084 process.hbheprereco.cpu.setPulseShapeFlagsQIE8 = cms.bool(False)
0085 
0086 # for testing M0 only
0087 ##process.hbheprereco.cpu.algorithm.useMahi = cms.bool(False)
0088 
0089 #-----------------------------------------
0090 # OUTPUT
0091 #-----------------------------------------
0092 
0093 #process.out = cms.OutputModule("AsciiOutputModule",
0094 #    outputCommands = cms.untracked.vstring(
0095 #        'keep *_*_*_*', 
0096 #    ),
0097 #    verbosity = cms.untracked.uint32(0)
0098 #)
0099 
0100 process.out = cms.OutputModule("PoolOutputModule",
0101     fileName = cms.untracked.string("GPUvsCPU_HCAL_rechits.root")
0102 )
0103 
0104 #---------------
0105 
0106 process.finalize = cms.EndPath(process.out)
0107 
0108 process.bunchSpacing = cms.Path(
0109     process.bunchSpacingProducer
0110 )
0111 
0112 #-----------------------------------------
0113 # gpu test
0114 #-----------------------------------------
0115 
0116 process.digiPathCPU = cms.Path(
0117     process.hcalDigis 
0118 )
0119 
0120 process.recoPathCPU = cms.Path(
0121      process.hbheprereco
0122 )
0123 
0124 #---------------
0125 
0126 ## hcalCPUDigisProducer <-- this convert the GPU digi on cpu (for dqm)
0127 process.recoPathGPU = cms.Path(
0128     process.hbheRecHitProducerGPUSequence
0129     * process.hcalCPURecHitsProducer
0130 )
0131 
0132 #---------------
0133 
0134 process.schedule = cms.Schedule(
0135     process.input,
0136     process.digiPathCPU,
0137     process.recoPathCPU,
0138     process.recoPathGPU,
0139     process.finalize
0140 )
0141 
0142 process.options = cms.untracked.PSet(
0143     numberOfThreads = cms.untracked.uint32(8),
0144     numberOfStreams = cms.untracked.uint32(8),
0145     SkipEvent = cms.untracked.vstring('ProductNotFound'),
0146     wantSummary = cms.untracked.bool(True)
0147 )
0148 
0149 process.MessageLogger.cerr.FwkReport.reportEvery = 100