Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
LArDigitalTriggMonAlg Namespace Reference

Functions

def LArDigitalTriggMonConfig (flags, larLATOMEBuilderAlg, nsamples=32, streamTypes=[])
 

Function Documentation

◆ LArDigitalTriggMonConfig()

def LArDigitalTriggMonAlg.LArDigitalTriggMonConfig (   flags,
  larLATOMEBuilderAlg,
  nsamples = 32,
  streamTypes = [] 
)
Function to configures some algorithms in the monitoring system.

Definition at line 30 of file LArDigitalTriggMonAlg.py.

30 def LArDigitalTriggMonConfig(flags,larLATOMEBuilderAlg, nsamples=32, streamTypes=[]):
31  '''Function to configures some algorithms in the monitoring system.'''
32  # The following class will make a sequence, configure algorithms, and link
33  # them to GenericMonitoringTools
34 
35  from AthenaMonitoring.AthMonitorCfgHelper import AthMonitorCfgHelper
36  helper = AthMonitorCfgHelper(flags,'LArDigitalTriggMonAlgCfg')
37 
38  from LArMonitoring.GlobalVariables import lArDQGlobals
39 
40  from AthenaCommon.Logging import logging
41  mlog = logging.getLogger( 'LArDigitalTriggMon' )
42 
43  if not flags.DQ.enableLumiAccess:
44  from LumiBlockComps.LuminosityCondAlgConfig import LuminosityCondAlgCfg
45  helper.resobj.merge(LuminosityCondAlgCfg(flags))
46 
47  #get SC onl-offl mapping from DB
48  from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
49  helper.resobj.merge(LArOnOffIdMappingSCCfg(flags))
50 
51  # and elec. calib. coeffs
52  from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBSCCfg
53  helper.resobj.merge(LArElecCalibDBSCCfg(flags, condObjs=["Ramp","DAC2uA", "Pedestal", "uA2MeV", "MphysOverMcal", "OFC", "Shape", "HVScaleCorr"]))
54 
55 
56 
57  larDigitalTriggMonAlg = helper.addAlgorithm(CompFactory.LArDigitalTriggMonAlg('larDigitalTriggMonAlg'))
58  larDigitalTriggMonAlg.ProblemsToMask=["maskedOSUM"] #highNoiseHG","highNoiseMG","highNoiseLG","deadReadout","deadPhys"]
59 
60  hasEtId = False
61  hasEt = False
62  hasAdc = False
63  hasAdcBas = False
64  for i in range(0,len(streamTypes)):
65  mlog.info("runinfo.streamTypes()[i]: "+str(streamTypes[i]))
66  if streamTypes[i] == "SelectedEnergy":
67  hasEtId = True
68  larDigitalTriggMonAlg.LArRawSCContainerKey = "SC_ET_ID"
69  if streamTypes[i] == "Energy":
70  hasEt = True
71  larDigitalTriggMonAlg.LArRawSCContainerKey = "SC_ET"
72  if streamTypes[i] == "RawADC":
73  hasAdc = True
74  larLATOMEBuilderAlg.LArDigitKey = "SC"
75  larLATOMEBuilderAlg.isADCBas = False
76  larDigitalTriggMonAlg.LArDigitContainerKey = "SC"
77  if streamTypes[i] == "ADC":
78  hasAdcBas = True
79  larDigitalTriggMonAlg.isADCBas = True
80  larDigitalTriggMonAlg.LArDigitContainerKey = "SC_ADC_BAS"
81  larLATOMEBuilderAlg.isADCBas = True
82  larLATOMEBuilderAlg.LArDigitKey = "SC_ADC_BAS"
83 
84  if (hasEtId and hasEt): #prefer EtId if both in recipe
85  hasEt = False
86  #larDigitalTriggMonAlg.EtName = "SC_ET_ID"
87 
88  if (hasAdc and hasAdcBas): #prefer Raw Adc if both in recipe
89  hasAdc = False
90  larDigitalTriggMonAlg.isADCBas=False
91 
92  mlog.info("Mux settings from COOL:")
93  mlog.info("has ET Id: "+str(hasEtId))
94  mlog.info("has ET: "+str(hasEt))
95  mlog.info("has ADC: "+str(hasAdc))
96  mlog.info("has ADC Bas: "+str(hasAdcBas))
97 
98  SCGroupName="SC"
99  larDigitalTriggMonAlg.SCMonGroup=SCGroupName
100  # uncomment if needed:
101  #larDigitalTriggMonAlg.FileKey="CombinedMonitoring"
102 
103  SCGroup = helper.addGroup(
104  larDigitalTriggMonAlg,
105  SCGroupName,
106  '/LArDigitalTrigger/',
107  'run'
108  )
109 
110  sc_hist_path='/'
111 
112  LatomeDetBinMapping = dict([
113  ("0x48",{"Subdet":"FCALC","Bin":1}),
114  ("0x4c",{"Subdet":"EMEC/HECC","Bin":3}),
115  ("0x44",{"Subdet":"EMECC","Bin":11}),
116  ("0x4a",{"Subdet":"EMB/EMECC","Bin":27}),
117  ("0x42",{"Subdet":"EMBC","Bin":43}),
118  ("0x41",{"Subdet":"EMBA","Bin":59}),
119  ("0x49",{"Subdet":"EMB/EMECA","Bin":75}),
120  ("0x43",{"Subdet":"EMECA","Bin":91}),
121  ("0x4b",{"Subdet":"EMEC/HECA","Bin":107}),
122  ("0x47",{"Subdet":"FCALA","Bin":115})
123  ])
124  NLatomeBins=117
125  NLatomeBins_side=59
126 
127  BinLabel_LATOME=[]
128  BinLabel_LATOME_A=[]
129  BinLabel_LATOME_C=[]
130  phi=0
131  for bb in range (0,NLatomeBins):
132  Label=""
133  for detID in LatomeDetBinMapping:
134  if bb==(LatomeDetBinMapping[detID]["Bin"]-1):
135  Label=LatomeDetBinMapping[detID]["Subdet"]
136  phi=1
137  break
138  if bb < NLatomeBins_side:
139  BinLabel_LATOME_C+=[Label+str(phi)]
140  else:
141  BinLabel_LATOME_A+=[Label+str(phi)]
142 
143  BinLabel_LATOME+=[Label+str(phi)]
144  phi+=1
145 
146 
147 
148 
149  iphi_bins_dict = {"ALL": 63, "EMB": 63, "EMEC": 63, "HEC": 63, "FCAL": 15}
150 
151 
152 
153 
154  SCGroup.defineHistogram('lumi_block,event_size;EventSize_vs_LB',
155  title='Digital trigger event size per LB; LumiBlock; Event size [MB]',
156  type='TProfile',
157  path=sc_hist_path,
158  xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max)
159 
160 
161 
162 
163  partGroup_digi = helper.addArray([larDigitalTriggMonAlg.LayerNames], larDigitalTriggMonAlg, 'LArDigitalTriggerMon_digi', topPath='/LArDigitalTrigger/')
164  partGroup_sc = helper.addArray([larDigitalTriggMonAlg.LayerNames], larDigitalTriggMonAlg, 'LArDigitalTriggerMon_sc', topPath='/LArDigitalTrigger/')
165 
166  for part in larDigitalTriggMonAlg.LayerNames:
167  selStrPart = {}
168  for sel in selStr.keys():
169  selStrPart[sel] = "in "+part+" "+selStr[sel]
170  iphi_bins = 63
171  for key in iphi_bins_dict.keys():
172  if part.startswith(key):
173  iphi_bins = iphi_bins_dict[key]
174 
175  if part == "ALL":
176  partxbins=lArDQGlobals.SuperCell_Variables["etaRange"]["All"]["All"]
177  partybins=lArDQGlobals.SuperCell_Variables["phiRange"]["All"]["All"]
178  topPath=""
179  else:
180  topPath="PerPartition/"
181  Side = part[-1]
182  if "HEC" in part:
183  Sampling = "0"
184  Part = part[:-1]
185  else:
186  Sampling = part[-2]
187  Part = part[:-2]
188  if Part == "FCAL":
189  Part = "FCal"
190  if Sampling == "P":
191  Sampling = "0"
192  partxbins=lArDQGlobals.SuperCell_Variables["etaRange"][Part][Side][Sampling]
193  partybins=lArDQGlobals.SuperCell_Variables["phiRange"][Part][Side][Sampling]
194 
195 
196 
197 
198  for thisSel in [ "passDigiNom", "badNotMasked"]:
199  thisTopPath=f"/{thisSel}/{topPath}"
200  # Histos that we only want for all partitions/layers combined lalala
201  if part == "ALL":
202  partGroup_digi.defineHistogram('Digi_part_maxpos,Digi_part_partition;Partition_vs_maxSamplePosition_'+thisSel,
203  title='Partition vs. position of max sample '+selStrPart[thisSel],
204  cutmask='Digi_part_'+thisSel,
205  type='TH2F',
206  path=thisTopPath,
207  xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
208  ybins=lArDQGlobals.N_Partitions, ymin=-0.5, ymax=lArDQGlobals.N_Partitions-0.5,
209  xlabels = [str(x) for x in range(1,nsamples+1)],
210  ylabels=lArDQGlobals.Partitions,
211  pattern=[(part)])
212 
213  partGroup_digi.defineHistogram('Digi_part_latomesourceidbin,Digi_part_adc;ADCFullRange_vs_LATOME_'+thisSel,
214  title='ADC vs LATOME name '+selStrPart[thisSel]+'; ; ADC',
215  cutmask='Digi_part_'+thisSel,
216  type='TH2F',
217  path=thisTopPath,
218  xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
219  ybins=500, ymin=-2, ymax=2500, #raw ADC is 12 bit
220  xlabels=BinLabel_LATOME,
221  pattern=[(part)])
222 
223  partGroup_digi.defineHistogram('Digi_part_latomesourceidbin,Digi_part_pedestal;Pedestal_vs_LATOME_'+thisSel,
224  title='Pedestal vs LATOME name '+selStrPart[thisSel]+'; ; Pedestal',
225  cutmask='Digi_part_'+thisSel,
226  type='TH2F',
227  path=thisTopPath,
228  xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
229  ybins=500, ymin=-2, ymax=2500, #raw ADC is 12 bit
230  xlabels=BinLabel_LATOME,
231  pattern=[(part)])
232 
233  partGroup_digi.defineHistogram('Digi_part_latomesourceidbin,Digi_part_maxpos;MaxSamplePosition_vs_LATOME_'+thisSel,
234  title='Position of max sample vs. LATOME '+selStrPart[thisSel],
235  type='TH2F',
236  cutmask='Digi_part_'+thisSel,
237  path=thisTopPath,
238  xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
239  ybins=nsamples,ymin=0.5,ymax=nsamples+0.5,
240  xlabels=BinLabel_LATOME,
241  ylabels = [str(x) for x in range(1,nsamples+1)],
242  pattern=[(part)])
243 
244  partGroup_digi.defineHistogram('Digi_part_latomesourceidbin,Digi_part_diff_adc0_ped;Diff_ADC0_Ped_vs_LATOME_'+thisSel,
245  title='ADC[0] - Pedestal vs LATOME name '+selStrPart[thisSel]+'; ; ADC[0] - Pedestal',
246  type='TH2F',
247  cutmask='Digi_part_'+thisSel,
248  path=thisTopPath,
249  xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
250  ybins=64, ymin=-32, ymax=32,
251  xlabels=BinLabel_LATOME,
252  pattern=[(part)])
253 
254  partGroup_digi.defineHistogram('Digi_part_latomesourceidbin,Digi_part_diff_adc_ped_norm;Diff_ADC_Ped_Norm_vs_LATOME_'+thisSel,
255  title='(ADC-ped)/fabs(ADC_max-ped) '+selStrPart[thisSel]+'; LATOME Name; (ADC - pedestal) / fabs(ADC_max - pedestal)',
256  type='TH2F',
257  cutmask='Digi_part_'+thisSel,
258  path=thisTopPath,
259  xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
260  ybins=64, ymin=-32, ymax=32,
261  xlabels=BinLabel_LATOME,
262  pattern=[(part)])
263 
264 
265 
266  partGroup_digi.defineHistogram('Digi_part_eta,Digi_part_phi;Coverage_Eta_Phi_'+thisSel,
267  title='SC coverage '+selStrPart[thisSel]+': #phi vs #eta;#eta;#phi',
268  type='TH2F',
269  path=thisTopPath+'/Coverage',
270  cutmask='Digi_part_'+thisSel,
271  xbins=partxbins,
272  ybins=partybins,
273  pattern=[(part)])
274 
275 
276  if not flags.Common.isOnline: continue # Skip the remaining histos if we are running offline
277 
278  if thisSel != "passDigiNom": continue
279  partGroup_digi.defineHistogram('Digi_part_eta,Digi_part_phi,Digi_part_diff_adc0_ped;Coverage_Diff_ADC0_Ped_'+thisSel,
280  title='ADC[0] - Pedestal'+selStrPart[thisSel]+': #phi vs #eta;#eta;#phi',
281  type='TProfile2D',
282  cutmask='Digi_part_'+thisSel,
283  path=thisTopPath+'/Coverage',
284  xbins=partxbins,
285  ybins=partybins,
286  pattern=[(part)])
287 
288 
289 
290  partGroup_digi.defineHistogram('Digi_part_BCID,Digi_part_iphi,Digi_part_diff_adc_ped;Diff_ADC_Ped_Per_BCID_Per_iphi_'+thisSel,
291  title='ADC - Pedestal (all samples) '+selStrPart[thisSel]+': iphi vs BCID;BCID;iphi',
292  type='TProfile2D',
293  cutmask='Digi_part_'+thisSel,
294  path=thisTopPath,
295  xbins=3564,xmin=-0.5,xmax=3563.5,
296  ybins=iphi_bins+1,ymin=0,ymax=iphi_bins+1, # Make a lardqglobals for ieta iphi?
297  pattern=[(part)])
298 
299 
300 
301 
302 
303 
304  partGroup_digi.defineHistogram('Digi_part_sampos,Digi_part_adc;ADCZoom_vs_SamplePosition_'+thisSel,
305  title='ADC (zoom) vs sample position '+selStrPart[thisSel],
306  cutmask='Digi_part_'+thisSel,
307  type='TH2F',
308  path=thisTopPath,
309  xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
310  xlabels = [str(x) for x in range(1,nsamples+1)],
311  ybins=750, ymin=0, ymax=1300, #start from 0 otherwise miss endcap pedestals
312  pattern=[(part)])
313 
314  partGroup_digi.defineHistogram('Digi_part_sampos,Digi_part_adc;ADCFullRange_vs_SamplePosition_'+thisSel,
315  title='ADC vs sample position '+selStrPart[thisSel],
316  cutmask='Digi_part_'+thisSel,
317  type='TH2F',
318  path=thisTopPath,
319  xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
320  xlabels = [str(x) for x in range(1,nsamples+1)],
321  ybins=500, ymin=0, ymax=5000, #raw ADC is 12 bit
322  pattern=[(part)])
323 
324  partGroup_digi.defineHistogram('Digi_part_sampos,Digi_part_pedestal;Pedestal_vs_SamplePosition_'+thisSel,
325  title='Pedestal vs sample position '+selStrPart[thisSel],
326  cutmask='Digi_part_'+thisSel,
327  type='TH2F',
328  path=thisTopPath,
329  xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
330  xlabels = [str(x) for x in range(1,nsamples+1)],
331  ybins=500, ymin=0, ymax=5000, #raw ADC is 12 bit
332  pattern=[(part)])
333 
334  partGroup_digi.defineHistogram('Digi_part_diff_adc0_ped;Diff_ADC0_Ped_'+thisSel,
335  title='LATOME (ADC[0]-ped) '+selStrPart[thisSel]+'; (ADC - pedestal)',
336  type='TH1F',
337  cutmask='Digi_part_'+thisSel,
338  path=thisTopPath,
339  xbins=50,xmin=-25,xmax=25,
340  pattern=[(part)])
341 
342  partGroup_digi.defineHistogram('Digi_part_sampos,Digi_part_diff_adc_ped_norm;Diff_ADC_Ped_Norm_vs_SamplePosition_'+thisSel,
343  title='(ADC-ped)/fabs(ADC_max-ped) '+selStrPart[thisSel]+'; Sample position; (ADC - pedestal) / fabs(ADC_max - pedestal)',
344  type='TH2F',
345  cutmask='Digi_part_'+thisSel,
346  path=thisTopPath,
347  ybins=40,ymin=-1,ymax=1,
348  xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
349  xlabels = [str(x) for x in range(1,nsamples+1)],
350  pattern=[(part)])
351 
352  partGroup_digi.defineHistogram('Digi_part_BCID, Digi_part_adc;ADC_vs_BCID_'+thisSel,
353  title='ADC value vs BCID '+selStrPart[thisSel]+'; BCID; ADC Value',
354  type='TProfile',
355  cutmask='Digi_part_'+thisSel,
356  path=thisTopPath,
357  xbins=3564,xmin=-0.5,xmax=3563.5,
358  ybins=500, ymin=0, ymax=5000,
359  pattern=[(part)])
360 
361  partGroup_digi.defineHistogram('Digi_part_BCID, Digi_part_diff_adc0_ped;Diff_ADC0_Ped_vs_BCID_'+thisSel,
362  title='ADC[0] - Ped value vs BCID '+selStrPart[thisSel]+'; BCID; ADC[0] Value',
363  type='TProfile',
364  cutmask='Digi_part_'+thisSel,
365  path=thisTopPath,
366  xbins=3564,xmin=-0.5,xmax=3563.5,
367  ybins=500, ymin=-5, ymax=5,
368  pattern=[(part)])
369 
370  partGroup_digi.defineHistogram('Digi_part_lb, Digi_part_adc;ADC_vs_LB_'+thisSel,
371  title='ADC value vs LB '+selStrPart[thisSel]+'; LB; ADC Value',
372  type='TProfile',
373  cutmask='Digi_part_'+thisSel,
374  path=thisTopPath,
375  xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max,
376  ybins=500, ymin=0, ymax=5000,
377  pattern=[(part)])
378 
379 
380 
381  for thisSel in [ "passSCNom", "passSCNom1", "passSCNom10", "passSCNom10tauGt3", "saturNotMasked", "OFCbOFNotMasked", "onlofflEmismatch", "notMaskedEoflNe0", "notMaskedEoflGt1"]:
382  thisTopPath=f"/{thisSel}/{topPath}"
383  # Histos that we only want for all partitions/layers combined lalala
384  if part == "ALL":
385  partGroup_sc.defineHistogram('SC_part_latomesourceidbin,SC_part_et_onl;SC_ET_Onl_vs_LATOME_'+thisSel,
386  title='SC ET [GeV] vs LATOME name '+selStrPart[thisSel]+'; ; ET SC [GeV]',
387  type='TH2F',
388  cutmask='SC_part_'+thisSel,
389  path=thisTopPath,
390  xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
391  ybins=200, ymin=-10, ymax=200,
392  xlabels=BinLabel_LATOME,
393  pattern=[(part)])
394 
395 
396  partGroup_sc.defineHistogram('SC_part_LB,SC_part_latomesourceidbin;LB_vs_LATOME_'+thisSel,
397  title='LATOME name vs LB '+selStrPart[thisSel]+';LB;LATOME',
398  type='TH2F',
399  cutmask='SC_part_'+thisSel,
400  path=thisTopPath,
401  xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max,
402  ybins=NLatomeBins,ymin=1,ymax=NLatomeBins+1,
403  ylabels=BinLabel_LATOME,
404  pattern=[(part)])
405 
406  partGroup_sc.defineHistogram('SC_part_time,SC_part_et_ofl;time_vs_et_ofl_'+thisSel,
407  title='SC coverage '+selStrPart[thisSel]+': #tau vs ET ofl;#tau;ET ofl',
408  type='TH2F',
409  cutmask='SC_part_'+thisSel,
410  path=thisTopPath,
411  xbins=500,xmin=-50,xmax=50,
412  ybins=500,ymin=-10,ymax=70,
413  pattern=[(part)])
414 
415 
416  partGroup_sc.defineHistogram('SC_part_latomesourceidbin,SC_part_time;MeanOfflineLATOMEtime_vs_LATOME_'+thisSel,
417  title='Average LATOME #tau from Offline computation per LATOME'+selStrPart[thisSel]+'; LATOME ; #tau [ns]',
418  type='TH2F',
419  cutmask='SC_part_'+thisSel,
420  path=thisTopPath,
421  xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
422  ybins=200, ymin=-50, ymax=50,
423  xlabels=BinLabel_LATOME,
424  pattern=[(part)])
425 
426  partGroup_sc.defineHistogram('SC_part_LB,SC_part_latomesourceidbin,SC_part_time;MeanOfflineLATOMEtime_perLB_perLATOME_'+thisSel,
427  title='SC #tau '+selStrPart[thisSel]+': LATOME vs LB;LB;LATOME',
428  type='TProfile2D',
429  cutmask='SC_part_'+thisSel,
430  path=thisTopPath,
431  xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max,
432  ybins=NLatomeBins,ymin=1,ymax=NLatomeBins+1,
433  ylabels=BinLabel_LATOME,
434  pattern=[(part)])
435 
436  partGroup_sc.defineHistogram('SC_part_LB,SC_part_time;MeanOfflineLATOMEtime_vs_LB_'+thisSel,
437  title='Average LATOME #tau from Offline computation per LB '+selStrPart[thisSel]+'; LumiBloc; #tau [ns]',
438  type='TProfile',
439  cutmask='SC_part_'+thisSel,
440  path=thisTopPath,
441  xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max,
442  pattern=[(part)])
443 
444 
445 
446 
447  partGroup_sc.defineHistogram('SC_part_eta,SC_part_phi;Coverage_Eta_Phi_'+thisSel,
448  title='SC coverage '+selStrPart[thisSel]+': #phi vs #eta;#eta;#phi',
449  type='TH2F',
450  cutmask='SC_part_'+thisSel,
451  path=thisTopPath+'/Coverage',
452  xbins=partxbins,
453  ybins=partybins,
454  pattern=[(part)])
455 
456 
457  partGroup_sc.defineHistogram('SC_part_time;OfflineLATOMEtime_'+thisSel,
458  title='LATOME #tau from Offline Computation '+selStrPart[thisSel]+';#tau [ns]; Evts;',
459  type='TH1F',
460  cutmask='SC_part_'+thisSel,
461  path=thisTopPath,
462  xbins=100,xmin=-25,xmax=25,
463  pattern=[(part)])
464 
465 
466  if not flags.Common.isOnline: continue # Skip the remaining histos if we are running offline
467 
468  if thisSel != "passSCNom1": continue
469 
470  partGroup_sc.defineHistogram('SC_part_eta,SC_part_phi,SC_part_et_onl;Coverage_Et_Onl_'+thisSel,
471  title='SC Energy '+selStrPart[thisSel]+': #phi vs #eta;#eta;#phi',
472  type='TProfile2D',
473  cutmask='SC_part_'+thisSel,
474  path=thisTopPath+'/Coverage',
475  xbins=partxbins,
476  ybins=partybins,
477  pattern=[(part)])
478 
479  partGroup_sc.defineHistogram('SC_part_eta,SC_part_phi,SC_part_time;Coverage_OfflineLATOMEtime_'+thisSel,
480  title='LATOME #tau from Offline Computation '+selStrPart[thisSel]+': #phi vs #eta;#eta;#phi',
481  type='TProfile2D',
482  cutmask='SC_part_'+thisSel,
483  path=thisTopPath+'/Coverage',
484  xbins=partxbins,
485  ybins=partybins,
486  pattern=[(part)])
487 
488  partGroup_sc.defineHistogram('SC_part_et_onl,SC_part_et_ofl;ET_Ofl_vs_ET_Onl_'+thisSel,
489  title='LATOME ET vs Offline Computation '+selStrPart[thisSel]+'; ET Onl;ET Offl [GeV]',
490  type='TH2F',
491  cutmask='SC_part_'+thisSel,
492  path=thisTopPath,
493  xbins=0,xmin=0,xmax=20,
494  ybins=0,ymin=0,ymax=20,
495  pattern=[(part)])
496 
497  partGroup_sc.defineHistogram('SC_part_et_diff;ET_Diff_OnlOfl_'+thisSel,
498  title='LATOME ET vs Offline Computation '+selStrPart[thisSel]+'; ET Onl - ET Offl [GeV]; Evts;',
499  type='TH1F',
500  cutmask='SC_part_'+thisSel,
501  path=thisTopPath,
502  xbins=200,xmin=-10,xmax=10,
503  pattern=[(part)])
504 
505 
506  partGroup_sc.defineHistogram('SC_part_et_onl;SC_ET_Onl_'+thisSel,
507  title='SC eT [GeV] '+selStrPart[thisSel],
508  type='TH1F',
509  cutmask='SC_part_'+thisSel,
510  path=thisTopPath,
511  xbins=500, xmin=-100, xmax=400,
512  pattern=[(part)])
513 
514 
515  partGroup_sc.defineHistogram('SC_part_BCID,SC_part_time;MeanOfflineLATOMEtime_vs_BCID_'+thisSel,
516  title='Average LATOME #tau from Offline computation per BCID '+selStrPart[thisSel]+'; BCID; #tau [ns]',
517  type='TProfile',
518  cutmask='SC_part_'+thisSel,
519  path=thisTopPath,
520  xbins=3564,xmin=-0.5,xmax=3563.5,
521  pattern=[(part)])
522 
523  partGroup_sc.defineHistogram('SC_part_BCID,SC_part_et_onl_muscaled;AvEnergyVsBCID_'+thisSel,
524  title='Average Energy vs BCID '+selStrPart[thisSel]+'; BCID; Energy per SC [MeV]',
525  type='TProfile',
526  cutmask='SC_part_'+thisSel,
527  path=thisTopPath,
528  xbins=3564,xmin=-0.5,xmax=3563.5,
529  ybins=10, ymin=-20, ymax=20,
530  pattern=[(part)])
531 
532 
533  return helper.result()
534 
535 
python.LuminosityCondAlgConfig.LuminosityCondAlgCfg
def LuminosityCondAlgCfg(flags, useOnlineLumi=None, suffix=None)
Definition: LuminosityCondAlgConfig.py:17
LArCablingConfig.LArOnOffIdMappingSCCfg
def LArOnOffIdMappingSCCfg(configFlags)
Definition: LArCablingConfig.py:65
LArDigitalTriggMonAlg.LArDigitalTriggMonConfig
def LArDigitalTriggMonConfig(flags, larLATOMEBuilderAlg, nsamples=32, streamTypes=[])
Definition: LArDigitalTriggMonAlg.py:30
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
python.LArElecCalibDBConfig.LArElecCalibDBSCCfg
def LArElecCalibDBSCCfg(flags, condObjs, sqlite=None)
Definition: LArElecCalibDBConfig.py:126
str
Definition: BTagTrackIpAccessor.cxx:11