Go to the documentation of this file.00001 import FWCore.ParameterSet.Config as cms
00002
00003 HLTPath = "HLT_Ele"
00004 HLTProcessName = "HLT"
00005
00006
00007 ELECTRON_ET_CUT_MIN = 10.0
00008 TAG_ELECTRON_ET_CUT_MIN = 20.0
00009
00010
00011 PHOTON_ET_CUT_MIN = 10.0
00012 PHOTON_COLL = "photons"
00013 PHOTON_CUTS = "hadronicOverEm<0.2 && (abs(superCluster.eta)<2.5) && ((isEB && sigmaIetaIeta<0.015) || (isEE && sigmaIetaIeta<0.035)) && (superCluster.energy*sin(superCluster.position.theta)>" + str(PHOTON_ET_CUT_MIN) + ")"
00014
00015
00016 TRACK_ET_CUT_MIN = 25.0
00017
00018
00019 MASS_CUT_MIN = 30.
00020 MASS_TAGTRACK_CUT_MIN = 60.
00021 MASS_TAGTRACK_CUT_MAX = 120.
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 goodPhotons = cms.EDFilter(
00032 "PhotonSelector",
00033 src = cms.InputTag( PHOTON_COLL ),
00034 cut = cms.string(PHOTON_CUTS)
00035 )
00036
00037 photon_sequence = cms.Sequence(
00038 goodPhotons
00039 )
00040
00041
00042
00043 from PhysicsTools.RecoAlgos.allTrackCandidates_cfi import allTrackCandidates
00044
00045 goodTracks = cms.EDFilter("CandViewRefSelector",
00046 filter = cms.bool(True),
00047 src = cms.InputTag("allTrackCandidates"),
00048 cut = cms.string('pt > '+str(PHOTON_ET_CUT_MIN))
00049 )
00050
00051 track_sequence = cms.Sequence(allTrackCandidates + goodTracks)
00052
00053
00054
00055
00056
00057
00058
00059
00060 from DPGAnalysis.Skims.WElectronSkim_cff import goodElectrons
00061
00062
00063 GsfMatchedPhotonCands = cms.EDProducer("ElectronMatchedCandidateProducer",
00064 src = cms.InputTag("goodPhotons"),
00065 ReferenceElectronCollection = cms.untracked.InputTag("goodElectrons"),
00066 deltaR = cms.untracked.double(0.3)
00067 )
00068
00069
00070
00071
00072
00073
00074
00075
00076 from DPGAnalysis.Skims.WElectronSkim_cff import PassingWP90
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086 PassingHLT = cms.EDProducer("trgMatchGsfElectronProducer",
00087 InputProducer = cms.InputTag( 'gsfElectrons' ),
00088 hltTags = cms.untracked.string("HLT_Ele"),
00089 triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLTProcessName),
00090 triggerResultsTag = cms.untracked.InputTag("TriggerResults","",HLTProcessName)
00091 )
00092
00093
00094
00095
00096
00097
00098
00099
00100 ZElecTagHLT = PassingHLT.clone(
00101 InputProducer = cms.InputTag( "PassingWP90" )
00102 )
00103
00104 ele_sequence = cms.Sequence(
00105 goodElectrons +
00106 PassingWP90 +
00107 ZElecTagHLT
00108 )
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118 import copy
00119 from HLTrigger.HLTfilters.hltHighLevel_cfi import *
00120 ZEEHltFilter = copy.deepcopy(hltHighLevel)
00121 ZEEHltFilter.throw = cms.bool(False)
00122 ZEEHltFilter.HLTPaths = ["HLT_Ele*"]
00123
00124 tagPhoton = cms.EDProducer("CandViewShallowCloneCombiner",
00125 decay = cms.string("ZElecTagHLT goodPhotons"),
00126 checkCharge = cms.bool(False),
00127 cut = cms.string("mass > " + str(MASS_CUT_MIN))
00128 )
00129 tagPhotonCounter = cms.EDFilter("CandViewCountFilter",
00130 src = cms.InputTag("tagPhoton"),
00131 minNumber = cms.uint32(1)
00132 )
00133 tagPhotonFilter = cms.Sequence(tagPhoton * tagPhotonCounter)
00134 tagPhotonSeq = cms.Sequence( ZEEHltFilter *(photon_sequence + ele_sequence) * tagPhotonFilter )
00135
00136 tagTrack = tagPhoton.clone(
00137 decay = cms.string("ZElecTagHLT goodTracks"),
00138 cut = cms.string("mass > " + str(MASS_TAGTRACK_CUT_MIN)+ ' && mass < ' + str(MASS_TAGTRACK_CUT_MAX)),
00139 )
00140 tagTrackCounter = tagPhotonCounter.clone(
00141 src = cms.InputTag("tagTrack")
00142 )
00143 tagTrackFilter = cms.Sequence(tagTrack * tagTrackCounter)
00144 tagTrackSeq = cms.Sequence( ZEEHltFilter * (track_sequence + ele_sequence) * tagTrackFilter )
00145
00146 tagGsf = tagPhoton.clone(
00147 decay = cms.string("PassingWP90 goodElectrons")
00148 )
00149 tagGsfCounter = tagPhotonCounter.clone(
00150 src = cms.InputTag("tagGsf")
00151 )
00152 tagGsfFilter = cms.Sequence(tagGsf * tagGsfCounter)
00153 tagGsfSeq = cms.Sequence( ZEEHltFilter * (ele_sequence) * tagGsfFilter )