ATLAS Offline Software
EventAthenaPoolTestDump.py
Go to the documentation of this file.
1 
10 
11 
12 from PyUtils.fprint import fprint
13 import ROOT
14 
15 
16 def toiter (beg, end):
17  while beg != end:
18  yield beg.__deref__()
19  beg.__preinc__()
20  return
21 
22 
24  """Helper for doing formatting compatibly with py2.
25 
26 Convert X to a string, but add a `L' to the ends of integers.
27 Can be used for formatting expressions that using longs in py2.
28 """
29  if isinstance (x, list):
30  sl = [formatItemUsingLong (xx) for xx in x]
31  return '[' + ', '.join (sl) + ']'
32  if isinstance (x, tuple):
33  sl = [formatItemUsingLong (xx) for xx in x]
34  return '(' + ', '.join (sl) + ')'
35  if isinstance (x, int):
36  return str(x) + 'L'
37  return repr(x)
38 
39 
40 def dump_EventID (e, f):
41  fprint (f, '%9d %9d %9d %9d %9d %9d' %
42  (e.run_number(),
43  e.event_number(),
44  e.time_stamp(),
45  e.time_stamp_ns_offset(),
46  e.lumi_block(),
47  e.bunch_crossing_id()))
48  return
49 
50 
51 def dump_EventType (e, f):
52  fprint (f, e.typeToString(), e.user_type(), e.mc_event_weight())
53  return
54 
55 
56 def dump_TriggerInfo (e, f):
57  fprint (f, e.statusElement(), e.extendedLevel1ID(), e.level1TriggerType())
58  fprint (f, '\n l2:', formatItemUsingLong ([x for x in e.level2TriggerInfo()]))
59  fprint (f, '\n ef:', formatItemUsingLong ([x for x in e.eventFilterInfo()]))
60  fprint (f, '\n st:', [(x.name(), x.type(), x.obeysLumiblock()) for x in e.streamTags()])
61  return
62 
63 
64 def dump_EventInfo (e, f):
65  fprint (f, e.clID())
66  dump_EventID (e.event_ID(), f)
67  fprint (f, '\n ')
68  fprint (f, e.actualInteractionsPerCrossing(), e.averageInteractionsPerCrossing())
69  for i in range(ROOT.EventInfo.nDets):
70  fprint (f, '\n det', i, e.eventFlags(i), e.errorState(i))
71  fprint (f, '\n ')
72  dump_EventType (e.event_type(), f)
73  fprint (f, '\n tg')
74  dump_TriggerInfo (e.trigger_info(), f)
75  return
76 
77 
79  fprint (f, 'nevents: ', e.getNumberOfEvents())
80  fprint (f, '\nrun numbers: ', formatItemUsingLong(list(e.getRunNumbers())))
81  fprint (f, '\nlb numbers: ', formatItemUsingLong(list(e.getLumiBlockNumbers())))
82  fprint (f, '\nproc tags: ', list(e.getProcessingTags()))
83  fprint (f, '\nitem list: ', formatItemUsingLong([(p.first, p.second) for p in e.getItemList()]))
84  for typ in list(e.getEventTypes()):
85  fprint (f, '\n ')
86  dump_EventType (typ, f)
87  return
88 
89 
91  dump_EventInfo (e, f)
92  for (i,s) in enumerate (toiter (e.beginSubEvt(), e.endSubEvt())):
93  fprint (f, '\n subevt', i, s.time(), s.index(), s.BCID(), s.type())
94  return
95 
96 
97 def get_dumper_fct(klass, ofile, nmax):
98  cname = klass.__name__
99  if cname == 'EventInfo':
100  def dumper (o):
101  return dump_EventInfo (o, ofile)
102  return dumper
103  elif cname == 'EventStreamInfo':
104  def dumper (o):
105  return dump_EventStreamInfo (o, ofile)
106  return dumper
107  elif cname == 'PileUpEventInfo':
108  def dumper (o):
109  return dump_PileUpEventInfo (o, ofile)
110  return dumper
111  else:
112  print ('xxx', cname)
113  assert 0
EventAthenaPoolTestDump.dump_EventStreamInfo
def dump_EventStreamInfo(e, f)
Definition: EventAthenaPoolTestDump.py:78
EventAthenaPoolTestDump.dump_EventID
def dump_EventID(e, f)
Definition: EventAthenaPoolTestDump.py:40
EventAthenaPoolTestDump.dump_EventType
def dump_EventType(e, f)
Definition: EventAthenaPoolTestDump.py:51
EventAthenaPoolTestDump.toiter
def toiter(beg, end)
Definition: EventAthenaPoolTestDump.py:16
EventAthenaPoolTestDump.dump_TriggerInfo
def dump_TriggerInfo(e, f)
Definition: EventAthenaPoolTestDump.py:56
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
PyAthena::repr
std::string repr(PyObject *o)
returns the string representation of a python object equivalent of calling repr(o) in python
Definition: PyAthenaUtils.cxx:106
EventAthenaPoolTestDump.get_dumper_fct
def get_dumper_fct(klass, ofile, nmax)
Definition: EventAthenaPoolTestDump.py:97
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
EventAthenaPoolTestDump.dump_EventInfo
def dump_EventInfo(e, f)
Definition: EventAthenaPoolTestDump.py:64
str
Definition: BTagTrackIpAccessor.cxx:11
EventAthenaPoolTestDump.dump_PileUpEventInfo
def dump_PileUpEventInfo(e, f)
Definition: EventAthenaPoolTestDump.py:90
EventAthenaPoolTestDump.formatItemUsingLong
def formatItemUsingLong(x)
Definition: EventAthenaPoolTestDump.py:23