Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:18:39

0001 import FWCore.ParameterSet.Config as cms
0002 from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA
0003 
0004 from RecoLocalCalo.HcalRecAlgos.hcalRecAlgoESProd_cfi import *
0005 from RecoLocalCalo.HcalRecAlgos.hcalChannelPropertiesESProd_cfi import *
0006 hcalOOTPileupESProducer = cms.ESProducer('OOTPileupDBCompatibilityESProducer')
0007 
0008 from RecoLocalCalo.HcalRecProducers.HBHEPhase1Reconstructor_cfi import hbheprereco as _phase1_hbheprereco
0009 hbheprereco = SwitchProducerCUDA(
0010     cpu = _phase1_hbheprereco.clone(
0011         processQIE11 = False,
0012         tsFromDB = True,
0013         pulseShapeParametersQIE8 = dict(
0014             TrianglePeakTS = 4,
0015         )
0016     )
0017 )
0018 
0019 from RecoLocalCalo.HcalRecProducers.HcalHitReconstructor_ho_cfi import *
0020 from RecoLocalCalo.HcalRecProducers.HcalHitReconstructor_hf_cfi import *
0021 from RecoLocalCalo.HcalRecProducers.HcalHitReconstructor_zdc_cfi import *
0022 hcalLocalRecoTask = cms.Task(hbheprereco, hfreco, horeco, zdcreco)
0023 hcalLocalRecoSequence = cms.Sequence(hcalLocalRecoTask)
0024 
0025 from RecoLocalCalo.HcalRecProducers.hfprereco_cfi import hfprereco
0026 from RecoLocalCalo.HcalRecProducers.HFPhase1Reconstructor_cfi import hfreco as _phase1_hfreco
0027 from RecoLocalCalo.HcalRecProducers.hbheplan1_cfi import hbheplan1
0028 
0029 #--- for cosmics
0030 _default_hfreco = hfreco.clone()
0031 
0032 #--- for Phase 1
0033 _phase1_hcalLocalRecoTask = hcalLocalRecoTask.copy()
0034 _phase1_hcalLocalRecoTask.add(hfprereco)
0035 
0036 from Configuration.Eras.Modifier_run2_HF_2017_cff import run2_HF_2017
0037 run2_HF_2017.toReplaceWith(hcalLocalRecoTask, _phase1_hcalLocalRecoTask)
0038 run2_HF_2017.toReplaceWith(hfreco, _phase1_hfreco)
0039 from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017
0040 run2_HCAL_2017.toModify(hbheprereco,
0041     cpu = _phase1_hbheprereco.clone()
0042 )
0043 
0044 _plan1_hcalLocalRecoTask = _phase1_hcalLocalRecoTask.copy()
0045 _plan1_hcalLocalRecoTask.add(hbheplan1)
0046 from Configuration.Eras.Modifier_run2_HEPlan1_2017_cff import run2_HEPlan1_2017
0047 run2_HEPlan1_2017.toReplaceWith(hcalLocalRecoTask, _plan1_hcalLocalRecoTask)
0048 
0049 hbhecollapse = hbheplan1.clone()
0050 _collapse_hcalLocalRecoTask = _phase1_hcalLocalRecoTask.copy()
0051 _collapse_hcalLocalRecoTask.add(hbhecollapse)
0052 from Configuration.ProcessModifiers.run2_HECollapse_2018_cff import run2_HECollapse_2018
0053 run2_HECollapse_2018.toReplaceWith(hcalLocalRecoTask, _collapse_hcalLocalRecoTask)
0054 
0055 #--- for Run 3 and later
0056 _run3_hcalLocalRecoTask = _phase1_hcalLocalRecoTask.copy()
0057 _run3_hcalLocalRecoTask.remove(hbheprereco)
0058 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB
0059 run3_HB.toReplaceWith(hcalLocalRecoTask, _run3_hcalLocalRecoTask)
0060 
0061 #--- for Run 3 on GPU
0062 from Configuration.ProcessModifiers.gpu_cff import gpu
0063 
0064 from RecoLocalCalo.HcalRecProducers.hbheRecHitProducerGPUTask_cff import *
0065 _run3_hcalLocalRecoGPUTask = hcalLocalRecoTask.copy()
0066 _run3_hcalLocalRecoGPUTask.add(hbheRecHitProducerGPUTask)
0067 gpu.toReplaceWith(hcalLocalRecoTask, _run3_hcalLocalRecoGPUTask)
0068 
0069 #--- HCAL-only workflow
0070 hcalOnlyLocalRecoTask = hcalLocalRecoTask.copyAndExclude([zdcreco])
0071 
0072 #--- HCAL-only workflow for Run 2 on GPU
0073 from RecoLocalCalo.HcalRecProducers.hcalCPURecHitsProducer_cfi import hcalCPURecHitsProducer as _hbheprerecoFromCUDA
0074 (gpu & ~run3_HB).toModify(hbheprereco,
0075     cuda = _hbheprerecoFromCUDA.clone(
0076         produceSoA = False
0077     )
0078 )
0079 
0080 #--- for FastSim
0081 _fastSim_hcalLocalRecoTask = hcalLocalRecoTask.copyAndExclude([zdcreco])
0082 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0083 fastSim.toReplaceWith( hcalLocalRecoTask, _fastSim_hcalLocalRecoTask )