1 import FWCore.ParameterSet.Config
as cms
11 HLTProcessName =
"HLT" 14 ELECTRON_ET_CUT_MIN = 10.0
15 TAG_ELECTRON_ET_CUT_MIN = 20.0
16 W_ELECTRON_ET_CUT_MIN = 27.0
17 ELECTRON_COLL =
"gedGsfElectrons" 18 ELECTRON_CUTS =
"(abs(superCluster.eta)<2.5) && (ecalEnergy*sin(superClusterPosition.theta)>" +
str(ELECTRON_ET_CUT_MIN) +
")" 31 goodElectrons = cms.EDFilter(
"GsfElectronRefSelector",
32 src = cms.InputTag( ELECTRON_COLL ),
33 cut = cms.string( ELECTRON_CUTS )
36 GsfMatchedPhotonCands = cms.EDProducer(
"ElectronMatchedCandidateProducer",
37 src = cms.InputTag(
"goodPhotons"),
38 ReferenceElectronCollection = cms.untracked.InputTag(
"goodElectrons"),
39 deltaR = cms.untracked.double(0.3)
49 PassingWP90 = goodElectrons.clone(
51 goodElectrons.cut.value() +
52 " && (gsfTrack.hitPattern().numberOfLostHits(\'MISSING_INNER_HITS\')<=1 && !(-0.02<convDist<0.02 && -0.02<convDcot<0.02))" 53 " && (ecalEnergy*sin(superClusterPosition.theta)>" +
str(ELECTRON_ET_CUT_MIN) +
")" 55 " && ( dr03TkSumPt/p4.Pt <0.12 && dr03EcalRecHitSumEt/p4.Pt < 0.09 && dr03HcalTowerSumEt/p4.Pt < 0.1 )" 56 " && (sigmaIetaIeta<0.01)" 57 " && ( -0.8<deltaPhiSuperClusterTrackAtVtx<0.8 )" 58 " && ( -0.007<deltaEtaSuperClusterTrackAtVtx<0.007 )" 59 " && (hadronicOverEm<0.12)" 62 " && ( dr03TkSumPt/p4.Pt <0.07 && dr03EcalRecHitSumEt/p4.Pt < 0.07 && dr03HcalTowerSumEt/p4.Pt < 0.07 )" 63 " && (sigmaIetaIeta<0.03)" 64 " && ( -0.7<deltaPhiSuperClusterTrackAtVtx<0.7 )" 65 " && ( -0.009<deltaEtaSuperClusterTrackAtVtx<0.009 )" 66 " && (hadronicOverEm<0.1) " 71 PassingWP80 = goodElectrons.clone(
73 goodElectrons.cut.value() +
74 " && (gsfTrack.hitPattern().numberOfLostHits(\'MISSING_INNER_HITS\')==0 && !(-0.02<convDist<0.02 && -0.02<convDcot<0.02))" 75 " && (ecalEnergy*sin(superClusterPosition.theta)>" +
str(ELECTRON_ET_CUT_MIN) +
")" 77 " && ( dr03TkSumPt/p4.Pt <0.12 && dr03EcalRecHitSumEt/p4.Pt < 0.09 && dr03HcalTowerSumEt/p4.Pt < 0.1 )" 78 " && (sigmaIetaIeta<0.01)" 79 " && ( -0.06<deltaPhiSuperClusterTrackAtVtx<0.06 )" 80 " && ( -0.004<deltaEtaSuperClusterTrackAtVtx<0.004 )" 81 " && (hadronicOverEm<0.12)" 84 " && ( dr03TkSumPt/p4.Pt <0.05 && dr03EcalRecHitSumEt/p4.Pt < 0.06 && dr03HcalTowerSumEt/p4.Pt < 0.03 )" 85 " && (sigmaIetaIeta<0.03)" 86 " && ( -0.03<deltaPhiSuperClusterTrackAtVtx<0.03 )" 87 " && ( -0.007<deltaEtaSuperClusterTrackAtVtx<0.007 )" 88 " && (hadronicOverEm<0.10) " 102 PassingHLT = cms.EDProducer(
"trgMatchGsfElectronProducer",
103 InputProducer = cms.InputTag( ELECTRON_COLL ),
104 hltTags = cms.untracked.string( HLTPath ),
105 triggerEventTag = cms.untracked.InputTag(
"hltTriggerSummaryAOD",
"",HLTProcessName),
106 triggerResultsTag = cms.untracked.InputTag(
"TriggerResults",
"",HLTProcessName),
107 stageL1Trigger = cms.uint32(1),
109 l1GtRecordInputTag = cms.InputTag(
'gtDigis'),
110 l1GtReadoutRecordInputTag = cms.InputTag(
'gtDigis'),
112 from Configuration.Eras.Modifier_stage2L1Trigger_cff
import stage2L1Trigger
113 stage2L1Trigger.toModify(PassingHLT,
116 l1tAlgBlkInputTag = cms.InputTag(
'gtStage2Digis'),
117 l1tExtBlkInputTag = cms.InputTag(
'gtStage2Digis'),
119 l1GtRecordInputTag =
None,
120 l1GtReadoutRecordInputTag =
None,
129 WElecTagHLT = PassingHLT.clone(
130 InputProducer = cms.InputTag(
"PassingWP80" )
133 ele_sequence = cms.Sequence(
148 MT=
"sqrt(2*daughter(0).pt*daughter(1).pt*(1 - cos(daughter(0).phi - daughter(1).phi)))" 149 elecMet = cms.EDProducer(
"CandViewShallowCloneCombiner",
150 decay = cms.string(
"pfMet WElecTagHLT"),
151 checkCharge = cms.bool(
False),
152 cut = cms.string((
"daughter(0).pt > %f && daughter(1).pt > %f && "+MT+
" > %f") % (MET_CUT_MIN, W_ELECTRON_ET_CUT_MIN, MT_CUT_MIN))
154 elecMetCounter = cms.EDFilter(
"CandViewCountFilter",
155 src = cms.InputTag(
"elecMet"),
156 minNumber = cms.uint32(1)
158 elecMetFilter = cms.Sequence(elecMet * elecMetCounter)
161 WEnuHltFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone(
162 throw = cms.bool(
False),
169 kt6PFJetsForRhoCorrectionWElectronSkim = RecoJets.Configuration.RecoPFJets_cff.kt6PFJets.clone(
175 elecMetSeq = cms.Sequence( WEnuHltFilter * ele_sequence * elecMetFilter * kt6PFJetsForRhoCorrectionWElectronSkim)
179 WElectronSkimContent = OutALCARECOEcalCalElectron.clone()
180 WElectronSkimContent.outputCommands.extend( [
183 "keep *_offlinePrimaryVerticesWithBS_*_*",
184 "keep *_generator_*_*",
185 "keep *_rawDataCollector_*_*",
186 'keep recoCaloClusters_*_*_*',
187 'keep recoPreshowerClusters_*_*_*',
188 'keep *_reducedEcalRecHits*_*_*',
189 'keep *_offlineBeamSpot_*_*',
190 'keep *_allConversions_*_*',