CMS 3D CMS Logo

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