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)