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 = 30.0
00017 ELECTRON_CUTS = "(abs(superCluster.eta)<2.5) && (ecalEnergy*sin(superClusterPosition.theta)>" + str(ELECTRON_ET_CUT_MIN) + ")"
00018
00019
00020 MET_CUT_MIN = 20.
00021 MT_CUT_MIN = 50.
00022
00023
00024
00025
00026
00027
00028
00029
00030 goodElectrons = cms.EDFilter("GsfElectronRefSelector",
00031 src = cms.InputTag( 'gsfElectrons' ),
00032 cut = cms.string( ELECTRON_CUTS )
00033 )
00034
00035 GsfMatchedPhotonCands = cms.EDProducer("ElectronMatchedCandidateProducer",
00036 src = cms.InputTag("goodPhotons"),
00037 ReferenceElectronCollection = cms.untracked.InputTag("goodElectrons"),
00038 deltaR = cms.untracked.double(0.3)
00039 )
00040
00041
00042
00043
00044
00045
00046
00047
00048 PassingWP90 = goodElectrons.clone(
00049 cut = cms.string(
00050 goodElectrons.cut.value() +
00051 " && (gsfTrack.trackerExpectedHitsInner.numberOfHits<=1 && !(-0.02<convDist<0.02 && -0.02<convDcot<0.02))"
00052 " && (ecalEnergy*sin(superClusterPosition.theta)>" + str(ELECTRON_ET_CUT_MIN) + ")"
00053 " && ((isEB"
00054 " && ( dr03TkSumPt/p4.Pt <0.12 && dr03EcalRecHitSumEt/p4.Pt < 0.09 && dr03HcalTowerSumEt/p4.Pt < 0.1 )"
00055 " && (sigmaIetaIeta<0.01)"
00056 " && ( -0.8<deltaPhiSuperClusterTrackAtVtx<0.8 )"
00057 " && ( -0.007<deltaEtaSuperClusterTrackAtVtx<0.007 )"
00058 " && (hadronicOverEm<0.12)"
00059 ")"
00060 " || (isEE"
00061 " && ( dr03TkSumPt/p4.Pt <0.07 && dr03EcalRecHitSumEt/p4.Pt < 0.07 && dr03HcalTowerSumEt/p4.Pt < 0.07 )"
00062 " && (sigmaIetaIeta<0.03)"
00063 " && ( -0.7<deltaPhiSuperClusterTrackAtVtx<0.7 )"
00064 " && ( -0.009<deltaEtaSuperClusterTrackAtVtx<0.009 )"
00065 " && (hadronicOverEm<0.1) "
00066 "))"
00067 )
00068 )
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079 PassingHLT = cms.EDProducer("trgMatchGsfElectronProducer",
00080 InputProducer = cms.InputTag( 'gsfElectrons' ),
00081 hltTags = cms.untracked.string("HLT_Ele"),
00082 triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLTProcessName),
00083 triggerResultsTag = cms.untracked.InputTag("TriggerResults","",HLTProcessName)
00084 )
00085
00086
00087
00088
00089
00090
00091
00092
00093 WElecTagHLT = PassingHLT.clone(
00094 InputProducer = cms.InputTag( "PassingWP90" )
00095 )
00096
00097 ele_sequence = cms.Sequence(
00098 goodElectrons +
00099 PassingWP90 +
00100 WElecTagHLT
00101 )
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112 MT="sqrt(2*daughter(0).pt*daughter(1).pt*(1 - cos(daughter(0).phi - daughter(1).phi)))"
00113 elecMet = cms.EDProducer("CandViewShallowCloneCombiner",
00114 decay = cms.string("pfMet WElecTagHLT"),
00115 checkCharge = cms.bool(False),
00116 cut = cms.string(("daughter(0).pt > %f && daughter(0).pt > %f && "+MT+" > %f") % (MET_CUT_MIN, W_ELECTRON_ET_CUT_MIN, MT_CUT_MIN))
00117 )
00118 elecMetCounter = cms.EDFilter("CandViewCountFilter",
00119 src = cms.InputTag("elecMet"),
00120 minNumber = cms.uint32(1)
00121 )
00122 elecMetFilter = cms.Sequence(elecMet * elecMetCounter)
00123
00124 import HLTrigger.HLTfilters.hltHighLevel_cfi
00125 WEnuHltFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone(
00126 throw = cms.bool(False),
00127 HLTPaths = ["HLT_Ele*"]
00128 )
00129
00130 elecMetSeq = cms.Sequence( WEnuHltFilter * ele_sequence * elecMetFilter )