ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigMonitoring
TrigTLAMonitoring
python
TrigTLAMonitorHistograms.py
Go to the documentation of this file.
1
#
2
# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
#
4
5
'''@file TrigTLAMonitorHistograms.py
6
@author S. Franchellucci
7
@date 2023-11-28
8
@brief Definitions of groups of histograms to monitor
9
'''
10
11
def
histdefs_eventinfo
(pprefix):
12
"""
13
Return a list of histogram definitions for global event variables
14
15
@param pprefix Prefix of histogram names
16
"""
17
histograms=[
18
{
'name'
:f
'{pprefix}_AvgMu'
,
19
'ylabel'
:
'events'
,
20
'xlabel'
:
'AvgMu'
,
21
'xmin'
:-0.5,
22
'xmax'
:69.5,
23
'xbins'
:70},
24
{
'name'
:f
'{pprefix}_NumPV'
,
25
'ylabel'
:
'events'
,
26
'xlabel'
:
'NumPV'
,
27
'xmin'
:-0.5,
28
'xmax'
:39.5,
29
'xbins'
:40},
30
{
'name'
:f
'{pprefix}_JetDensityEMTopo'
,
31
'ylabel'
:
'events'
,
32
'xlabel'
:
'JetDensityEMTopo'
,
33
'xmin'
:-0.5,
34
'xmax'
:25000,
35
'xbins'
:100},
36
{
'name'
:f
'{pprefix}_JetDensityEMPFlow'
,
37
'ylabel'
:
'events'
,
38
'xlabel'
:
'JetDensityEMPFlow'
,
39
'xmin'
:-0.5,
40
'xmax'
:25000,
41
'xbins'
:100}
42
]
43
return
histograms
44
45
def
histdefs_jetvariables
(pprefix, plabel, pflow=False):
46
"""
47
Return a list of jet-specific histogram definitions for jet moment distributions
48
49
@param pprefix Prefix of histogram names
50
@param plabel Human-readable name of the jet to use in labeling axes
51
@param pflow bool to indicate that this is the PFlow jet collection, so that the track-based variables are added.
52
False indicates that this is the calo jet collection, and additional calo variables are monitored.
53
"""
54
55
histograms=[
56
{
'name'
:f
'{pprefix}ActiveArea'
,
57
'ylabel'
:f
'{plabel}s'
,
58
'xlabel'
:f
'{plabel} ActiveArea'
,
59
'xunit'
:
''
,
60
'xmin'
:0,
61
'xmax'
:2.,
62
'xbins'
:200},
63
]
64
if
pflow:
65
histograms+=[
66
{
'name'
:f
'{pprefix}TrackWidthPt1000'
,
67
'ylabel'
:f
'{plabel}s'
,
68
'xlabel'
:f
'{plabel} TrackWidthPt1000'
,
69
'xmin'
:-0.5,
70
'xmax'
:0.95,
71
'xbins'
:50},
72
{
'name'
:f
'{pprefix}NumTrkPt1000'
,
73
'ylabel'
:f
'{plabel}s'
,
74
'xlabel'
:f
'{plabel} NumTrkPt1000'
,
75
'xmin'
:-0.5,
76
'xmax'
:39.5,
77
'xbins'
:40},
78
{
'name'
:f
'{pprefix}SumPtTrkPt500'
,
79
'ylabel'
:f
'{plabel}s'
,
80
'xlabel'
:f
'{plabel} SumPtTrkPt500'
,
81
'xmin'
:-0.5,
82
'xmax'
:500e3,
83
'xunit'
:
'MeV'
,
84
'xbins'
:200},
85
{
'name'
:f
'{pprefix}SumPtChargedPFOPt500'
,
86
'ylabel'
:f
'{plabel}s'
,
87
'xlabel'
:f
'{plabel} SumPtChargedPFOPt500'
,
88
'xmin'
:-0.5,
89
'xmax'
:500e3,
90
'xunit'
:
'MeV'
,
91
'xbins'
:200},
92
{
'name'
:f
'{pprefix}Jvt'
,
93
'ylabel'
:f
'{plabel}s'
,
94
'xlabel'
:f
'{plabel} Jvt'
,
95
'xmin'
:-0.2,
96
'xmax'
:1.2,
97
'xbins'
:70},
98
{
'name'
:f
'{pprefix}JvtRpt'
,
99
'ylabel'
:f
'{plabel}s'
,
100
'xlabel'
:f
'{plabel} JvtRpt'
,
101
'xmin'
:-0.1,
102
'xmax'
:1.4,
103
'xbins'
:75},
104
{
'name'
:f
'{pprefix}fastDIPS20211215_pu'
,
105
'ylabel'
:f
'{plabel}s'
,
106
'xlabel'
:f
'{plabel} fastDips_pu'
,
107
'xmin'
:-0.2,
108
'xmax'
:1.2,
109
'xbins'
:70},
110
{
'name'
:f
'{pprefix}fastDIPS20211215_pb'
,
111
'ylabel'
:f
'{plabel}s'
,
112
'xlabel'
:f
'{plabel} fastDips_pb'
,
113
'xmin'
:-0.2,
114
'xmax'
:1.2,
115
'xbins'
:70},
116
{
'name'
:f
'{pprefix}fastDIPS20211215_pc'
,
117
'ylabel'
:f
'{plabel}s'
,
118
'xlabel'
:f
'{plabel} fastDips_pc'
,
119
'xmin'
:-0.2,
120
'xmax'
:1.2,
121
'xbins'
:70},
122
{
'name'
:f
'{pprefix}GN120230331_pu'
,
123
'ylabel'
:f
'{plabel}s'
,
124
'xlabel'
:f
'{plabel} GN120230331_pu'
,
125
'xmin'
:-0.2,
126
'xmax'
:1.2,
127
'xbins'
:70},
128
{
'name'
:f
'{pprefix}GN120230331_pb'
,
129
'ylabel'
:f
'{plabel}s'
,
130
'xlabel'
:f
'{plabel} GN120230331_pb'
,
131
'xmin'
:-0.2,
132
'xmax'
:1.2,
133
'xbins'
:70},
134
{
'name'
:f
'{pprefix}GN120230331_pc'
,
135
'ylabel'
:f
'{plabel}s'
,
136
'xlabel'
:f
'{plabel} GN120230331_pc'
,
137
'xmin'
:-0.2,
138
'xmax'
:1.2,
139
'xbins'
:70},
140
]
141
else
:
142
histograms+=[
143
{
'name'
:f
'{pprefix}EMFrac'
,
144
'ylabel'
:f
'{plabel}s'
,
145
'xlabel'
:f
'{plabel} EMFrac'
,
146
'xmin'
:-0.1,
147
'xmax'
:1.4,
148
'xbins'
:75},
149
{
'name'
:f
'{pprefix}HECFrac'
,
150
'ylabel'
:f
'{plabel}s'
,
151
'xlabel'
:f
'{plabel} HECFrac'
,
152
'xmin'
:-0.1,
153
'xmax'
:1.4,
154
'xbins'
:75},
155
{
'name'
:f
'{pprefix}Timing'
,
156
'ylabel'
:f
'{plabel}s'
,
157
'xlabel'
:f
'{plabel} Timing'
,
158
'xunit'
:
'ns'
,
159
'xmin'
:-50,
160
'xmax'
:50,
161
'xbins'
:50},
162
{
'name'
:f
'{pprefix}N90Constituents'
,
163
'ylabel'
:f
'{plabel}s'
,
164
'xlabel'
:f
'{plabel} N90Constituents'
,
165
'xunit'
:
''
,
166
'xmin'
:0,
167
'xmax'
:20,
168
'xbins'
:20},
169
]
170
return
histograms
171
172
def
histdefs_jetcalibscales
(pprefix, plabel, pflow=False):
173
"""
174
Return a list of jet-specific histogram definitions for jet pT distributions at different calibration scales
175
176
@param pprefix Prefix of histogram names
177
@param plabel Human-readable name of the jet to use in labeling axes
178
@param pflow bool to indicate that this is the PFlow jet collection, so that the track-based calibration scales are added.
179
"""
180
histograms=[
181
{
'name'
:f
'{pprefix}JetConstitScaleMomentum_pt'
,
182
'ylabel'
:f
'{plabel}s'
,
183
'xlabel'
:f
'{plabel} JetConstitScaleMomentum_pt'
,
184
'xunit'
:
'GeV'
,
185
'xmin'
:0,
186
'xmax'
:750,
187
'xbins'
:1500},
188
{
'name'
:f
'{pprefix}JetPileupScaleMomentum_pt'
,
189
'ylabel'
:f
'{plabel}s'
,
190
'xlabel'
:f
'{plabel} JetPileupScaleMomentum_pt'
,
191
'xunit'
:
'GeV'
,
192
'xmin'
:0,
193
'xmax'
:750,
194
'xbins'
:1500},
195
{
'name'
:f
'{pprefix}JetEtaJESScaleMomentum_pt'
,
196
'ylabel'
:f
'{plabel}s'
,
197
'xlabel'
:f
'{plabel} JetEtaJESScaleMomentum_pt'
,
198
'xunit'
:
'GeV'
,
199
'xmin'
:0,
200
'xmax'
:750,
201
'xbins'
:1500},
202
]
203
if
pflow:
204
histograms+= [
205
{
'name'
:f
'{pprefix}JetGSCScaleMomentum_pt'
,
206
'ylabel'
:f
'{plabel}s'
,
207
'xlabel'
:f
'{plabel} JetGSCScaleMomentum_pt'
,
208
'xunit'
:
'GeV'
,
209
'xmin'
:0,
210
'xmax'
:750,
211
'xbins'
:1500}
212
]
213
return
histograms
214
215
def
histdefs_particle
(pprefix, plabel):
216
"""
217
Return a list of histogram definitions for particle kinematics.
218
219
@param pprefix Prefix of histogram names
220
@param plabel Human-readable name of the particle to use in labeling axes
221
"""
222
histograms=[
223
{
'name'
:f
'n{pprefix}'
,
224
'ylabel'
:
'events'
,
225
'xlabel'
:f
'number of {plabel}s'
,
226
'xmin'
:-0.5,
227
'xmax'
:19.5,
228
'xbins'
:20},
229
{
'name'
:f
'{pprefix}pt'
,
230
'ylabel'
:f
'{plabel}s'
,
231
'xlabel'
:f
'{plabel} p_{{T}}'
,
232
'xunit'
:
'GeV'
,
233
'xmin'
:0,
234
'xmax'
:750,
235
'xbins'
:300},
236
{
'name'
:f
'{pprefix}eta'
,
237
'ylabel'
:f
'{plabel}s'
,
238
'xlabel'
:f
'{plabel} #eta'
,
239
'xmin'
:-4,
240
'xmax'
: 4,
241
'xbins'
:100},
242
{
'name'
:f
'{pprefix}phi'
,
243
'ylabel'
:f
'{plabel}s'
,
244
'xlabel'
:f
'leading {plabel} #phi'
,
245
'xmin'
:-3.5,
246
'xmax'
: 3.5,
247
'xbins'
:100},
248
{
'name'
:f
'{pprefix}0pt'
,
249
'ylabel'
:
'events'
,
250
'xlabel'
:f
'leading {plabel} p_{{T}}'
,
251
'xunit'
:
'GeV'
,
252
'xmin'
:0,
253
'xmax'
:750,
254
'xbins'
:150},
255
{
'name'
:f
'{pprefix}0eta'
,
256
'ylabel'
:
'events'
,
257
'xlabel'
:f
'leading {plabel} #eta'
,
258
'xmin'
:-4,
259
'xmax'
: 4,
260
'xbins'
:100},
261
{
'name'
:f
'{pprefix}0phi'
,
262
'ylabel'
:
'events'
,
263
'xlabel'
:f
'leading {plabel} #phi'
,
264
'xmin'
:-3.5,
265
'xmax'
: 3.5,
266
'xbins'
:100}
267
]
268
return
histograms
269
270
def
histdefs_tracks
(prefix='trk',plabel='track'):
271
"""
272
Return a list of histogram definitions for tracks features.
273
274
@param pprefix Prefix of histogram names
275
@param plabel Human-readable name of the particle to use in labeling axes
276
"""
277
histograms =
histdefs_particle
(prefix,plabel)
278
# Modifify the ntracks histogram -> first on the list
279
histograms[0][
'xmax'
]=199.5
280
histograms[0][
'xbins'
]=200
281
282
histograms += [
283
{
'name'
:prefix+
'd0'
,
284
'ylabel'
:
'entries'
,
285
'xlabel'
:f
'{plabel} d0'
,
286
'xmin'
:-5.,
287
'xmax'
:5.,
288
'xbins'
:400},
289
{
'name'
:prefix+
'z0'
,
290
'ylabel'
:
'entries'
,
291
'xlabel'
:plabel+
' z0'
,
292
'xmin'
:-50.,
293
'xmax'
:50.,
294
'xbins'
:400},
295
{
'name'
:prefix+
'qOverP'
,
296
'ylabel'
:
'entries'
,
297
'xlabel'
:plabel+
' qOverP'
,
298
'xmin'
:-0.003,
299
'xmax'
:0.003,
300
'xbins'
:150},
301
{
'name'
:prefix+
'chiSquared'
,
302
'ylabel'
:
'entries'
,
303
'xlabel'
:plabel+
' chiSquared'
,
304
'xmin'
:0.,
305
'xmax'
:150.,
306
'xbins'
:300},
307
{
'name'
:prefix+
'numberDoF'
,
308
'ylabel'
:
'entries'
,
309
'xlabel'
:plabel+
' numberDoF'
,
310
'xmin'
:-0.5,
311
'xmax'
:50.5,
312
'xbins'
:51},
313
{
'name'
:f
'{prefix}btagIp-d0'
,
314
'ylabel'
:
'entries'
,
315
'xlabel'
:
'trk d0'
,
316
'xmin'
:-5.,
317
'xmax'
:5.,
318
'xbins'
:400},
319
{
'name'
:f
'{prefix}btagIp-d0Uncertainty'
,
320
'ylabel'
:
'entries'
,
321
'xlabel'
:
'trk d0 Uncertainty'
,
322
'xmin'
:0.,
323
'xmax'
:10.,
324
'xbins'
:200},
325
{
'name'
:f
'{prefix}btagIp-z0SinTheta'
,
326
'ylabel'
:
'entries'
,
327
'xlabel'
:
'trk z0SinTheta'
,
328
'xmin'
:-100.,
329
'xmax'
:100.,
330
'xbins'
:500},
331
{
'name'
:f
'{prefix}btagIp-z0SinThetaUncertainty'
,
332
'ylabel'
:
'entries'
,
333
'xlabel'
:
'trk z0SinTheta Uncertainty'
,
334
'xmin'
:0.,
335
'xmax'
:10.,
336
'xbins'
:200},
337
]
338
return
histograms
339
340
def
histdefs_dR
(p0prefix,p1prefix,p0label,p1label):
341
"""
342
Return a list of histogram definitions for particle dR
343
344
@param p0prefix Prefix of first particle in histogram
345
@param p1prefix Prefix of second particle in histogram
346
@param p0label Human-readable name of the first particle to use in labeling axes
347
@param p1label Human-readable name of the second particle to use in labeling axes
348
"""
349
histograms=[
350
{
'name'
:f
'{p0prefix}{p1prefix}dr'
,
351
'ylabel'
:
'events'
,
352
'xlabel'
:f
'#DeltaR_{{{p0label}, {p1label}}}'
,
353
'xmin'
:0,
354
'xmax'
:6,
355
'xbins'
:60}]
356
return
histograms
python.TrigTLAMonitorHistograms.histdefs_eventinfo
histdefs_eventinfo(pprefix)
Definition
TrigTLAMonitorHistograms.py:11
python.TrigTLAMonitorHistograms.histdefs_tracks
histdefs_tracks(prefix='trk', plabel='track')
Definition
TrigTLAMonitorHistograms.py:270
python.TrigTLAMonitorHistograms.histdefs_particle
histdefs_particle(pprefix, plabel)
Definition
TrigTLAMonitorHistograms.py:215
python.TrigTLAMonitorHistograms.histdefs_dR
histdefs_dR(p0prefix, p1prefix, p0label, p1label)
Definition
TrigTLAMonitorHistograms.py:340
python.TrigTLAMonitorHistograms.histdefs_jetvariables
histdefs_jetvariables(pprefix, plabel, pflow=False)
Definition
TrigTLAMonitorHistograms.py:45
python.TrigTLAMonitorHistograms.histdefs_jetcalibscales
histdefs_jetcalibscales(pprefix, plabel, pflow=False)
Definition
TrigTLAMonitorHistograms.py:172
Generated on
for ATLAS Offline Software by
1.17.0