24 samples.names = [
'Wenu',
58 paths.Zee = paths.Wenu + [
86 pathlumi = {
'HLT_Ele17_SW_TighterEleIdIsol_L1RDQM':
'8e29',
87 'HLT_Ele10_LW_L1RDQM':
'8e29',
88 'HLT_Ele15_SW_L1RDQM':
'1e31',
89 'HLT_Ele10_LW_EleId_L1RDQM':
'8e29',
90 'HLT_Ele15_SiStrip_L1RDQM':
'8e29',
91 'HLT_DoubleEle5_SW_L1RDQM':
'8e29',
92 'HLT_Photon10_L1R_DQM':
'8e29',
93 'HLT_Photon15_TrackIso_L1R_DQM':
'8e29',
94 'HLT_Photon15_LooseEcalIso_L1R_DQM':
'8e29',
95 'HLT_Photon20_Cleaned_L1R_DQM':
'8e29',
96 'HLT_DoublePhoton10_L1R_DQM':
'8e29',
97 'HLT_Photon25_L1R_DQM':
'1e31',
98 'HLT_Photon25_LooseEcalIso_TrackIso_L1R_DQM':
'1e31'}
101 for path
in paths.Wenu + paths.Zee + paths.GammaJet + paths.DiGamma:
102 pathlumi[path] =
'8e29'
104 lumiprocess = {
'8e29':
'HLT',
113 genp = cms.EDFilter(
"PdgIdAndStatusCandViewSelector",
114 status = cms.vint32(3),
115 src = cms.InputTag(
"genParticles"),
116 pdgId = cms.vint32(11)
119 fiducial = cms.EDFilter(
"EtaPtMinCandViewSelector",
120 src = cms.InputTag(
"genp"),
121 etaMin = cms.double(-2.5),
122 etaMax = cms.double(2.5),
123 ptMin = cms.double(2.0)
130 tmp = cms.SequencePlaceholder(
"tmp")
131 egammaSelectors = cms.Sequence(tmp)
132 egammaValidators= cms.Sequence(tmp)
135 for samplenum
in range(len(samples.names)):
138 genpartname =
"genpart"+samples.names[samplenum]
139 globals()[genpartname] = genp.clone()
140 setattr(globals()[genpartname],
"pdgId",cms.vint32(samples.pdgid[samplenum]) )
141 egammaSelectors *= globals()[genpartname]
144 fiducialname =
"fiducial"+samples.names[samplenum]
145 globals()[fiducialname] = fiducial.clone()
146 setattr(globals()[fiducialname],
"src",cms.InputTag(genpartname) )
147 egammaSelectors *= globals()[fiducialname]
150 for trig
in getattr(paths,samples.names[samplenum]):
151 trigname = trig + samples.names[samplenum]
153 filename =
"HLTriggerOffline.Egamma."+trig+
"_cfi"
154 trigdef =__import__( filename )
156 globals()[trigname] = getattr(sys.modules[filename],trig).
clone()
157 setattr(globals()[trigname],
"cutcollection",cms.InputTag(fiducialname))
158 setattr(globals()[trigname],
"cutnum",cms.int32( samples.num[samplenum] ))
159 setattr(globals()[trigname],
"pdgGen",cms.int32( samples.pdgid[samplenum]))
160 getattr(globals()[trigname],
'triggerobject').setProcessName( lumiprocess[pathlumi[trig]] )
161 for filterpset
in getattr(globals()[trigname],
'filters'):
162 getattr(filterpset,
'HLTCollectionLabels').setProcessName( lumiprocess[pathlumi[trig]] )
163 for isocollections
in getattr(filterpset,
'IsoCollections'):
164 isocollections.setProcessName( lumiprocess[pathlumi[trig]])
166 egammaValidators *= globals()[trigname]
169 egammaSelectors.remove(tmp)
170 egammaValidators.remove(tmp)
173 egammaValidationSequence = cms.Sequence( egammaValidators )
174 egammaValidationSequenceFS = cms.Sequence( egammaValidators )
184 msgPrefix =
"[" + os.path.basename(__file__) +
"]"
186 import HLTriggerOffline.Egamma.EgammaHLTValidationUtils
as EgammaHLTValidationUtils
192 "singleElectron": {
"genPid" : 11,
"numGenerated" : 1,},
193 "doubleElectron": {
"genPid" : 11,
"numGenerated" : 2 },
194 "singlePhoton": {
"genPid" : 22,
"numGenerated" : 1 },
195 "doublePhoton": {
"genPid" : 22,
"numGenerated" : 2 },
206 for hltPathCategory, thisCategoryData
in configData.iteritems():
213 thisCategoryData[
'genPid'],
214 thisCategoryData[
'numGenerated'])
220 globals()[module.label_()] = module
227 egammaSelectors.append(generatorRequirementSequence)
233 egammaValidators = []
234 egammaValidatorsFS = []
236 for isFastSim, validators
in (
237 (
False, egammaValidators),
238 (
True, egammaValidatorsFS),
244 refProcess = cms.Process(
"REF")
247 refProcess.load(
"FastSimulation.Configuration.HLT_GRun_cff")
249 refProcess.load(
"HLTrigger.Configuration.HLT_GRun_cff")
255 for hltPathCategory, thisCategoryData
in configData.iteritems():
258 paths = pathsByCategory[hltPathCategory]
269 pathName = path.label_()
280 hasProblematicType =
False
282 for problematicType
in [
284 'HLTEgammaTriggerFilterObjectWrapper',
285 'EgammaHLTPhotonTrackIsolationProducersRegional',
288 if problematicType
in moduleCXXtypes:
290 hasProblematicType =
True
293 if hasProblematicType:
298 dqmModuleName = pathName
300 dqmModuleName = dqmModuleName +
"FastSim"
302 dqmModuleName = dqmModuleName +
"_DQM"
305 thisCategoryData[
'genPid'],
306 thisCategoryData[
'numGenerated']
310 globals()[dqmModuleName] = dqmModule
313 validators.append(dqmModule)
335 egammaSelectors = cms.Sequence(reduce(operator.mul, egammaSelectors))
338 egammaValidationSequence = cms.Sequence(reduce(operator.mul, egammaValidators))
339 egammaValidationSequenceFS = cms.Sequence(reduce(operator.mul, egammaValidatorsFS))
def makeGeneratedParticleAndFiducialVolumeFilter