ATLAS Offline Software
Loading...
Searching...
No Matches
TrigMETMonitorAlgorithm.py
Go to the documentation of this file.
2# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3#
4
5'''@file TrigMETMonitoringAlgorithm.py
6@author K. Hamano
7@author G. Gallardo
8@date 2019-05-13
9@brief MET Trigger python configuration for Run 3 AthenaMonitoring package
10
11'''
12
13def TrigMETMonConfig(inputFlags):
14 '''Function to configures some algorithms in the monitoring system.'''
15
16 # The following class will make a sequence, configure algorithms, and link
17 # them to GenericMonitoringTools
18 from AthenaMonitoring import AthMonitorCfgHelper
19 helper = AthMonitorCfgHelper(inputFlags,'TrigMETAthMonitorCfg')
20
21
28
29 from AthenaConfiguration.ComponentFactory import CompFactory
30 TrigMETMonAlg = helper.addAlgorithm(CompFactory.TrigMETMonitorAlgorithm,'TrigMETMonAlg')
31
32 # You can actually make multiple instances of the same algorithm and give
33 # them different configurations
34 TrigMETMonChain1Alg = helper.addAlgorithm(CompFactory.TrigMETMonitorAlgorithm,'TrigMETMonChain1Alg')
35 TrigMETMonChain2Alg = helper.addAlgorithm(CompFactory.TrigMETMonitorAlgorithm,'TrigMETMonChain2Alg')
36 TrigMETMonChain3Alg = helper.addAlgorithm(CompFactory.TrigMETMonitorAlgorithm,'TrigMETMonChain3Alg')
37 TrigMETMonChain4Alg = helper.addAlgorithm(CompFactory.TrigMETMonitorAlgorithm,'TrigMETMonChain4Alg')
38
39 # # If for some really obscure reason you need to instantiate an algorithm
40 # # yourself, the AddAlgorithm method will still configure the base
41 # # properties and add the algorithm to the monitoring sequence.
42 # helper.AddAlgorithm(myExistingAlg)
43
44
45
46 mt_chains = True
47 if ( inputFlags.Trigger.EDMVersion < 3 ) :
48 mt_chains = False
49
50
51 lowMu = "lowMu" in inputFlags.Trigger.triggerMenuSetup
52
53 if lowMu:
54 TrigMETMonChain5Alg = helper.addAlgorithm(CompFactory.TrigMETMonitorAlgorithm,'TrigMETMonChain5Alg')
55 TrigMETMonChain6Alg = helper.addAlgorithm(CompFactory.TrigMETMonitorAlgorithm,'TrigMETMonChain6Alg')
56 TrigMETMonChain7Alg = helper.addAlgorithm(CompFactory.TrigMETMonitorAlgorithm,'TrigMETMonChain7Alg')
57 TrigMETMonChain8Alg = helper.addAlgorithm(CompFactory.TrigMETMonitorAlgorithm,'TrigMETMonChain8Alg')
58
59
66
67 TrigMETMonChain1 = 'HLT_xe80_cell_xe115_tcpufit_L1jXE100'
68 TrigMETMonChain2 = 'HLT_xe65_cell_xe90_pfopufit_L1jXE100'
69 TrigMETMonChain3 = 'HLT_xe65_cell_xe105_nn_L1jXE100'
70 TrigMETMonChain4 = 'HLT_xe65_cell_xe105_nn_L1cXE110'
71 if lowMu:
72 TrigMETMonChain5 = 'HLT_xe25_cell_L1eEM12L'
73 TrigMETMonChain6 = 'HLT_xe25_pfopufit_L1eEM12L'
74 TrigMETMonChain7 = 'HLT_xe30_cell_L1eEM15'
75 TrigMETMonChain8 = 'HLT_xe30_pfopufit_L1eEM15'
76
77 if mt_chains:
78 TrigMETMonChain1Alg.TriggerChain = TrigMETMonChain1
79 TrigMETMonChain2Alg.TriggerChain = TrigMETMonChain2
80 TrigMETMonChain3Alg.TriggerChain = TrigMETMonChain3
81 TrigMETMonChain4Alg.TriggerChain = TrigMETMonChain4
82 if lowMu:
83 TrigMETMonChain5Alg.TriggerChain = TrigMETMonChain5
84 TrigMETMonChain6Alg.TriggerChain = TrigMETMonChain6
85 TrigMETMonChain7Alg.TriggerChain = TrigMETMonChain7
86 TrigMETMonChain8Alg.TriggerChain = TrigMETMonChain8
87 else:
88 TrigMETMonChain1Alg.TriggerChain = 'HLT_xe110_pufit_xe65_L1XE50'
89 TrigMETMonChain2Alg.TriggerChain = 'HLT_xe110_pufit_xe65_L1XE50'
90 TrigMETMonChain3Alg.TriggerChain = 'HLT_xe110_pufit_xe65_L1XE50'
91 TrigMETMonChain4Alg.TriggerChain = 'HLT_xe110_pufit_xe65_L1XE50'
92
93
94
95 from TrigConfigSvc.TriggerConfigAccess import getHLTMonitoringAccess
96 moniAccess=getHLTMonitoringAccess(inputFlags)
97 metChains=moniAccess.monitoredChains(signatures="metMon",monLevels=["shifter"])
98 metChainsVal=moniAccess.monitoredChains(signatures="metMon",monLevels=["val"])
99 metChainsT0=moniAccess.monitoredChains(signatures="metMon",monLevels=["t0"])
100
101
102 if mt_chains: # these are temporary, needs to be changed
103 TrigMETMonAlg.hlt_electron_key = 'HLT_egamma_Electrons'
104 TrigMETMonAlg.hlt_muon_key = 'HLT_MuonsCB_RoI'
105 TrigMETMonAlg.offline_met_key = 'MET_Reference_AntiKt4EMTopo' #this used to be 'MET_EMTopo'
106 TrigMETMonAlg.hlt_pfsum_key = 'HLT_MET_pfsum'
107 TrigMETMonAlg.l1_jFexMet_key = 'L1_jFexMETRoI'
108 TrigMETMonAlg.l1_jFexSumEt_key = 'L1_jFexSumETRoI'
109 TrigMETMonAlg.l1_gFexJwojScalar_key = 'L1_gScalarEJwoj'
110 TrigMETMonAlg.l1_gFexJwojMETComponents_key = 'L1_gMETComponentsJwoj'
111 TrigMETMonAlg.l1_gFexJwojMHTComponents_key = 'L1_gMHTComponentsJwoj'
112 TrigMETMonAlg.l1_gFexJwojMSTComponents_key = 'L1_gMSTComponentsJwoj'
113 TrigMETMonAlg.l1_gFexNCMETScalar_key = 'L1_gScalarENoiseCut'
114 TrigMETMonAlg.l1_gFexNCMETComponents_key = 'L1_gMETComponentsNoiseCut'
115 TrigMETMonAlg.l1_gFexRhoMETScalar_key = 'L1_gScalarERms'
116 TrigMETMonAlg.l1_gFexRhoMETComponents_key = 'L1_gMETComponentsRms'
117 else:
118 TrigMETMonAlg.hlt_electron_key = 'HLT_xAOD__ElectronContainer_egamma_Electrons'
119 TrigMETMonAlg.hlt_muon_key = 'HLT_xAOD__MuonContainer_MuonEFInfo'
120 TrigMETMonAlg.offline_met_key = 'MET_Reference_AntiKt4LCTopo'
121 TrigMETMonAlg.hlt_cell_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET'
122 TrigMETMonAlg.hlt_mht_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht'
123 TrigMETMonAlg.hlt_tc_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
124 TrigMETMonAlg.hlt_tc_em_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
125 TrigMETMonAlg.hlt_tcpufit_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl_PUC'
126 TrigMETMonAlg.hlt_trkmht_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
127 TrigMETMonAlg.hlt_pfsum_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
128 TrigMETMonAlg.hlt_pfsum_vssk_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
129 TrigMETMonAlg.hlt_pfsum_cssk_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
130 TrigMETMonAlg.hlt_pfopufit_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
131 TrigMETMonAlg.hlt_cvfpufit_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
132 TrigMETMonAlg.hlt_mhtpufit_pf_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
133 TrigMETMonAlg.hlt_mhtpufit_em_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
134
135
136 L1Chains = ["L1_jXE100",
137 "L1_gXEJWOJ100",
138 "L1_cXE110"]
139 HLTChains = []
140 HLTChainsVal = []
141 HLTChainsT0 = []
142 if mt_chains == 0:
143 L1Chains = ["L1_XE50"]
144 HLTChains = ["HLT_xe70_mht",
145 "HLT_xe90_mht_L1XE50",
146 "HLT_xe100_mht_L1XE50",
147 "HLT_xe110_mht_L1XE50",
148 "HLT_xe90_pufit_L1XE50",
149 "HLT_xe100_pufit_L1XE50",
150 "HLT_xe100_pufit_L1XE55",
151 "HLT_xe110_pufit_L1XE50",
152 "HLT_xe110_pufit_L1XE55",
153 "HLT_xe110_pufit_xe65_L1XE50",
154 "HLT_xe110_pufit_xe65_L1XE60",
155 "HLT_xe110_pufit_xe70_L1XE50"]
156
157 if len(metChains) > 0:
158 HLTChains = metChains
159 if len(metChainsVal) > 0:
160 HLTChainsVal = metChainsVal
161 if len(metChainsT0) > 0:
162 HLTChainsT0 = metChainsT0
163
164
165 HLTChainEl = ["HLT_e26_lhtight_ivarloose_L1.*","HLT_e28_lhtight_ivarloose_L1.*"]
166 HLTChainMu = ["HLT_mu24_ivarmedium_L1.*"]
167
168 TrigMETMonAlg.L1Chains = L1Chains
169 TrigMETMonAlg.HLTChains = HLTChains
170 TrigMETMonAlg.HLTChainsVal = HLTChainsVal
171 TrigMETMonAlg.HLTChainsT0 = HLTChainsT0
172 TrigMETMonAlg.HLTChainEl = HLTChainEl
173 TrigMETMonAlg.HLTChainMu = HLTChainMu
174
175
176 algsL1 = ["roi"]
177 algsL1Fex = ["jFex",
178 "gFexJwoj",
179 "gFexNC",
180 "gFexRho"]
181 algsHLT = ["cell",
182 "tcpufit",
183 "pfopufit",
184 "met_nn"]
185 algsHLTChain1 = ["cell",
186 "tcpufit"]
187 algsHLTChain2 = ["cell",
188 "pfopufit"]
189 algsHLTChain3 = ["cell",
190 "met_nn"]
191 algsHLTChain4 = ["cell",
192 "nn"]
193 algsHLTChain5 = ["cell"]
194 algsHLTChain6 = ["pfopufit"]
195 algsHLTChain7 = ["cell"]
196 algsHLTChain8 = ["pfopufit"]
197 algsHLTPreSel = ["cell",
198 "tcpufit",
199 "tcpufit_sig30",
200 "pfsum_cssk",
201 "pfsum_vssk",
202 "pfopufit",
203 "pfopufit_sig30",
204 "mhtpufit_pf",
205 "mhtpufit_em",
206 "met_nn"]
207 algsHLT2d = ["cell",
208 "tcpufit",
209 "pfopufit"]
210 algsHLTExpert = ["mht",
211 "tc_em",
212 "cvfpufit",
213 "pfsum",
214 "trkmht",
215 "mhtpufit_pf",
216 "mhtpufit_em",
217 "tcpufit_sig30",
218 "pfopufit_sig30",
219 "pfsum_cssk",
220 "pfsum_vssk"]
221 algsMET2d_tcpufit = ["pfopufit",
222 "pfsum_cssk",
223 "mhtpufit_pf"]
224
225
226 TrigMETMonAlg.algsL1 = algsL1
227 TrigMETMonAlg.algsHLT = algsHLT
228 TrigMETMonAlg.algsHLTPreSel = algsHLTPreSel
229 TrigMETMonAlg.algsHLT2d = algsHLT2d
230 TrigMETMonAlg.algsHLTExpert = algsHLTExpert
231 TrigMETMonAlg.algsMET2d_tcpufit = algsMET2d_tcpufit
232 TrigMETMonChain1Alg.algsHLT = algsHLTChain1
233 TrigMETMonChain2Alg.algsHLT = algsHLTChain2
234 TrigMETMonChain3Alg.algsHLT = algsHLTChain3
235 TrigMETMonChain4Alg.algsHLT = algsHLTChain4
236 if lowMu:
237 TrigMETMonChain5Alg.algsHLT = algsHLTChain5
238 TrigMETMonChain6Alg.algsHLT = algsHLTChain6
239 TrigMETMonChain7Alg.algsHLT = algsHLTChain7
240 TrigMETMonChain8Alg.algsHLT = algsHLTChain8
241
242
243 l1MetAlg = 1 #0=legacy,1=jFex,2=gFexJWOJ
244 l1MetCut = 48.0 #50.0,48.0,?
245 TrigMETMonAlg.L1MetAlg = l1MetAlg
246 TrigMETMonAlg.L1MetCut = l1MetCut
247
248
249 comp_names = ["PreSamplB", "EMB1", "EMB2", "EMB3", # LAr barrel
250 "PreSamplE", "EME1", "EME2", "EME3", # LAr EM endcap
251 "HEC0", "HEC1", "HEC2", "HEC3", # Hadronic end cap cal.
252 "TileBar0", "TileBar1", "TileBar2", # Tile barrel
253 "TileGap1", "TileGap2", "TileGap3", # Tile gap (ITC & scint)
254 "TileExt0", "TileExt1", "TileExt2", # Tile extended barrel
255 "FCalEM", "FCalHad2", "FCalHad3"] # Forward cal endcap
256 #"Muons" ] # Muons
257 bit_names = [
258 "Processing", # bit 0
259 "ErrBSconv", # bit 1
260 "ErrMuon", # bit 2
261 "ErrFEB", # bit 3
262 "Skipped", # bit 4
263 "CompBigMEtSEtRatio", # bit 5
264 "BadCompEnergy", # bit 6
265 "BadEnergyRatio", # bit 7
266 "spare", # bit 8
267 "BadCellQuality", # bit 9
268 "BadCellEnergy", # bit 10
269 "BadCellTime", # bit 11
270 "NoMuonTrack", # bit 12
271 "spare", # bit 13
272 "Processed", # bit 14
273 "CompError", # bit 15
274 "EMB_A_Missing", # bit 16
275 "EMB_C_Missing", # bit 17
276 "EME_A_Missing", # bit 18
277 "EME_C_Missing", # bit 19
278 "HEC_A_Missing", # bit 20
279 "HEC_C_Missing", # bit 21
280 "FCAL_A_Missing", # bit 22
281 "FCAL_C_Missing", # bit 23
282 "TileB_A_Missing", # bit 24
283 "TileB_C_Missing", # bit 25
284 "TileE_A_Missing", # bit 26
285 "TileE_C_Missing", # bit 27
286 "BadEMfraction", # bit 28
287 "GlobBigMEtSEtRatio", # bit 29
288 "ObjInCrack", # bit 30
289 "GlobError" # bit 31
290 ]
291
292 TrigMETMonAlg.compNames = comp_names
293 TrigMETMonAlg.bitNames = bit_names
294
295 electronPtCut = 30.0
296 muonPtCut = 30.0
297 electronEtaCut = 2.5
298 muonEtaCut = 2.5
299 LArNoiseBurstVetoAlgs = [
300 "pfopufit",
301 "cell",
302 ]
303 signalLepAlgs = ["pfopufit",
304 "cell",
305 "tcpufit"]
306
307 TrigMETMonAlg.electronPtCut = electronPtCut
308 TrigMETMonAlg.electronEtaCut = electronEtaCut
309 TrigMETMonAlg.muonPtCut = muonPtCut
310 TrigMETMonAlg.muonEtaCut = muonEtaCut
311 TrigMETMonAlg.signalLepAlgs = signalLepAlgs
312 TrigMETMonAlg.LArNoiseBurstVetoAlgs = LArNoiseBurstVetoAlgs
313
314
317
318 # # Add a tool that doesn't have its own configuration function. In
319 # # this example, no accumulator is returned, so no merge is necessary.
320 # from MyDomainPackage.MyDomainPackageConf import MyDomainTool
321 # expertTrigMETMonAlg.MyDomainTool = MyDomainTool()
322
323 # Add a generic monitoring tool (a "group" in old language). The returned
324 # object here is the standard GenericMonitoringTool.
325 metGroup = helper.addGroup(TrigMETMonAlg,'TrigMETMonitor','HLT/METMon/')
326
327 # Add a GMT for the other example monitor algorithm
328 metChain1Group = helper.addGroup(TrigMETMonChain1Alg,'TrigMETMonitor','HLT/METMon/{}'.format(TrigMETMonChain1))
329 metChain2Group = helper.addGroup(TrigMETMonChain2Alg,'TrigMETMonitor','HLT/METMon/{}'.format(TrigMETMonChain2))
330 metChain3Group = helper.addGroup(TrigMETMonChain3Alg,'TrigMETMonitor','HLT/METMon/{}'.format(TrigMETMonChain3))
331 metChain4Group = helper.addGroup(TrigMETMonChain4Alg,'TrigMETMonitor','HLT/METMon/{}'.format(TrigMETMonChain4))
332 if lowMu:
333 metChain5Group = helper.addGroup(TrigMETMonChain5Alg,'TrigMETMonitor','HLT/METMon/{}'.format(TrigMETMonChain5))
334 metChain6Group = helper.addGroup(TrigMETMonChain6Alg,'TrigMETMonitor','HLT/METMon/{}'.format(TrigMETMonChain6))
335 metChain7Group = helper.addGroup(TrigMETMonChain7Alg,'TrigMETMonitor','HLT/METMon/{}'.format(TrigMETMonChain7))
336 metChain8Group = helper.addGroup(TrigMETMonChain8Alg,'TrigMETMonitor','HLT/METMon/{}'.format(TrigMETMonChain8))
337
338
343 et_bins=205 #Et
344 et_min=-13.5
345 et_max=401.5
346 et_bins_log=20 #Et_log
347 et_min_log=-1.875
348 et_max_log=4.125
349 ec_bins=199 #Ex, Ey, Ez
350 ec_min=-298.5
351 ec_max=298.5
352 ec_bins_log=27 #Ex_log, Ey_log, Ez_log
353 ec_min_log=-4.125
354 ec_max_log=4.125
355 sumet_bins=305 #sumEt
356 sumet_min=-27.0
357 sumet_max=4203.0
358 sumet_bins_log=20 #sumEt_log
359 sumet_min_log=-1.875
360 sumet_max_log=4.125
361
369 phi_bins=64 # phi, used to be 100
370 phi_bins_2d=32 # phi, used to be 24
371 phi_min=-3.1416
372 phi_max=3.1416
373 eta_bins_2d=24# eta
374 eta_min=-4.8
375 eta_max=4.8
376 eff_bins=42 # efficiency
377 eff_min=-13.5
378 eff_max=401.5
379 # Histograms
380
381 metGroup.defineHistogram('offline_Ex',title='Offline Missing E_{x};E_{x} [GeV];Events',
382 path='Expert/Offline',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
383 metGroup.defineHistogram('offline_Ey',title='Offline Missing E_{y};E_{y} [GeV];Events',
384 path='Expert/Offline',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
385 metGroup.defineHistogram('offline_Et',title='Offline Missing E_{T};E_{T} [GeV];Events',
386 path='Expert/Offline',xbins=et_bins,xmin=et_min,xmax=et_max)
387 metGroup.defineHistogram('offline_sumEt',title='Offline sumE_{T};sumE_{T} [GeV];Events',
388 path='Expert/Offline',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
389 metGroup.defineHistogram('offline_NoMu_Ex',title='Offline (No Mu) Missing E_{x};E_{x} [GeV];Events',
390 path='Expert/Offline',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
391 metGroup.defineHistogram('offline_NoMu_Ey',title='Offline (No Mu) Missing E_{y};E_{y} [GeV];Events',
392 path='Expert/Offline',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
393 metGroup.defineHistogram('offline_NoMu_Et',title='Offline (No Mu) Missing E_{T};E_{T} [GeV];Events',
394 path='Expert/Offline',xbins=et_bins,xmin=et_min,xmax=et_max)
395 metGroup.defineHistogram('offline_NoMu_sumEt',title='Offline (No Mu) sumE_{T};sumE_{T} [GeV];Events',
396 path='Expert/Offline',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
397
398 metGroup.defineHistogram('hlt_el_mult',title='HLT Electron Multiplicity;Number of electrons;Events',
399 path='Expert/ElMu',xbins=10,xmin=0,xmax=10)
400 metGroup.defineHistogram('hlt_el_pt',title='HLT Electron p_{T};p_{T} [GeV];Events',
401 path='Expert/ElMu',xbins=100,xmin=0,xmax=100)
402 metGroup.defineHistogram('hlt_mu_mult',title='HLT Muon Multiplicity;Number of muons;Events',
403 path='Expert/ElMu',xbins=10,xmin=0,xmax=10)
404 metGroup.defineHistogram('hlt_mu_pt',title='HLT Muon p_{T};p_{T} [GeV];Events',
405 path='Expert/ElMu',xbins=100,xmin=0,xmax=100)
406
407 metGroup.defineHistogram('hlt_topoclusters_mult',title='HLT Topoclusters Multiplicity;Number of Clusters;Events',
408 path='Expert/Topoclusters',xbins=120,xmin=0,xmax=1200)
409 metGroup.defineHistogram('hlt_topoclusters_pt',title='HLT Topoclusters p_{T};p_{T} [GeV];Events',
410 path='Expert/Topoclusters',xbins=50,xmin=0,xmax=20)
411
412 metGroup.defineHistogram('hlt_tracks_mult',title='HLT Tracks Multiplicity;Number of Tracks;Events',
413 path='Expert/Tracks',xbins=120,xmin=0,xmax=1200)
414 metGroup.defineHistogram('hlt_tracks_pt',title='HLT Tracks p_{T};p_{T} [GeV];Events',
415 path='Expert/Tracks',xbins=50,xmin=0,xmax=20)
416 metGroup.defineHistogram('hlt_tracks_leading_pt',title='HLT Tracks Leading p_{T};p_{T} [GeV];Events',
417 path='Expert/Tracks',xbins=50,xmin=0,xmax=20)
418 metGroup.defineHistogram('hlt_tracks_vec_sumPt',title='HLT Tracks Vector Sum p_{T};p_{T} [GeV];Events',
419 path='Expert/Tracks',xbins=100,xmin=0,xmax=100)
420 metGroup.defineHistogram('hlt_tracks_sca_sumPt',title='HLT Tracks Scalar Sum p_{T};p_{T} [GeV];Events',
421 path='Expert/Tracks',xbins=100,xmin=0,xmax=1000)
422 metGroup.defineHistogram('hlt_tracks_eta,hlt_tracks_phi;hlt_tracks_eta_phi',
423 type='TH2F',
424 title='HLT Tracks #eta - #phi (p_{T} > 3 GeV);#eta;#phi',
425 path='Expert/Tracks',
426 xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
427
428 metGroup.defineHistogram('hlt_vertex_mult',title='HLT Vertex Multiplicity;Number of Vertexs;Events',
429 path='Expert/Vertex',xbins=55,xmin=-5,xmax=50)
430 metGroup.defineHistogram('hlt_vertex_z',title='HLT Vertex Z;Vertex Z [mm];Events',
431 path='Expert/Vertex',xbins=100,xmin=-200,xmax=200)
432 metGroup.defineHistogram('hlt_vertex_z_diff',title='(HLT-Offline) Vertex Z Diff;Vertex Z [mm];Events',
433 path='Expert/Vertex',xbins=100,xmin=-200,xmax=200)
434 metGroup.defineHistogram('hlt_vertex_mult_mu,act_IPBC;hlt_vertex_mult_mu',
435 type='TProfile',
436 title='Average Vertex Mult. per IPBC;Actual IPBC;Average Vertex Mult.',
437 path='Expert/Vertex',
438 xbins=55, xmin=-5, xmax=55)
439
440
441 for alg in algsL1:
442 metGroup.defineHistogram('L1_{}_Ex'.format(alg),
443 title='L1_{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
444 path='Shifter/L1_{}'.format(alg),
445 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
446 metGroup.defineHistogram('L1_{}_Ex_log'.format(alg),
447 title='L1_{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
448 path='Shifter/L1_{}'.format(alg),
449 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
450 metGroup.defineHistogram('L1_{}_Ey'.format(alg),
451 title='L1_{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
452 path='Shifter/L1_{}'.format(alg),
453 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
454 metGroup.defineHistogram('L1_{}_Ey_log'.format(alg),
455 title='L1_{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
456 path='Shifter/L1_{}'.format(alg),
457 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
458 metGroup.defineHistogram('L1_{}_Et'.format(alg),
459 title='L1_{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
460 path='Shifter/L1_{}'.format(alg),
461 xbins=et_bins,xmin=et_min,xmax=et_max)
462 metGroup.defineHistogram('L1_{}_Et_log'.format(alg),
463 title='L1_{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
464 path='Shifter/L1_{}'.format(alg),
465 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
466 metGroup.defineHistogram('L1_{}_sumEt'.format(alg),
467 title='L1_{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
468 path='Shifter/L1_{}'.format(alg),
469 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
470 metGroup.defineHistogram('L1_{}_sumEt_log'.format(alg),
471 title='L1_{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
472 path='Shifter/L1_{}'.format(alg),
473 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
474 metGroup.defineHistogram('L1_{}_phi'.format(alg),
475 title='L1_{} #phi;#phi;Events'.format(alg),
476 path='Shifter/L1_{}'.format(alg),
477 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
478
479 for alg in algsL1Fex:
480 metGroup.defineHistogram('L1_{}_Ex'.format(alg),
481 title='L1_{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
482 path='Shifter/L1_{}'.format(alg),
483 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
484 metGroup.defineHistogram('L1_{}_HT_Ex'.format(alg),
485 title='L1_{} HT Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
486 path='Shifter/L1_{}'.format(alg),
487 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
488 metGroup.defineHistogram('L1_{}_ST_Ex'.format(alg),
489 title='L1_{} ST Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
490 path='Shifter/L1_{}'.format(alg),
491 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
492 metGroup.defineHistogram('L1_{}_Ex_log'.format(alg),
493 title='L1_{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
494 path='Shifter/L1_{}'.format(alg),
495 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
496 metGroup.defineHistogram('L1_{}_HT_Ex_log'.format(alg),
497 title='L1_{} HT Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
498 path='Shifter/L1_{}'.format(alg),
499 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
500 metGroup.defineHistogram('L1_{}_ST_Ex_log'.format(alg),
501 title='L1_{} ST Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
502 path='Shifter/L1_{}'.format(alg),
503 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
504 metGroup.defineHistogram('L1_{}_Ey'.format(alg),
505 title='L1_{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
506 path='Shifter/L1_{}'.format(alg),
507 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
508 metGroup.defineHistogram('L1_{}_HT_Ey'.format(alg),
509 title='L1_{} HT Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
510 path='Shifter/L1_{}'.format(alg),
511 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
512 metGroup.defineHistogram('L1_{}_ST_Ey'.format(alg),
513 title='L1_{} ST Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
514 path='Shifter/L1_{}'.format(alg),
515 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
516 metGroup.defineHistogram('L1_{}_Ey_log'.format(alg),
517 title='L1_{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
518 path='Shifter/L1_{}'.format(alg),
519 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
520 metGroup.defineHistogram('L1_{}_HT_Ey_log'.format(alg),
521 title='L1_{} HT Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
522 path='Shifter/L1_{}'.format(alg),
523 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
524 metGroup.defineHistogram('L1_{}_ST_Ey_log'.format(alg),
525 title='L1_{} ST Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
526 path='Shifter/L1_{}'.format(alg),
527 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
528 metGroup.defineHistogram('L1_{}_Et'.format(alg),
529 title='L1_{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
530 path='Shifter/L1_{}'.format(alg),
531 xbins=et_bins,xmin=et_min,xmax=et_max)
532 metGroup.defineHistogram('L1_{}_Et_log'.format(alg),
533 title='L1_{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
534 path='Shifter/L1_{}'.format(alg),
535 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
536 metGroup.defineHistogram('L1_{}_sumEt'.format(alg),
537 title='L1_{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
538 path='Shifter/L1_{}'.format(alg),
539 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
540 metGroup.defineHistogram('L1_{}_sumEt_log'.format(alg),
541 title='L1_{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
542 path='Shifter/L1_{}'.format(alg),
543 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
544 metGroup.defineHistogram('L1_{}_phi'.format(alg),
545 title='L1_{} #phi;#phi;Events'.format(alg),
546 path='Shifter/L1_{}'.format(alg),
547 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
548 metGroup.defineHistogram('L1_{}_ST_phi'.format(alg),
549 title='L1_{} ST #phi;#phi;Events'.format(alg),
550 path='Shifter/L1_{}'.format(alg),
551 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
552 metGroup.defineHistogram('L1_{}_HT_phi'.format(alg),
553 title='L1_{} HT #phi;#phi;Events'.format(alg),
554 path='Shifter/L1_{}'.format(alg),
555 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
556
557 for alg in algsHLT:
558 metGroup.defineHistogram('{}_Ex'.format(alg),
559 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
560 path='Shifter/HLT_{}'.format(alg),
561 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
562 metGroup.defineHistogram('{}_Ex_log'.format(alg),
563 title='{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
564 path='Shifter/HLT_{}'.format(alg),
565 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
566 metGroup.defineHistogram('{}_Ey'.format(alg),
567 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
568 path='Shifter/HLT_{}'.format(alg),
569 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
570 metGroup.defineHistogram('{}_Ey_log'.format(alg),
571 title='{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
572 path='Shifter/HLT_{}'.format(alg),
573 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
574 metGroup.defineHistogram('{}_Et'.format(alg),
575 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
576 path='Shifter/HLT_{}'.format(alg),
577 xbins=et_bins,xmin=et_min,xmax=et_max)
578 metGroup.defineHistogram('{}_Et_log'.format(alg),
579 title='{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
580 path='Shifter/HLT_{}'.format(alg),
581 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
582 metGroup.defineHistogram('{}_sumEt'.format(alg),
583 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
584 path='Shifter/HLT_{}'.format(alg),
585 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
586 metGroup.defineHistogram('{}_sumEt_log'.format(alg),
587 title='{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
588 path='Shifter/HLT_{}'.format(alg),
589 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
590 metGroup.defineHistogram('{}_phi'.format(alg),
591 title='{} #phi;#phi;Events'.format(alg),
592 path='Shifter/HLT_{}'.format(alg),
593 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
594 metGroup.defineHistogram('{0}_phi;{0}_phi_etweight'.format(alg),
595 title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
596 weight='{}_Et'.format(alg),
597 path='Shifter/HLT_{}'.format(alg),
598 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
599
600 for alg in algsHLTPreSel:
601 metGroup.defineHistogram('{}_presel_Et'.format(alg),
602 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
603 path='Shifter/preSel',
604 xbins=et_bins,xmin=et_min,xmax=et_max)
605
606 for alg in LArNoiseBurstVetoAlgs:
607 metGroup.defineHistogram('{}_LArNoiseBurstVeto_Ex'.format(alg),
608 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
609 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
610 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
611 metGroup.defineHistogram('{}_LArNoiseBurstVeto_Ex_log'.format(alg),
612 title='{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
613 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
614 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
615 metGroup.defineHistogram('{}_LArNoiseBurstVeto_Ey'.format(alg),
616 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
617 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
618 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
619 metGroup.defineHistogram('{}_LArNoiseBurstVeto_Ey_log'.format(alg),
620 title='{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
621 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
622 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
623 metGroup.defineHistogram('{}_LArNoiseBurstVeto_Et'.format(alg),
624 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
625 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
626 xbins=et_bins,xmin=et_min,xmax=et_max)
627 metGroup.defineHistogram('{}_LArNoiseBurstVeto_Et_log'.format(alg),
628 title='{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
629 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
630 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
631 metGroup.defineHistogram('{}_LArNoiseBurstVeto_sumEt'.format(alg),
632 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
633 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
634 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
635 metGroup.defineHistogram('{}_LArNoiseBurstVeto_sumEt_log'.format(alg),
636 title='{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
637 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
638 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
639 metGroup.defineHistogram('{}_LArNoiseBurstVeto_phi'.format(alg),
640 title='{} #phi;#phi;Events'.format(alg),
641 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
642 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
643 metGroup.defineHistogram('{0}_LArNoiseBurstVeto_phi;{0}_phi_etweight'.format(alg),
644 title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
645 weight='{}_Et'.format(alg),
646 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
647 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
648 metGroup.defineHistogram('{0}_LArNoiseBurstVeto_eta,{0}_LArNoiseBurstVeto_phi;{0}_LArNoiseBurstVeto_eta_phi'.format(alg),
649 type='TH2F',
650 title='{} #eta - #phi;#eta;#phi'.format(alg),
651 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
652 xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
653 metGroup.defineHistogram('{0}_LArNoiseBurstVeto_eta,{0}_LArNoiseBurstVeto_phi;{0}_LArNoiseBurstVeto_eta_phi_etweight'.format(alg),
654 type='TH2F',
655 title='{} #eta - #phi (etweighted);#eta;#phi'.format(alg),
656 weight='{}_LArNoiseBurstVeto_Et'.format(alg),
657 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
658 xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
659 metGroup.defineHistogram('{0}_LArNoiseBurstVeto_phi;{0}_LArNoiseBurstVeto_phi_etweight'.format(alg),
660 title='{} #phi (etweighted);#phi;Events'.format(alg),
661 path='Shifter/LArNoiseBurstVetoed/{}'.format(alg),
662 weight='{}_LArNoiseBurstVeto_Et'.format(alg),
663 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
664 # for alg in signalLepAlgs:
665 for alg in signalLepAlgs:
666 metGroup.defineHistogram('{}_SigEl_Ex'.format(alg),
667 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
668 path='Shifter/SignalEl/{}'.format(alg),
669 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
670 metGroup.defineHistogram('{}_SigEl_Ex_log'.format(alg),
671 title='{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
672 path='Shifter/SignalEl/{}'.format(alg),
673 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
674 metGroup.defineHistogram('{}_SigEl_Ey'.format(alg),
675 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
676 path='Shifter/SignalEl/{}'.format(alg),
677 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
678 metGroup.defineHistogram('{}_SigEl_Ey_log'.format(alg),
679 title='{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
680 path='Shifter/SignalEl/{}'.format(alg),
681 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
682 metGroup.defineHistogram('{}_SigEl_Et'.format(alg),
683 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
684 path='Shifter/SignalEl/{}'.format(alg),
685 xbins=et_bins,xmin=et_min,xmax=et_max)
686 metGroup.defineHistogram('{}_SigEl_Et_log'.format(alg),
687 title='{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
688 path='Shifter/SignalEl/{}'.format(alg),
689 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
690 metGroup.defineHistogram('{}_SigEl_sumEt'.format(alg),
691 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
692 path='Shifter/SignalEl/{}'.format(alg),
693 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
694 metGroup.defineHistogram('{}_SigEl_sumEt_log'.format(alg),
695 title='{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
696 path='Shifter/SignalEl/{}'.format(alg),
697 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
698 metGroup.defineHistogram('{}_SigEl_phi'.format(alg),
699 title='{} #phi;#phi;Events'.format(alg),
700 path='Shifter/SignalEl/{}'.format(alg),
701 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
702 metGroup.defineHistogram('{0}_SigEl_phi;{0}_SigEl_phi_etweight'.format(alg),
703 title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
704 weight='{}_SigEl_Et'.format(alg),
705 path='Shifter/SignalEl/{}'.format(alg),
706 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
707 metGroup.defineHistogram('{0}_SigEl_eta,{0}_SigEl_phi;{0}_SigEl_eta_phi'.format(alg),
708 type='TH2F',
709 title='{} #eta - #phi;#eta;#phi'.format(alg),
710 path='Shifter/SignalEl/{}'.format(alg),
711 xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
712 metGroup.defineHistogram('{0}_SigEl_eta,{0}_SigEl_phi;{0}_SigEl_eta_phi_etweight'.format(alg),
713 type='TH2F',
714 title='{} #eta - #phi (etweighted);#eta;#phi'.format(alg),
715 weight='{}_SigEl_Et'.format(alg),
716 path='Shifter/SignalEl/{}'.format(alg),
717 xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
718 metGroup.defineHistogram('{}_SigMu_Ex'.format(alg),
719 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
720 path='Shifter/SignalMu/{}'.format(alg),
721 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
722 metGroup.defineHistogram('{}_SigMu_Ex_log'.format(alg),
723 title='{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
724 path='Shifter/SignalMu/{}'.format(alg),
725 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
726 metGroup.defineHistogram('{}_SigMu_Ey'.format(alg),
727 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
728 path='Shifter/SignalMu/{}'.format(alg),
729 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
730 metGroup.defineHistogram('{}_SigMu_Ey_log'.format(alg),
731 title='{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
732 path='Shifter/SignalMu/{}'.format(alg),
733 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
734 metGroup.defineHistogram('{}_SigMu_Et'.format(alg),
735 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
736 path='Shifter/SignalMu/{}'.format(alg),
737 xbins=et_bins,xmin=et_min,xmax=et_max)
738 metGroup.defineHistogram('{}_SigMu_Et_log'.format(alg),
739 title='{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
740 path='Shifter/SignalMu/{}'.format(alg),
741 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
742 metGroup.defineHistogram('{}_SigMu_sumEt'.format(alg),
743 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
744 path='Shifter/SignalMu/{}'.format(alg),
745 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
746 metGroup.defineHistogram('{}_SigMu_sumEt_log'.format(alg),
747 title='{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
748 path='Shifter/SignalMu/{}'.format(alg),
749 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
750 metGroup.defineHistogram('{}_SigMu_phi'.format(alg),
751 title='{} #phi;#phi;Events'.format(alg),
752 path='Shifter/SignalMu/{}'.format(alg),
753 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
754 metGroup.defineHistogram('{0}_SigMu_phi;{0}_SigMu_phi_etweight'.format(alg),
755 title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
756 weight='{}_SigMu_Et'.format(alg),
757 path='Shifter/SignalMu/{}'.format(alg),
758 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
759 metGroup.defineHistogram('{0}_SigMu_eta,{0}_SigMu_phi;{0}_SigMu_eta_phi'.format(alg),
760 type='TH2F',
761 title='{} #eta - #phi;#eta;#phi'.format(alg),
762 path='Shifter/SignalMu/{}'.format(alg),
763 xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
764 metGroup.defineHistogram('{0}_SigMu_eta,{0}_SigMu_phi;{0}_SigMu_eta_phi_etweight'.format(alg),
765 type='TH2F',
766 title='{} #eta - #phi (etweighted);#eta;#phi'.format(alg),
767 weight='{}_SigMu_Et'.format(alg),
768 path='Shifter/SignalMu/{}'.format(alg),
769 xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
770
771
772 for alg in algsHLT2d:
773 metGroup.defineHistogram('{0}_eta,{0}_phi;{0}_eta_phi'.format(alg),
774 type='TH2F',
775 title='{} #eta - #phi;#eta;#phi'.format(alg),
776 path='Shifter/HLT_{}'.format(alg),
777 xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
778 metGroup.defineHistogram('{a}_eta,{a}_phi;{a}_eta_phi_etweight'.format(a=alg),
779 type='TH2F',
780 title='{} #eta - #phi (etweighted);#eta;#phi'.format(alg),
781 weight='{}_Et'.format(alg),
782 path='Shifter/HLT_{}'.format(alg),
783 xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
784
785
786 for chain in L1Chains:
787 metGroup.defineHistogram('offline_NoMu_Et_eff,pass_{};{}_eff'.format(chain,chain),
788 type='TProfile',
789 title='{} efficiency;offline E_{{T}} [GeV];Efficiency'.format(chain),
790 path='Shifter/eff',
791 xbins=eff_bins, xmin=eff_min, xmax=eff_max)
792
793 for chain in HLTChains:
794 metGroup.defineHistogram('offline_NoMu_Et_eff,pass_{};{}_eff'.format(chain,chain),
795 type='TProfile',
796 title='{} efficiency;offline E_{{T}} [GeV];Efficiency'.format(chain),
797 path='Shifter/eff',
798 xbins=eff_bins, xmin=eff_min, xmax=eff_max)
799
800 for chain in HLTChainsVal:
801 metGroup.defineHistogram('offline_NoMu_Et_eff,pass_{};{}_eff'.format(chain,chain),
802 type='TProfile',
803 title='{} efficiency;offline E_{{T}} [GeV];Efficiency'.format(chain),
804 path='Expert/eff',
805 xbins=eff_bins, xmin=eff_min, xmax=eff_max)
806 for chain in HLTChainsT0:
807 metGroup.defineHistogram('offline_NoMu_Et_eff,pass_{};{}_eff'.format(chain,chain),
808 type='TProfile',
809 title='{} efficiency;offline E_{{T}} [GeV];Efficiency'.format(chain),
810 path='Expert/eff',
811 xbins=eff_bins, xmin=eff_min, xmax=eff_max)
812
813
814 metGroup.defineHistogram('act_IPBC', type='TH1F',title='Actual IPBC;Actual IPBC;Events',
815 path='Shifter/Component',xbins=100,xmin=0,xmax=100)
816
817 metGroup.defineHistogram('HLT_MET_status',type='TH1F',title='HLT MET Status;;',
818 weight='MET_status',
819 path='Shifter/Component',
820 xbins=len(bit_names),xmin=-0.5,xmax=31.5, xlabels=bit_names)
821 metGroup.defineHistogram('HLT_MET_component,component_Et;compN_compEt',
822 type='TH2F',
823 title='HLT Missing E_{T} VS component;;Missing E_{T} [GeV]',
824 path='Shifter/Component',
825 xbins=len(comp_names),xmin=-0.5,xmax=24.5,ybins=et_bins,ymin=et_min,ymax=et_max,
826 xlabels=comp_names)
827 metGroup.defineHistogram('component,component_status;compN_HLT_MET_status',
828 type='TH2F',
829 title='HLT MET Status VS component;;',
830 weight='component_status_weight',
831 path='Shifter/Component',
832 xbins=len(comp_names),xmin=-0.5,xmax=24.5,ybins=len(comp_names),ymin=-0.5,ymax=31.5,
833 xlabels=comp_names, ylabels=bit_names)
834
835 for alg in algsHLTExpert:
836 metGroup.defineHistogram('{}_Ex'.format(alg),
837 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
838 path='Expert/HLT_{}'.format(alg),
839 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
840 metGroup.defineHistogram('{}_Ey'.format(alg),
841 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
842 path='Expert/HLT_{}'.format(alg),
843 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
844 metGroup.defineHistogram('{}_Et'.format(alg),
845 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
846 path='Expert/HLT_{}'.format(alg),
847 xbins=et_bins,xmin=et_min,xmax=et_max)
848 metGroup.defineHistogram('{}_sumEt'.format(alg),
849 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
850 path='Expert/HLT_{}'.format(alg),
851 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
852 #2D MET tcpufit vs pfopufit, pfsum_cssk, trkmht
853 for alg in algsMET2d_tcpufit:
854 metGroup.defineHistogram('{}_2D_Et,tcpufit_2D_Et;hlt_tcpufit_Et_{}_Et'.format(alg, alg),
855 type='TH2F',
856 title='HLT tcpufit Missing E_{{T}} vs. HLT {} Missing Et;{} E_{{T}} [GeV];tcpufit E_{{T}} [GeV]'.format(alg, alg),
857 path='Expert/HLT_MET2D',
858 xbins=40,xmin=et_min,xmax=et_max,ybins=40,ymin=et_min,ymax=et_max)
859
860 for alg in algsHLTChain1:
861 metChain1Group.defineHistogram('{}_Ex'.format(alg),
862 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
863 path='HLT_{}'.format(alg),
864 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
865 metChain1Group.defineHistogram('{}_Ex_log'.format(alg),
866 title='{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
867 path='HLT_{}'.format(alg),
868 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
869 metChain1Group.defineHistogram('{}_Ey'.format(alg),
870 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
871 path='HLT_{}'.format(alg),
872 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
873 metChain1Group.defineHistogram('{}_Ey_log'.format(alg),
874 title='{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
875 path='HLT_{}'.format(alg),
876 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
877 metChain1Group.defineHistogram('{}_Et'.format(alg),
878 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
879 path='HLT_{}'.format(alg),
880 xbins=et_bins,xmin=et_min,xmax=et_max)
881 metChain1Group.defineHistogram('{}_Et_log'.format(alg),
882 title='{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
883 path='HLT_{}'.format(alg),
884 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
885 metChain1Group.defineHistogram('{}_sumEt'.format(alg),
886 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
887 path='HLT_{}'.format(alg),
888 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
889 metChain1Group.defineHistogram('{}_sumEt_log'.format(alg),
890 title='{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
891 path='HLT_{}'.format(alg),
892 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
893 metChain1Group.defineHistogram('{}_phi'.format(alg),
894 title='{} #phi;#phi;Events'.format(alg),
895 path='HLT_{}'.format(alg),
896 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
897 metChain1Group.defineHistogram('{0}_phi;{0}_phi_etweight'.format(alg),
898 title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
899 weight='{}_Et'.format(alg),
900 path='HLT_{}'.format(alg),
901 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
902
903 for alg in algsHLTChain2:
904 metChain2Group.defineHistogram('{}_Ex'.format(alg),
905 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
906 path='HLT_{}'.format(alg),
907 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
908 metChain2Group.defineHistogram('{}_Ex_log'.format(alg),
909 title='{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
910 path='HLT_{}'.format(alg),
911 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
912 metChain2Group.defineHistogram('{}_Ey'.format(alg),
913 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
914 path='HLT_{}'.format(alg),
915 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
916 metChain2Group.defineHistogram('{}_Ey_log'.format(alg),
917 title='{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
918 path='HLT_{}'.format(alg),
919 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
920 metChain2Group.defineHistogram('{}_Et'.format(alg),
921 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
922 path='HLT_{}'.format(alg),
923 xbins=et_bins,xmin=et_min,xmax=et_max)
924 metChain2Group.defineHistogram('{}_Et_log'.format(alg),
925 title='{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
926 path='HLT_{}'.format(alg),
927 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
928 metChain2Group.defineHistogram('{}_sumEt'.format(alg),
929 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
930 path='HLT_{}'.format(alg),
931 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
932 metChain2Group.defineHistogram('{}_sumEt_log'.format(alg),
933 title='{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
934 path='HLT_{}'.format(alg),
935 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
936 metChain2Group.defineHistogram('{}_phi'.format(alg),
937 title='{} #phi;#phi;Events'.format(alg),
938 path='HLT_{}'.format(alg),
939 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
940 metChain2Group.defineHistogram('{0}_phi;{0}_phi_etweight'.format(alg),
941 title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
942 weight='{}_Et'.format(alg),
943 path='HLT_{}'.format(alg),
944 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
945
946 for alg in algsHLTChain3:
947 metChain3Group.defineHistogram('{}_Ex'.format(alg),
948 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
949 path='HLT_{}'.format(alg),
950 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
951 metChain3Group.defineHistogram('{}_Ex_log'.format(alg),
952 title='{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
953 path='HLT_{}'.format(alg),
954 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
955 metChain3Group.defineHistogram('{}_Ey'.format(alg),
956 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
957 path='HLT_{}'.format(alg),
958 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
959 metChain3Group.defineHistogram('{}_Ey_log'.format(alg),
960 title='{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
961 path='HLT_{}'.format(alg),
962 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
963 metChain3Group.defineHistogram('{}_Et'.format(alg),
964 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
965 path='HLT_{}'.format(alg),
966 xbins=et_bins,xmin=et_min,xmax=et_max)
967 metChain3Group.defineHistogram('{}_Et_log'.format(alg),
968 title='{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
969 path='HLT_{}'.format(alg),
970 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
971 metChain3Group.defineHistogram('{}_sumEt'.format(alg),
972 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
973 path='HLT_{}'.format(alg),
974 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
975 metChain3Group.defineHistogram('{}_sumEt_log'.format(alg),
976 title='{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
977 path='HLT_{}'.format(alg),
978 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
979 metChain3Group.defineHistogram('{}_phi'.format(alg),
980 title='{} #phi;#phi;Events'.format(alg),
981 path='HLT_{}'.format(alg),
982 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
983 metChain3Group.defineHistogram('{0}_phi;{0}_phi_etweight'.format(alg),
984 title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
985 weight='{}_Et'.format(alg),
986 path='HLT_{}'.format(alg),
987 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
988
989 for alg in algsHLTChain4:
990 metChain4Group.defineHistogram('{}_Ex'.format(alg),
991 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
992 path='HLT_{}'.format(alg),
993 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
994 metChain4Group.defineHistogram('{}_Ex_log'.format(alg),
995 title='{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
996 path='HLT_{}'.format(alg),
997 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
998 metChain4Group.defineHistogram('{}_Ey'.format(alg),
999 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
1000 path='HLT_{}'.format(alg),
1001 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
1002 metChain4Group.defineHistogram('{}_Ey_log'.format(alg),
1003 title='{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
1004 path='HLT_{}'.format(alg),
1005 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
1006 metChain4Group.defineHistogram('{}_Et'.format(alg),
1007 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
1008 path='HLT_{}'.format(alg),
1009 xbins=et_bins,xmin=et_min,xmax=et_max)
1010 metChain4Group.defineHistogram('{}_Et_log'.format(alg),
1011 title='{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
1012 path='HLT_{}'.format(alg),
1013 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
1014 metChain4Group.defineHistogram('{}_sumEt'.format(alg),
1015 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
1016 path='HLT_{}'.format(alg),
1017 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
1018 metChain4Group.defineHistogram('{}_sumEt_log'.format(alg),
1019 title='{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
1020 path='HLT_{}'.format(alg),
1021 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
1022 metChain4Group.defineHistogram('{}_phi'.format(alg),
1023 title='{} #phi;#phi;Events'.format(alg),
1024 path='HLT_{}'.format(alg),
1025 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
1026 metChain4Group.defineHistogram('{0}_phi;{0}_phi_etweight'.format(alg),
1027 title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
1028 weight='{}_Et'.format(alg),
1029 path='HLT_{}'.format(alg),
1030 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
1031
1032 if lowMu:
1033 for (chainGroup, algsChain) in [(metChain5Group, algsHLTChain5),
1034 (metChain6Group, algsHLTChain6),
1035 (metChain7Group, algsHLTChain7),
1036 (metChain8Group, algsHLTChain8)]:
1037 for alg in algsChain:
1038 chainGroup.defineHistogram('{}_Ex'.format(alg),
1039 title='{} Missing E_{{x}};E_{{x}} [GeV];Events'.format(alg),
1040 path='HLT_{}'.format(alg),
1041 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
1042 chainGroup.defineHistogram('{}_Ex_log'.format(alg),
1043 title='{} Missing E_{{x}} log;sgn(E_{{x}}) log(E_{{x}}/GeV);Events'.format(alg),
1044 path='HLT_{}'.format(alg),
1045 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
1046 chainGroup.defineHistogram('{}_Ey'.format(alg),
1047 title='{} Missing E_{{y}};E_{{y}} [GeV];Events'.format(alg),
1048 path='HLT_{}'.format(alg),
1049 xbins=ec_bins,xmin=ec_min,xmax=ec_max)
1050 chainGroup.defineHistogram('{}_Ey_log'.format(alg),
1051 title='{} Missing E_{{y}} log;sgn(E_{{y}}) log(E_{{y}}/GeV);Events'.format(alg),
1052 path='HLT_{}'.format(alg),
1053 xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
1054 chainGroup.defineHistogram('{}_Et'.format(alg),
1055 title='{} Missing E_{{T}};E_{{T}} [GeV];Events'.format(alg),
1056 path='HLT_{}'.format(alg),
1057 xbins=et_bins,xmin=et_min,xmax=et_max)
1058 chainGroup.defineHistogram('{}_Et_log'.format(alg),
1059 title='{} Missing E_{{T}} log;log(E_{{T}}/GeV);Events'.format(alg),
1060 path='HLT_{}'.format(alg),
1061 xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
1062 chainGroup.defineHistogram('{}_sumEt'.format(alg),
1063 title='{} sumE_{{T}};sumE_{{T}} [GeV];Events'.format(alg),
1064 path='HLT_{}'.format(alg),
1065 xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
1066 chainGroup.defineHistogram('{}_sumEt_log'.format(alg),
1067 title='{} sumE_{{T}} log;log(sumE_{{T}}/GeV);Events'.format(alg),
1068 path='HLT_{}'.format(alg),
1069 xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
1070 chainGroup.defineHistogram('{}_phi'.format(alg),
1071 title='{} #phi;#phi;Events'.format(alg),
1072 path='HLT_{}'.format(alg),
1073 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
1074 chainGroup.defineHistogram('{0}_phi;{0}_phi_etweight'.format(alg),
1075 title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
1076 weight='{}_Et'.format(alg),
1077 path='HLT_{}'.format(alg),
1078 xbins=phi_bins,xmin=phi_min,xmax=phi_max)
1079
1080 for (chainGroup, chainName) in [(metChain5Group, TrigMETMonChain5),
1081 (metChain6Group, TrigMETMonChain6),
1082 (metChain7Group, TrigMETMonChain7),
1083 (metChain8Group, TrigMETMonChain8)]:
1084 chainGroup.defineHistogram('hlt_el_pt',title='HLT Electron p_{{T}};p_{{T}} [GeV];Events',
1085 path='ElMu',xbins=100,xmin=0,xmax=100)
1086 chainGroup.defineHistogram('hlt_mu_pt',title='HLT Muon p_{{T}};p_{{T}} [GeV];Events',
1087 path='ElMu',xbins=100,xmin=0,xmax=100)
1088
1089
1094 return helper.result()
1095
1096if __name__=='__main__':
1097 # Setup logs
1098 from AthenaCommon.Logging import log
1099 from AthenaCommon.Constants import DEBUG
1100 log.setLevel(DEBUG)
1101
1102 # Set the Athena configuration flags
1103 from AthenaConfiguration.AllConfigFlags import initConfigFlags
1104 nightly = '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/'
1105 file = 'data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1'
1106 flags = initConfigFlags()
1107 flags.Input.Files = [nightly+file]
1108 flags.Input.isMC = True
1109 flags.Output.HISTFileName = 'TrigMETMonitorOutput.root'
1110
1111 flags.lock()
1112
1113 # Initialize configuration object, add accumulator, merge, and run.
1114 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
1115 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
1116 cfg = MainServicesCfg(flags)
1117 cfg.merge(PoolReadCfg(flags))
1118
1119 trigMETMonitorAcc = TrigMETMonConfig(flags)
1120 cfg.merge(trigMETMonitorAcc)
1121
1122 # If you want to turn on more detailed messages ...
1123 #trigMETMonitorAcc.getEventAlgo('TrigMETMonAlg').OutputLevel = 2 # DEBUG
1124 cfg.printConfig(withDetails=True) # set True for exhaustive info
1125
1126 cfg.run() #use cfg.run(20) to only run on first 20 events
1127