CMS 3D CMS Logo

Functions

ECALHCAL Namespace Reference

Functions

def customise

Function Documentation

def ECALHCAL::customise (   process)

Definition at line 2 of file ECALHCAL.py.

00003                       :
00004 
00005 # extend the particle gun acceptance
00006 
00007     process.generator.AddAntiParticle = cms.bool(False)
00008 
00009 # no magnetic field
00010 
00011     process.g4SimHits.UseMagneticField = cms.bool(False)
00012     process.UniformMagneticFieldESProducer = cms.ESProducer("UniformMagneticFieldESProducer",
00013                                                             ZFieldInTesla = cms.double(0.0)
00014                                                                 )
00015 
00016     process.prefer("UniformMagneticFieldESProducer") 
00017 
00018 # add ECAL and HCAL specific Geant4 hits objects
00019 
00020     process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
00021         instanceLabel = cms.untracked.string('EcalValidInfo'),
00022         type = cms.string('EcalSimHitsValidProducer'),
00023         verbose = cms.untracked.bool(False)
00024     ))
00025 
00026     # use directly the generator output, no Hector
00027 
00028     process.g4SimHits.Generator.HepMCProductLabel = cms.string('generator')
00029 
00030     # modify the content
00031 
00032     #process.output.outputCommands.append("keep *_simHcalUnsuppressedDigis_*_*")
00033     process.outputModules_().iteritems().next()[1].outputCommands.append("keep *_simHcalUnsuppressedDigis_*_*")
00034             
00035 # user schedule: use only calorimeters digitization and local reconstruction
00036 
00037     del process.schedule[:] 
00038 
00039     process.schedule.append(process.generation_step)
00040     process.schedule.append(process.simulation_step)
00041 
00042     process.ecalGlobalUncalibRecHit.EBdigiCollection = cms.InputTag("simEcalDigis","ebDigis")
00043     process.ecalGlobalUncalibRecHit.EEdigiCollection = cms.InputTag("simEcalDigis","eeDigis")
00044     process.ecalPreshowerRecHit.ESdigiCollection = cms.InputTag("simEcalPreshowerDigis") 
00045 
00046     delattr(process,"hbhereco")
00047     process.hbhereco = process.hbheprereco.clone()
00048     process.hcalLocalRecoSequence.replace(process.hbheprereco,process.hbhereco)
00049     process.hbhereco.digiLabel = cms.InputTag("simHcalUnsuppressedDigis")
00050     process.horeco.digiLabel = cms.InputTag("simHcalUnsuppressedDigis")
00051     process.hfreco.digiLabel = cms.InputTag("simHcalUnsuppressedDigis")
00052     process.ecalRecHit.recoverEBIsolatedChannels = cms.bool(False)
00053     process.ecalRecHit.recoverEEIsolatedChannels = cms.bool(False)
00054     process.ecalRecHit.recoverEBFE = cms.bool(False)
00055     process.ecalRecHit.recoverEEFE = cms.bool(False)
00056 
00057     process.reducedEcalRecHitsSequence.remove( process.interestingTrackEcalDetIds )
00058 
00059 #    process.local_digireco = cms.Path(process.mix * process.calDigi * process.ecalLocalRecoSequence * process.hbhereco * process.hfreco * process.horeco * (process.ecalClusters+process.caloTowersRec) * process.reducedEcalRecHitsSequence )
00060 
00061     process.local_digireco = cms.Path(process.mix * process.calDigi * process.ecalPacker * process.esDigiToRaw * process.hcalRawData * process.rawDataCollector * process.ecalDigis * process.ecalPreshowerDigis * process.hcalDigis * process.calolocalreco *(process.ecalClusters+process.caloTowersRec) * process.reducedEcalRecHitsSequence )
00062 
00063     process.schedule.append(process.local_digireco)
00064 
00065     # add HcalNoiseRBXCollection product for Validation/CaloTowers Validation/HcalRecHits  
00066     process.load( "RecoMET.METProducers.hcalnoiseinfoproducer_cfi" )
00067     process.hcalnoise_path = cms.Path( process.hcalnoise )
00068     process.schedule.append( process.hcalnoise_path )
00069 
00070     process.load("Validation/Configuration/ecalSimValid_cff") 
00071     process.load("Validation/Configuration/hcalSimValid_cff") 
00072     process.local_validation = cms.Path(process.ecalSimValid+process.hcalSimValid)
00073     process.schedule.append(process.local_validation) 
00074 
00075     process.schedule.append(process.endjob_step)
00076     #process.schedule.append(process.out_step)
00077     process.schedule.append(getattr(process,process.outputModules_().iteritems().next()[0]+"_step"))
00078 
00079     return(process)