1 import FWCore.ParameterSet.Config
as cms
8 pfPileUpIsoPFBRECO = pfPileUp.clone( PFCandidates =
'particleFlowPtrs' )
9 pfNoPileUpIsoPFBRECO = pfNoPileUp.clone( topCollection =
'pfPileUpIsoPFBRECO',
10 bottomCollection =
'particleFlowPtrs')
11 pfNoPileUpIsoPFBRECOTask = cms.Task(
15 pfNoPileUpIsoPFBRECOSequence = cms.Sequence(pfNoPileUpIsoPFBRECOTask)
19 pfPileUpPFBRECO = pfPileUp.clone( PFCandidates =
'particleFlowPtrs' )
20 pfNoPileUpPFBRECO = pfNoPileUp.clone( topCollection =
'pfPileUpPFBRECO',
21 bottomCollection =
'particleFlowPtrs')
22 pfNoPileUpPFBRECOTask = cms.Task(
26 pfNoPileUpPFBRECOSequence = cms.Sequence(pfNoPileUpPFBRECOTask)
29 pfAllNeutralHadronsPFBRECO = pfAllNeutralHadrons.clone( src =
'pfNoPileUpIsoPFBRECO' )
31 pfAllChargedHadronsPFBRECO = pfAllChargedHadrons.clone( src =
'pfNoPileUpIsoPFBRECO' )
33 pfAllPhotonsPFBRECO = pfAllPhotons.clone( src =
'pfNoPileUpIsoPFBRECO' )
35 pfAllMuonsPFBRECO = pfAllMuons.clone( src =
'pfNoPileUpPFBRECO' )
36 pfAllMuonsClonesPFBRECO = pfAllMuonsClones.clone( src =
'pfAllMuonsPFBRECO' )
38 pfAllElectronsPFBRECO = pfAllElectrons.clone( src =
'pfNoMuonPFBRECO' )
39 pfAllElectronsClonesPFBRECO = pfAllElectronsClones.clone( src =
'pfAllElectronsPFBRECO' )
41 pfAllChargedParticlesPFBRECO = pfAllChargedParticles.clone( src =
'pfNoPileUpIsoPFBRECO' )
43 pfAllNeutralHadronsAndPhotonsPFBRECO = pfAllNeutralHadronsAndPhotons.clone( src =
'pfNoPileUpIsoPFBRECO' )
44 pfPileUpAllChargedParticlesPFBRECO = pfAllChargedParticles.clone( src =
'pfPileUpIsoPFBRECO' )
45 pfSortByTypePFBRECOTask = cms.Task(
46 pfAllNeutralHadronsPFBRECO,
47 pfAllChargedHadronsPFBRECO,
50 pfAllChargedParticlesPFBRECO,
52 pfPileUpAllChargedParticlesPFBRECO,
53 pfAllNeutralHadronsAndPhotonsPFBRECO
58 pfSortByTypePFBRECOSequence = cms.Sequence(pfSortByTypePFBRECOTask)
60 pfParticleSelectionPFBRECOTask = cms.Task(
61 pfNoPileUpIsoPFBRECOTask,
66 pfNoPileUpPFBRECOTask,
67 pfSortByTypePFBRECOTask
69 pfParticleSelectionPFBRECOSequence = cms.Sequence(pfParticleSelectionPFBRECOTask)
72 pfSelectedPhotonsPFBRECO = pfSelectedPhotons.clone( src =
'pfAllPhotonsPFBRECO' )
75 pfIsolatedPhotonsPFBRECO = pfIsolatedPhotons.clone( src =
'pfSelectedPhotonsPFBRECO',
76 isolationValueMapsCharged = cms.VInputTag( cms.InputTag(
"phPFIsoValueCharged04PFIdPFBRECO") ),
77 isolationValueMapsNeutral = cms.VInputTag( cms.InputTag(
"phPFIsoValueNeutral04PFIdPFBRECO"),
78 cms.InputTag(
"phPFIsoValueGamma04PFIdPFBRECO") ),
79 deltaBetaIsolationValueMap =
'phPFIsoValuePU04PFIdPFBRECO' )
80 pfPhotonPFBRECOSequence = cms.Sequence(
81 pfSelectedPhotonsPFBRECO +
82 pfPhotonIsolationPFBRECOSequence +
84 pfIsolatedPhotonsPFBRECO
88 pfMuonsFromVertexPFBRECO = pfMuonsFromVertex.clone( src =
'pfAllMuonsPFBRECO' )
90 pfIsolatedMuonsPFBRECO = pfIsolatedMuons.clone( src =
'pfMuonsFromVertexPFBRECO' )
91 pfMuonsPFBRECO = pfIsolatedMuonsPFBRECO.clone(cut = cms.string(
"pt > 5 & muonRef.isAvailable()"))
92 pfMuonPFBRECOSequence = cms.Sequence(
94 pfMuonsFromVertexPFBRECO +
95 pfIsolatedMuonsPFBRECO+
100 pfElectronsFromVertexPFBRECO = pfElectronsFromVertex.clone( src =
'pfAllElectronsPFBRECO' )
102 pfIsolatedElectronsPFBRECO = pfIsolatedElectrons.clone( src =
'pfElectronsFromVertexPFBRECO' )
103 pfElectronsPFBRECO = pfIsolatedElectronsPFBRECO.clone( cut = cms.string(
" pt > 5 & gsfElectronRef.isAvailable() & gsfTrackRef.hitPattern().numberOfLostHits('MISSING_INNER_HITS')<2"))
104 pfElectronPFBRECOSequence = cms.Sequence(
105 pfAllElectronsPFBRECO +
106 pfElectronsFromVertexPFBRECO +
107 pfIsolatedElectronsPFBRECO +
111 from CommonTools.ParticleFlow.Tools.jetTools
import jetAlgo
113 pfJetsPFBRECO.src =
'pfNoElectronJMEPFBRECO' 114 pfJetsPtrsPFBRECO = cms.EDProducer(
"PFJetFwdPtrProducer",
115 src=cms.InputTag(
"pfJetsPFBRECO")
117 pfJetPFBRECOSequence = cms.Sequence(
125 pfMETPFBRECO = pfMET.clone( jets =
'pfJetsPFBRECO' )
139 pfNoMuonPFBRECO = pfNoMuon.clone( topCollection =
'pfIsolatedMuonsPFBRECO',
140 bottomCollection =
'pfNoPileUpPFBRECO' )
141 pfNoMuonJMEPFBRECO = pfNoMuonJME.clone( topCollection =
'pfIsolatedMuonsPFBRECO' )
143 pfNoElectronPFBRECO = pfNoElectron.clone( topCollection =
'pfIsolatedElectronsPFBRECO',
144 bottomCollection =
'pfNoMuonPFBRECO' )
145 pfNoElectronJMEPFBRECO = pfNoElectronJME.clone( topCollection =
'pfIsolatedElectronsPFBRECO',
146 bottomCollection =
'pfNoMuonJMEPFBRECO' )
147 pfNoElectronJMEClonesPFBRECO = pfNoElectronJMEClones.clone( src =
'pfNoElectronJMEPFBRECO' )
149 pfNoJetPFBRECO = pfNoJet.clone( topCollection =
'pfJetsPtrsPFBRECO',
150 bottomCollection =
'pfNoElectronJMEPFBRECO' )
152 pfNoTauPFBRECO = pfNoTau.clone ( bottomCollection =
'pfJetsPtrsPFBRECO' )
153 pfNoTauClonesPFBRECO = pfNoTauClones.clone ( src =
'pfNoTauPFBRECO' )
158 PFBRECO = cms.Sequence(
160 pfParticleSelectionPFBRECOSequence +
161 pfNoPileUpJMESequence +
163 pfPhotonPFBRECOSequence +
164 pfMuonPFBRECOSequence +
167 pfElectronPFBRECOSequence +
168 pfNoElectronPFBRECO +
169 pfNoElectronJMEPFBRECO +
170 pfNoElectronJMEClonesPFBRECO+
171 pfJetPFBRECOSequence +