ATLAS Offline Software
Classes | Functions | Variables
xAODRootTest Namespace Reference

Classes

class  AllocTestRead
 
class  Analysis
 
class  xAODTestClearDecor
 
class  xAODTestCopy
 
class  xAODTestDecor
 
class  xAODTestPDecor
 
class  xAODTestRead
 

Functions

def CHECK (sc)
 
def _typename (t)
 
def xAODInit ()
 
def format_int (x)
 
def format_float (x)
 
def format_el (x)
 
def format_float_vec (v)
 
def format_int_vec (v)
 
def dump_auxitem (x, auxid, f=sys.stdout)
 
def dump_auxdata (x, exclude=[], f=sys.stdout)
 
def dump_c (c, f=sys.stdout)
 
def dump_h (h, f=sys.stdout)
 
def copy_obj (event, obj, key)
 
def copy_vec (event, obj, key)
 
def copy_view (event, obj, key)
 

Variables

dictionary accessors
 

Function Documentation

◆ _typename()

def xAODRootTest._typename (   t)
private

Definition at line 34 of file xAODRootTest.py.

34 def _typename(t):
35  return getattr (t, '__cpp_name__', t.__name__)
36 

◆ CHECK()

def xAODRootTest.CHECK (   sc)

Definition at line 25 of file xAODRootTest.py.

25 def CHECK(sc):
26  if not sc.isSuccess():
27  raise Exception ('bad StatusCode')
28  return
29 
30 
31 
32 reg=ROOT.SG.AuxTypeRegistry.instance()
33 

◆ copy_obj()

def xAODRootTest.copy_obj (   event,
  obj,
  key 
)

Definition at line 117 of file xAODRootTest.py.

117 def copy_obj (event, obj, key):
118  copy = obj.__class__()
119  copy_aux = obj.getConstStore().__class__()
120  copy.setNonConstStore (copy_aux)
121  copy.__assign__ (obj)
122  CHECK (event.record (copy, key))
123  CHECK (event.record (copy_aux, key + 'Aux.'))
124  ROOT.SetOwnership (copy, False)
125  ROOT.SetOwnership (copy_aux, False)
126  return
127 
128 

◆ copy_vec()

def xAODRootTest.copy_vec (   event,
  obj,
  key 
)

Definition at line 129 of file xAODRootTest.py.

129 def copy_vec (event, obj, key):
130  copy = obj.__class__()
131  copy_aux = obj.getConstStore().__class__()
132  copy.setNonConstStore (copy_aux)
133  for i in range(obj.size()):
134  elt_orig = obj[i]
135  if _typename (elt_orig.__class__).startswith ('DataModel_detail::ElementProxy<'):
136  elt_orig = elt_orig.__follow__()
137  elt = elt_orig.__class__()
138  copy.push_back(elt)
139  ROOT.SetOwnership (elt, False)
140  elt.__assign__ (elt_orig)
141  CHECK (event.record (copy, key))
142  CHECK (event.record (copy_aux, key + 'Aux.'))
143  ROOT.SetOwnership (copy, False)
144  ROOT.SetOwnership (copy_aux, False)
145  return
146 
147 

◆ copy_view()

def xAODRootTest.copy_view (   event,
  obj,
  key 
)

Definition at line 148 of file xAODRootTest.py.

148 def copy_view (event, obj, key):
149  copy = obj.__class__(obj)
150  copy.toPersistent()
151  CHECK (event.record (copy, key))
152  ROOT.SetOwnership (copy, False)
153  return
154 
155 

◆ dump_auxdata()

def xAODRootTest.dump_auxdata (   x,
  exclude = [],
  f = sys.stdout 
)

Definition at line 89 of file xAODRootTest.py.

89 def dump_auxdata (x, exclude=[], f = sys.stdout):
90  auxids = list(x.getAuxIDs())
91  auxids = [(reg.getName(id), id) for id in auxids]
92  auxids.sort()
93  for name, auxid in auxids:
94  if name in exclude: continue
95  print (name + ': ', file=f, end='')
96  dump_auxitem (x, auxid, f)
97  return
98 
99 

◆ dump_auxitem()

def xAODRootTest.dump_auxitem (   x,
  auxid,
  f = sys.stdout 
)

Definition at line 77 of file xAODRootTest.py.

77 def dump_auxitem (x, auxid, f = sys.stdout):
78  tname = reg.getTypeName (auxid)
79  ac_p = accessors.get (tname)
80  if not ac_p:
81  print ('<unknown %s>'%tname, end='', file=f)
82  else:
83  (ac_cl, formatter) = ac_p
84  val = ac_cl(reg.getName(auxid))(x)
85  print (formatter(val) + '; ', end='', file=f)
86  return
87 
88 

◆ dump_c()

def xAODRootTest.dump_c (   c,
  f = sys.stdout 
)

Definition at line 100 of file xAODRootTest.py.

100 def dump_c (c, f=sys.stdout):
101  if hasattr(c, '__deref__'):
102  c = c.__deref__()
103  print (' anInt1: %d; aFloat: %.1f; ' % (c.anInt(), c.aFloat()), end='')
104  dump_auxdata (c, exclude = ['anInt1', 'aFloat'])
105  print ('')
106  return
107 
108 

◆ dump_h()

def xAODRootTest.dump_h (   h,
  f = sys.stdout 
)

Definition at line 109 of file xAODRootTest.py.

109 def dump_h (h, f=sys.stdout):
110  if hasattr(h, '__deref__'):
111  h = h.__deref__()
112  dump_auxdata (h)
113  print ('')
114  return
115 
116 

◆ format_el()

def xAODRootTest.format_el (   x)

Definition at line 60 of file xAODRootTest.py.

60 def format_el(x): return '%s[%d]' % (x.dataID(), x.index())

◆ format_float()

def xAODRootTest.format_float (   x)

Definition at line 59 of file xAODRootTest.py.

59 def format_float(x): return '%.1f'%x

◆ format_float_vec()

def xAODRootTest.format_float_vec (   v)

Definition at line 61 of file xAODRootTest.py.

61 def format_float_vec(v):
62  l = [format_float(x) for x in v]
63  return '[' + ','.join(l) + ']'

◆ format_int()

def xAODRootTest.format_int (   x)

Definition at line 58 of file xAODRootTest.py.

58 def format_int(x): return '%d'%x

◆ format_int_vec()

def xAODRootTest.format_int_vec (   v)

Definition at line 64 of file xAODRootTest.py.

64 def format_int_vec(v):
65  l = [format_int(x) for x in v]
66  return '[' + ','.join(l) + ']'

◆ xAODInit()

def xAODRootTest.xAODInit ( )

Definition at line 37 of file xAODRootTest.py.

37 def xAODInit():
38  ROOT.xAOD.TEvent
39  CHECK(ROOT.xAOD.Init())
40 
41  # Monkey-patch...
42  ROOT.xAOD.TEvent.record_impl = ROOT.xAOD.TEvent.record
43  def record (event, obj, key, basketSize=32000, splitLevel = 1):
44  return event.record_impl (obj,
45  _typename (obj.__class__),
46  key,
47  basketSize, splitLevel)
48  ROOT.xAOD.TEvent.record = record
49  return
50 
51 
52 
53 cvec_cls=ROOT.DataVector(ROOT.DMTest.C_v1)
54 cel_cls=ROOT.ElementLink(cvec_cls)
55 
56 
57 

Variable Documentation

◆ accessors

dictionary xAODRootTest.accessors
Initial value:
1 = {
2  'int' : (ROOT.SG.ConstAccessor(int), format_int),
3  'unsigned int' : (getattr (ROOT, 'SG::ConstAccessor<unsigned int>'), format_int),
4  'float' : (ROOT.SG.ConstAccessor(float), format_float),
5  'std::vector<float>' : (getattr (ROOT, 'SG::ConstAccessor<std::vector<float> >'), format_float_vec),
6  'std::vector<int>' : (getattr (ROOT, 'SG::ConstAccessor<std::vector<int> >'), format_int_vec),
7  'ElementLink<DataVector<DMTest::C_v1> >' :
8  (ROOT.SG.ConstAccessor(cel_cls), format_el),
9  }

Definition at line 67 of file xAODRootTest.py.

xAODRootTest._typename
def _typename(t)
Definition: xAODRootTest.py:34
xAODRootTest.format_int_vec
def format_int_vec(v)
Definition: xAODRootTest.py:64
xAODRootTest.dump_c
def dump_c(c, f=sys.stdout)
Definition: xAODRootTest.py:100
xAODRootTest.format_int
def format_int(x)
Definition: xAODRootTest.py:58
xAODRootTest.format_el
def format_el(x)
Definition: xAODRootTest.py:60
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
xAODRootTest.copy_view
def copy_view(event, obj, key)
Definition: xAODRootTest.py:148
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
vtune_athena.formatter
formatter
Definition: vtune_athena.py:19
xAODRootTest.format_float
def format_float(x)
Definition: xAODRootTest.py:59
xAODRootTest.xAODInit
def xAODInit()
Definition: xAODRootTest.py:37
xAODRootTest.dump_auxitem
def dump_auxitem(x, auxid, f=sys.stdout)
Definition: xAODRootTest.py:77
xAODRootTest.CHECK
def CHECK(sc)
Definition: xAODRootTest.py:25
xAODRootTest.copy_obj
def copy_obj(event, obj, key)
Definition: xAODRootTest.py:117
xAODRootTest.dump_h
def dump_h(h, f=sys.stdout)
Definition: xAODRootTest.py:109
xAODRootTest.format_float_vec
def format_float_vec(v)
Definition: xAODRootTest.py:61
xAODRootTest.copy_vec
def copy_vec(event, obj, key)
Definition: xAODRootTest.py:129
xAODRootTest.dump_auxdata
def dump_auxdata(x, exclude=[], f=sys.stdout)
Definition: xAODRootTest.py:89