Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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_str (x)
 
def format_el (x)
 
def format_el_vec (v)
 
def format_float_vec (v)
 
def format_int_vec (v)
 
def format_str_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_xaodobj (h, f=sys.stdout)
 
def dump_plinks (p, f=sys.stdout)
 
def copy_obj (event, obj, key)
 
def copy_vec (event, obj, key)
 
def copy_view (event, obj, key)
 

Variables

 CVec_type = ROOT.DataVector(ROOT.DMTest.C_v1)
 
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 153 of file xAODRootTest.py.

153 def copy_obj (event, obj, key):
154  copy = obj.__class__()
155  copy_aux = obj.getConstStore().__class__()
156  copy.setNonConstStore (copy_aux)
157  copy.__assign__ (obj)
158  CHECK (event.record (copy, key))
159  CHECK (event.record (copy_aux, key + 'Aux.'))
160  ROOT.SetOwnership (copy, False)
161  ROOT.SetOwnership (copy_aux, False)
162  return
163 
164 

◆ copy_vec()

def xAODRootTest.copy_vec (   event,
  obj,
  key 
)

Definition at line 165 of file xAODRootTest.py.

165 def copy_vec (event, obj, key):
166  copy = obj.__class__()
167  copy_aux = obj.getConstStore().__class__()
168  copy.setNonConstStore (copy_aux)
169  for i in range(obj.size()):
170  elt_orig = obj[i]
171  if _typename (elt_orig.__class__).startswith ('DataModel_detail::ElementProxy<'):
172  elt_orig = elt_orig.__follow__()
173  elt = elt_orig.__class__()
174  copy.push_back(elt)
175  ROOT.SetOwnership (elt, False)
176  elt.__assign__ (elt_orig)
177  CHECK (event.record (copy, key))
178  CHECK (event.record (copy_aux, key + 'Aux.'))
179  ROOT.SetOwnership (copy, False)
180  ROOT.SetOwnership (copy_aux, False)
181  return
182 
183 

◆ copy_view()

def xAODRootTest.copy_view (   event,
  obj,
  key 
)

Definition at line 184 of file xAODRootTest.py.

184 def copy_view (event, obj, key):
185  copy = obj.__class__(obj)
186  copy.toPersistent()
187  CHECK (event.record (copy, key))
188  ROOT.SetOwnership (copy, False)
189  return
190 
191 

◆ dump_auxdata()

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

Definition at line 116 of file xAODRootTest.py.

116 def dump_auxdata (x, exclude=[], f = sys.stdout):
117  auxids = list(x.getAuxIDs())
118  auxids = [(reg.getName(id), id) for id in auxids]
119  auxids.sort()
120  for name, auxid in auxids:
121  if name in exclude: continue
122  if reg.isLinked (auxid): continue
123  print (name + ': ', file=f, end='')
124  dump_auxitem (x, auxid, f)
125  return
126 
127 

◆ dump_auxitem()

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

Definition at line 104 of file xAODRootTest.py.

104 def dump_auxitem (x, auxid, f = sys.stdout):
105  tname = reg.getTypeName (auxid)
106  ac_p = accessors.get (tname)
107  if not ac_p:
108  print ('<unknown %s>'%tname, end='', file=f)
109  else:
110  (ac_cl, formatter) = ac_p
111  val = ac_cl(reg.getName(auxid))(x)
112  print (formatter(val) + '; ', end='', file=f)
113  return
114 
115 

◆ dump_c()

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

Definition at line 128 of file xAODRootTest.py.

128 def dump_c (c, f=sys.stdout):
129  if hasattr(c, '__deref__'):
130  c = c.__deref__()
131  print (' anInt1: %d; aFloat: %.1f; ' % (c.anInt(), c.aFloat()), end='')
132  dump_auxdata (c, exclude = ['anInt1', 'aFloat'])
133  print ('')
134  return
135 
136 

◆ dump_plinks()

def xAODRootTest.dump_plinks (   p,
  f = sys.stdout 
)

Definition at line 145 of file xAODRootTest.py.

145 def dump_plinks (p, f=sys.stdout):
146  if hasattr(p, '__deref__'):
147  p = p.__deref__()
148  dump_auxdata (p)
149  print ('')
150  return
151 
152 

◆ dump_xaodobj()

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

Definition at line 137 of file xAODRootTest.py.

137 def dump_xaodobj (h, f=sys.stdout):
138  if hasattr(h, '__deref__'):
139  h = h.__deref__()
140  dump_auxdata (h)
141  print ('')
142  return
143 
144 

◆ format_el()

def xAODRootTest.format_el (   x)

Definition at line 61 of file xAODRootTest.py.

61 def format_el(x): return '%s[%s]' % (x.dataID(), ('inv' if x.isDefaultIndex() else x.index()))

◆ format_el_vec()

def xAODRootTest.format_el_vec (   v)

Definition at line 62 of file xAODRootTest.py.

62 def format_el_vec(v): return '[' + ', '.join([format_el(el) for el in v.asVector()]) + ']'

◆ 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 63 of file xAODRootTest.py.

63 def format_float_vec(v):
64  l = [format_float(x) for x in v]
65  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 66 of file xAODRootTest.py.

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

◆ format_str()

def xAODRootTest.format_str (   x)

Definition at line 60 of file xAODRootTest.py.

60 def format_str(x): return f"'{x}'"

◆ format_str_vec()

def xAODRootTest.format_str_vec (   v)

Definition at line 69 of file xAODRootTest.py.

69 def format_str_vec(v):
70  l = [format_str(x) for x in v]
71  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  'SG::JaggedVecElt<int>' :
10  (ROOT.SG.ConstAccessor(ROOT.SG.JaggedVecElt(ROOT.int)),
11  format_int_vec),
12  'SG::JaggedVecElt<float>' :
13  (ROOT.SG.ConstAccessor(ROOT.SG.JaggedVecElt(ROOT.float)),
14  format_float_vec),
15  'SG::JaggedVecElt<double>' :
16  (ROOT.SG.ConstAccessor(ROOT.SG.JaggedVecElt(ROOT.double)),
17  format_float_vec),
18  'SG::JaggedVecElt<std::string>' :
19  (ROOT.SG.ConstAccessor(ROOT.SG.JaggedVecElt(ROOT.std.string)),
20  format_str_vec),
21  'SG::JaggedVecElt<ElementLink<DataVector<DMTest::C_v1> > >' :
22  (ROOT.SG.ConstAccessor(ROOT.SG.JaggedVecElt(ROOT.ElementLink(CVec_type))),
23  format_el_vec),
24  'SG::PackedLink<DataVector<DMTest::C_v1> >' :
25  (ROOT.SG.ConstAccessor(ROOT.SG.PackedLink(ROOT.DataVector(ROOT.DMTest.C_v1))),
26  format_el),
27  'std::vector<SG::PackedLink<DataVector<DMTest::C_v1> > >' :
28  (ROOT.SG.ConstAccessor(ROOT.std.vector(ROOT.SG.PackedLink(ROOT.DataVector(ROOT.DMTest.C_v1)))),
29  format_el_vec),
30  }

Definition at line 73 of file xAODRootTest.py.

◆ CVec_type

xAODRootTest.CVec_type = ROOT.DataVector(ROOT.DMTest.C_v1)

Definition at line 72 of file xAODRootTest.py.

xAODRootTest.format_str
def format_str(x)
Definition: xAODRootTest.py:60
xAODRootTest.format_el_vec
def format_el_vec(v)
Definition: xAODRootTest.py:62
xAODRootTest.dump_plinks
def dump_plinks(p, f=sys.stdout)
Definition: xAODRootTest.py:145
xAODRootTest._typename
def _typename(t)
Definition: xAODRootTest.py:34
xAODRootTest.format_int_vec
def format_int_vec(v)
Definition: xAODRootTest.py:66
xAODRootTest.dump_c
def dump_c(c, f=sys.stdout)
Definition: xAODRootTest.py:128
xAODRootTest.format_int
def format_int(x)
Definition: xAODRootTest.py:58
xAODRootTest.format_el
def format_el(x)
Definition: xAODRootTest.py:61
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
xAODRootTest.copy_view
def copy_view(event, obj, key)
Definition: xAODRootTest.py:184
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
xAODRootTest.format_str_vec
def format_str_vec(v)
Definition: xAODRootTest.py:69
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:104
xAODRootTest.CHECK
def CHECK(sc)
Definition: xAODRootTest.py:25
xAODRootTest.dump_xaodobj
def dump_xaodobj(h, f=sys.stdout)
Definition: xAODRootTest.py:137
xAODRootTest.copy_obj
def copy_obj(event, obj, key)
Definition: xAODRootTest.py:153
xAODRootTest.format_float_vec
def format_float_vec(v)
Definition: xAODRootTest.py:63
xAODRootTest.copy_vec
def copy_vec(event, obj, key)
Definition: xAODRootTest.py:165
xAODRootTest.dump_auxdata
def dump_auxdata(x, exclude=[], f=sys.stdout)
Definition: xAODRootTest.py:116