CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
customise_PF.py
Go to the documentation of this file.
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("muons")
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.usePFElectrons = cms.bool(False)
29  process.particleFlowTmp.muons = cms.InputTag("muons")
30  process.particleFlowTmp.usePFConversions = cms.bool(False)
31 
32  process.electronsCiCLoose.verticesCollection = cms.InputTag("hiSelectedVertex")
33 
34  # define new high-level RECO sequence and add to top-level sequence
35  process.highLevelRecoPbPb = cms.Sequence(process.pfTrack
36  * process.pfGsfElectronCiCSelectionSequence
37  * process.particleFlowBlock
38  * process.particleFlowTmp
39  )
40 
41  process.reconstructionHeavyIons *= process.highLevelRecoPbPb
42 
43  return process