Go to the documentation of this file.00001 import FWCore.ParameterSet.Config as cms
00002
00003
00004
00005
00006
00007
00008
00009
00010 HLTPath = "HLT_Ele*"
00011 HLTProcessName = "HLT"
00012
00013
00014 ELECTRON_ET_CUT_MIN = 10.0
00015 TAG_ELECTRON_ET_CUT_MIN = 20.0
00016 W_ELECTRON_ET_CUT_MIN = 27.0
00017 ELECTRON_COLL = "gsfElectrons"
00018 ELECTRON_CUTS = "(abs(superCluster.eta)<2.5) && (ecalEnergy*sin(superClusterPosition.theta)>" + str(ELECTRON_ET_CUT_MIN) + ")"
00019
00020
00021 MET_CUT_MIN = 20.
00022 MT_CUT_MIN = 50.
00023
00024
00025
00026
00027
00028
00029
00030
00031 goodElectrons = cms.EDFilter("GsfElectronRefSelector",
00032 src = cms.InputTag( ELECTRON_COLL ),
00033 cut = cms.string( ELECTRON_CUTS )
00034 )
00035
00036 GsfMatchedPhotonCands = cms.EDProducer("ElectronMatchedCandidateProducer",
00037 src = cms.InputTag("goodPhotons"),
00038 ReferenceElectronCollection = cms.untracked.InputTag("goodElectrons"),
00039 deltaR = cms.untracked.double(0.3)
00040 )
00041
00042
00043
00044
00045
00046
00047
00048
00049 PassingWP90 = goodElectrons.clone(
00050 cut = cms.string(
00051 goodElectrons.cut.value() +
00052 " && (gsfTrack.trackerExpectedHitsInner.numberOfHits<=1 && !(-0.02<convDist<0.02 && -0.02<convDcot<0.02))"
00053 " && (ecalEnergy*sin(superClusterPosition.theta)>" + str(ELECTRON_ET_CUT_MIN) + ")"
00054 " && ((isEB"
00055 " && ( dr03TkSumPt/p4.Pt <0.12 && dr03EcalRecHitSumEt/p4.Pt < 0.09 && dr03HcalTowerSumEt/p4.Pt < 0.1 )"
00056 " && (sigmaIetaIeta<0.01)"
00057 " && ( -0.8<deltaPhiSuperClusterTrackAtVtx<0.8 )"
00058 " && ( -0.007<deltaEtaSuperClusterTrackAtVtx<0.007 )"
00059 " && (hadronicOverEm<0.12)"
00060 ")"
00061 " || (isEE"
00062 " && ( dr03TkSumPt/p4.Pt <0.07 && dr03EcalRecHitSumEt/p4.Pt < 0.07 && dr03HcalTowerSumEt/p4.Pt < 0.07 )"
00063 " && (sigmaIetaIeta<0.03)"
00064 " && ( -0.7<deltaPhiSuperClusterTrackAtVtx<0.7 )"
00065 " && ( -0.009<deltaEtaSuperClusterTrackAtVtx<0.009 )"
00066 " && (hadronicOverEm<0.1) "
00067 "))"
00068 )
00069 )
00070
00071 PassingWP80 = goodElectrons.clone(
00072 cut = cms.string(
00073 goodElectrons.cut.value() +
00074 " && (gsfTrack.trackerExpectedHitsInner.numberOfHits==0 && !(-0.02<convDist<0.02 && -0.02<convDcot<0.02))"
00075 " && (ecalEnergy*sin(superClusterPosition.theta)>" + str(ELECTRON_ET_CUT_MIN) + ")"
00076 " && ((isEB"
00077 " && ( dr03TkSumPt/p4.Pt <0.12 && dr03EcalRecHitSumEt/p4.Pt < 0.09 && dr03HcalTowerSumEt/p4.Pt < 0.1 )"
00078 " && (sigmaIetaIeta<0.01)"
00079 " && ( -0.06<deltaPhiSuperClusterTrackAtVtx<0.06 )"
00080 " && ( -0.004<deltaEtaSuperClusterTrackAtVtx<0.004 )"
00081 " && (hadronicOverEm<0.12)"
00082 ")"
00083 " || (isEE"
00084 " && ( dr03TkSumPt/p4.Pt <0.05 && dr03EcalRecHitSumEt/p4.Pt < 0.06 && dr03HcalTowerSumEt/p4.Pt < 0.03 )"
00085 " && (sigmaIetaIeta<0.03)"
00086 " && ( -0.03<deltaPhiSuperClusterTrackAtVtx<0.03 )"
00087 " && ( -0.007<deltaEtaSuperClusterTrackAtVtx<0.007 )"
00088 " && (hadronicOverEm<0.10) "
00089 "))"
00090 )
00091 )
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102 PassingHLT = cms.EDProducer("trgMatchGsfElectronProducer",
00103 InputProducer = cms.InputTag( ELECTRON_COLL ),
00104 hltTags = cms.untracked.string( HLTPath ),
00105 triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLTProcessName),
00106 triggerResultsTag = cms.untracked.InputTag("TriggerResults","",HLTProcessName)
00107 )
00108
00109
00110
00111
00112
00113
00114
00115
00116 WElecTagHLT = PassingHLT.clone(
00117 InputProducer = cms.InputTag( "PassingWP80" )
00118 )
00119
00120 ele_sequence = cms.Sequence(
00121 goodElectrons +
00122 PassingWP80 +
00123 WElecTagHLT
00124 )
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135 MT="sqrt(2*daughter(0).pt*daughter(1).pt*(1 - cos(daughter(0).phi - daughter(1).phi)))"
00136 elecMet = cms.EDProducer("CandViewShallowCloneCombiner",
00137 decay = cms.string("pfMet WElecTagHLT"),
00138 checkCharge = cms.bool(False),
00139 cut = cms.string(("daughter(0).pt > %f && daughter(1).pt > %f && "+MT+" > %f") % (MET_CUT_MIN, W_ELECTRON_ET_CUT_MIN, MT_CUT_MIN))
00140 )
00141 elecMetCounter = cms.EDFilter("CandViewCountFilter",
00142 src = cms.InputTag("elecMet"),
00143 minNumber = cms.uint32(1)
00144 )
00145 elecMetFilter = cms.Sequence(elecMet * elecMetCounter)
00146
00147 import HLTrigger.HLTfilters.hltHighLevel_cfi
00148 WEnuHltFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone(
00149 throw = cms.bool(False),
00150 HLTPaths = [HLTPath]
00151 )
00152
00153
00154
00155 import RecoJets.Configuration.RecoPFJets_cff
00156 kt6PFJetsForRhoCorrection = RecoJets.Configuration.RecoPFJets_cff.kt6PFJets.clone(
00157 doRhoFastjet = True,
00158 Rho_EtaMax = 2.5
00159 )
00160
00161
00162 elecMetSeq = cms.Sequence( WEnuHltFilter * ele_sequence * elecMetFilter * kt6PFJetsForRhoCorrection)
00163
00164
00165 from Configuration.EventContent.EventContent_cff import OutALCARECOEcalCalElectron
00166 WElectronSkimContent = OutALCARECOEcalCalElectron.clone()
00167 WElectronSkimContent.outputCommands.extend( [
00168 "keep *_pfMet_*_*",
00169 "keep *_kt6*_rho_*",
00170 "keep *_offlinePrimaryVerticesWithBS_*_*",
00171 "keep *_generator_*_*",
00172 "keep *_rawDataCollector_*_*",
00173 'keep recoCaloClusters_*_*_*',
00174 'keep recoPreshowerClusters_*_*_*',
00175 'keep *_reducedEcalRecHits*_*_*',
00176 'keep *_offlineBeamSpot_*_*',
00177 'keep *_allConversions_*_*',
00178 'keep *_gtDigis_*_*'
00179 ] )