CMS 3D CMS Logo

ECALHCAL.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 def customise(process):
3 
4 # extend the particle gun acceptance
5 
6  process.generator.AddAntiParticle = cms.bool(False)
7 
8 # no magnetic field
9 
10  process.g4SimHits.UseMagneticField = cms.bool(False)
11  process.UniformMagneticFieldESProducer = cms.ESProducer("UniformMagneticFieldESProducer",
12  ZFieldInTesla = cms.double(0.0)
13  )
14 
15  process.prefer("UniformMagneticFieldESProducer")
16 
17 # add ECAL and HCAL specific Geant4 hits objects
18 
19  process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
20  instanceLabel = cms.untracked.string('EcalValidInfo'),
21  type = cms.string('EcalSimHitsValidProducer'),
22  verbose = cms.untracked.bool(False)
23  ))
24 
25  # use directly the generator output, no Hector
26 
27  process.g4SimHits.Generator.HepMCProductLabel = cms.string('generatorSmeared')
28 
29  # modify the content
30 
31  #process.output.outputCommands.append("keep *_simHcalUnsuppressedDigis_*_*")
32  next(iter(process.outputModules_().items()))[1].outputCommands.append("keep *_simHcalUnsuppressedDigis_*_*")
33 # user schedule: use only calorimeters digitization and local reconstruction
34 
35  del process.schedule[:]
36 
37  process.schedule.append(process.generation_step)
38  process.schedule.append(process.simulation_step)
39 
40  process.ecalMultiFitUncalibRecHit.cpu.EBdigiCollection = cms.InputTag("simEcalDigis","ebDigis")
41  process.ecalMultiFitUncalibRecHit.cpu.EEdigiCollection = cms.InputTag("simEcalDigis","eeDigis")
42  process.ecalPreshowerRecHit.ESdigiCollection = cms.InputTag("simEcalPreshowerDigis")
43 
44  delattr(process,"hbhereco")
45  process.hbhereco = process.hbheprereco.clone()
46  process.hcalLocalRecoSequence.replace(process.hbheprereco,process.hbhereco)
47  process.hbhereco.cpu.digiLabelQIE8 = cms.InputTag("simHcalUnsuppressedDigis")
48  process.hbhereco.cpu.digiLabelQIE11 = cms.InputTag("simHcalUnsuppressedDigis","HBHEQIE11DigiCollection")
49  process.horeco.digiLabel = cms.InputTag("simHcalUnsuppressedDigis")
50  process.hfreco.digiLabel = cms.InputTag("simHcalUnsuppressedDigis")
51  process.ecalRecHit.cpu.recoverEBIsolatedChannels = cms.bool(False)
52  process.ecalRecHit.cpu.recoverEEIsolatedChannels = cms.bool(False)
53  process.ecalRecHit.cpu.recoverEBFE = cms.bool(False)
54  process.ecalRecHit.cpu.recoverEEFE = cms.bool(False)
55 
56 # process.local_digireco = cms.Path(process.mix * process.calDigi * process.ecalLocalRecoSequence * process.hbhereco * process.hfreco * process.horeco * (process.ecalClusters+process.caloTowersRec) * process.reducedEcalRecHitsSequence )
57 
58  process.reducedEcalRecHitsEB.interestingDetIdCollections = cms.VInputTag(
59  # ecal
60  cms.InputTag("interestingEcalDetIdEB"),
61  cms.InputTag("interestingEcalDetIdEBU"),
62  )
63 
64  process.reducedEcalRecHitsEE.interestingDetIdCollections = cms.VInputTag(
65  # ecal
66  cms.InputTag("interestingEcalDetIdEE"),
67  )
68 
69  process.local_digireco = cms.Path(process.mix * process.addPileupInfo * process.bunchSpacingProducer * process.calDigi * process.ecalPacker * process.esDigiToRaw * process.hcalRawData * process.rawDataCollector * process.ecalDigis * process.ecalPreshowerDigis * process.hcalDigis * process.calolocalreco * process.hbhereco * process.hfreco * process.horeco *(process.ecalClustersNoPFBox+process.caloTowersRec) * process.reducedEcalRecHitsSequenceEcalOnly )
70 
71  process.schedule.append(process.local_digireco)
72 
73  # add HcalNoiseRBXCollection product for Validation/CaloTowers Validation/HcalRecHits
74  process.load( "RecoMET.METProducers.hcalnoiseinfoproducer_cfi" )
75  process.hcalnoise_path = cms.Path( process.hcalnoise )
76  process.schedule.append( process.hcalnoise_path )
77 
78  process.load("Validation/Configuration/ecalSimValid_cff")
79  process.load("Validation/Configuration/hcalSimValid_cff")
80  process.local_validation = cms.Path(process.ecalSimValid+process.hcalSimValid)
81  process.schedule.append(process.local_validation)
82 
83  process.schedule.append(process.endjob_step)
84  #process.schedule.append(process.out_step)
85 
86  return(process)
return((rh ^ lh) &mask)
def customise(process)
Definition: ECALHCAL.py:2