1 import FWCore.ParameterSet.Config
as cms
31 pfPileUpEI = pfPileUp.clone( PFCandidates =
'particleFlowPtrs' )
32 pfNoPileUpEI = pfNoPileUp.clone( bottomCollection =
'particleFlowPtrs',
33 topCollection =
'pfPileUpEI' )
35 pfPileUpJMEEI = pfPileUpJME.clone( PFCandidates =
'particleFlowPtrs' )
36 pfNoPileUpJMEEI = pfNoPileUpJME.clone( bottomCollection =
'particleFlowPtrs',
37 topCollection =
'pfPileUpJMEEI' )
42 pfAllMuonsEI = cms.EDFilter(
43 "PFCandidateFwdPtrCollectionStringFilter",
44 src = cms.InputTag(
"pfNoPileUpEI"),
45 cut = cms.string(
"abs(pdgId())==13"
47 makeClones = cms.bool(
True)
50 pfMuonsFromVertexEI = pfMuonsFromVertex.clone( src =
'pfAllMuonsEI' )
52 pfIsolatedMuonsEI = cms.EDFilter(
53 "PFCandidateFwdPtrCollectionStringFilter",
54 src = cms.InputTag(
"pfMuonsFromVertexEI"),
55 cut = cms.string(
'''abs(eta)<2.5 && pt>10. && muonRef.isAvailable() &&
56 (muonRef.pfIsolationR04().sumChargedHadronPt+
57 max(0.,muonRef.pfIsolationR04().sumNeutralHadronEt+
58 muonRef.pfIsolationR04().sumPhotonEt-
59 0.50*muonRef.pfIsolationR04().sumPUPt))/pt < 0.20 &&
60 (muonRef.isPFMuon && (muonRef.isGlobalMuon || muonRef.isTrackerMuon) )'''
62 makeClones = cms.bool(
True)
67 pfNoMuon.topCollection =
'pfIsolatedMuonsEI'
68 pfNoMuon.bottomCollection =
'pfNoPileUpEI'
71 pfNoMuonJME.topCollection =
'pfIsolatedMuonsEI'
72 pfNoMuonJME.bottomCollection =
'pfNoPileUpJMEEI'
78 pfAllElectronsEI = cms.EDFilter(
79 "PFCandidateFwdPtrCollectionStringFilter",
80 src = cms.InputTag(
"pfNoMuon"),
81 cut = cms.string(
"abs(pdgId())==11"
83 makeClones = cms.bool(
True)
86 pfElectronsFromVertexEI = pfElectronsFromVertex.clone( src =
'pfAllElectronsEI' )
88 pfIsolatedElectronsEI = cms.EDFilter(
89 "PFCandidateFwdPtrCollectionStringFilter",
90 src = cms.InputTag(
"pfElectronsFromVertexEI"),
91 cut = cms.string(
'''abs(eta)<2.5 && pt>20. &&
92 gsfTrackRef.isAvailable() &&
93 gsfTrackRef.hitPattern().numberOfLostHits('MISSING_INNER_HITS')<2 &&
94 (gsfElectronRef.pfIsolationVariables().sumChargedHadronPt+
95 max(0.,gsfElectronRef.pfIsolationVariables().sumNeutralHadronEt+
96 gsfElectronRef.pfIsolationVariables().sumPhotonEt-
97 0.5*gsfElectronRef.pfIsolationVariables().sumPUPt))/pt < 0.15
99 makeClones = cms.bool(
True)
103 pfNoElectron.topCollection =
'pfIsolatedElectronsEI'
104 pfNoElectron.bottomCollection =
'pfNoMuon'
106 pfNoElectronJME.topCollection =
'pfIsolatedElectronsEI'
107 pfNoElectronJME.bottomCollection =
'pfNoMuonJME'
112 pfJetsEI = pfJets.clone()
113 pfJetsPtrsEI = pfJetsPtrs.clone( src =
"pfJetsEI" )
115 pfJetTaskEI = cms.Task( pfJetsEI, pfJetsPtrsEI )
116 pfJetSequenceEI = cms.Sequence( pfJetTaskEI )
118 pfNoJetEI = pfNoJet.clone(
119 topCollection =
'pfJetsPtrsEI',
120 bottomCollection =
'pfNoElectronJME'
124 pfTausEI = pfTaus.clone()
125 pfTausPtrsEI = pfTausPtrs.clone( src =
"pfTausEI" )
126 pfNoTauEI = pfNoTau.clone(
127 topCollection =
'pfTausPtrsEI',
128 bottomCollection =
'pfJetsPtrsEI'
131 pfTauEITask = cms.Task(
137 pfTauEISequence = cms.Sequence(pfTauEITask)
140 pfImpactParameterTagInfosEI = pfImpactParameterTagInfos.clone(
143 pfInclusiveSecondaryVertexFinderTagInfosEI = pfInclusiveSecondaryVertexFinderTagInfos.clone(
144 trackIPTagInfos =
'pfImpactParameterTagInfosEI'
146 pfCombinedInclusiveSecondaryVertexV2BJetTagsEI = pfCombinedInclusiveSecondaryVertexV2BJetTags.clone(
147 tagInfos = [
"pfImpactParameterTagInfosEI",
148 "pfInclusiveSecondaryVertexFinderTagInfosEI"]
154 pfMetEI = pfMET.clone(srcJets=
"pfJetsEI")
158 goodOfflinePrimaryVertices ,
164 pfMuonsFromVertexEI ,
169 pfElectronsFromVertexEI ,
170 pfIsolatedElectronsEI ,
178 pfImpactParameterTagInfosEI,
179 pfInclusiveSecondaryVertexFinderTagInfosEI,
180 pfCombinedInclusiveSecondaryVertexV2BJetTagsEI
182 EIsequence = cms.Sequence(EITask)