CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
customise_PF.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 def customise(process):
4 
5  # Customize process to run PF *without* electrons
6 
7  # add particle flow local reconstruction
8  process.load("RecoParticleFlow.PFClusterProducer.particleFlowCluster_cff")
9  process.localReco += process.particleFlowCluster
10 
11  process.load("RecoParticleFlow.PFTracking.pfTrack_cfi")
12  process.pfTrack.UseQuality = cms.bool(True)
13  process.pfTrack.TrackQuality = cms.string('highPurity')
14  process.pfTrack.TkColList = cms.VInputTag("hiGeneralTracks")
15  process.pfTrack.PrimaryVertexLabel = cms.InputTag("hiSelectedVertex")
16  process.pfTrack.MuColl = cms.InputTag("hiMuons1stStep")
17  process.pfTrack.GsfTracksInEvents = cms.bool(False)
18 
19  # run a trimmed down PF sequence with heavy-ion vertex, no conversions, nucl int, etc.
20  process.load("RecoParticleFlow.Configuration.RecoParticleFlow_cff")
21 
22  process.particleFlowBlock.useConvBremPFRecTracks = cms.bool(False)
23  process.particleFlowBlock.useIterTracking = cms.bool(False)
24  process.particleFlowBlock.useNuclear = cms.bool(False)
25  process.particleFlowBlock.useConversions = cms.bool(False)
26 
27  process.particleFlowTmp.vertexCollection = cms.InputTag("hiSelectedVertex")
28  process.particleFlowTmp.muons = cms.InputTag("hiMuons1stStep")
29  process.particleFlowTmp.usePFConversions = cms.bool(False)
30 
31  process.electronsCiCLoose.verticesCollection = cms.InputTag("hiSelectedVertex")
32 
33  # define new high-level RECO sequence and add to top-level sequence
34  process.highLevelRecoPbPb = cms.Sequence(process.pfTrack
35  * process.pfGsfElectronCiCSelectionSequence
36  * process.particleFlowBlock
37  * process.particleFlowTmp
38  )
39 
40  process.reconstructionHeavyIons *= process.highLevelRecoPbPb
41 
42  return process