-
Notifications
You must be signed in to change notification settings - Fork 4.2k
/
Reconstruction_hiPF_cff.py
92 lines (77 loc) · 4.69 KB
/
Reconstruction_hiPF_cff.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import FWCore.ParameterSet.Config as cms
# include particle flow local reconstruction
from RecoParticleFlow.PFClusterProducer.particleFlowCluster_cff import *
# run a trimmed down PF sequence with heavy-ion vertex, no conversions, nucl int, etc.
from RecoParticleFlow.PFProducer.particleFlowEGamma_cff import *
particleFlowEGamma.vertexCollection = cms.InputTag("hiSelectedVertex")
gedGsfElectronCores.ctfTracks = cms.InputTag("hiGeneralTracks")
gedGsfElectronsTmp.ctfTracksTag = cms.InputTag("hiGeneralTracks")
gedGsfElectronsTmp.vtxTag = cms.InputTag("hiSelectedVertex")
gedGsfElectronsTmp.minSCEtBarrel = cms.double(15.0)
gedGsfElectronsTmp.minSCEtEndcaps = cms.double(15.0)
gedPhotonsTmp.primaryVertexProducer = cms.InputTag("hiSelectedVertex")
gedPhotonsTmp.isolationSumsCalculatorSet.trackProducer = cms.InputTag("hiGeneralTracks")
from RecoHI.HiEgammaAlgos.photonIsolationHIProducer_cfi import photonIsolationHIProducer
photonIsolationHIProducerGED = photonIsolationHIProducer.clone(photonProducer=cms.InputTag("gedPhotonsTmp"))
#These are set for consistency w/ HiElectronSequence, but these cuts need to be studied
gedGsfElectronsTmp.maxHOverEBarrel = cms.double(0.25)
gedGsfElectronsTmp.maxHOverEEndcaps = cms.double(0.25)
gedGsfElectronsTmp.maxEOverPBarrel = cms.double(2.)
gedGsfElectronsTmp.maxEOverPEndcaps = cms.double(2.)
ootPhotons.primaryVertexProducer = cms.InputTag("hiSelectedVertex")
ootPhotons.isolationSumsCalculatorSet.trackProducer = cms.InputTag("hiGeneralTracks")
from RecoParticleFlow.Configuration.RecoParticleFlow_cff import *
particleFlowClusterECAL.energyCorrector.verticesLabel = cms.InputTag('hiPixelAdaptiveVertex')
mvaElectrons.vertexTag = cms.InputTag("hiSelectedVertex")
particleFlowBlock.elementImporters = cms.VPSet(
cms.PSet( importerName = cms.string("GSFTrackImporter"),
source = cms.InputTag("pfTrackElec"),
gsfsAreSecondary = cms.bool(False),
superClustersArePF = cms.bool(True) ),
cms.PSet( importerName = cms.string("SuperClusterImporter"),
source_eb = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALBarrel"),
source_ee = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALEndcapWithPreshower"),
source_towers = cms.InputTag("towerMaker"),
maximumHoverE = cms.double(0.5),
minSuperClusterPt = cms.double(10.0),
minPTforBypass = cms.double(100.0),
superClustersArePF = cms.bool(True) ),
# all secondary track importers
cms.PSet( importerName = cms.string("GeneralTracksImporter"),
source = cms.InputTag("pfTrack"),
muonSrc = cms.InputTag("hiMuons1stStep"),
useIterativeTracking = cms.bool(False),
DPtOverPtCuts_byTrackAlgo = cms.vdouble(-1.0,-1.0,-1.0,
1.0,1.0),
NHitCuts_byTrackAlgo = cms.vuint32(3,3,3,3,3)
),
# to properly set SC based links you need to run ECAL importer
# after you've imported all SCs to the block
cms.PSet( importerName = cms.string("ECALClusterImporter"),
source = cms.InputTag("particleFlowClusterECAL"),
BCtoPFCMap = cms.InputTag('particleFlowSuperClusterECAL:PFClusterAssociationEBEE') ),
cms.PSet( importerName = cms.string("GenericClusterImporter"),
source = cms.InputTag("particleFlowClusterHCAL") ),
cms.PSet( importerName = cms.string("GenericClusterImporter"),
source = cms.InputTag("particleFlowClusterHO") ),
cms.PSet( importerName = cms.string("GenericClusterImporter"),
source = cms.InputTag("particleFlowClusterHF") ),
cms.PSet( importerName = cms.string("GenericClusterImporter"),
source = cms.InputTag("particleFlowClusterPS") )
)
particleFlowTmp.postMuonCleaning = cms.bool(False)
particleFlowTmp.vertexCollection = cms.InputTag("hiSelectedVertex")
particleFlowTmp.usePFElectrons = cms.bool(True)
particleFlowTmp.muons = cms.InputTag("hiMuons1stStep")
particleFlowTmp.usePFConversions = cms.bool(False)
from RecoHI.HiJetAlgos.HiRecoPFJets_cff import *
# local reco must run before electrons (RecoHI/HiEgammaAlgos), due to PF integration
hiParticleFlowLocalReco = cms.Sequence(particleFlowCluster)
#PF Reco runs after electrons
hiParticleFlowReco = cms.Sequence( pfGsfElectronMVASelectionSequence
* particleFlowBlock
* particleFlowEGammaFull
* photonIsolationHIProducerGED
* particleFlowTmp
* hiRecoPFJets
)