4def JfexMonitoringConfig(flags):
5 '''Function to configure LVL1 Jfex algorithm in the monitoring system.'''
6
7 import math
8
9 from AthenaConfiguration.ComponentFactory import CompFactory
10 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
11 result = ComponentAccumulator()
12
13 from TrigT1CaloMonitoring.LVL1CaloMonitoringConfig import L1CaloMonitorCfgHelper
14 helper = L1CaloMonitorCfgHelper(flags,CompFactory.JfexMonitorAlgorithm,'JfexMonAlg')
15 JfexMonAlg = helper.alg
16
17
18 groupName = 'JfexMonitor'
19 mapGroupName = 'jFEXMaps'
20 mapHighPtGroupName = 'jFEXMapsHighPt'
21 JfexMonAlg.Grouphist = groupName
22
23
24 developerPath = 'Developer/Jfex/'
25 expertPath = 'Expert/Outputs/'
26
27
28
29
30 FPGA_names = ["U1","U2","U4","U3"]
31 Modules_names = ["jFEX 0","jFEX 1","jFEX 2","jFEX 3","jFEX 4","jFEX 5"]
32
33 from ROOT import TMath
34
35 x_phi = []
36 for i in range(67):
37 phi = (-TMath.Pi()- TMath.Pi()/32) + TMath.Pi()/32*i
38 x_phi.append(phi)
39 x_phi = sorted(x_phi)
40
41 phi_bins = {
42 'xbins': x_phi
43 }
44
45 eta_bins_central = [-2.5 + 0.1*i for i in range(51)]
46
47
48 eta_bins = [-4.8 + 0.1*i for i in range(16)]
49 eta_bins_jets = [-4.8 + 0.1*i for i in range(16)]
50
51 eta_bins += [-3.2,-3.1,-2.9,-2.7]
52 eta_bins_jets += [-3.2,-3.15,-3.1,-2.9,-2.7]
53
54 eta_bins += eta_bins_central
55 eta_bins_jets += eta_bins_central
56
57 eta_bins += [2.7,2.9,3.1,3.2]
58 eta_bins_jets += [2.7,2.9,3.1,3.15,3.2]
59
60 eta_bins += [3.3 + 0.1*i for i in range(16)]
61 eta_bins_jets += [3.3 + 0.1*i for i in range(16)]
62
63 JfexMonAlg.jJEtaBins = eta_bins_jets
64 JfexMonAlg.jTauEtaBins = eta_bins_central
65 JfexMonAlg.jEMEtaBins = eta_bins
66
67 eta_phi_bins = {
68 'xbins': eta_bins,
69 'ybins': 64, 'ymin': -TMath.Pi(), 'ymax': TMath.Pi()
70 }
71
72 eta_phi_bins_jets = {
73 'xbins': eta_bins_jets,
74 'ybins': 64, 'ymin': -TMath.Pi(), 'ymax': TMath.Pi()
75 }
76
77 eta_phi_bins_central = {
78 'xbins': eta_bins_central,
79 'ybins': 64, 'ymin': -TMath.Pi(), 'ymax': TMath.Pi()
80 }
81
82 n_bins_total = (len(eta_bins) - 1) * 64
83 n_bins_total_jets = (len(eta_bins_jets) - 1) * 64
84 n_bins_eta_2p5 = (len(eta_bins_central) - 1) * 64
85 n_bins_eta_2p3 = 46 * 64
86
87
88
89 n_empty_bins_fcal = 1708
90
91 n_empty_bins_fcal_overlap = 96
92
93
94 n_expected_filled_bins_jJ = n_bins_total_jets - n_empty_bins_fcal - n_empty_bins_fcal_overlap
95
96 n_expected_filled_bins_jTAU = n_bins_eta_2p5
97
98 n_expected_filled_bins_jEM = n_bins_total - n_empty_bins_fcal - n_bins_eta_2p3
99
100 helper.defineDQAlgorithm("Jfex_etaPhiMapFilled",
101 hanConfig={"libname":"libdqm_summaries.so","name":"Bins_LessThanAbs_Threshold","BinThreshold":"1"},
102 thresholdConfig={"NBins":[0,n_expected_filled_bins_jJ]},
103 )
104 helper.defineDQAlgorithm("Jfex_etaPhiMapFilled_EM",
105 hanConfig={"libname":"libdqm_summaries.so","name":"Bins_LessThanAbs_Threshold","BinThreshold":"1"},
106 thresholdConfig={"NBins":[0,n_expected_filled_bins_jEM]},
107 )
108 helper.defineDQAlgorithm("Jfex_etaPhiMapFilled_TAU",
109 hanConfig={"libname":"libdqm_summaries.so","name":"Bins_LessThanAbs_Threshold","BinThreshold":"1"},
110 thresholdConfig={"NBins":[0,n_expected_filled_bins_jTAU]},
111 )
112
113
114
115
116
117 helper.defineHistogram('jJ_Eta,jJ_Phi;h_jJ_EtaPhiMap', title="jFex SRJet #eta vs #phi;#eta;#phi",
118 fillGroup=mapGroupName,
119 type='TH2I',path=expertPath+'jJ/',
120 hanConfig={
121 "algorithm": "Jfex_etaPhiMapFilled",
122 "description": "Bins with negative number of entries (in the FCAL) signify that no TOBs can be produced at that position. In the region 3.1 < |eta| < 3.2 seeded in EMEC and FCAL1 are displayed next to each other, though in reality have similar eta coordinates. Inspect for hot/cold spots - check help for list of known hot/coldspots",
123 "display":"SetPalette(55),Draw=COL1Z"
124 },
125 weight="weight",opt=['kAlwaysCreate'],
126 **eta_phi_bins_jets)
127
128 helper.defineHistogram('jJ_Eta,jJ_Phi;h_jJ_EtaPhiMap_Pt20', title="jFex SRJet #geq 20 GeV #eta vs #phi;#eta;#phi",
129 fillGroup=mapHighPtGroupName,
130 type='TH2I',path=expertPath+'jJ/',
131 hanConfig={
132 "algorithm": "Jfex_etaPhiMapFilled",
133 "description": "Bins with negative number of entries (in the FCAL) signify that no TOBs can be produced at that position. In the region 3.1 < |eta| < 3.2 seeded in EMEC and FCAL1 are displayed next to each other, though in reality have similar eta coordinates. Inspect for hot/cold spots - check help for list of known hot/coldspots",
134 "display":"SetPalette(55),Draw=COL1Z"
135 },
136 weight="weight",opt=['kAlwaysCreate'],
137 **eta_phi_bins_jets)
138
139 helper.defineHistogram('LBN,jJ_binNumber;h_jJ_posVsLBN', title=f"jFex SRJet count vs LB;LB;{len(eta_bins_jets)-1}(x-1)+y",
140 fillGroup=mapGroupName,
141 type="TH2I", path=expertPath+'jJ/detail/',
142 hanConfig={
143 "description": "Timeseries of TOB counts at each location, y-axis relates to x and y bin numbers from <a href='../h_jJ_EtaPhiMap'>eta-phi map</a>. Use projection X1 for 1D plot."
144 },
145 xbins=1, xmin=0, xmax=10,
146 ybins=(len(eta_bins_jets)-1)*64,ymin=0.5,ymax=(len(eta_bins_jets)-1)*64+0.5,
147 opt=['kAddBinsDynamically'])
148
149 helper.defineHistogram('LBN,jJ_binNumber;h_jJ_posVsLBN_Pt20', title=f"jFex SRJet #geq 20 GeV count vs LB;LB;{len(eta_bins_jets)-1}(x-1)+y",
150 fillGroup=mapHighPtGroupName,
151 type="TH2I", path=expertPath+'jJ/detail/',
152 hanConfig={
153 "description": "Timeseries of TOB counts at each location, y-axis relates to x and y bin numbers from <a href='../h_jJ_EtaPhiMap_Pt20'>eta-phi map</a>. Use projection X1 for 1D plot."
154 },
155 xbins=1, xmin=0, xmax=10,
156 ybins=(len(eta_bins_jets)-1)*64,ymin=0.5,ymax=(len(eta_bins_jets)-1)*64+0.5,
157 opt=['kAddBinsDynamically'])
158
159
160
161 helper.defineHistogram('jTau_Eta,jTau_Phi;h_jTAU_EtaPhiMap', title="jFex Tau #eta vs #phi;#eta;#phi",
162 fillGroup=mapGroupName,
163 hanConfig={
164 "algorithm": "Jfex_etaPhiMapFilled_TAU",
165 "description": "Inspect for hot/cold spots - check help for list of known hot/coldspots",
166 "display": "SetPalette(87)"
167 },
168 type='TH2I',path=expertPath+'jTAU/',opt=['kAlwaysCreate'], **eta_phi_bins_central)
169
170 helper.defineHistogram('jTau_Eta,jTau_Phi;h_jTAU_EtaPhiMap_Pt10', title="jFex Tau #geq 10 GeV #eta vs #phi;#eta;#phi",
171 fillGroup=mapHighPtGroupName,
172 hanConfig={
173 "algorithm": "Jfex_etaPhiMapFilled_TAU",
174 "description": "Inspect for hot/cold spots - check help for list of known hot/coldspots",
175 "display": "SetPalette(87)"
176 },
177 type='TH2I',path=expertPath+'jTAU/',opt=['kAlwaysCreate'], **eta_phi_bins_central)
178
179 helper.defineHistogram('LBN,jTau_binNumber;h_jTAU_posVsLBN', title="jFex Tau count vs LB;LB;50(y-1)+x",
180 fillGroup=mapGroupName,
181 type="TH2I", path=expertPath+'jTAU/detail/',
182 hanConfig={
183 "description": "Timeseries of TOB counts at each location, y-axis relates to x and y bin numbers from <a href='../h_jTAU_EtaPhiMap'>eta-phi map</a>. Use projection X1 for 1D plot."
184 },
185 xbins=1, xmin=0, xmax=10,
186 ybins=50*64,ymin=0.5,ymax=50*64+0.5,
187 opt=['kAddBinsDynamically'])
188
189 helper.defineHistogram('LBN,jTau_binNumber;h_jTAU_posVsLBN_Pt10', title="jFex Tau #geq 10 GeV count vs LB;LB;50(y-1)+x",
190 fillGroup=mapHighPtGroupName,
191 type="TH2I", path=expertPath+'jTAU/detail/',
192 hanConfig={
193 "description": "Timeseries of TOB counts at each location, y-axis relates to x and y bin numbers from <a href='../h_jTAU_EtaPhiMap_Pt10'>eta-phi map</a>. Use projection X1 for 1D plot."
194 },
195 xbins=1, xmin=0, xmax=10,
196 ybins=50*64,ymin=0.5,ymax=50*64+0.5,
197 opt=['kAddBinsDynamically'])
198
199
200
201 helper.defineHistogram('jEM_Eta,jEM_Phi;h_jEM_EtaPhiMap', title="jFex EM #eta vs #phi;#eta;#phi",
202 fillGroup=mapGroupName,
203 hanConfig={
204 "algorithm":"Jfex_etaPhiMapFilled_EM",
205 "description": "Bins with negative number of entries (in the FCAL and central region) signify that no TOBs can be produced at that position. Inspect for hot/cold spots, note that there are no jEM TOBs for |eta| < 2.3 - check help for list of known hot/coldspots",
206 "display":"SetPalette(87),Draw=COL1Z"
207 },
208 weight="weight",
209 type='TH2I',path=expertPath+'jEM/',opt=['kAlwaysCreate'], **eta_phi_bins)
210
211 helper.defineHistogram('jEM_Eta,jEM_Phi;h_jEM_EtaPhiMap_Pt10', title="jFex EM #geq 10 GeV #eta vs #phi;#eta;#phi",
212 fillGroup=mapHighPtGroupName,
213 hanConfig={
214 "algorithm":"Jfex_etaPhiMapFilled_EM",
215 "description": "Bins with negative number of entries (in the FCAL and central region) signify that no TOBs can be produced at that position. Inspect for hot/cold spots, note that there are no jEM TOBs for |eta| < 2.3 - check help for list of known hot/coldspots",
216 "display":"SetPalette(87),Draw=COL1Z"
217 },
218 weight="weight",
219 type='TH2I',path=expertPath+'jEM/',opt=['kAlwaysCreate'], **eta_phi_bins)
220
221 helper.defineHistogram('LBN,jEM_binNumber;h_jEM_posVsLBN', title=f"jFex EM count vs LB;LB;{len(eta_bins)-1}(y-1)+x",
222 fillGroup=mapGroupName,
223 type="TH2I", path=expertPath+'jEM/detail/',
224 hanConfig={
225 "description": "Timeseries of TOB counts at each location, y-axis relates to x and y bin numbers from <a href='../h_jEM_EtaPhiMap'>eta-phi map</a>. Use projection X1 for 1D plot."
226 },
227 xbins=1, xmin=0, xmax=10,
228 ybins=(len(eta_bins)-1)*64,ymin=0.5,ymax=(len(eta_bins)-1)*64+0.5,
229 opt=['kAddBinsDynamically'])
230
231 helper.defineHistogram('LBN,jEM_binNumber;h_jEM_posVsLBN_Pt10', title=f"jFex EM #geq 10 GeV count vs LB;LB;{len(eta_bins)-1}(y-1)+x",
232 fillGroup=mapHighPtGroupName,
233 type="TH2I", path=expertPath+'jEM/detail/',
234 hanConfig={
235 "description": "Timeseries of TOB counts at each location, y-axis relates to x and y bin numbers from <a href='../h_jEM_EtaPhiMap_Pt10'>eta-phi map</a>. Use projection X1 for 1D plot."
236 },
237 xbins=1, xmin=0, xmax=10,
238 ybins=(len(eta_bins)-1)*64,ymin=0.5,ymax=(len(eta_bins)-1)*64+0.5,
239 opt=['kAddBinsDynamically'])
240
241
242
243
244
245 helper.defineHistogram('jJ_jFexNumber;h_jJ_jFexNumber', title='jFex SRJet Module;Module number;Counts',
246 fillGroup=groupName,
247 type='TH1I', path=developerPath+'jJ/', xbins=6,xmin=0,xmax=6)
248
249 helper.defineHistogram('jJ_fpgaNumber;h_jJ_fpgaNumber', title='jFex SRJet FPGA;FPGA number;Counts',
250 fillGroup=groupName,
251 type='TH1F', path=developerPath+'jJ/',xbins=4,xmin=0,xmax=4)
252
253 helper.defineHistogram('jJ_jFexNumber,jJ_fpgaNumber;h_jJ_DetectorMap', title="jFex SRJet module vs FPGA; jFEX module; FPGA",
254 fillGroup=groupName,
255 type='TH2I',path=developerPath+'jJ/', xbins=6,xmin=0,xmax=6,ybins=4,ymin=0,ymax=4,xlabels=Modules_names,ylabels=FPGA_names)
256
257 helper.defineHistogram('jJ_Et;h_jJ_Et', title='jFex SRJet Transverse Energy;tobEt [200 MeV Scale];Counts',
258 fillGroup=groupName,
259 type='TH1I', path=developerPath+'jJ/', xbins=512,xmin=0,xmax=2048)
260
261 helper.defineHistogram('jJ_Eta;h_jJ_Eta', title='jFex SRJet #eta;#eta;Counts',
262 fillGroup=groupName,
263 type='TH1F', path=developerPath+'jJ/',xbins=100,xmin=-5.0,xmax=5.0)
264
265 helper.defineHistogram('jJ_Phi;h_jJ_Phi', title='jFex SRJet #phi;#phi;Counts',
266 fillGroup=groupName,
267 type='TH1F', path=developerPath+'jJ/',**phi_bins)
268
269 helper.defineHistogram('jJ_GlobalEta;h_jJ_GlobalEta', title='jFex SRJet Global #eta;#eta;Counts',
270 fillGroup=groupName,
271 type='TH1F', path=developerPath+'jJ/',xbins=100,xmin=-50,xmax=50)
272
273 helper.defineHistogram('jJ_GlobalPhi;h_jJ_GlobalPhi', title='jFex SRJet Global #phi;#phi;Counts',
274 fillGroup=groupName,
275 type='TH1F', path=developerPath+'jJ/',xbins=67,xmin=-1,xmax=65)
276
277 helper.defineHistogram('jJ_GlobalEta,jJ_GlobalPhi;h_jJ_GlobalEtaPhiMap', title="jFex SRJet Global #eta vs #phi;(int) #eta;(int) #phi",
278 fillGroup=groupName,
279 type='TH2F',path=developerPath+'jJ/', xbins=100,xmin=-50,xmax=50,ybins=67,ymin=-1,ymax=65)
280
281
282 helper.defineHistogram('jLJ_jFexNumber;h_jLJ_jFexNumber', title='jFex LRJet Module;Module number;Counts',
283 fillGroup=groupName,
284 type='TH1I', path=developerPath+'jLJ/', xbins=6,xmin=0,xmax=6)
285
286 helper.defineHistogram('jLJ_fpgaNumber;h_jLJ_fpgaNumber', title='jFex LRJet FPGA;FPGA number;Counts',
287 fillGroup=groupName,
288 type='TH1F', path=developerPath+'jLJ/',xbins=4,xmin=0,xmax=4)
289
290 helper.defineHistogram('jLJ_jFexNumber,jLJ_fpgaNumber;h_jLJ_DetectorMap', title="jFex LRJet module vs FPGA; jFEX module; FPGA",
291 fillGroup=groupName,
292 type='TH2I',path=developerPath+'jLJ/', xbins=6,xmin=0,xmax=6,ybins=4,ymin=0,ymax=4,xlabels=Modules_names,ylabels=FPGA_names)
293
294 helper.defineHistogram('jLJ_Et;h_jLJ_Et', title='jFex LRJet Transverse Energy;tobEt [200 MeV Scale];Counts',
295 fillGroup=groupName,
296 type='TH1I', path=developerPath+'jLJ/',xbins=512,xmin=0,xmax=2048)
297
298 helper.defineHistogram('jLJ_Eta;h_jLJ_Eta', title='jFex LRJet #eta;#eta;Counts',
299 fillGroup=groupName,
300 type='TH1F', path=developerPath+'jLJ/',xbins=100,xmin=-5.0,xmax=5.0)
301
302 helper.defineHistogram('jLJ_Phi;h_jLJ_Phi', title='jFex LRJet #phi;#phi;Counts',
303 fillGroup=groupName,
304 type='TH1F', path=developerPath+'jLJ/',**phi_bins)
305
306 helper.defineHistogram('jLJ_Eta,jLJ_Phi;h_jLJ_EtaPhiMap', title="jFEX LRJet #eta vs #phi;#eta;#phi",
307 fillGroup=groupName,
308 type='TH2F',path=developerPath+'jLJ/', **eta_phi_bins)
309
310 helper.defineHistogram('jLJ_GlobalEta;h_jLJ_GlobalEta', title='jFex LRJet Global #eta;#eta;Counts',
311 fillGroup=groupName,
312 type='TH1F', path=developerPath+'jLJ/',xbins=100,xmin=-50,xmax=50)
313
314 helper.defineHistogram('jLJ_GlobalPhi;h_jLJ_GlobalPhi', title='jFex LRJet Global #phi;#phi;Counts',
315 fillGroup=groupName,
316 type='TH1F', path=developerPath+'jLJ/',xbins=67,xmin=-1,xmax=65)
317
318 helper.defineHistogram('jLJ_GlobalEta,jLJ_GlobalPhi;h_jLJ_GlobalEtaPhiMap', title="jFex LRJet #eta vs #phi;(int) #eta; (int) #phi",
319 fillGroup=groupName,
320 type='TH2F',path=developerPath+'jLJ/', xbins=100,xmin=-50,xmax=50,ybins=67,ymin=-1,ymax=65)
321
322 helper.defineHistogram('jTau_jFexNumber;h_jTAU_jFexNumber', title='jFex Tau Module;Module number;Counts',
323 fillGroup=groupName,
324 type='TH1I', path=developerPath+'jTAU/', xbins=6,xmin=0,xmax=6)
325
326 helper.defineHistogram('jTau_fpgaNumber;h_jTAU_fpgaNumber', title='jFex Tau FPGA;FPGA number;Counts',
327 fillGroup=groupName,
328 type='TH1F', path=developerPath+'jTAU/',xbins=4,xmin=0,xmax=4)
329
330 helper.defineHistogram('jTau_jFexNumber,jTau_fpgaNumber;h_jTAU_DetectorMap', title="jFex Tau module vs FPGA; jFEX module; FPGA",
331 fillGroup=groupName,
332 type='TH2I',path=developerPath+'jTAU/', xbins=6,xmin=0,xmax=6,ybins=4,ymin=0,ymax=4,xlabels=Modules_names,ylabels=FPGA_names)
333
334 helper.defineHistogram('jTau_Et;h_jTAU_Et', title='jFex Tau Transverse Energy;tobEt [200 MeV Scale];Counts',
335 fillGroup=groupName,
336 type='TH1I', path=developerPath+'jTAU/',xbins=512,xmin=0,xmax=2048)
337
338 helper.defineHistogram('jTau_Iso;h_jTAU_Iso', title='jFex Tau Isolation;tobIso [200 MeV Scale];Counts',
339 fillGroup=groupName,
340 type='TH1I', path=developerPath+'jTAU/',xbins=512,xmin=0,xmax=2048)
341
342 helper.defineHistogram('jTau_Eta;h_jTAU_Eta', title='jFex Tau #eta;#eta;Counts',
343 fillGroup=groupName,
344 type='TH1F', path=developerPath+'jTAU/',xbins=100,xmin=-5.0,xmax=5.0)
345
346 helper.defineHistogram('jTau_Phi;h_jTAU_Phi', title='jFex Tau #phi;#phi;Counts',
347 fillGroup=groupName,
348 type='TH1F', path=developerPath+'jTAU/',**phi_bins)
349
350 helper.defineHistogram('jTau_GlobalEta;h_jTAU_GlobalEta', title='jFex Tau Global #eta;#eta;Counts',
351 fillGroup=groupName,
352 type='TH1F', path=developerPath+'jTAU/',xbins=100,xmin=-50,xmax=50)
353
354 helper.defineHistogram('jTau_GlobalPhi;h_jTAU_GlobalPhi', title='jFex Tau Global #phi;#phi;Counts',
355 fillGroup=groupName,
356 type='TH1F', path=developerPath+'jTAU/',xbins=67,xmin=-1,xmax=65)
357
358 helper.defineHistogram('jTau_GlobalEta,jTAU_GlobalPhi;h_jTAU_GlobalEtaPhiMap', title="jFex Tau Global #eta vs #phi;(int) #eta; (int) #phi",
359 fillGroup=groupName,
360 type='TH2F',path=developerPath+'jTAU/', xbins=100,xmin=-50,xmax=50,ybins=67,ymin=-1,ymax=65)
361
362 helper.defineHistogram('jEM_jFexNumber;h_jEM_jFexNumber', title='jFex EM Module;Module number;Counts',
363 fillGroup=groupName,
364 type='TH1I', path=developerPath+'jEM/', xbins=6,xmin=0,xmax=6)
365
366 helper.defineHistogram('jEM_fpgaNumber;h_jEM_fpgaNumber', title='jFex EM FPGA;FPGA number;Counts',
367 fillGroup=groupName,
368 type='TH1F', path=developerPath+'jEM/',xbins=4,xmin=0,xmax=4)
369
370 helper.defineHistogram('jEM_jFexNumber,jEM_fpgaNumber;h_jEM_DetectorMap', title="jFex EM module vs FPGA; jFEX module; FPGA",
371 fillGroup=groupName,
372 type='TH2I',path=developerPath+'jEM/', xbins=6,xmin=0,xmax=6,ybins=4,ymin=0,ymax=4,xlabels=Modules_names,ylabels=FPGA_names)
373
374 helper.defineHistogram('jEM_Et;h_jEM_Et', title='jFex EM Transverse Energy;tobEt [200 MeV Scale];Counts',
375 fillGroup=groupName,
376 type='TH1I', path=developerPath+'jEM/',xbins=512,xmin=0,xmax=2048)
377
378 helper.defineHistogram('jEM_Eta;h_jEM_Eta', title='jFex EM #eta;#eta;Counts',
379 fillGroup=groupName,
380 type='TH1F', path=developerPath+'jEM/',xbins=100,xmin=-5.0,xmax=5.0)
381
382 helper.defineHistogram('jEM_Phi;h_jEM_Phi', title='jFex EM #phi;#phi;Counts',
383 fillGroup=groupName,
384 type='TH1F', path=developerPath+'jEM/',**phi_bins)
385
386 em_labels = ['None','loose','medium','tight']
387 helper.defineHistogram('jEM_Iso;h_jEM_Iso', title='jFex EM Isolation;tobIso;Counts',
388 fillGroup=groupName,
389 type='TH1I', path=developerPath+'jEM/',xbins=4,xmin=0,xmax=4,xlabels=em_labels)
390
391 helper.defineHistogram('jEM_f1;h_jEM_f1', title='jFex EM Frac1;EM Frac1;Counts',
392 fillGroup=groupName,
393 type='TH1I', path=developerPath+'jEM/',xbins=4,xmin=0,xmax=4,xlabels=em_labels)
394
395 helper.defineHistogram('jEM_f2;h_jEM_f2', title='jFex EM Frac2;EM Frac2;Counts',
396 fillGroup=groupName,
397 type='TH1I', path=developerPath+'jEM/',xbins=4,xmin=0,xmax=4,xlabels=em_labels)
398
399 helper.defineHistogram('jEM_GlobalEta;h_jEM_GlobalEta', title='jFex EM Global #eta;#eta;Counts',
400 fillGroup=groupName,
401 type='TH1F', path=developerPath+'jEM/',xbins=100,xmin=-50,xmax=50)
402
403 helper.defineHistogram('jEM_GlobalPhi;h_jEM_GlobalPhi', title='jFex EM Global #phi;#phi;Counts',
404 fillGroup=groupName,
405 type='TH1F', path=developerPath+'jEM/',xbins=67,xmin=-1,xmax=65)
406
407 helper.defineHistogram('jEM_GlobalEta,jEM_GlobalPhi;h_jEM_GlobalEtaPhiMap', title="jFex EM Global #eta vs #phi;(int) #eta; (int) #phi",
408 fillGroup=groupName,
409 type='TH2F',path=developerPath+'jEM/', xbins=100,xmin=-50,xmax=50,ybins=67,ymin=-1,ymax=65)
410
411 helper.defineHistogram('jXE_X;h_jXE_X', title='jFex MET X component (tobEx);tobEx [200 MeV Scale];Counts',
412 fillGroup=groupName,
413 type='TH1I', path=developerPath+'jXE/',xbins=1000,xmin=-500,xmax=500)
414
415 helper.defineHistogram('jXE_Y;h_jXE_Y', title='jFex MET Y component (tobEy);tobEy [200 MeV Scale];Counts',
416 fillGroup=groupName,
417 type='TH1I', path=developerPath+'jXE/',xbins=1000,xmin=-500,xmax=500)
418
419 helper.defineHistogram('jXE_MET;h_jXE_MET', title='jFex MET ;Total jXE [200 MeV Scale];Counts',
420 fillGroup=groupName,
421 type='TH1F', path=developerPath+'jXE/',xbins=500,xmin=0,xmax=1000)
422
423 helper.defineHistogram('jXE_phi;h_jXE_phi', title='jFex MET phi ;#phi=atan(Ey/Ex) values;Counts',
424 fillGroup=groupName,
425 type='TH1F', path=developerPath+'jXE/',xbins=66,xmin=-math.pi,xmax=math.pi)
426
427
428
429 helper.defineHistogram('jTE_low;h_jTE_low', title='jFex SumEt low #eta;tob Et_lower [200 MeV Scale];Counts',
430 fillGroup=groupName,
431 type='TH1I', path=developerPath+'jTE/',xbins=700,xmin=0,xmax=700)
432
433 helper.defineHistogram('jTE_high;h_jTE_high', title='jFex SumEt high #eta;tob Et_upper [200 MeV Scale];Counts',
434 fillGroup=groupName,
435 type='TH1I', path=developerPath+'jTE/',xbins=700,xmin=0,xmax=700)
436
437 helper.defineHistogram('jTE_SumEt;h_jTE_SumEt', title='jFex SumEt total ;Total jTE [200 MeV Scale];Counts',
438 fillGroup=groupName,
439 type='TH1F', path=developerPath+'jTE/',xbins=1000,xmin=0,xmax=4000)
440
441
442 acc = helper.result()
443 result.merge(acc)
444 return result
445
446