CMS 3D CMS Logo

hcalLocalReco_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA
3 
6 hcalOOTPileupESProducer = cms.ESProducer('OOTPileupDBCompatibilityESProducer')
7 
8 from RecoLocalCalo.HcalRecProducers.HBHEPhase1Reconstructor_cfi import hbheprereco as _phase1_hbheprereco
9 hbheprereco = SwitchProducerCUDA(
10  cpu = _phase1_hbheprereco.clone(
11  processQIE11 = False,
12  tsFromDB = True,
13  pulseShapeParametersQIE8 = dict(
14  TrianglePeakTS = 4,
15  )
16  )
17 )
18 
22 hcalLocalRecoTask = cms.Task(hbheprereco, hfreco, horeco, zdcreco)
23 hcalLocalRecoSequence = cms.Sequence(hcalLocalRecoTask)
24 
25 from RecoLocalCalo.HcalRecProducers.hfprereco_cfi import hfprereco
26 from RecoLocalCalo.HcalRecProducers.HFPhase1Reconstructor_cfi import hfreco as _phase1_hfreco
27 from RecoLocalCalo.HcalRecProducers.hbheplan1_cfi import hbheplan1
28 
29 #--- for cosmics
30 _default_hfreco = hfreco.clone()
31 
32 #--- for Phase 1
33 _phase1_hcalLocalRecoTask = hcalLocalRecoTask.copy()
34 _phase1_hcalLocalRecoTask.add(hfprereco)
35 
36 from Configuration.Eras.Modifier_run2_HF_2017_cff import run2_HF_2017
37 run2_HF_2017.toReplaceWith(hcalLocalRecoTask, _phase1_hcalLocalRecoTask)
38 run2_HF_2017.toReplaceWith(hfreco, _phase1_hfreco)
39 from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017
40 run2_HCAL_2017.toModify(hbheprereco,
41  cpu = _phase1_hbheprereco.clone()
42 )
43 
44 _plan1_hcalLocalRecoTask = _phase1_hcalLocalRecoTask.copy()
45 _plan1_hcalLocalRecoTask.add(hbheplan1)
46 from Configuration.Eras.Modifier_run2_HEPlan1_2017_cff import run2_HEPlan1_2017
47 run2_HEPlan1_2017.toReplaceWith(hcalLocalRecoTask, _plan1_hcalLocalRecoTask)
48 
49 hbhecollapse = hbheplan1.clone()
50 _collapse_hcalLocalRecoTask = _phase1_hcalLocalRecoTask.copy()
51 _collapse_hcalLocalRecoTask.add(hbhecollapse)
52 from Configuration.ProcessModifiers.run2_HECollapse_2018_cff import run2_HECollapse_2018
53 run2_HECollapse_2018.toReplaceWith(hcalLocalRecoTask, _collapse_hcalLocalRecoTask)
54 
55 #--- for Run 3 and later
56 _run3_hcalLocalRecoTask = _phase1_hcalLocalRecoTask.copy()
57 _run3_hcalLocalRecoTask.remove(hbheprereco)
58 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB
59 run3_HB.toReplaceWith(hcalLocalRecoTask, _run3_hcalLocalRecoTask)
60 
61 #--- Legacy HCAL Only Task
62 hcalOnlyLegacyLocalRecoTask = hcalLocalRecoTask.copyAndExclude([zdcreco])
63 
64 #--- for Run 3 on GPU
66 
68 _run3_hcalLocalRecoGPUTask = hcalLocalRecoTask.copy()
69 _run3_hcalLocalRecoGPUTask.add(hbheRecHitProducerGPUTask)
70 gpu.toReplaceWith(hcalLocalRecoTask, _run3_hcalLocalRecoGPUTask)
71 
72 #--- HCAL-only workflow
73 hcalOnlyLocalRecoTask = hcalLocalRecoTask.copyAndExclude([zdcreco])
74 
75 #--- HCAL-only workflow for Run 2 on GPU
76 from RecoLocalCalo.HcalRecProducers.hcalCPURecHitsProducer_cfi import hcalCPURecHitsProducer as _hbheprerecoFromCUDA
77 (gpu & ~run3_HB).toModify(hbheprereco,
78  cuda = _hbheprerecoFromCUDA.clone(
79  produceSoA = False
80  )
81 )
82 
83 #--- for FastSim
84 _fastSim_hcalLocalRecoTask = hcalLocalRecoTask.copyAndExclude([zdcreco])
85 from Configuration.Eras.Modifier_fastSim_cff import fastSim
86 fastSim.toReplaceWith( hcalLocalRecoTask, _fastSim_hcalLocalRecoTask )