1 import FWCore.ParameterSet.Config
as cms
14 GsfMatchedPhotonCands = cms.EDProducer(
"ElectronMatchedCandidateProducer",
15 src = cms.InputTag(
"goodPhotons"),
16 ReferenceElectronCollection = cms.untracked.InputTag(
"goodElectrons"),
17 deltaR = cms.untracked.double(0.3)
38 PassingHLT = cms.EDProducer(
"trgMatchGsfElectronProducer",
39 InputProducer = cms.InputTag(
'gedGsfElectrons' ),
40 hltTags = cms.untracked.string( HLTPath ),
41 triggerEventTag = cms.untracked.InputTag(
"hltTriggerSummaryAOD",
"",HLTProcessName),
42 triggerResultsTag = cms.untracked.InputTag(
"TriggerResults",
"",HLTProcessName)
57 ZSCHltFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone(
58 throw = cms.bool(
False),
59 HLTPaths = [
'HLT_Ele27_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele15_CaloIdT_CaloIsoVL_trackless_v*']
65 selectedElectrons = cms.EDFilter(
"GsfElectronRefSelector",
66 src = cms.InputTag(
'gedGsfElectrons' ),
69 "(abs(superCluster.eta)<3) && (energy*sin(superClusterPosition.theta)> 15)")
72 selectedMuons = cms.EDFilter(
"MuonRefSelector",
73 src = cms.InputTag(
'muons' ),
77 selectedPhotons = cms.EDFilter(
"PhotonRefSelector",
78 src = cms.InputTag(
'gedPhotons' ),
80 "(abs(superCluster.eta)<3) && (pt> 10)")
84 PassingVeryLooseId = selectedElectrons.clone(
86 selectedElectrons.cut.value() +
87 " && (gsfTrack.trackerExpectedHitsInner.numberOfHits<=1)" 89 " && ( dr03TkSumPt/p4.Pt <0.2 " 90 " && dr03HcalTowerSumEt/p4.Pt < 0.2 )" 91 " && (sigmaIetaIeta<0.01)" 92 " && ( -0.15<deltaPhiSuperClusterTrackAtVtx<0.15 )" 93 " && ( -0.007<deltaEtaSuperClusterTrackAtVtx<0.007 )" 94 " && (hadronicOverEm<0.12)" 97 " && ( dr03TkSumPt/p4.Pt <0.2" 99 " && dr03HcalTowerSumEt/p4.Pt < 0.2 )" 100 " && (sigmaIetaIeta<0.03)" 101 " && ( -0.10<deltaPhiSuperClusterTrackAtVtx<0.10 )" 102 " && ( -0.009<deltaEtaSuperClusterTrackAtVtx<0.009 )" 103 " && (hadronicOverEm<0.10) " 107 PassingMediumId = selectedElectrons.clone(
109 selectedElectrons.cut.value() +
110 " && (gsfTrack.trackerExpectedHitsInner.numberOfHits<=1)" 112 " && ( dr03TkSumPt/p4.Pt <0.2 " 113 " && dr03HcalTowerSumEt/p4.Pt < 0.2 )" 114 " && (sigmaIetaIeta<0.01)" 115 " && ( -0.06<deltaPhiSuperClusterTrackAtVtx<0.06 )" 116 " && ( -0.004<deltaEtaSuperClusterTrackAtVtx<0.004 )" 117 " && (hadronicOverEm<0.12)" 120 " && ( dr03TkSumPt/p4.Pt <0.2" 122 " && dr03HcalTowerSumEt/p4.Pt < 0.2 )" 123 " && (sigmaIetaIeta<0.03)" 124 " && ( -0.03<deltaPhiSuperClusterTrackAtVtx<0.03 )" 125 " && ( -0.007<deltaEtaSuperClusterTrackAtVtx<0.007 )" 126 " && (hadronicOverEm<0.10) " 131 PassingTightId = selectedElectrons.clone(
133 selectedElectrons.cut.value() +
134 " && (gsfTrack.trackerExpectedHitsInner.numberOfHits<=0)" 136 " && ( dr03TkSumPt/p4.Pt <0.2 " 137 " && dr03HcalTowerSumEt/p4.Pt < 0.2 )" 138 " && (sigmaIetaIeta<0.01)" 139 " && ( -0.03<deltaPhiSuperClusterTrackAtVtx<0.03 )" 140 " && ( -0.004<deltaEtaSuperClusterTrackAtVtx<0.004 )" 141 " && (hadronicOverEm<0.12)" 144 " && ( dr03TkSumPt/p4.Pt <0.2" 146 " && dr03HcalTowerSumEt/p4.Pt < 0.2 )" 147 " && (sigmaIetaIeta<0.03)" 148 " && ( -0.02<deltaPhiSuperClusterTrackAtVtx<0.02 )" 149 " && ( -0.007<deltaEtaSuperClusterTrackAtVtx<0.007 )" 150 " && (hadronicOverEm<0.10) " 155 PassingMuonVeryLooseId = selectedMuons.clone(
157 selectedMuons.cut.value() +
158 "(isPFMuon) && (isGlobalMuon || isTrackerMuon)" 162 PassingPhotonVeryLooseId = selectedPhotons.clone(
164 selectedPhotons.cut.value() +
165 "&& ( (eta<1.479 && sigmaIetaIeta<0.02 && hadronicOverEm<0.06 )" 167 "( eta>=1.479 && sigmaIetaIeta<0.04 && hadronicOverEm<0.06 ) )" 171 MuFilter = cms.EDFilter(
"CandViewCountFilter",
172 src = cms.InputTag(
"PassingMuonVeryLooseId"),
173 minNumber = cms.uint32(2)
175 PhoFilter = cms.EDFilter(
"CandViewCountFilter",
176 src = cms.InputTag(
"PassingPhotonVeryLooseId"),
177 minNumber = cms.uint32(1)
184 SCselector = cms.EDFilter(
"SuperClusterSelector",
185 src = cms.InputTag(
'correctedMulti5x5SuperClustersWithPreshower'),
186 cut = cms.string(
'(eta>2.4 || eta<-2.4) && (energy*sin(position.theta)> 15)')
190 eleSC = cms.EDProducer(
'ConcreteEcalCandidateProducer',
191 src = cms.InputTag(
'SCselector'),
192 particleType = cms.string(
'gamma')
195 selectedCands = cms.EDFilter(
"AssociatedVariableMaxCutCandRefSelector",
196 src = cms.InputTag(
"eleSelectionProducers:loose"),
197 max = cms.double(0.5)
200 eleSelSeq = cms.Sequence( selectedElectrons + PassingVeryLooseId + PassingTightId +
204 muSelSeq = cms.Sequence( selectedMuons + PassingMuonVeryLooseId + PassingPhotonVeryLooseId + MuFilter + PhoFilter +
211 ZeeSelector = cms.EDProducer(
"CandViewShallowCloneCombiner",
212 decay = cms.string(
"PassingVeryLooseId PassingVeryLooseId"),
213 checkCharge = cms.bool(
False),
214 cut = cms.string(
"mass > 40 && mass < 140")
219 MT=
"sqrt(2*daughter(0).pt*daughter(1).pt*(1 - cos(daughter(0).phi - daughter(1).phi)))" 221 W_ELECTRON_ET_CUT_MIN = 30.0
224 WenuSelector = cms.EDProducer(
"CandViewShallowCloneCombiner",
225 decay = cms.string(
"pfMet PassingTightId"),
226 checkCharge = cms.bool(
False),
227 cut = cms.string((
"daughter(0).pt > %f && daughter(1).pt > %f && "+MT+
" > %f") % (MET_CUT_MIN, W_ELECTRON_ET_CUT_MIN, MT_CUT_MIN))
231 EleSCSelector = cms.EDProducer(
"CandViewShallowCloneCombiner",
232 decay = cms.string(
"PassingVeryLooseId eleSC"),
235 checkCharge = cms.bool(
False),
237 cut = cms.string(
"40 < mass < 140 ")
239 WZSelector = cms.EDProducer(
"CandViewMerger",
240 src = cms.VInputTag(
"WenuSelector",
"ZeeSelector",
"EleSCSelector")
248 WenuFilter = cms.EDFilter(
"CandViewCountFilter",
249 src = cms.InputTag(
"WenuSelector"),
250 minNumber = cms.uint32(1)
253 ZeeFilter = cms.EDFilter(
"CandViewCountFilter",
254 src = cms.InputTag(
"ZeeSelector"),
255 minNumber = cms.uint32(1)
258 MinZSCNumberFilter = cms.EDFilter(
"CandViewCountFilter",
260 src = cms.InputTag(
'eleSC'),
261 minNumber = cms.uint32(1)
263 ZSCFilter = cms.EDFilter(
"CandViewCountFilter",
264 src = cms.InputTag(
"EleSCSelector"),
265 minNumber = cms.uint32(1)
268 WZFilter = cms.EDFilter(
"CandViewCountFilter",
269 src = cms.InputTag(
"WZSelector"),
270 minNumber = cms.uint32(1)
273 FilterSeq = cms.Sequence(eleSelSeq * (ZeeSelector + WenuSelector + EleSCSelector) * WZSelector)
274 ZSCSingleEleFilterSeq = cms.Sequence(~ZSCHltFilter * eleSelSeq * EleSCSelector * ZSCFilter)
275 FilterMuSeq = cms.Sequence(muSelSeq * (ZeeSelector + WenuSelector + EleSCSelector) * WZSelector)