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)