CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Reconstruction_hiPF_cff.py
Go to the documentation of this file.
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 gedPhotonsTmp.primaryVertexProducer = cms.InputTag("hiSelectedVertex")
14 gedPhotonsTmp.regressionConfig.vertexCollection = cms.InputTag("hiSelectedVertex")
15 gedPhotonsTmp.isolationSumsCalculatorSet.trackProducer = cms.InputTag("hiGeneralTracks")
16 
17 
18 #These are set for consistency w/ HiElectronSequence, but these cuts need to be studied
19 gedGsfElectronsTmp.maxHOverEBarrel = cms.double(0.25)
20 gedGsfElectronsTmp.maxHOverEEndcaps = cms.double(0.25)
21 
22 
24 
25 particleFlowClusterECAL.energyCorrector.verticesLabel = cms.InputTag('hiPixelAdaptiveVertex')
26 
27 mvaElectrons.vertexTag = cms.InputTag("hiSelectedVertex")
28 
29 particleFlowBlock.elementImporters = cms.VPSet(
30  cms.PSet( importerName = cms.string("GSFTrackImporter"),
31  source = cms.InputTag("pfTrackElec"),
32  gsfsAreSecondary = cms.bool(False),
33  superClustersArePF = cms.bool(True) ),
34  cms.PSet( importerName = cms.string("SuperClusterImporter"),
35  source_eb = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALBarrel"),
36  source_ee = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALEndcapWithPreshower"),
37  source_towers = cms.InputTag("towerMaker"),
38  maximumHoverE = cms.double(0.5),
39  minSuperClusterPt = cms.double(10.0),
40  minPTforBypass = cms.double(100.0),
41  superClustersArePF = cms.bool(True) ),
42  # all secondary track importers
43  cms.PSet( importerName = cms.string("GeneralTracksImporter"),
44  source = cms.InputTag("pfTrack"),
45  muonSrc = cms.InputTag("muons"),
46  useIterativeTracking = cms.bool(False),
47  DPtOverPtCuts_byTrackAlgo = cms.vdouble(-1.0,-1.0,-1.0,
48  1.0,1.0),
49  NHitCuts_byTrackAlgo = cms.vuint32(3,3,3,3,3)
50  ),
51  # to properly set SC based links you need to run ECAL importer
52  # after you've imported all SCs to the block
53  cms.PSet( importerName = cms.string("ECALClusterImporter"),
54  source = cms.InputTag("particleFlowClusterECAL"),
55  BCtoPFCMap = cms.InputTag('particleFlowSuperClusterECAL:PFClusterAssociationEBEE') ),
56  cms.PSet( importerName = cms.string("GenericClusterImporter"),
57  source = cms.InputTag("particleFlowClusterHCAL") ),
58  cms.PSet( importerName = cms.string("GenericClusterImporter"),
59  source = cms.InputTag("particleFlowClusterHO") ),
60  cms.PSet( importerName = cms.string("GenericClusterImporter"),
61  source = cms.InputTag("particleFlowClusterHF") ),
62  cms.PSet( importerName = cms.string("GenericClusterImporter"),
63  source = cms.InputTag("particleFlowClusterPS") )
64  )
65 
66 particleFlowTmp.postMuonCleaning = cms.bool(False)
67 particleFlowTmp.vertexCollection = cms.InputTag("hiSelectedVertex")
68 particleFlowTmp.usePFElectrons = cms.bool(True)
69 particleFlowTmp.muons = cms.InputTag("muons")
70 particleFlowTmp.usePFConversions = cms.bool(False)
71 
72 
74 
75 # local reco must run before electrons (RecoHI/HiEgammaAlgos), due to PF integration
76 hiParticleFlowLocalReco = cms.Sequence(particleFlowCluster)
77 
78 
79 #PF Reco runs after electrons
80 hiParticleFlowReco = cms.Sequence( pfGsfElectronMVASelectionSequence
81  * particleFlowBlock
82  * particleFlowEGammaFull
83  * particleFlowTmp
84  * hiRecoPFJets
85  )