CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Reconstruction_hiPF_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # include particle flow local reconstruction
5 
6 # run a trimmed down PF sequence with heavy-ion vertex, no conversions, nucl int, etc.
7 
9 particleFlowEGamma.vertexCollection = "hiSelectedVertex"
10 gedGsfElectronCores.ctfTracks = "hiGeneralTracks"
11 gedGsfElectronsTmp.ctfTracksTag = "hiGeneralTracks"
12 gedGsfElectronsTmp.vtxTag = "hiSelectedVertex"
13 gedGsfElectronsTmp.preselection.minSCEtBarrel = 15.0
14 gedGsfElectronsTmp.preselection.minSCEtEndcaps = 15.0
15 gedGsfElectronsTmp.fillConvVtxFitProb = False
16 
17 gedPhotonsTmp.primaryVertexProducer = "hiSelectedVertex"
18 gedPhotonsTmp.isolationSumsCalculatorSet.trackProducer = "hiGeneralTracks"
19 gedPhotons.primaryVertexProducer = "hiSelectedVertex"
20 gedPhotons.isolationSumsCalculatorSet.trackProducer = "hiGeneralTracks"
21 photonIDValueMaps.vertices = "hiSelectedVertex"
22 from RecoHI.HiEgammaAlgos.photonIsolationHIProducer_cfi import photonIsolationHIProducer
23 
24 photonIsolationHIProducerGED = photonIsolationHIProducer.clone(photonProducer = "gedPhotonsTmp")
25 
26 #These are set for consistency w/ HiElectronSequence, but these cuts need to be studied
27 gedGsfElectronsTmp.preselection.maxHOverEBarrelCone = 0.25
28 gedGsfElectronsTmp.preselection.maxHOverEEndcapsCone = 0.25
29 gedGsfElectronsTmp.preselection.maxHOverEBarrelBc = 0.0
30 gedGsfElectronsTmp.preselection.maxHOverEEndcapsBc = 0.0
31 gedGsfElectronsTmp.preselection.maxEOverPBarrel = 2.
32 gedGsfElectronsTmp.preselection.maxEOverPEndcaps = 2.
33 
34 ootPhotonsTmp.primaryVertexProducer = "hiSelectedVertex"
35 ootPhotonsTmp.isolationSumsCalculatorSet.trackProducer = "hiGeneralTracks"
36 ootPhotons.primaryVertexProducer = "hiSelectedVertex"
37 ootPhotons.isolationSumsCalculatorSet.trackProducer = "hiGeneralTracks"
38 
40 
41 mvaElectrons.vertexTag = "hiSelectedVertex"
42 
43 particleFlowBlock.elementImporters = cms.VPSet(
44  cms.PSet( importerName = cms.string("GSFTrackImporter"),
45  source = cms.InputTag("pfTrackElec"),
46  gsfsAreSecondary = cms.bool(False),
47  superClustersArePF = cms.bool(True) ),
48  cms.PSet( importerName = cms.string("SuperClusterImporter"),
49  source_eb = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALBarrel"),
50  source_ee = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALEndcapWithPreshower"),
51  source_towers = cms.InputTag("towerMaker"),
52  maximumHoverE = cms.double(0.5),
53  minSuperClusterPt = cms.double(10.0),
54  minPTforBypass = cms.double(100.0),
55  superClustersArePF = cms.bool(True) ),
56  # all secondary track importers
57  cms.PSet( importerName = cms.string("GeneralTracksImporter"),
58  source = cms.InputTag("pfTrack"),
59  muonSrc = cms.InputTag("hiMuons1stStep"),
60  trackQuality = cms.string("highPurity"),
61  cleanBadConvertedBrems = cms.bool(False),
62  useIterativeTracking = cms.bool(False),
63  DPtOverPtCuts_byTrackAlgo = cms.vdouble(-1.0,-1.0,-1.0,
64  1.0,1.0),
65  NHitCuts_byTrackAlgo = cms.vuint32(3,3,3,3,3),
66  muonMaxDPtOPt = cms.double(1),
67  vetoEndcap = cms.bool(False)
68  ),
69  # to properly set SC based links you need to run ECAL importer
70  # after you've imported all SCs to the block
71  cms.PSet( importerName = cms.string("ECALClusterImporter"),
72  source = cms.InputTag("particleFlowClusterECAL"),
73  BCtoPFCMap = cms.InputTag('particleFlowSuperClusterECAL:PFClusterAssociationEBEE') ),
74  cms.PSet( importerName = cms.string("GenericClusterImporter"),
75  source = cms.InputTag("particleFlowClusterHCAL") ),
76  cms.PSet( importerName = cms.string("GenericClusterImporter"),
77  source = cms.InputTag("particleFlowClusterHO") ),
78  cms.PSet( importerName = cms.string("GenericClusterImporter"),
79  source = cms.InputTag("particleFlowClusterHF") ),
80  cms.PSet( importerName = cms.string("GenericClusterImporter"),
81  source = cms.InputTag("particleFlowClusterPS") )
82  )
83 
84 particleFlowTmp.postMuonCleaning = False
85 particleFlowTmp.vertexCollection = "hiSelectedVertex"
86 particleFlowTmp.muons = "hiMuons1stStep"
87 particleFlowTmp.usePFConversions = False
88 
89 pfNoPileUpIso.enable = False
90 pfPileUpIso.enable = False
91 pfNoPileUp.enable = False
92 pfPileUp.enable = False
93 particleFlow.Muons = "muons:hiMuons1stStep2muonsMap"
94 
95 
96 # local reco must run before electrons (RecoHI/HiEgammaAlgos), due to PF integration
97 hiParticleFlowLocalRecoTask = cms.Task(particleFlowClusterTask)
98 hiParticleFlowLocalReco = cms.Sequence(hiParticleFlowLocalRecoTask)
99 
100 particleFlowTmpTask = cms.Task(particleFlowTmp)
101 particleFlowTmpSeq = cms.Sequence(particleFlowTmpTask)
102 
103 #PF Reco runs after electrons
104 hiParticleFlowRecoTask = cms.Task( pfGsfElectronMVASelectionTask
105  , particleFlowBlock
106  , particleFlowEGammaFullTask
107  , photonIsolationHIProducerGED
108  , particleFlowTmpTask
109  , fixedGridRhoFastjetAllTmp
110  , particleFlowTmpPtrs
111  , particleFlowEGammaFinalTask
112  , pfParticleSelectionTask
113  )
114 hiParticleFlowReco = cms.Sequence(hiParticleFlowRecoTask)
115 
116 particleFlowLinksTask = cms.Task( particleFlow,particleFlowPtrs,chargedHadronPFTrackIsolation,particleBasedIsolationTask)
117 particleFlowLinks = cms.Sequence(particleFlowLinksTask)