ATLAS Offline Software
Dumpers.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 
13 
14 
15 __doc__ = """python library to dump various EDM classes"""
16 __version__ = "$Revision: 1.32 $"
17 __author__ = "Scott Snyder, Sebastien Binet"
18 
19 
20 from contextlib import contextmanager
21 import sys
22 from io import StringIO
23 from functools import cmp_to_key
24 from math import \
25  log as math_log,\
26  sqrt as math_sqrt,\
27  hypot as math_hypot, \
28  isnan as math_isnan
29 
30 from AthenaPython import PyAthena
31 from PyUtils.fprint import fprint, fprintln, fwrite
32 from PyDumper import PDG
33 import ROOT
34 import cppyy
35 
36 def cmp(x, y):
37  return (x > y) - (x < y)
38 
39 # not available due to a reflex bug.
40 etcone10 = 0
41 nucone10 = 8
42 
43 # Suppress warnings we get from the gcc12 headers.
44 ROOT.gROOT.ProcessLine ('#pragma clang diagnostic ignored "-Wdeprecated-declarations"')
45 
46 # Without these, cling gets confused by forward declarations.
47 getattr (ROOT.xAOD, 'TrackParticleContainer_v1', None)
48 getattr (ROOT.xAOD, 'Jet_v1', None)
49 
50 #Typed nullptr:
51 JetAssociationBase = getattr (cppyy.gbl, 'JetAssociationBase', None)
52 Analysis = getattr (cppyy.gbl, 'Analysis', None)
53 Muon = getattr (Analysis, 'Muon', None) if Analysis else None
54 jetAssocNull = cppyy.bind_object(cppyy.nullptr, JetAssociationBase) if JetAssociationBase else None
55 muonNull = cppyy.bind_object(cppyy.nullptr, Muon) if Muon else None
56 
57 InDet = getattr (cppyy.gbl, 'InDet', None)
58 InDetLowBetaCandidate = getattr (InDet, 'InDetLowBetaCandidate', None)
59 InDetLowBetaCandidateNull = cppyy.bind_object(cppyy.nullptr, InDetLowBetaCandidate) if InDetLowBetaCandidate else None
60 
61 Trk = getattr (cppyy.gbl, 'Trk', None)
62 FitQuality = getattr (Trk, 'FitQuality', None)
63 fitQualityNull = cppyy.bind_object(cppyy.nullptr, FitQuality) if FitQuality else None
64 
65 
66 # Work around a cling bug.
67 if hasattr(ROOT,'TrackParticleTruthCollection'):
68  ROOT.TrackParticleTruthCollection()[ROOT.Rec.TrackParticleTruthKey()]
69  if hasattr(ROOT,'Jet'):
70  ROOT.Jet().jetTagInfoVector()
71  getattr(ROOT, 'ElementLinkVector<CaloClusterContainer>')
72  if hasattr(ROOT,'Analysis::MuonContainer'):
73  getattr(ROOT, 'ElementLink<Analysis::MuonContainer>')().isValid()
74  getattr(ROOT, 'vector<xAOD::CaloClusterBadChannelData_v1>')().__assign__(getattr(ROOT, 'vector<xAOD::CaloClusterBadChannelData_v1>')())
75 if hasattr (ROOT, 'TrigInDetParticleTruth'):
76  ROOT.TrigInDetTrackTruth().getFamilyTree()
77  getattr(ROOT, 'ElementLinkVector<TrigInDetTrackCollection>')
78  getattr(ROOT, 'std::vector<Trig3Momentum>')
79  ROOT.TrigSpacePointCounts().droppedSctModules()
80 hasattr (ROOT, 'xAOD::TruthParticle_v1')
81 ROOT.TClass.GetClass('ElementLink<DataVector<xAOD::TruthParticle_v1> >')
82 if hasattr (ROOT, 'xAOD::Muon_v1'):
83  ROOT.gROOT.ProcessLine ('#include "xAODMuon/MuonContainer.h"')
84  ROOT.TClass.GetClass('ElementLink<DataVector<xAOD::Muon_v1> >')
85 
86 
87 
88 def asinh (x):
89  arg = math_sqrt (x*x+1) - x
90  if arg == 0:
91  return 1e30 # protect against loss of precision.
92  return - math_log (arg)
93 
94 def toiter (beg, end):
95  while beg != end:
96  yield beg.__deref__()
97  beg.__preinc__()
98  return
99 
100 def toiter1 (c):
101  return toiter (c.begin(), c.end())
102 
103 def nolist (f):
104  f.nolist = 1
105  f.nmax = False
106  return f
107 
108 def nolist_nmax (f):
109  f.nolist = 1
110  f.nmax = True
111  return f
112 
113 def tonone (x):
114  if not x: return None
115  return x
116 
117 def asint(x):
118  if x>(1<<63):
119  return x - (1<<64)
120  return x
121 
122 def asint32(x):
123  if x>(1<<63):
124  return x - (1<<64)
125  elif x>(1<<31):
126  return x - (1<<32)
127  return x
128 
130  sa = ROOT.PyDumper.SafeFloatAccess(v)
131  return [sa[i]for i in range(len(v))]
132 
133 @contextmanager
134 def signalstate (o, state):
135  if hasattr(o, 'setSignalState'):
136  old = o.signalState()
137  o.setSignalState (state)
138  yield
139  o.setSignalState (old)
140  else:
141  sh = PyAthena.SignalStateHelper (o)
142  sh.setSignalState (state)
143  yield
144  sh.releaseObject
145  return
146 
147 
148 def daz(f):
149  if math_isnan(f):
150  return 'nan'
151  if abs(f) < 1e-38:
152  return 0.0
153  return f
154 
155 
156 class forceInt:
157  def __init__ (self, x):
158  self.x = x
160  """Helper for doing formatting compatibly with py2.
161 
162 Convert X to a string, but add a `L' to the ends of integers.
163 Can be used for formatting expressions that using longs in py2.
164 """
165  if isinstance (x, list):
166  sl = [formatItemUsingLong (xx) for xx in x]
167  return '[' + ', '.join (sl) + ']'
168  if isinstance (x, tuple):
169  sl = [formatItemUsingLong (xx) for xx in x]
170  return '(' + ', '.join (sl) + ')'
171  if isinstance (x, int):
172  return str(x) + 'L'
173  if isinstance (x, forceInt):
174  return str(x.x)
175  if isinstance(x, ROOT.std.string):
176  # remove leading 'b' added to repr(std.string) by cppyy 3.1.2 in ROOT 6.32
177  return repr(str(x))
178  return repr(x)
179 
180 
181 def boolvec (v):
182  out = ''
183  for x in v:
184  if x:
185  out = '1' + out
186  else:
187  out = '0' + out
188  return out
189 
190 
191 # For root 6.08, need to use __cppname__ rather than __name__
192 # for the name of a type if it's there.
193 def typename(t):
194  return getattr (t, '__cpp_name__', t.__name__)
195 
196 
197 
198 #change -0 -> 0
199 def fix_neg0 (x, thresh = 0):
200  return 0 if x == 0 or abs(x) < thresh else x
201 
202 
203 def dump_H3V (v, f):
204  fprint (f, "(%f %f %f)" %
205  (v.perp(),v.eta(),v.phi()))
206  return
207 
208 def dump_HLV (v, f):
209  m2 = v.e()**2 - v.px()**2 - v.py()**2 - v.pz()**2
210  # Be insensitive to some rounding errors.
211  m2 = fix_neg0 (m2, 1e-3)
212  if m2 < 0:
213  m = - math_sqrt (-m2)
214  else:
215  m = math_sqrt (m2)
216 
217  #if abs(m-int(m)-0.5) < 1e-4: m += 0.01
218 
219  pt = math_hypot (v.px(), v.py())
220  if pt < 1e-3:
221  if v.pz() > 0:
222  eta = 100
223  else:
224  eta = -100
225  else:
226  eta = asinh (v.pz() / pt)
227 
228  fprint (f, "(%f %f %f %f)" %
229  (v.perp(),eta,v.phi(), m))
230  return
231 
232 
233 def dump_Fourvec (v, f, parens=1):
234  ParticleImpl_EEtaPhiM = getattr(PyAthena,'ParticleImpl<NavigableTerminalNode,P4ImplEEtaPhiM,ParticleEvent::Base>')
235 
236  #vmom = v.momentumBase() if hasattr(v, 'momentumBase') else None
237  vmom = None
238  if isinstance(v, (PyAthena.P4EEtaPhiMBase, ParticleImpl_EEtaPhiM, PyAthena.xAOD.IParticle)) or \
239  isinstance(vmom, PyAthena.P4BaseEEtaPhiM):
240  m = v.m()
241  eta = v.eta()
242  if m > v.e():
243  pt = 0
244  else:
245  pt = v.pt()
246  elif isinstance (v, PyAthena.P4PtEtaPhiMBase) or \
247  isinstance (vmom, PyAthena.P4BasePtEtaPhiM):
248  m = v.m()
249  eta = v.eta()
250  pt = v.pt()
251  elif isinstance (v, PyAthena.P4IPtCotThPhiMBase) or \
252  isinstance (vmom, PyAthena.P4BaseIPtCotThPhiM):
253  m = v.m()
254  ipt = v.iPt()
255  cotth = v.cotTh()
256 
257  # Special case: avoid div-by-zero for null vector.
258  if ipt == 0 and m == 0 and cotth == 0 and v.phi() == 0:
259  pt = 0
260  eta = 0
261  else:
262  aux = math_hypot(1, cotth)
263  eta = math_log ((aux-cotth) / (aux+cotth))
264  pt = 1 / ipt
265  else: # PxPyPzE-based
266  pt = v.pt()
267 
268  # Calculating m from px,py,pz,e is prone to FP significance
269  # problems, as m may be small compared to momenta.
270  # We can get different results from m() in debug/opt builds.
271  # Do the calculation in python instead for consistency.
272  m2 = v.e()**2 - v.px()**2 - v.py()**2 - v.pz()**2
273  if m2 < 0:
274  m = - math_sqrt (-m2)
275  else:
276  m = math_sqrt (m2)
277 
278  # Same thing shows up for eta.
279  pt = math_hypot (v.px(), v.py())
280  if pt == 0:
281  if v.pz() > 0:
282  eta = 100
283  else:
284  eta = -100
285  else:
286  eta = asinh (v.pz() / pt)
287 
288  #if abs(m-int(m)-0.5) < 1e-4: m += 0.01
289  if parens: fprint (f, '(')
290  fprint (f, "%f %f %f %f" % (pt, eta, v.phi(), m))
291  if parens: fprint (f, ')')
292  return
293 
294 def dump_Threevec (v, f):
295  fprint (f, "(%f %f %f)" % (fix_neg0(v.x(), thresh=1e-8),
296  fix_neg0(v.y(), thresh=1e-8),
297  fix_neg0(v.z(), thresh=1e-8)))
298  return
299 
300 def dump_Twovec (v, f):
301  fprint (f, "(%f %f)" % (v.x(), v.y()))
302  return
303 
304 def dump_AmgMatrix (m, f, thresh=1e-38):
305  fprint (f, '[')
306  for r in range(m.rows()):
307  fprint (f, '[')
308  for c in range(m.cols()):
309  v = m(r,c)
310  if abs(v) < thresh: v = 0
311  fprint (f, '%#6.3g' % v)
312  fprint (f, ']')
313  fprint (f, ']')
314  return
315 
316 def dump_AmgVector (m, f, thresh=1e-38, prec=3):
317  if not m:
318  fprint (f, '(null vector)')
319  return
320  fprint (f, '[')
321  for r in range(m.rows()):
322  v = m(r)
323  if abs(v) < thresh: v = 0
324  fprint (f, '%#6.*g' % (prec, v))
325  fprint (f, ']')
326  return
327 
328 
329 def dump_EL (l, f):
330  nm = typename(l.__class__)
331  pos1 = nm.find('<')
332  pos2 = nm.rfind ('>')
333  nm = nm[pos1+1:pos2].strip()
334  if l.isDefault():
335  nm = nm + '/(null)'
336  else:
337  nm = nm + '/%s[%d]' % (l.dataID(), l.index())
338  fprint (f, nm)
339  return
340 
341 
342 def dump_ParticleBase (e, f):
343  dump_Fourvec (e, f, 0)
344  orig = e.originLink()
345  if e.hasCharge():
346  charge = "%f" % e.charge()
347  else:
348  charge = "N/A"
349  fprint (f, " %1d %1d %4d %s" %
350  (e.dataType(), e.hasPdgId(), asint32(e.pdgId()), charge))
351  if orig.isValid():
352  fprint (f, "%1d"%orig.index())
353  dump_Threevec (e.origin().position(), f)
354  else:
355  fprint (f, "(no orig)")
356  return
357 
358 
359 def dump_ParticleImpl (p, f):
360  dump_Fourvec (p, f, 0)
361  if p.hasCharge():
362  c = fix_neg0(p.charge())
363  c = '%f' % c
364  else:
365  c = 'N/A'
366  fprint (f, ' %d %s %5d ' %
367  (p.dataType(), c, asint32(p.pdgId())))
368  if p.origin():
369  dump_Threevec (p.origin().position(), f)
370  else:
371  fprint (f, "(no orig)")
372  return
373 
374 
375 def dump_EMConvert (d, f):
376  fprint (f, d.convTrackMatch(), d.convAngleMatch())
377  return
378 
379 def dump_EMBremFit (d, f):
380  ip = d.bremInvpT()
381  iperr = d.bremInvpTerr()
382  if ip==-999: ip = 0
383  if iperr==-999: iperr = 0
384  br = d.bremRadius()
385  bx = d.bremX()
386  if br == -999: br = 0
387  if bx == -999: bx = 0
388  nt = d.bremNTRT()
389  nr = d.bremNR()
390  if nt == -999: nt = 0
391  if nr == -999: nr = 0
392  d0 = d.bremD0()
393  phi0 = d.bremPhi0()
394  if d0 == -999: d0 = 0
395  if phi0 == -999: phi0 = 0
396  fprint (f, "%f %f %f %f %f %2d %2d %2d %2d %f %f" %
397  (ip*1e6, br, bx, iperr*1e6,
398  d.bremClusterRadius(), d.bremFitStatus(), d.bremErrorFlag(),
399  nt, nr, d0, phi0))
400  fprint (f, d.bremZ0(), d.bremDzDr(), d.bremNZ(), d.bremFitChi2())
401  return
402 
403 def dump_EMTrackMatch (d, f):
404  fprint (f, "%f %f %4d %4d" %
405  (d.deltaEta(2), d.deltaPhi(2),
406  d.trackNumber(), d.tracksInBroadWindow()))
407  fprint (f, d.trackRefit(), d.isPrimary())
408  return
409 
410 def dump_EMShower (d, f):
411  weta1 = d.weta1()
412  if weta1 < -10: weta1 = 0
413  pos7 = d.pos7()
414  if pos7 < -10: pos7 = 0
415  # FIXME: backward compat
416  if not hasattr(d, 'etconoisedR04Sig2'):
417  d.etconoisedR04Sig2 = d.etconoise20
418  d.etconoisedR04Sig3 = d.etconoise30
419  fprint (f, d.e011(), d.e033(), d.ethad1(),
420  d.ethad(), d.ehad1(), d.f1(), d.f3(), d.f1core(), d.f3core(),
421  d.e233(), d.e235(), d.e255(), d.e237(), d.e277(), d.e333(),
422  d.e335(), d.e337(), d.e377(), weta1, d.weta2(), d.e2ts1(),
423  d.e2tsts1(), d.fracs1(), d.widths1(), d.widths2(),
424  d.poscs1(), d.poscs2(), d.asy1(), d.pos(), pos7, d.barys1(),
425  d.wtots1(), d.emins1(), d.emaxs1(), d.etcone(), d.etcone20(),
426  d.etcone30(), d.etcone40(),
427  d.etconoisedR04Sig2(), d.etconoisedR04Sig3(),
428  d.ecore())
429  if hasattr (d, 'e131'):
430  fprint (f, d.e131(), d.e1153(), d.iso())
431  else:
432  fprint (f, d.e132(), d.e1152(), d.r33over37allcalo())
433  return
434 
435 # Sometimes, we can get denormal floats in the files we read.
436 # However, when reading, the denormals-as-zero flag can be set
437 # if we've loaded any library compiled with -ffast-math.
438 def uf(x):
439  if abs(x) < 1e-38: return 0
440  return x
441 
443  fprint (f, d.linkIndex())
444  fprint (f, '\n ',
445  uf(d.EMconvertedphoton_perigee_d0()),
446  uf(d.EMconvertedphoton_perigee_z0()),
447  uf(d.EMconvertedphoton_perigee_phi0()),
448  uf(d.EMconvertedphoton_perigee_theta()),
449  uf(d.EMconvertedphoton_perigee_eta()),
450  uf(d.EMconvertedphoton_perigee_momentum()),
451  uf(d.EMconvertedphoton_perigee_Covd0d0 ()),
452  uf(d.EMconvertedphoton_perigee_Covd0z0 ()),
453  uf(d.EMconvertedphoton_perigee_Covd0phi ()),
454  uf(d.EMconvertedphoton_perigee_Covd0theta ()),
455  uf(d.EMconvertedphoton_perigee_Covz0z0 ()),
456  uf(d.EMconvertedphoton_perigee_Covz0phi ()),
457  uf(d.EMconvertedphoton_perigee_Covz0theta ()),
458  uf(d.EMconvertedphoton_perigee_Covphiphi ()),
459  uf(d.EMconvertedphoton_perigee_Covphitheta ()),
460  uf(d.EMconvertedphoton_perigee_Covthetatheta ()))
461  fprint (f, '\n ',
462  uf(d.EMtrack_perigee_d0 ()),
463  uf(d.EMtrack_perigee_phi0 ()),
464  uf(d.EMtrack_perigee_z0 ()),
465  uf(d.EMtrack_perigee_theta ()),
466  uf(d.EMtrack_perigee_eta ()),
467  uf(d.EMtrack_perigee_momentum ()),
468  uf(d.EMtrack_perigee_Covd0d0 ()),
469  uf(d.EMtrack_perigee_Covd0z0 ()),
470  uf(d.EMtrack_perigee_Covd0phi ()),
471  uf(d.EMtrack_perigee_Covd0theta ()),
472  uf(d.EMtrack_perigee_Covz0z0 ()),
473  uf(d.EMtrack_perigee_Covz0phi ()),
474  uf(d.EMtrack_perigee_Covz0theta ()),
475  uf(d.EMtrack_perigee_Covphiphi ()),
476  uf(d.EMtrack_perigee_Covphitheta ()),
477  uf(d.EMtrack_perigee_Covthetatheta ()))
478  fprint (f, '\n ',
479  uf(d.EMphoton_eta ()),
480  uf(d.EMphoton_phi0 ()),
481  uf(d.EMphoton_Eclus ()),
482  uf(d.EMphoton_Covetaeta ()),
483  uf(d.EMphoton_Covetaphi ()),
484  uf(d.EMphoton_CovetaEclus ()),
485  uf(d.EMphoton_Covphiphi ()),
486  uf(d.EMphoton_CovphiEclus ()),
487  uf(d.EMphoton_CovEclusEclus ()))
488  fprint (f, '\n ',
489  uf(d.EMtrack_comb_Covd0d0 ()),
490  uf(d.EMtrack_comb_Covd0z0 ()),
491  uf(d.EMtrack_comb_Covd0phi ()),
492  uf(d.EMtrack_comb_Covd0eta ()),
493  uf(d.EMtrack_comb_Covd0P ()),
494  uf(d.EMtrack_comb_Covz0z0 ()),
495  uf(d.EMtrack_comb_Covz0phi ()),
496  uf(d.EMtrack_comb_Covz0eta ()),
497  uf(d.EMtrack_comb_Covz0P ()),
498  uf(d.EMtrack_comb_Covphiphi ()),
499  uf(d.EMtrack_comb_Covphieta ()),
500  uf(d.EMtrack_comb_CovphiP ()),
501  uf(d.EMtrack_comb_Covetaeta ()),
502  uf(d.EMtrack_comb_CovetaP ()),
503  uf(d.EMtrack_comb_CovPP ()))
504  return
505 
506 
507 def dump_EMTrackFit (d, f):
508  fprint (f, '\n ',
509  d.track_perigee_d0 (),
510  d.track_perigee_phi0 (),
511  d.track_perigee_qOverP(),
512  d.track_perigee_z0 (),
513  d.track_perigee_theta (),
514  d.track_perigee_Covd0d0 (),
515  d.track_perigee_Covd0z0 (),
516  d.track_perigee_Covd0phi (),
517  d.track_perigee_Covd0theta (),
518  d.track_perigee_Covd0qOverP (),
519  d.track_perigee_Covz0z0 (),
520  d.track_perigee_Covz0phi (),
521  d.track_perigee_Covz0theta (),
522  d.track_perigee_Covz0qOverP (),
523  d.track_perigee_Covphiphi (),
524  d.track_perigee_Covphitheta (),
525  d.track_perigee_CovphiqOverP (),
526  d.track_perigee_Covthetatheta (),
527  d.track_perigee_CovthetaqOverP (),
528  d.track_perigee_CovqOverPqOverP ())
529  fprint (f, '\n ',
530  d.track_LastM_loc1 (),
531  d.track_LastM_loc2 (),
532  d.track_LastM_phi (),
533  d.track_LastM_theta (),
534  d.track_LastM_qOverP (),
535  d.bremTrackAuthor (),
536  d.hasBrem (),
537  d.bremRadius (),
538  d.bremRadiusErr (),
539  d.bremDeltaZ (),
540  d.bremDeltaZerr (),
541  d.bremMaterialTraversed (),
542  d.bremFitChi2(),
543  d.bremFitStatus (),
544  d.linkIndex ())
545  return
546 
547 def dump_egamma (e, f):
548  #cppyy.loadDictionary ('libElectronPhotonSelectorToolsDict')
549  dump_ParticleImpl (e, f)
550  fprint (f, "\n %d %d %d" % (e.author(), e.isem(), e.isemse()))
551  if e.clusterElementLink().isValid():
552  fprint (f, '\n cl: %2d:' % e.clusterElementLink().index())
553  dump_Fourvec (e.cluster(), f)
554  for i in range(e.nTrackParticles()):
555  tp = e.trackParticleElementLink(i)
556  if tp.isValid():
557  fprint (f, '\n tp: %2d:' %tp.index())
558  dump_Fourvec (e.trackParticle(i), f)
559  for i in range(e.nConversions()):
560  cv = e.conversionElementLink(i)
561  if cv.isValid():
562  fprint (f, '\n cv: %2d:' % cv.index())
563  dump_Threevec (e.conversion(i).recVertex().position(), f)
564  for i in range (e.nDetails()):
565  if e.detailElementLink(i).isValid():
566  d = e.detail(i)
567  fprint (f, '\n %s: ' % d.className())
568  if isinstance (d, PyAthena.EMConvert):
569  dump_EMConvert (d, f)
570  elif isinstance (d, PyAthena.EMBremFit):
571  dump_EMBremFit (d, f)
572  elif isinstance (d, PyAthena.EMTrackMatch):
573  dump_EMTrackMatch (d, f)
574  elif isinstance (d, PyAthena.EMShower):
575  dump_EMShower (d, f)
576  elif isinstance (d, PyAthena.EMErrorDetail):
577  dump_EMErrorDetail (d, f)
578  elif isinstance (d, PyAthena.EMTrackFit):
579  dump_EMTrackFit (d, f)
580  else:
581  fprint (f, d)
582  else:
583  fprint (f, '\n Detail link %d not valid; skipped.' % i)
584  try:
585  pid = PyAthena.egammaPIDObs
586  except TypeError:
587  pid = PyAthena.egammaPID
588  fprint (f, '\n pid: %g %g %f %g %f %f' %
589  (e.egammaID(pid.ElectronWeight), e.egammaID(pid.BgWeight),
590  e.egammaID(pid.NeuralNet), e.egammaID(pid.Hmatrix),
591  e.egammaID(pid.IsolationLikelihood_jets),
592  e.egammaID(pid.IsolationLikelihood_HQDelectrons)))
593  return
594 
595 def dump_Electron (e, f):
596  dump_egamma (e, f)
597  return
598 
599 def dump_Photon (e, f):
600  dump_egamma (e, f)
601  return
602 
603 
604 def dump_EnergyLoss (p, f):
605  if not p:
606  fprint (f, None)
607  return
608  fprint (f, p.deltaE(), p.sigmaDeltaE(), p.sigmaMinusDeltaE(), p.sigmaPlusDeltaE())
609  fprint (f, p.meanIoni(), p.sigmaIoni(), p.meanRad(), p.sigmaRad(), p.length())
610  return
611 
612 
613 def dump_CaloEnergy (p, f):
614  dump_EnergyLoss (p, f)
615  fprint (f, '%d %f %f %f %f' %
616  (p.energyLossType(),
617  p.caloMuonIdTag(),
618  p.caloLRLikelihood(),
619  p.fsrCandidateEnergy(),
620  p.etCore()))
621  fprint (f, p.deltaEParam(), p.sigmaMinusDeltaEParam(), p.sigmaPlusDeltaEParam(), p.deltaEMeas(), p.sigmaDeltaEMeas())
622  fprint (f, '\n deposits:')
623  for d in p.depositInCalo():
624  fprint (f, " (%d %f %f)" %
625  (d.subCaloId(), d.energyDeposited(), d.muonEnergyLoss()))
626  return
627 
628 
629 def dump_Muon (m, f):
630  dump_ParticleImpl (m, f)
631  fprint (f, ' %1d' % m.author())
632  if m.inDetTrackLink().isValid():
633  fprint (f, '\n idtp: %2d:' % m.inDetTrackLink().index())
634  dump_Fourvec (m.inDetTrackParticle(), f)
635  # This isn't in 13.X.0 xxx
636  if hasattr(m, 'muonSpTrackLink') and m.muonSpTrackLink().isValid():
637  fprint (f, '\n sptp: %2d:' % m.muonSpTrackLink().index())
638  dump_Fourvec (m.muonSpectrometerTrackParticle(), f)
639  if m.muonExtrapTrackLink().isValid():
640  fprint (f, '\n mxtp: %2d:' % m.muonExtrapTrackLink().index())
641  dump_Fourvec (m.muonExtrapolatedTrackParticle(), f)
642  if m.innerExtrapTrackLink().isValid():
643  fprint (f, '\n ixtp: %2d:' % m.innerExtrapTrackLink().index())
644  dump_Fourvec (m.innerExtrapolatedTrackParticle(), f)
645  if m.combinedTrackLink().isValid():
646  fprint (f, '\n cmtp: %2d:' % m.combinedTrackLink().index())
647  dump_Fourvec (m.combinedMuonTrackParticle(), f)
648  if m.clusterLink().isValid():
649  fprint (f, '\n cl: %2d:' % m.clusterLink().index())
650  dump_Fourvec (m.cluster(), f)
651  fprint (f, '\n a: %f %f %d %f %d %f %d' %
652  (m.matchChi2(), m.matchChi2OverDoF(), m.matchNumberDoF(),
653  m.fitChi2(), m.fitNumberDoF(), m.fitChi2OverDoF(),
654  m.bestMatch()))
655  fprint (f, '\n b: %d %d %d %d %d %d %d %d %d %d %d %d' %
656  (m.numberOfInnermostPixelLayerHits(),
657  m.numberOfPixelHits(),
658  m.numberOfSCTHits(),
659  m.numberOfTRTHits(),
660  m.numberOfTRTHighThresholdHits(),
661  m.numberOfInnermostPixelLayerSharedHits(),
662  m.numberOfPixelSharedHits(),
663  m.numberOfPixelHoles(),
664  m.numberOfSCTSharedHits(),
665  m.numberOfSCTHoles(),
666  m.numberOfTRTOutliers(),
667  m.numberOfTRTHighThresholdOutliers()))
668  fprint (f, '\n c: %d %d %d %d %d %d %d %d %d %d %d %d %d %d' %
669  (m.numberOfMDTHits(),
670  m.numberOfMDTHoles(),
671  m.numberOfCSCEtaHits(),
672  m.numberOfCSCEtaHoles(),
673  m.numberOfCSCPhiHits(),
674  m.numberOfCSCPhiHoles(),
675  m.numberOfRPCEtaHits(),
676  m.numberOfRPCEtaHoles(),
677  m.numberOfRPCPhiHits(),
678  m.numberOfRPCPhiHoles(),
679  m.numberOfTGCEtaHits(),
680  m.numberOfTGCEtaHoles(),
681  m.numberOfTGCPhiHits(),
682  m.numberOfTGCPhiHoles()))
683  fprint (f, '\n d: %d %d %f %f %f %f %f %f' %
684  (m.numberOfGangedPixels(),
685  m.numberOfOutliersOnTrack(),
686  m.segmentDeltaEta(),
687  m.segmentChi2OverDoF(),
688  m.annBarrel(),
689  m.annEndCap(),
690  m.innAngle(),
691  m.midAngle()))
692  fprint (f, '\n e: %f %f %d %d' %
693  (m.parameter(etcone10),
694  m.parameter(nucone10),
695  m.alsoFoundByLowPt(),
696  m.alsoFoundByCaloMuonId()))
697  fprint (f, '\n f:', [i for i in m.associatedEtaDigits()])
698  fprint (f, '\n h:', [i for i in m.associatedPhiDigits()])
699  fprint (f, '\n i:', [i for i in m.segmentEtaDigits()])
700  fprint (f, '\n j:', [i for i in m.segmentPhiDigits()])
701  caloe = m.caloEnergyLoss()
702  if caloe:
703  fprint (f, '\n k:')
704  dump_CaloEnergy (caloe, f)
705  return
706 
707 
708 def dump_TauDetail (t, f):
709  nm = t.className()
710  if nm.startswith('Analysis::'):
711  nm = nm[10:]
712  fprint (f, '%s:' % nm)
713  return
714 
716  dump_TauDetail (t, f)
717  fprint (f, ' %f %1d %f %f %1d %1d %f %f %f %f' %
718  (t.emRadius(),
719  t.numStripCells(),
720  t.etChrgHAD(),
721  t.etIsolHAD(),
722  t.nAssocTracksCore(),
723  t.nAssocTracksIsol(),
724  t.etEMAtEMScale(),
725  t.etChrgEM(),
726  t.etNeuEM(),
727  t.etChrgEM01Trk(0)))
728  fprint (f, '\n ')
729  fprint (f, ' %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f' %
730  (t.isolationFraction(),
731  t.stripWidth2(),
732  t.etIsolEM(),
733  t.massTrk3P(),
734  t.rWidth2Trk3P(),
735  t.signD0Trk3P(),
736  t.z0SinThetaSig(),
737  t.etChrgHADoverPttot(),
738  t.etIsolFrac(),
739  t.etEflow(),
740  t.etHadAtEMScale(),
741  t.etEMCL(),
742  t.etResNeuEM(),
743  t.trFlightPathSig(),
744  t.etResChrgEMTrk(0)))
745  fprint (f, '\n ')
746  dump_HLV (t.sumEM(), f)
747  if t.secVertex():
748  dump_Threevec (t.secVertex().position(), f)
749  if t.cellEM012Cluster():
750  dump_Fourvec (t.cellEM012Cluster(), f)
751  for i in range(t.numPi0()):
752  fprint (f, '\n pi: ')
753  dump_Fourvec (t.pi0 (i), f)
754  return
755 
756 
758  dump_TauDetail (t, f)
759  # numTrack, trackCaloEta, trackCaloPhi
760  fprint (f, '%f %f %f %f %2d %f %f %f' %
761  (t.emRadius(),
762  t.isolationFraction(),
763  t.centralityFraction(),
764  t.stripWidth2(),
765  t.numStripCells(),
766  t.etEMCalib(),
767  t.etHadCalib(),
768  t.leadingTrackPT()))
769  fprint (f, '\n ')
770  for i in range(t.numTrack()):
771  fprint (f, '(%f %f) ' % (t.trackCaloEta(i), t.trackCaloPhi(i)))
772  fprint (f, '\n ')
773  dump_HLV (t.sumEM(), f)
774  if t.secVertex():
775  dump_Threevec (t.secVertex().position(), f)
776  return
777 
778 
780  dump_TauDetail (t, f)
781  fprint (f, t.sumPTTracks())
782  # Can't unpack cells in ARA; don't dump:
783  # closestEtaTrkVertCell
784  # closestPhiTrkVertCell
785  # closestEtaTrkCell
786  for tr in range(t.ntrack()):
787  for s in range(t.nsamp()):
788  fprint (f, '\n ', tr, s,
789  t.etaTrackCaloSamp(tr,s), t.phiTrackCaloSamp(tr,s))
790  return
791 
792 
794  dump_TauDetail (t, f)
795  fprint (f, t.numEMCells(), t.stripET(), t.emCentralityFraction(),
796  t.etHadAtEMScale(), t.etEMAtEMScale(), t.energy(), t.emEnergy(),
797  t.sumPTTracks(), t.seedType(), tonone(t.analysisHelper()))
798  return
799 
800 
802  dump_HLV (t.hlv(), f)
803  fprint (f, ' [')
804  for c in t.pi0ClusterVec():
805  fprint (f, c.clusterLink().index(), ', ')
806  fprint (f, ']')
807  return
808 
809 
811  fprint (f, t.clusterLink().index(),
812  t.deltaPhi(),
813  t.deltaTheta(),
814  t.engFracEM(),
815  t.engFracMAX(),
816  t.engFracCore(),
817  t.secondEngDens(),
818  t.LATERAL(),
819  t.LONGITUDINAL(),
820  t.EM1CoreFrac(),
821  t.asymmetryInEM1WRTTrk(),
822  t.NHitsInEM1(),
823  t.NPosECells_PS(),
824  t.NPosECells_EM1(),
825  t.NPosECells_EM2(),
826  t.firstEtaWRTClusterPosition_EM1(),
827  t.firstEtaWRTClusterPosition_EM2(),
828  t.secondEtaWRTClusterPosition_EM1(),
829  t.secondEtaWRTClusterPosition_EM2(),
830  t.BDTScore())
831  return
832 
833 
834 
836  dump_TauDetail (t, f)
837  dump_HLV (t.visTauhlv(), f)
838  fprint (f, ' candidates')
839  for c in t.pi0CandidateVector():
840  fprint (f, '\n ')
841  dump_TauPi0Candidate (c, f)
842  fprint (f, ' clusters')
843  for c in t.pi0ClusterVector():
844  fprint (f, '\n ')
845  dump_TauPi0Cluster (c, f)
846  return
847 
848 
850  dump_TauDetail (t, f)
851  fprint (f, t.ipZ0SinThetaSigLeadTrk(), t.etOverPtLeadTrk(),
852  t.leadTrkPt(), t.ipSigLeadTrk(), t.ipSigLeadLooseTrk(),
853  t.etOverPtLeadLooseTrk(), t.leadLooseTrkPt(), t.chrgLooseTrk(),
854  t.massTrkSys(), t.trkWidth2())
855  fprint (f, '\n ')
856  fprint (f, t.trFlightPathSig(), t.etEflow(), t.seedCalo_EMRadius(),
857  t.seedCalo_hadRadius(), t.seedCalo_etEMAtEMScale(),
858  t.seedCalo_etHadAtEMScale(), t.seedCalo_isolFrac(),
859  t.seedCalo_centFrac(), t.seedCalo_stripWidth2(), t.seedCalo_nStrip())
860  fprint (f, '\n ')
861  fprint (f, t.seedCalo_etEMCalib(), t.seedCalo_etHadCalib(),
862  t.seedCalo_eta(), t.seedCalo_phi(), t.seedCalo_nIsolLooseTrk(),
863  t.seedTrk_EMRadius(), t.seedTrk_isolFrac(),
864  t.seedTrk_etChrgHadOverSumTrkPt(), t.seedTrk_isolFracWide(),
865  t.seedTrk_etHadAtEMScale())
866  fprint (f, '\n ')
867  fprint (f, t.seedTrk_etEMAtEMScale(), t.seedTrk_etEMCL(),
868  t.seedTrk_etChrgEM(), t.seedTrk_etNeuEM(),
869  t.seedTrk_etResNeuEM(), t.seedTrk_hadLeakEt(),
870  t.seedTrk_sumEMCellEtOverLeadTrkPt(), t.seedTrk_secMaxStripEt(),
871  t.seedTrk_stripWidth2(), t.seedTrk_nStrip())
872  fprint (f, '\n ')
873  fprint (f, t.seedTrk_etChrgHad(), t.seedTrk_nOtherCoreTrk(),
874  t.seedTrk_nIsolTrk(), t.seedTrk_etIsolEM(), t.seedTrk_etIsolHad())
875  fprint (f, '\n %d loose tracks' % t.nLooseTrk())
876  looseTrks = t.looseTrk()
877  for i in range(looseTrks.size()):
878  el = looseTrks[i]
879  fprint (f, '\n ', el.index(), el.dataID(),
880  t.seedTrk_etChrgEM01Trk(i), t.seedTrk_etResChrgEMTrk(i))
881  fprint (f, '\n %d pi0s' % t.nPi0())
882  vec = t.pi0LinkVec()
883  for i in range(vec.size()):
884  el = vec[i]
885  # nb. indices may vary from run to run. list isn't sorted?
886  fprint (f, '\n ', el.dataID(), el.e())
887  fprint (f, '\n pi0 sum:')
888  dump_HLV (t.sumPi0Vec(), f)
889  cl = t.cellEM012ClusterLink()
890  fprint (f, '\n cluster:')
891  if cl.isValid():
892  fprint (f, cl.index(), cl.dataID())
893  else:
894  fprintln (f, '(invalid)')
895  fprint (f, '\n secvertex:')
896  if t.secVtx():
897  dump_RecVertex (t.secVtx(), f)
898  else:
899  fprint (f, None)
900  return
901 
902 
903 def dump_vvelccell (c, f):
904  fprint (f, '[')
905  for v in c:
906  fprint (f, '[')
907  for el in v:
908  if el.isValid():
909  fprint (f, '(', el.dataID(), el.index(), ') ')
910  else:
911  fprint (f, '(invEL) ')
912  fprint (f, ']')
913  fprint (f, ']')
914  return
915 
916 
917 def dump_vvdouble (c, f):
918  fprint (f, '[')
919  for v in c:
920  fprint (f, '[')
921  for d in v:
922  fprint (f, d, ',')
923  fprint (f, ']')
924  fprint (f, ']')
925  return
926 
927 
929  dump_TauDetail (t, f)
930  fprint (f, t.sumPtLooseTrk(), t.sumPtTrk(), t.seedCalo_nEMCell(),
931  t.seedCalo_stripEt(), t.seedCalo_EMCentFrac(),
932  t.seedCalo_sumCellEnergy(), t.seedCalo_sumEMCellEnergy())
933  fprint (f, '\n ')
934  dump_vvelccell (t.closestEtaTrkVertCell(), f)
935  fprint (f, '\n ')
936  dump_vvelccell (t.closestPhiTrkVertCell(), f)
937  fprint (f, '\n ')
938  dump_vvelccell (t.closestEtaTrkCell(), f)
939  fprint (f, '\n ')
940  dump_vvelccell (t.closestPhiTrkCell(), f)
941  fprint (f, '\n ')
942  dump_vvdouble (t.etaTrkCaloSamp(), f)
943  fprint (f, '\n ')
944  dump_vvdouble (t.phiTrkCaloSamp(), f)
945  fprint (f, '\n ')
946  dump_vvdouble (t.etaLooseTrkCaloSamp(), f)
947  fprint (f, '\n ')
948  dump_vvdouble (t.phiLooseTrkCaloSamp(), f)
949  return
950 
951 
952 def dump_TauJet (t, f):
953  dump_ParticleImpl (t, f)
954  fprint (f, ' %1d' % (t.author(),))
955  # xxx numberOfTracks doesn't seem to be initialized in reco --- don't dump.
956  if t.clusterLink().isValid():
957  fprint (f, '\n cl: %2d:' % t.clusterLink().index())
958  dump_Fourvec (t.cluster(), f)
959  if t.cellClusterLink().isValid():
960  # Note: cluster container is unsorted. Means that indices
961  # are unstable. So don't print them.
962  fprint (f, '\n ce: ')
963  dump_Fourvec (t.cellCluster(), f)
964  if t.jetLink().isValid():
965  fprint (f, '\n je: %2d:' % t.jetLink().index())
966  j = t.jet()
967  if j.e() == 0 and j.phi() == 0 and j.eta() == 0:
968  with signalstate (j, PyAthena.P4SignalState.JETEMSCALE):
969  dump_Fourvec (j, f)
970  else:
971  dump_Fourvec (j, f)
972  for i in range (t.numTrack()):
973  el = t.trackLinkVector()[i]
974  if el.isValid():
975  fprint (f, '\n t%d: %2d:' % (i,el.index()))
976  dump_Fourvec (t.track(i), f)
977  pid = t.tauID()
978  TJP = PyAthena.TauJetParameters
979  if pid:
980  fprint (f, '\n pid: %f %f %f %d %d %d' %
981  (pid.discriminant(0),
982  pid.discriminant(1),
983  pid.discriminant(2),
984  pid.flag (TJP.ElectronFlag),
985  pid.flag (TJP.EgammaFlag),
986  pid.flag (TJP.MuonFlag)))
987  if hasattr (TJP, 'TauCutLoose'):
988  flags = [TJP.TauCutLoose,
989  TJP.TauCutMedium,
990  TJP.TauCutTight,
991  TJP.ElectronVeto,
992  TJP.MuonVeto,
993  TJP.TauLlhTight,
994  TJP.TauLlhMedium,
995  TJP.TauLlhLoose,
996  ]
997  if hasattr (TJP, 'TauRecOld'):
998  flags.append (TJP.TauRecOld)
999  if hasattr (TJP, 'Tau1P3POld'):
1000  flags.append (TJP.Tau1P3POld)
1001  fprint (f, '\n ', [pid.isTau(ff) for ff in flags])
1002  else:
1003  fprint (f, '\n ', pid.isTau())
1004  for i in range (t.nDetails()):
1005  fprint (f, '\n ')
1006  if t.detailElementLink(i).isValid():
1007  d = t.detail(i)
1008  if (hasattr (PyAthena.Analysis, 'Tau1P3PDetails') and
1009  isinstance (d, PyAthena.Analysis.Tau1P3PDetails)):
1010  dump_Tau1P3PDetails (d, f)
1011  elif (hasattr (PyAthena.Analysis, 'TauRecDetails') and
1012  isinstance (d, PyAthena.Analysis.TauRecDetails)):
1013  dump_TauRecDetails (d, f)
1014  elif (hasattr (PyAthena.Analysis, 'Tau1P3PExtraDetails') and
1015  isinstance (d, PyAthena.Analysis.Tau1P3PExtraDetails)):
1016  dump_Tau1P3PExtraDetails (d, f)
1017  elif (hasattr (PyAthena.Analysis, 'TauRecExtraDetails') and
1018  isinstance (d, PyAthena.Analysis.TauRecExtraDetails)):
1019  dump_TauRecExtraDetails (d, f)
1020  elif (hasattr (PyAthena.Analysis, 'TauPi0Details') and
1021  isinstance (d, PyAthena.Analysis.TauPi0Details)):
1022  dump_TauPi0Details (d, f)
1023  elif isinstance (d, PyAthena.Analysis.TauCommonDetails):
1024  dump_TauCommonDetails (d, f)
1025  elif isinstance (d, PyAthena.Analysis.TauCommonExtraDetails):
1026  dump_TauCommonExtraDetails (d, f)
1027  else:
1028  fprint (f, t.detailName(i), d, '(not dumped)')
1029  fprint (f, '\n p: %f %f %f' %
1030  (t.parameter (0),
1031  t.parameter (3),
1032  t.parameter (6)))
1033  return
1034 
1035 
1036 def dump_BaseTagInfo (info, f):
1037  fprint (f, ' '.join (['%f'%x for x in info.tagLikelihood()]),
1038  info.weight(), info.isValid())
1039  return
1040 
1041 
1042 def dump_TruthInfo (info, f):
1043  dump_BaseTagInfo (info, f)
1044  fprint (f, ' %s %f %d ' %
1045  (info.jetTruthLabel(),
1046  info.deltaRMinTo ('b'),
1047  info.BHadronPdg()))
1048  dump_Threevec (info.BDecayVertex(), f)
1049  return
1050 
1051 
1052 def dump_SLTrueInfo (info, f):
1053  fprint (f, '%d %d %d %d %d %d ' %
1054  (info.barcode(),
1055  info.pdgId(),
1056  info.pdgIdMother(),
1057  info.FromB(),
1058  info.FromD(),
1059  info.FromGH(),))
1060  dump_H3V (info.momentum(), f)
1061  fprint (f, ' ')
1062  dump_H3V (info.prodvtx(), f)
1063  return
1064 
1066  dump_BaseTagInfo (info, f)
1067  for i in range (info.numSLTrueInfo()):
1068  fprint (f, '\n ')
1069  dump_SLTrueInfo (info.getSLTrueInfo(i), f)
1070  return
1071 
1072 
1073 def dump_SecVtxInfo (info, f):
1074  dump_BaseTagInfo (info, f)
1075  fprint (f, '\n %d %d %d %d %f %f %f %f %f' %
1076  (info.fitType(),
1077  info.numSelTracksForFit(),
1078  info.mult(),
1079  info.NumberOfG2TrackVertices(),
1080  info.distance(),
1081  info.rphidistance(),
1082  info.probability(),
1083  info.mass(),
1084  info.energyFraction()))
1085  return dump_Threevec (info.secVertexPos().position(), f)
1086 
1087 
1088 def dump_IPTrackInfo (info, f):
1089  dump_Fourvec (info.track(), f)
1090  fprint (f, ' %d %s %d %f %f %f %f %f %f %f' %
1091  (info.trackGrade().gradeNumber(),
1092  info.trackGrade().gradeString(),
1093  info.isFromV0(),
1094  info.d0Value(),
1095  info.d0Significance(),
1096  info.z0Value(),
1097  info.z0Significance(),
1098  info.trackWeight2D(),
1099  info.trackWeight3D(),
1100  info.trackProbJP()))
1101  return
1102 
1103 def dump_IPInfoPlus (info, f):
1104  dump_BaseTagInfo (info, f)
1105  fprint (f, ' %d' % info.numTrackInfo())
1106  for i in range(info.numTrackInfo()):
1107  fprint (f, '\n ')
1108  dump_IPTrackInfo (info.getTrackInfo(i), f)
1109  return
1110 
1111 
1112 def dump_IPInfoBase (info, f):
1113  dump_BaseTagInfo (info, f)
1114  fprint (f, info.nbTracks())
1115  return
1116 
1117 
1118 def dump_SVInfoBase (info, f):
1119  dump_BaseTagInfo (info, f)
1120  return
1121 
1122 
1123 def dump_SVTrackInfo(info, f):
1124  tp = info.track()
1125  if not tp:
1126  fprint (f, tp)
1127  else:
1128  dump_Fourvec (tp, f)
1129  return
1130 
1131 
1132 def dump_SVInfoPlus (info, f):
1133  dump_BaseTagInfo (info, f)
1134  fprint (f, info.getNGTrackInJet(),
1135  info.getNGTrackInSvx(),
1136  info.getN2T(),
1137  info.getMass(),
1138  info.getEnergyFraction(),
1139  info.getNormDist(),
1140  info.numTrackInfo())
1141  fprint (f, '\n vert: ')
1142  dump_RecVertex (info.getRecSvx(), f)
1143  fprint (f, '\n tracks: ')
1144  # Track infos are unsorted.
1145  # Sort on pt for printing.
1146  ti = [info.getTrackInfo(i) for i in range(info.numTrackInfo())]
1147  ti.sort (key=lambda a: a.track().pt(), reverse=True)
1148  i = info.numTrackInfo()-1 # FIXME: wasn't counting
1149  for tt in ti:
1150  fprint (f, '\n %d: ' % i)
1151  dump_SVTrackInfo (tt, f)
1152  return
1153 
1154 
1155 def dump_MultiSVInfoPlus (info, f):
1156  dump_BaseTagInfo (info, f)
1157  fprint (f, info.getNGTrackInJet(),
1158  info.getNGTrackInSvx(),
1159  info.getN2T(),
1160  info.getNormDist(),
1161  info.numVtxInfo())
1162  fprint (f, '\n verts: ')
1163  for i in range (info.numVtxInfo()):
1164  fprint (f, '\n %d: ' % i)
1165  vx = info.getVtxInfo(i)
1166  fprint (f, vx.getMass(), vx.getPt(), vx.getEta(), vx.getPhi(),
1167  vx.getEnergyFraction(), vx.getNormDist(), vx.numTrackInfo())
1168  fprint (f, '\n vert: ')
1169  dump_RecVertex (vx.getRecSvx(), f)
1170  fprint (f, '\n tracks: ')
1171  # Track infos are unsorted.
1172  # Sort on pt for printing.
1173  ti = [vx.getTrackInfo(i) for i in range(vx.numTrackInfo())]
1174  ti.sort (key=lambda a: a.track().pt(), reverse=True)
1175  i = vx.numTrackInfo()-1 # FIXME: wasn't counting
1176  for tt in ti:
1177  fprint (f, '\n %d: ' % i)
1178  dump_SVTrackInfo (tt, f)
1179  return
1180 
1181 
1182 def dump_JetProbInfoBase (info, f):
1183  dump_BaseTagInfo (info, f)
1184  fprint (f, info.nbTracks())
1185  return
1186 
1187 
1188 def dump_SETrackInfo (info, f):
1189  dump_Fourvec (info.electron(), f)
1190  fprint (f, '%f %f' % (info.d0Value(), info.pTrel()),
1191  [x for x in info.tagLikelihood()])
1192  return
1193 
1194 
1196  dump_BaseTagInfo (info, f)
1197  fprint (f, ' '.join(['%f'%x for x in info.vectorTrackProb()]),
1198  info.nTrackProb(), info.numTrackInfo())
1199  for i in range(info.numTrackInfo()):
1200  fprint (f, '\n ')
1201  dump_SETrackInfo (info.getTrackInfo(i), f)
1202  return
1203 
1204 
1206  dump_BaseTagInfo (info, f)
1207  fprint (f, '%d %d %d %f %f %f %f %f' %
1208  (info.nVTX(),
1209  info.nSingleTracks(),
1210  info.nTracksAtVtx(),
1211  info.energyFraction(),
1212  info.mass(),
1213  info.significance3d(),
1214  info.deltaphi(),
1215  info.deltaeta()))
1216  return
1217 
1218 
1220  dump_BaseTagInfo (info, f)
1221  fprint (f, '%d %f %f %f %f' %
1222  (info.nTracks(),
1223  info.d0sig_2nd(),
1224  info.d0sig_abs_2nd(),
1225  info.d0sig_3rd(),
1226  info.d0sig_abs_3rd()))
1227  return
1228 
1229 
1230 def dump_AtlfInfo (info, f):
1231  dump_BaseTagInfo (info, f)
1232  fprint (f, info.isBTagged(), info.isTauTagged(), info.isTau1PTagged(),
1233  info.isTau3PTagged(), info.LightHypoCalFactor(),
1234  info.TauHypoCalFactor(), info.Tau1P3PHypoCalFactor(),
1235  info.BHypoCalFactor(),
1236  info.deltaRMinTo("b"),
1237  info.deltaRMinTo("c"),
1238  info.deltaRMinTo("t"))
1239  return
1240 
1241 
1242 def dump_SMTrackInfo (info, f):
1243  dump_ParticleImpl (info.muon(), f)
1244  fprint (f, info.d0Value(), info.pTrel(), list(info.tagLikelihood()))
1245  return
1246 
1247 
1248 def dump_SoftMuonInfo (info, f):
1249  dump_BaseTagInfo (info, f)
1250  for i in range (info.numTrackInfo()):
1251  fprint (f, " ti ")
1252  dump_SMTrackInfo (info.getTrackInfo(i), f)
1253  return
1254 
1255 
1256 def dump_GbbNNTagInfo (info, f):
1257  dump_BaseTagInfo (info, f)
1258  fprint (f, info.nMatchingTracks(), info.trkJetWidth(),
1259  info.trkJetMaxDeltaR())
1260  return
1261 
1262 
1263 def dump_JetConstituent (info, f):
1264  fprint (f, [info.energyInSample(i) for i in range(8)],
1265  info.energyInCryostat(), info.wtCryo(), info.jet())
1266 # const Jet* jet() const; //!< get jet directly without token
1267 # double energyInSample(CaloSampling::CaloSample ) const;
1268 # double energyInCryostat( ) const;
1269 # double getJetWeight(const Jet* the_jet) const ;
1270 # double getJetWeight(const JetCollection* theContainer,
1271 # index_type& theIndex) const;
1272 # double wtCryo () const { return m_wtCryoLocal; }
1273  return
1274 
1275 
1277  tr = info.tracks()
1278  ROOT.SetOwnership (tr, True)
1279  for t in tr:
1280  fprint (f, '\n tr: ')
1281  dump_Fourvec (t, f)
1282  fprint (f, info.getTrackWeight(t))
1283  return
1284 
1285 
1287  if info.electron():
1288  dump_Fourvec (info.electron(), f)
1289  fprint (f, info.getElectronWeight (info.electron()))
1290  else:
1291  fprint (f, None)
1292  return
1293 
1294 
1295 def dump_MuonConstituent (info, f):
1296  if info.muon():
1297  dump_Fourvec (info.muon(), f)
1298  fprint (f, info.getMuonWeight (info.muon()))
1299  else:
1300  fprint (f, None)
1301  return
1302 
1303 def dump_ParticleJet (j, f):
1304  dump_ParticleBase (j, f)
1305  fprint (f, '\n %s %f %f' %
1306  (j.jetAuthor(),
1307  j.weight(),
1308  j.lhSig()))
1309  fprint (f, [x for x in j.combinedLikelihood()])
1310  ti = j.jetTagInfoVector()
1311  for info in ti:
1312  fprint (f, '\n %s: ' % info.infoType())
1313  if isinstance (info, PyAthena.Analysis.TruthInfo):
1314  dump_TruthInfo (info, f)
1315  elif isinstance (info, PyAthena.Analysis.SoftLeptonTruthInfo):
1316  dump_SoftLeptonTruthInfo (info, f)
1317  elif isinstance (info, PyAthena.Analysis.SecVtxInfo):
1318  dump_SecVtxInfo (info, f)
1319  elif isinstance (info, PyAthena.Analysis.IPInfoPlus):
1320  dump_IPInfoPlus (info, f)
1321  elif isinstance (info, PyAthena.Analysis.IPInfoBase):
1322  dump_IPInfoBase (info, f)
1323  elif isinstance (info, PyAthena.Analysis.SVInfoBase):
1324  dump_SVInfoBase (info, f)
1325  elif isinstance (info, PyAthena.Analysis.JetProbInfoBase):
1326  dump_JetProbInfoBase (info, f)
1327  elif isinstance (info, PyAthena.Analysis.SoftElectronInfo):
1328  dump_SoftElectronInfo (info, f)
1329  elif isinstance (info, PyAthena.Analysis.JetFitterTagInfo):
1330  dump_JetFitterTagInfo (info, f)
1331  elif isinstance (info, PyAthena.Analysis.BaseTagInfo):
1332  dump_BaseTagInfo (info, f)
1333  else:
1334  fprint (f, info)
1335 
1336  for c in j.constituentKeys():
1337  fprint (f, '\n %s: ' % c)
1338  info = j.constituent (c)
1339  if isinstance (info, PyAthena.Analysis.JetConstituent):
1340  dump_JetConstituent (info, f)
1341  elif isinstance (info, PyAthena.Analysis.TrackConstituents):
1342  dump_TrackConstituents (info, f)
1343  elif isinstance (info, PyAthena.Analysis.ElectronConstituent):
1344  dump_ElectronConstituent (info, f)
1345  elif isinstance (info, PyAthena.Analysis.MuonConstituent):
1346  dump_MuonConstituent (info, f)
1347  else:
1348  fprint (f, info)
1349  return
1350 
1351 
1353  dump_ParticleImpl (p, f)
1354  poltheta = fix_neg0 (p.polarization().theta())
1355  fprint (f, ' %3d %3d %f %f %d %d' %
1356  (p.barcode(),
1357  p.status(),
1358  poltheta,
1359  p.polarization().phi(),
1360  p.nParents(),
1361  p.nDecay()))
1362  fprint (f, '\n ', p.hasEtIsol())
1363  dump_HLV (p.genParticle().momentum(), f)
1364  if p.nParents()>0:
1365  fprint (f, '\n p0:')
1366  # Note: ordering of entries in the parent/child lists is unpredictable.
1367  # Here, we'll pick the one with the smallest barcode.
1368  mother = None
1369  for i in range(p.nParents()):
1370  if not mother or _gen_barcode(p.genMother(i)) < _gen_barcode(mother):
1371  mother = p.genMother(i)
1372  mni = i
1373  dump_HLV (mother.momentum(), f)
1374  dump_Fourvec (p.mother(mni), f)
1375  if p.nDecay()>0:
1376  fprint (f, '\n c0:')
1377  child = None
1378  for i in range(p.nDecay()):
1379  if not child or _gen_barcode(p.genChild(i)) < _gen_barcode(child):
1380  child = p.genChild(i)
1381  mni = i
1382  dump_HLV (child.momentum(), f)
1383  dump_Fourvec (p.child(mni), f)
1384  return
1385 
1386 
1388  fprint (f, '%4d %f' % (p.particleLink().barcode(), p.probability()))
1389  gp = p.particleLink().cptr()
1390  if gp:
1391  dump_HLV (gp.momentum(), f)
1392  else:
1393  fprint (f, ' (no part)')
1394  return
1395 
1396 
1397 @nolist
1399  fprintln (f, ' ', c.trackParticleContainerLink().isValid())
1400  elclass = PyAthena.ElementLink (PyAthena.Rec.TrackParticleContainer)
1401  for i in range (c.size()):
1402  fprint (f, ' ')
1403  el = elclass()
1404  cont = PyAthena.Rec.TrackParticleContainer()
1405  el.toIndexedElement (cont, i)
1406  dump_TrackParticleTruth (c[PyAthena.Rec.TrackParticleTruthKey(el)], f)
1407  fwrite (f, '\n')
1408  return
1409 
1410 
1412  fprint (f, [s[i].value() for i in range(s.NUM_SUBDETECTORS)])
1413  return
1414 
1415 
1417  fprint (f, [l.barcode() for l in t])
1418  return
1419 
1420 
1421 @nolist
1423  fprint (f, ' ', c.trackCollectionLink().key(), c.size())
1424  for p in toiter1(c):
1425  fprint (f, '\n %3d' % p.first.index(), ' common ')
1426  dump_SubDetHitStatistics (p.second.statsCommon(), f)
1427  fprint (f, '\n ', ' track ')
1428  dump_SubDetHitStatistics (p.second.statsTrack(), f)
1429  fprint (f, '\n ', ' truth ')
1430  dump_SubDetHitStatistics (p.second.statsTruth(), f)
1431  fprint (f, '\n ', ' trajectory ')
1432  dump_TruthTrajectory (p.second.trajectory(), f)
1433  return
1434 
1435 
1436 def dump_FitQuality (info, f):
1437  if not info:
1438  fprint (f, '(null)')
1439  return
1440  fprint (f, '%f %f' % (info.chiSquared(), info.doubleNumberDoF()))
1441  return
1442 
1443 
1444 def dump_TrackSummary (info, f):
1445  if not info:
1446  fprint (f, '(null)')
1447  return
1448  fprint (f, [info.get(i) for i in range(32)],
1449  [info.isHit(i) for i in range(21)])
1450  return
1451 
1452 
1453 def dump_Surface (info, f):
1454  fprint (f, typename(info.__class__) + ':')
1455  dump_Threevec (info.center(), f)
1456  dump_Threevec (PyAthena.Trk.Surface.normal (info), f)
1457  if (isinstance (info, PyAthena.Trk.DiscSurface) and
1458  typename(info.bounds().__class__).find ('NoBounds') >= 0):
1459  bd_class = info.bounds().__class__
1460  fprint (f, '(no bounds)')
1461  elif (isinstance (info, PyAthena.Trk.CylinderSurface) and
1462  (not info.hasBounds() or not info.bounds())):
1463  fprint (f, '(no bounds)')
1464  bd_class = PyAthena.Trk.CylinderBounds
1465  else:
1466  dump_Threevec (info.globalReferencePoint(), f)
1467  bd_class = info.bounds().__class__
1468  if isinstance (info, PyAthena.Trk.CylinderSurface):
1469  dump_AmgVector (info.rotSymmetryAxis(), f)
1470  fprint (f, '\n tf')
1471  dump_AmgMatrix (info.transform().matrix(), f, thresh=1e-8)
1472 # fprint (f, '\n de', info.associatedDetectorElement())
1473  layer = tonone (info.associatedLayer())
1474  if layer:
1475  layer = typename (info.associatedLayer().__class__)
1476  fprint (f, '\n ly', layer)
1477  fprint (f, '\n bd', typename(bd_class))
1478  fprint (f, '\n id',
1479  info.associatedDetectorElementIdentifier().getString())
1480  return
1481 
1482 def dump_PerigeeSurface (info, f):
1483  dump_Surface (info, f)
1484  return
1485 
1486 
1487 def dump_PlaneSurface (info, f):
1488  dump_Surface (info, f)
1489  return
1490 
1491 
1493  dump_Surface (info, f)
1494  return
1495 
1496 
1497 def dump_CylinderSurface (info, f):
1498  dump_Surface (info, f)
1499  return
1500 
1501 
1502 def dump_DiscSurface (info, f):
1503  dump_Surface (info, f)
1504  return
1505 
1506 
1508  os = ROOT.ostringstream()
1509  info.dump (os)
1510  s = os.str().replace ('\n', ';')
1511  fprint (f, s)
1512  return
1513 
1514 
1516  dump_StraightLineSurface (info, f)
1517  fprint (f, '\n ds')
1518  dump_LineSaggingDescriptor (info.distortionDescriptor())
1519  return
1520 
1521 
1522 def dump_surface (p, f):
1523  if not p:
1524  fprint (f, None)
1525  elif isinstance (p, PyAthena.Trk.PerigeeSurface):
1526  dump_PerigeeSurface (p, f)
1527  elif isinstance (p, PyAthena.Trk.PlaneSurface):
1528  dump_PlaneSurface (p, f)
1529  elif isinstance (p, PyAthena.Trk.StraightLineSurface):
1530  dump_StraightLineSurface (p, f)
1531  elif isinstance (p, PyAthena.Trk.CylinderSurface):
1532  dump_CylinderSurface (p, f)
1533  elif isinstance (p, PyAthena.Trk.DiscSurface):
1534  dump_DiscSurface (p, f)
1535  elif isinstance (p, PyAthena.Trk.SaggedLineSurface):
1536  dump_SaggedLineSurface (p, f)
1537  else:
1538  fprint (f, p)
1539  return
1540 
1541 
1543  if hasattr(p, 'hasSurface') and not p.hasSurface():
1544  fprint (f, None)
1545  else:
1546  dump_surface (p.associatedSurface(), f)
1547  return
1548 
1549 
1550 def dump_ParametersBase (info, f):
1551  dump_AmgVector (info.parameters(), f)
1552  dump_Threevec (info.momentum(), f)
1553  dump_Threevec (info.position(), f)
1554  dump_Twovec (info.localPosition(), f)
1555  fprint (f, "%f" % (info.charge(),))
1556  if info.covariance():
1557  fprint (f, '\n cov')
1558  dump_AmgMatrix (info.covariance(), f)
1559  fprint (f, '\n sf')
1560  dump_associatedSurface (info, f)
1561  return
1562 
1563 
1565  dump_ParametersBase (info, f)
1566  fprint (f, '\n curvilinear')
1567  fprint (f, info.cIdentifier())
1568  mat = info.measurementFrame()
1569  dump_AmgVector (mat.col(0), f)
1570  dump_AmgVector (mat.col(1), f)
1571  dump_AmgVector (mat.col(2), f)
1572  return
1573 
1574 
1575 def dump_parameters (p, f):
1576  if not p:
1577  fprint (f, '(nil)')
1578  return
1579  if typename(p.__class__).startswith ('DataModel_detail::ElementProxy<'):
1580  p = p.__follow__()
1581  if not p:
1582  fprint (f, '(nil)')
1583  elif (typename(p.__class__).startswith ('Trk::ParametersT<') or
1584  typename(p.__class__).startswith ('Trk::ParametersBase<')):
1585  dump_ParametersBase (p, f)
1586  elif typename(p.__class__).startswith ('Trk::CurvilinearParametersT<'):
1587  dump_CurvilinearParameters (p, f)
1588  else:
1589  fprint (f, p)
1590  return
1591 
1592 
1594  dump_Fourvec (p, f)
1595  dp = None
1596  if p.trackParameters().size() > 0 and p.trackParameters()[-1]:
1597  dp = p.definingParameters()
1598  if dp:
1599  fprint (f, "%f" % p.charge())
1600  else:
1601  fprint (f, "(nil)")
1602  fprint (f, "%1d" % p.particleOriginType())
1603  # This crashes --- needs dd.
1604  #if p.originalTrack():
1605  # fprint (f, '\n tr', p.originalTrack())
1606  fprint (f, '\n vx')
1607  vx = p.reconstructedVertex()
1608  if vx:
1609  dump_Threevec (vx.recVertex().position(), f)
1610  else:
1611  fprint (f, tonone (vx))
1612  if p.fitQuality() != fitQualityNull:
1613  fprint (f, '\n fq')
1614  dump_FitQuality (p.fitQuality(), f)
1615  if p.trackSummary():
1616  fprint (f, '\n ts')
1617  dump_TrackSummary (p.trackSummary(), f)
1618  fprint (f, '\n df')
1619  dump_parameters (dp, f)
1620  fprint (f, '\n pm')
1621  for x in p.trackParameters():
1622  fprintln (f, '\n')
1623  dump_parameters (x, f)
1624  return
1625 
1626 
1628  dump_AmgVector (p, f)
1629  fprint (f, p.parameterKey())
1630  return
1631 
1632 
1634  dump_LocalParameters (p.localParameters(), f)
1635  dump_AmgMatrix (p.localCovariance(), f)
1636  return
1637 
1638 
1639 def dump_RIO_OnTrack (p, f):
1640  dump_MeasurementBase (p, f)
1641  fprint (f, p.identify().getString())
1642  return
1643 
1644 
1646  dump_RIO_OnTrack (p, f)
1647  fprint (f, p.idDE().value(), p.isBroadCluster())
1648  dump_AmgVector (p.globalPosition(), f)
1649  return
1650 
1651 
1653  dump_SiClusterOnTrack (p, f)
1654  dump_EL (p.prepRawDataLink(), f)
1655  fprint (f, p.hasClusterAmbiguity(), p.isFake(), p.energyLoss())
1656  fprint (f, p.detectorElement().identifyHash().value())
1657  return
1658 
1659 
1661  dump_SiClusterOnTrack (p, f)
1662  dump_EL (p.prepRawDataLink(), f)
1663  fprint (f, p.positionAlongStrip())
1664  fprint (f, p.detectorElement().identifyHash().value())
1665  return
1666 
1667 
1669  dump_RIO_OnTrack (p, f)
1670  dump_AmgVector (p.globalPosition(), f)
1671  fprint (f, p.idDE().value())
1672  dump_EL (p.prepRawDataLink(), f)
1673  fprint (f, p.status(), p.localAngle(), p.positionAlongWire())
1674  fprint (f, p.highLevel(), p.timeOverThreshold())
1675  fprint (f, p.detectorElement().identifyHash().value())
1676  return
1677 
1678 
1680  dump_RIO_OnTrack (p, f)
1681  dump_AmgVector (p.globalPosition(), f, thresh=1e-8)
1682  dump_EL (p.prepRawDataLink(), f)
1683  fprint (f, p.status(), p.localAngle(), p.positionAlongWire())
1684  fprint (f, p.driftTime(), p.errorStrategy().getBits().to_string())
1685  fprint (f, p.detectorElement().identifyHash().value())
1686  dump_StraightLineSurface (p.associatedSurface(), f)
1687  return
1688 
1689 
1691  dump_MeasurementBase (p, f)
1692  fprint (f, p.indexOfMaxAssignProb())
1693  sz = p.numberOfContainedROTs()
1694  fprint (f, [p.assignmentProbability(i) for i in range(sz)])
1695  return
1696 
1697 
1699  dump_RIO_OnTrack (p, f)
1700  dump_AmgVector (p.globalPosition(), f, 1e-12, 4)
1701  fprint (f, p.positionAlongStrip())
1702  return
1703 
1704 
1705 
1707  dump_CompetingRIOsOnTrack (p, f)
1708  dump_AmgVector (p.globalPosition(), f)
1709  dump_associatedSurface (p, f)
1710  for r in p.containedROTs():
1711  fprint (f, '\n mc ')
1712  dump_MuonClusterOnTrack (r, f)
1713  return
1714 
1715 
1717  dump_MuonClusterOnTrack (p, f)
1718  dump_EL (p.prepRawDataLink(), f)
1719  fprint (f, p.time())
1720  fprint (f, p.detectorElement().identifyHash().value())
1721  return
1722 
1723 
1724 def dump_Attribute (p, f):
1725  if isinstance (p, str):
1726  fprint (f, p)
1727  else:
1728  ss = ROOT.std.ostringstream()
1729  p.toOutputStream (ss)
1730  fprint (f, ss.str())
1731  return
1732 @nolist
1734  #print ('yyy', p, type(p))
1735  #for x in p:
1736  # print ('yyy1', type(x))
1737  ss = ROOT.std.ostringstream()
1738  p.print(ss)
1739  #print ('yyy2', ss.str())
1740  #for i in range (p.size()):
1741  # print ('yyy3', i, p[i], type(p[i]))
1742  s = ss.str()
1743  if s[0] == '{': s = s[1:]
1744  if s[-1] == '}': s = s[:-1]
1745  for a in s.split(','):
1746  fprint (f, ' ', a, '\n')
1747  return
1748 
1749 
1750 def dump_InDetTime (p, f):
1751  fprint (f, p.first, p.second)
1752  return
1753 
1754 
1755 @nolist
1757  for x in p.getAll():
1758  fprint (f, '\n ', x.first, x.second)
1759  return
1760 
1761 
1762 @nolist
1764  fprint (f, ' Missing errors:', list (p.getMissingErrorSet()))
1765  fprint (f, '\n Error errors:', list (p.getErrorErrorSet()))
1766  fprint (f, '\n Sid errors:', list (p.getSidErrorSet()))
1767  fprint (f, '\n L1 errors:', [(x.first, x.second) for x in p.getL1ErrorSet()])
1768  fprint (f, '\n BCID errors:', [(x.first, x.second) for x in p.getBCIDErrorSet()])
1769  fprint (f, '\n ROB errors:', [(x.first, x.second) for x in p.getRobErrorSet()])
1770  return
1771 
1772 
1774  fprint (f, 'feb', p.FEBId().getString(), p.FebELVL1Id(), p.FebBCId(),
1775  'febh', p.FormatVersion(), p.SourceId(),
1776  p.RunNumber(), p.ELVL1Id(), p.BCId(), p.LVL1TigType(),
1777  p.DetEventType(),
1778  'dsp', p.DspCodeVersion(), p.DspEventCounter(),
1779  'res', p.RodResults1Size(), p.RodResults2Size(), p.RodRawDataSize(),
1780  p.NbSamples(), p.NbSweetCells1(), p.NbSweetCells2(),
1781  p.OnlineChecksum(), p.OfflineChecksum(), p.RodStatus(),
1782  list(p.SCA()),
1783  list(p.FebCtrl1()), list(p.FebCtrl2()), list(p.FebCtrl3()))
1784  return
1785 
1786 
1788  fprint (f, p.identify().getString(), p.energy(), p.time(),
1789  p.quality(), p.provenance(), p.gain())
1790  return
1791 
1792 
1793 def dump_TrigMonROB (p, f):
1794  fprint (f, [(x.getROBId(), x.isStatusOk(), x.isStatusPrefetched(),
1795  x.getROBSize(), x.getEncodedState(), x.getHistory(),
1796  x.getStatus()) for x in p.getData()],
1797  list(p.getWord()))
1798  return
1799 
1800 def dump_TrigMonRoi (p, f):
1801  fprint (f, list(p.getWord()), list(p.getVarKey()), list(p.getVarVal()))
1802  return
1803 
1804 def dump_TrigMonAlg (p, f):
1805  fprint (f, [ord(x) for x in p.getByte()], list(p.getWord()))
1806  return
1807 
1808 def dump_TrigMonSeq (p, f):
1809  fprint (f, p.getEncoded(), list(p.getVarKey()), list(p.getVarVal()))
1810  for a in p.getAlg():
1811  fprint (f, '\n ')
1812  dump_TrigMonAlg (a, f)
1813  return
1814 
1815 def dump_TrigMonTE (p, f):
1816  fprint (f, p.getId(),
1817  p.getIndex(), p.getType(),
1818  p.getActiveState(), p.getErrorState(), p.isTerminalNode(),
1819  p.isOutputL2Node(), p.isOutputEFNode(), p.isTopologicalTE(),
1820  list(p.getChildIndex()), list (p.getParentIndex()),
1821  list(p.getRoiId()), list(p.getClid()),
1822  list(p.getVarKey()), list(p.getVarVal()))
1823  return
1824 
1826  fprint (f, 'r/e/lb/bc', p.getRun(), p.getEvent(), p.getLumi(), p.getBunchId(),
1827  'tm', p.getSec(), p.getNanoSec(), 'addl', list(p.word()))
1828  fprint (f, '\n robs')
1829  for r in p.getROBVec():
1830  fprint (f, '\n ')
1831  dump_TrigMonROB (r, f)
1832  fprint (f, '\n rois')
1833  for r in p.getRoiVec():
1834  fprint (f, '\n ')
1835  dump_TrigMonRoi (r, f)
1836  fprint (f, '\n seq2')
1837  for r in p.getSeqVec():
1838  fprint (f, '\n ')
1839  dump_TrigMonSeq (r, f)
1840  fprint (f, '\n tes')
1841  for r in p.getTEVec():
1842  fprint (f, '\n ')
1843  dump_TrigMonTE (r, f)
1844  fprint (f, '\n l1', list(p.getL1Item()))
1845  fprint (f, '\n hlt', list(p.getChain()))
1846  fprint (f, '\n key', list(p.getVarKey()))
1847  fprint (f, '\n val', list(p.getVarVal()))
1848  return
1849 
1850 
1851 def dump_TrigConfSig (p, f):
1852  fprint (f, p.getCounter(), p.getLogic(), p.getLabel(),
1853  list(p.getOutputTEs()))
1854  return
1855 
1857  fprint (f, p.getName(), p.getChainName(), p.getLowerName(),
1858  p.getId(), p.getCounter(),
1859  p.getLowerId(), p.getLowerCounter(),
1860  p.getLevelId(), p.getPrescale(), p.getPassThrough())
1861  fprint (f, '\n lower ids', list(p.getLowerIds()))
1862  fprint (f, '\n stream ps', list(p.getStreamPS()))
1863  fprint (f, '\n stream name', list(p.getStream()))
1864  fprint (f, '\n group', list(p.getGroup()))
1865  fprint (f, '\n EB hypo', list(p.getEBHypo()))
1866  fprint (f, '\n sigs')
1867  for s in p.getSignature():
1868  fprint (f, '\n ')
1869  dump_TrigConfSig (s, f)
1870 
1871  return
1872 
1873 def dump_TrigConfAlg (p, f):
1874  ss = ROOT.ostringstream()
1875  p.print(ss)
1876  fprint (f, p.index(), ss.str())
1877  return
1878 
1879 def dump_TrigConfSeq (p, f):
1880  fprint (f, p.getName(), p.getIndex(), p.getId(), p.getTopoTE())
1881  fprint (f, '\n algs')
1882  for a in p.getAlg():
1883  fprint (f, '\n ')
1884  dump_TrigConfAlg (a, f)
1885  fprint (f, '\n input TE', list(p.getInputTEs()))
1886  return
1887 
1889  fprint (f, 'r/e/lb', p.getRun(), p.getEvent(), p.getLumi(),
1890  'tm', p.getSec(), p.getNanoSec(),
1891  'keys', p.getMasterKey(), p.getHLTPrescaleKey(),
1892  p.getLVL1PrescaleKey())
1893  fprint (f, '\n chains')
1894  for r in p.getChainVec():
1895  fprint (f, '\n ')
1896  dump_TrigConfChain (r, f)
1897  fprint (f, '\n seqs')
1898  for r in p.getSeqVec():
1899  fprint (f, '\n ')
1900  dump_TrigMonSeq (r, f)
1901  fprint (f, '\n key', list(p.getVarKey()))
1902  fprint (f, '\n val', list(p.getVarVal()))
1903  fprint (f, '\n pairkey', list(p.getPairKey()))
1904  fprint (f, '\n pairval', list(p.getPairVal()))
1905  return
1906 
1907 
1908 @nolist
1910  fprint (f, p.id())
1911  return
1912 
1913 
1915  fprint (f, p.lvl1Id(), p.link(), p.frontendFlag(), p.bcId(), p.robId())
1916  return
1917 
1919  fprint (f, p.hitDiscConfig(), p.link())
1920  return
1921 
1923  dump_AFP_RawDataCommonHead (p, f)
1924  fprint (f, p.column(), p.row(), p.timeOverThreshold())
1925  return
1926 
1928  dump_AFP_RawCollectionHead (p, f)
1929  for r in p.dataRecords():
1930  fprint (f, '\n ')
1931  dump_AFP_SiRawData (r, f)
1932  return
1933 
1935  dump_AFP_RawDataCommonHead (p, f)
1936  fprint (f, p.header(), p.edge(), p.channel())
1937  if p.isTrigger():
1938  fprint (f, p.delayedTrigger(), p.triggerPattern())
1939  else:
1940  fprint (f, p.time(), p.pulseLength())
1941  return
1942 
1944  dump_AFP_RawCollectionHead (p, f)
1945  for r in p.dataRecords():
1946  fprint (f, '\n ')
1947  dump_AFP_ToFRawData (r, f)
1948  return
1949 
1950 @nolist
1952  fprint (f, p.lvl1Id(), p.bcId(), p.lumiBlock(),
1953  p.timeStamp(), p.timeStampNS())
1954  fprint (f, '\n si collections')
1955  for c in p.collectionsSi():
1956  fprint (f, '\n ')
1957  dump_AFP_SiRawCollection (c, f)
1958  fprint (f, '\n tof collections')
1959  for c in p.collectionsToF():
1960  fprint (f, '\n ')
1961  dump_AFP_ToFRawCollection (c, f)
1962  return
1963 
1964 
1966  fprint (f, p.GetWordId_PMF(), p.GetPMFId_PMF(), p.GetMBId_PMF(),
1967  p.GetEventCount_PMF(), p.Get_bit16(), p.Get_bit18(),
1968  p.Get_bit26_27(), p.Get_bit24_27(), p.Get_error_bit17(),
1969  list(p.HitChan()), list (p.dataWords()))
1970  return
1971 
1972 
1974  fprint (f, 'collection')
1975  fprint (f, 'mb', p.GetMBId_POT(), 'mrod', p.GetMrodId_POT(),
1976  'ec', p.GetEventCount_POT(),
1977  'scid', p.Get_scaler_POT(),
1978  'adc', p.Get_ADC1_POT(), p.Get_ADC2_POT(),
1979  'err', p.GetTrigSyncErr(),
1980  'pat', boolvec (p.Get_pattern_POT()))
1981  fprint (f, '\n data')
1982  for r in p.Get_POT_DATA():
1983  fprint (f, '\n ')
1984  dump_ALFA_RawData (r, f)
1985  fprint (f, '\n contents')
1986  for r in p:
1987  fprint (f, '\n ')
1988  dump_ALFA_RawData (r, f)
1989  return
1990 
1991 
1992 @nolist
1994  if p.is_FullEVmarker(): fprint (f, 'fullev')
1995  if p.is_ROBmarker(): fprint (f, 'rob')
1996  if p.is_RODmarker(): fprint (f, 'rod')
1997  fprint (f, 'sd/mrod/l1/ecr/bc', p.subdetId(), p.mrodId(), p.lvl1Id(),
1998  p.ecrId(), p.bcId())
1999  fprint (f, '\n run/typ/tt/evtyp', p.runNum(), p.runType(),
2000  p.trigtypeId(), p.DetEventType(),
2001  'ts', p.GetTimeStamp(), p.GetTimeStampns(),
2002  p.GetLumiBlock(), p.GetBCId())
2003  fprint (f, '\n lvl1', boolvec(p.GetLvl1Pattern_POT()))
2004  fprint (f, '\n lvl2', boolvec(p.GetLvl2Pattern_POT()))
2005  fprint (f, '\n ef', boolvec(p.GetEFPattern_POT()))
2006  for c in p:
2007  fprint (f, '\n ')
2008  dump_ALFA_RawDataCollection (c, f)
2009  return
2010 
2011 
2013  fprint (f, list(p.triggerEnergies()), list(p.triggerTimes()))
2014  return
2015 
2016 
2017 @nolist
2019  fprint (f, '(Dumped as a part of Analysis::TauJetContainer)')
2020  return
2021 
2022 
2023 @nolist
2025  fprint (f, '(Dumped as a part of egamma)')
2026  return
2027 
2028 
2029 @nolist
2031  fprint (f, '(Dumped as a part of jets)')
2032  return
2033 
2034 
2035 @nolist
2037  fprint (f, '(Dumped as a part of jets)')
2038  return
2039 
2040 
2041 @nolist
2043  for x in p.get_all_febs():
2044  fprint (f, '\n ', x.first, x.second)
2045  return
2046 
2047 
2048 @nolist
2050  for x in p.splitProbMap():
2051  fprint (f, '\n ', x.first, x.second.first, x.second.second, x.second.isSplit())
2052  return
2053 
2054 
2056  if not p:
2057  fprint (f, '(null)')
2058  return
2059  fprint (f, p.word())
2060  for d in p.getdeposits():
2061  fprint (f, '[')
2062  dump_HepMcParticleLink (d.first, f)
2063  fprint (f, d.second)
2064  fprint (f, ']')
2065  return
2066 
2067 @nolist
2069  getData = ROOT.InDetSimDataHelpers.getData
2070  for id in ROOT.InDetSimDataHelpers.identifiers(p):
2071  fprint (f, '\n ', id.getString())
2072  dump_InDetSimData (getData (p, id), f)
2073  return
2074 
2075 
2076 @nolist
2078  for x in ROOT.TrkTruthDataHelpers.getData (p):
2079  fprint (f, '\n ', x.first.getString())
2080  dump_HepMcParticleLink (x.second, f)
2081  return
2082 
2083 
2084 @nolist
2086  for x in p:
2087  fprint (f, '\n ', x.first.index())
2088  dump_HepMcParticleLink (x.second.particleLink(), f)
2089  fprint (f, x.second.probability())
2090  return
2091 
2092 
2093 def dump_LArTTL1 (p, f):
2094  fprint (f, p.ttOnlineID().getString(), p.ttOfflineID().getString(),
2095  list (p.samples()))
2096  return
2097 
2098 
2099 @nolist
2100 def dump_ComTime (p, f):
2101  fprint (f, p.getTTCTime(), p.getTime())
2102  dump_H3V (p.GetCounterPosition(), f)
2103  dump_H3V (p.GetcosThetaDirection(), f)
2104  return
2105 
2106 
2107 
2108 @nolist
2109 def dump_vector (p, f):
2110  fprint (f, list(p))
2111  return
2112 
2113 
2115  dump_MuonClusterOnTrack (p, f)
2116  dump_EL (p.prepRawDataLink(), f)
2117  fprint (f, p.detectorElement().identifyHash().value())
2118  return
2119 
2120 
2122  dump_MuonClusterOnTrack (p, f)
2123  dump_EL (p.prepRawDataLink(), f)
2124  fprint (f, p.detectorElement().identifyHash().value())
2125  return
2126 
2127 
2129  dump_MuonClusterOnTrack (p, f)
2130  dump_EL (p.prepRawDataLink(), f)
2131  fprint (f, p.detectorElement().identifyHash().value())
2132  fprint (f, '\n stripDriftDists: ', list(p.stripDriftDists()))
2133  fprint (f, '\n stripDriftDistErrors:')
2134  for m in p.stripDriftDistErrors():
2135  fprint ('\n ')
2136  dump_AmgMatrix (m, f)
2137  return
2138 
2139 
2141  dump_MuonClusterOnTrack (p, f)
2142  dump_EL (p.prepRawDataLink(), f)
2143  fprint (f, p.status(), p.timeStatus(), p.time())
2144  if p.detectorElement():
2145  fprint (f, p.detectorElement().identifyHash().value())
2146  else:
2147  fprint (f, '(null detEl)')
2148  return
2149 
2150 
2152  dump_MeasurementBase (p, f)
2153  dump_AmgVector (p.globalPosition(), f)
2154  dump_associatedSurface (p, f)
2155  return
2156 
2157 
2158 def dump_measurement (p, f):
2159  if not p:
2160  fprint (f, '(null)')
2161  return
2162  nm = typename(p.__class__)
2163  fprint (f, nm + ': ')
2164  if nm == 'InDet::PixelClusterOnTrack':
2165  dump_PixelClusterOnTrack (p, f)
2166  elif nm == 'InDet::SCT_ClusterOnTrack':
2167  dump_SCT_ClusterOnTrack (p, f)
2168  elif nm == 'InDet::TRT_DriftCircleOnTrack':
2169  dump_TRT_DriftCircleOnTrack (p, f)
2170  elif nm == 'Muon::MdtDriftCircleOnTrack':
2171  dump_MdtDriftCircleOnTrack (p, f)
2172  elif nm == 'Muon::MdtDriftCircleOnTrack':
2173  dump_MdtDriftCircleOnTrack (p, f)
2174  elif nm == 'Muon::CompetingMuonClustersOnTrack':
2175  dump_CompetingMuonClustersOnTrack (p, f)
2176  elif nm == 'Muon::RpcClusterOnTrack':
2177  dump_RpcClusterOnTrack (p, f)
2178  elif nm == 'Muon::TgcClusterOnTrack':
2179  dump_TgcClusterOnTrack (p, f)
2180  elif nm == 'Muon::sTgcClusterOnTrack':
2181  dump_sTgcClusterOnTrack (p, f)
2182  elif nm == 'Muon::MMClusterOnTrack':
2183  dump_MMClusterOnTrack (p, f)
2184  elif nm == 'Muon::CscClusterOnTrack':
2185  dump_CscClusterOnTrack (p, f)
2186  elif nm == 'Trk::PseudoMeasurementOnTrack':
2187  dump_PseudoMeasurementOnTrack (p, f)
2188  else:
2189  fprint (f, p)
2190  return
2191 
2192 
2194  fprint (f, p.dumpType(), p.thicknessInX0())
2195  dump_associatedSurface (p, f)
2196  return
2197 
2198 
2200  if not p:
2201  fprint (f, None)
2202  return
2203  fprint (f, daz(p.deltaPhi()), daz(p.deltaTheta()))
2204  fprint (f, p.sigmaDeltaPhi(), p.sigmaDeltaTheta())
2205  return
2206 
2207 
2209  dump_MaterialEffectsBase (p, f)
2210  dump_ScatteringAngles (p.scatteringAngles(), f)
2211  dump_EnergyLoss (p.energyLoss(), f)
2212  return
2213 
2214 
2216  if not p:
2217  fprint (f, '(null)')
2218  return
2219  nm = typename(p.__class__)
2220  fprint (f, nm + ': ')
2221  if nm == 'Trk::MaterialEffectsOnTrack':
2222  dump_MaterialEffectsOnTrack (p, f)
2223  return
2224 
2225 
2227  if not p:
2228  fprint (f, '(null)')
2229  return
2230  fprint (f, p.deltaTranslation(), p.sigmaDeltaTrranslation(), p.deltaAngle(), p.sigmaDeltaAngle())
2231  for t in p.vectorOfAffectedTSOS():
2232  fprint (f, '\n ts ')
2233  dump_parameters (t.trackparameters(), f)
2234  fprint (f, '\n sf ')
2235  dump_Surface (p.associatedSurface(), f)
2236  return
2237 
2238 
2240  dump_FitQuality (p.fitQualityOnSurface(), f)
2241  fprint (f, '\n pm ')
2242  dump_parameters (p.trackParameters(), f)
2243  fprint (f, '\n ms ')
2244  dump_measurement (p.measurementOnTrack(), f)
2245  fprint (f, '\n me ')
2246  dump_materialeffects (p.materialEffectsOnTrack(), f)
2247  fprint (f, '\n ae ')
2248  dump_AlignmentEffectsOnTrack (p.alignmentEffectsOnTrack(), f)
2249  return
2250 
2251 
2252 def dump_TrackInfo (p, f):
2253  fprint (f, p.trackFitter(), p.particleHypothesis())
2254  fprint (f, p.properties().to_string())
2255  fprint (f, p.patternRecognition().to_string())
2256  return
2257 
2258 
2259 def dump_Track (p, f):
2260  fprint (f, '\n pm')
2261  pm = p.trackParameters()
2262  for i in range(len(pm)):
2263  fprint (f, '\n ')
2264  dump_parameters (pm[i], f)
2265  fprint (f, '\n ms')
2266  for x in p.measurementsOnTrack():
2267  fprint (f, '\n ')
2268  dump_measurement (x, f)
2269  fprint (f, '\n ol')
2270  for x in p.outliersOnTrack():
2271  fprint (f, '\n')
2272  dump_measurement (x, f)
2273  fprint (f, '\n ts')
2274  for x in p.trackStateOnSurfaces():
2275  fprint (f, '\n ')
2276  dump_TrackStateOnSurface (x, f)
2277  fprint (f, '\n pp ')
2278  dump_parameters (p.perigeeParameters(), f)
2279  fprint (f, '\n fq ')
2280  dump_FitQuality (p.fitQuality(), f)
2281  fprint (f, '\n tm ')
2282  dump_TrackSummary (p.trackSummary(), f)
2283  fprint (f, '\n ti ')
2284  dump_TrackInfo (p.info(), f)
2285  return
2286 
2287 
2288 def dump_Segment (p, f):
2289  dump_MeasurementBase (p, f)
2290  fprint (f, p.author())
2291  dump_FitQuality (p.fitQuality(), f)
2292  for x in p.containedMeasurements():
2293  dump_measurement (x, f)
2294  return
2295 
2296 
2297 @nolist
2298 def dump_MissingET (m, f):
2299  fprint (f, '%d %f %f %f %f %f' %
2300  (m.getSource(),
2301  m.etx(),
2302  m.ety(),
2303  m.sumet(),
2304  m.et(),
2305  m.phi()))
2306  r = m.getRegions()
2307  if r:
2308  for i in range(3):
2309  fprint (f, '\n %d %f %f %f' %
2310  (i,
2311  r.exReg(i),
2312  r.eyReg(i),
2313  r.etSumReg(i)))
2314  fwrite (f, '\n')
2315  return
2316 
2317 
2318 @nolist
2320  fprint (f, "%f %f" %
2321  (m.metx(),
2322  m.mety()))
2323  fprint (f, "\n %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f" %
2324  (m.pL() ,
2325  m.sigL() ,
2326  m.sL() ,
2327  m.d0varL() ,
2328  m.pT() ,
2329  m.sigT() ,
2330  m.sT() ,
2331  m.d0varT() ,
2332  m.pA() ,
2333  m.sigA() ,
2334  m.sA() ,
2335  m.d0varA() ,
2336  m.pB() ,
2337  m.sigB() ,
2338  m.sB() ,
2339  m.d0varB()))
2340  fprint (f, "\n %f %f %f %f %f %f %f %f" %
2341  (m.phiA(),
2342  m.phiAall() ,
2343  m.tA() ,
2344  m.tAall() ,
2345  m.phiB() ,
2346  m.phiBall() ,
2347  m.tB() ,
2348  m.tBall()))
2349  fprint (f, "\n %f %f %f %f" %
2350  (m.met(),
2351  m.phi(),
2352  m.rho(),
2353  m.oblat()))
2354  return
2355 
2356 
2358  if not h:
2359  fprint (f, h)
2360  return
2361  fprint (f, '\n ')
2362  dump_Fourvec (h, f)
2363  fprint (f, "%d %d %d %d %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %d %d %d" %
2364  (h.isLinkValid(),
2365  h.useLinkForNav(),
2366  h.type(),
2367  h.getType().type(),
2368  h.eRaw(),
2369  h.etaRaw(),
2370  h.phiRaw(),
2371  h.mRaw(),
2372  h.e(),
2373  h.eta(),
2374  h.phi(),
2375  h.m(),
2376  h.exMiss(),
2377  h.eyMiss(),
2378  h.etMiss(),
2379  h.phiMiss(),
2380  h.ex(),
2381  h.ey(),
2382  h.ez(),
2383  h.scale(),
2384  h.getConeSize(),
2385  h.sumEt(),
2386  h.getReg(),
2387  h.getReg(0.5),
2388  h.isEmpty(),
2389  ))
2390  if h.getObject():
2391  fprint (f, '\n ')
2392  dump_Fourvec (h.getObject(), f)
2393  for r in range(3):
2394  fprint (f, '\n %d %f %f %f %f %f' %
2395  (r,
2396  h.sumEt(r),
2397  h.exMiss(r),
2398  h.eyMiss(r),
2399  h.etMiss(r),
2400  h.phiMiss(r)))
2401  fprint (f, '\n ', [x for x in toiter1(h)])
2402  return
2403 
2404 
2406  dump_Fourvec (m, f)
2407  fprint (f, " %d %d %d %d %d %d %d %d %d %f %f %f %f %f %f %f %f %f %f %f " %
2408  (m.isValidDefault(),
2409  m.isValidCurrent(),
2410  m.isValid(),
2411  m.isDefault(),
2412  m.getType().type(),
2413  m.getDefaultType().type(),
2414  m.defaultType(),
2415  m.type(0),
2416  m.getType(0).type(),
2417  m.eRaw(),
2418  m.etaRaw(),
2419  m.phiRaw(),
2420  m.mRaw(),
2421  m.e(),
2422  m.eta(),
2423  m.phi(),
2424  m.m(),
2425  m.ex(),
2426  m.ey(),
2427  m.ez()))
2428  fprint (f, '\n %f %f %f %f %f %f %f %d %d %d' %
2429  (m.exMiss(),
2430  m.eyMiss(),
2431  m.etMiss(),
2432  m.phiMiss(),
2433  m.scale(),
2434  m.getConeSize(),
2435  m.sumEt(),
2436  m.numHypos(),
2437  m.idxDefault(),
2438  m.idxCurrent()))
2439  if m.isValid():
2440  fprint (f, '\n ', [i for i in m.types()])
2441  for r in range (3):
2442  fprint (f, '\n %d %f %f %f %f %f' %
2443  (r,
2444  m.sumEt(r),
2445  m.exMiss(r),
2446  m.eyMiss(r),
2447  m.etMiss(r),
2448  m.phiMiss(r)))
2449  fprint (f, '\n ',
2450  [x for x in toiter1 (m.getExcess())],
2451  [x for x in toiter1 (m.getDeficit())])
2452  dump_MissingETSigHypo (m.getHypo(), f)
2453  dump_MissingETSigHypo (m.getDefaultHypo(), f)
2454  dump_MissingETSigHypo (m.getHypo(0), f)
2455  return
2456 
2457 
2458 @nolist
2460  dump_MissingET (m, f)
2461  fprintln (f, ' ', m.calibType())
2462  for i in range(7):
2463  fprintln (f, ' %d %d %f %f %f' %
2464  (i,
2465  m.ncellCalo(i),
2466  m.exCalo(i),
2467  m.eyCalo(i),
2468  m.etSumCalo(i)))
2469  return
2470 
2471 
2472 @nolist
2474  dump_MissingET (m, f)
2475  for i in range(6):
2476  fprintln (f, ' %d %f %f %f' %
2477  (i,
2478  m.exTruth(i),
2479  m.eyTruth(i),
2480  m.etSumTruth(i)))
2481  return
2482 
2483 
2484 def dump_CaloCluster (c, f):
2485  # ??? cells, getNumberOfCells
2486  dump_Fourvec (c, f)
2487  fprint (f, "%3d %f %f %f %f %f %d %d %d" %
2488  (c.getClusterSize(),
2489  c.getBasicEnergy(),
2490  c.getTime(),
2491  c.eta0(),
2492  c.phi0(),
2493  c.energy(),
2494  c.inBarrel(),
2495  c.inEndcap(),
2496  c.allLocked()))
2497  fprint (f, c.getRecoStatus().getStatusWord())
2498  beg = c.beginMoment()
2499  end = c.endMoment()
2500  while beg != end:
2501  fprint (f, '\n mom %d %f' % (c.getMomentType(beg),
2502  c.getMomentValue(beg)))
2503  beg.__preinc__()
2504 
2505  for i in range (c.nSamples()):
2506  fprint (f, '\n %2d %d %d %d %f %f %f %f %f %f %f %f %f %f %f' %
2507  (i,
2508  c.is_valid_sampling(i),
2509  c.isEMSampling(i),
2510  c.hasSampling(i),
2511  c.eSample(i),
2512  c.etaSample(i),
2513  c.phiSample(i),
2514  c.etasize(i),
2515  c.phisize(i),
2516  c.energy_max(i),
2517  c.etamax(i),
2518  c.phimax(i),
2519  c.etaBE(i),
2520  c.phiBE(i),
2521  c.energyBE(i)))
2522  return
2523 
2524 
2525 @nolist_nmax
2526 def dump_CaloClusters_sorted (l, f, nmax = None):
2527  ll = [x for x in l]
2528  ll.sort (key=lambda a: a.pt(), reverse=True)
2529  dump_list (ll, f, dump_CaloCluster, nmax=nmax)
2530  return
2531 
2532 
2534  beg = l.begin()
2535  end = l.end()
2536  last = None
2537  while beg != end:
2538  el = beg.getElement()
2539  if last != el.dataID():
2540  last = el.dataID()
2541  fprint (f, last)
2542  fprint (f, el.index())
2543  beg.next()
2544  return
2545 
2546 
2548  beg = l.begin()
2549  end = l.end()
2550  while beg != end:
2551  fprint (f, '%d/%f' % (beg.index(), beg.weight()))
2552  beg.__preinc__()
2553  return
2554 
2555 
2556 def dump_CaloCell (l, f):
2557  fprint (f, l.ID().getString())
2558  if l.__class__ == PyAthena.TileCell:
2559  fprint (f, '%.2f %.2f %d %d %d ' % (l.ene1(), l.time1(), l.qual1(), l.qbit1(), l.gain1()))
2560  fprint (f, '%.2f %.2f %d %d %d ' % (l.ene2(), l.time2(), l.qual2(), l.qbit2(), l.gain2()))
2561  else:
2562  fprint (f, '%.2f %.2f %d %d %d ' % (l.energy(), l.time(), l.quality(), l.provenance(), l.gain()))
2563  return
2564 
2565 
2566 def dump_Vertex (v, f):
2567  dump_Threevec (v.position(), f)
2568  return
2569 
2570 
2571 def dump_RecVertex (v, f):
2572  dump_Vertex (v, f)
2573  dump_FitQuality (v.fitQuality(), f)
2574  dump_AmgMatrix (v.covariancePosition(), f) # eigen
2575  return
2576 
2577 
2578 def dump_ITrackLink (l, f):
2579  perigee = None
2580  trk = l.cptr()
2581  if trk:
2582  pm = trk.trackParameters()
2583  if pm and len(pm) > 0:
2584  perigee = pm[-1]
2585  dump_parameters (perigee, f)
2586  return
2587 
2588 
2589 def dump_LinkToTrack (l, f):
2590  dump_ITrackLink (l, f)
2591  fprint (f, '\n ', l.isValid(), l.index(), l.dataID())
2592  return
2593 
2594 
2596  dump_ITrackLink (l, f)
2597  fprint (f, l.isValid(), l.index(), l.dataID())
2598  return
2599 
2600 
2602  dump_FitQuality (t.trackQuality(), f)
2603  fprint (f, '%f %f' %
2604  (t.vtxCompatibility(),
2605  t.weight()))
2606  fprint (f, tonone(t.linState()), tonone(t.ImpactPoint3dAtaPlane()))
2607  if t.perigeeAtVertex():
2608  fprint (f, '\n pv')
2609  dump_parameters (t.perigeeAtVertex(), f)
2610 
2611  # Methods below will try to dereference the link given by
2612  # trackOrParticleLink, which is an EL to either a Trk::Track
2613  # or a TrackParticle. TrackParticle we can handle, but we
2614  # shouldn't try to dereference an EL to a Track, since ARA
2615  # can't handle that.
2616  tel = PyAthena.ElementLink ('DataVector<Trk::Track>')
2617  if not isinstance (t.trackOrParticleLink(), tel):
2618  fprint (f, '\n ip')
2619  perigee = None
2620  trk = t.trackOrParticleLink().cptr()
2621  if trk:
2622  pm = trk.trackParameters()
2623  if pm and len(pm) > 0:
2624  perigee = pm[-1]
2625  dump_parameters (perigee, f)
2626  fprint (f, '\n pl')
2627  if isinstance (t.trackOrParticleLink(), PyAthena.Trk.LinkToTrack):
2628  dump_LinkToTrack (t.trackOrParticleLink(), f)
2629  elif isinstance (t.trackOrParticleLink(),PyAthena.Trk.LinkToTrackParticleBase):
2630  dump_LinkToTrackParticleBase (t.trackOrParticleLink(), f)
2631  else:
2632  fprint (f, t.trackOrParticleLink())
2633  return
2634 
2635 
2637  dump_VxTrackAtVertex (t, f)
2638  fprint (f, '\n ', tonone(t.linkToVertices()))
2639  return
2640 
2641 
2643  dump_RecVertex (v.recVertex(), f)
2644  # Use this rather than iterating over the tav vector directly.
2645  # With recent pyroot versions, the object doesn't get converted
2646  # to the dynamic type.
2647  tav = v.vxTrackAtVertex()
2648  for i in range(tav.size()):
2649  t = tav[i]
2650  fprint (f, '\n ', typename(t.__class__))
2651  if isinstance (t, PyAthena.Trk.MVFVxTrackAtVertex):
2652  dump_MVFVxTrackAtVertex (t, f)
2653  elif t.__class__ == PyAthena.Trk.VxTrackAtVertex:
2654  dump_VxTrackAtVertex (t, f)
2655  else:
2656  fprint (f, tonone(t))
2657  return
2658 
2659 
2660 def dump_MvfFitInfo (v, f):
2661  fprint (f, tonone(v.constraintVertex()),
2662  tonone(v.seedVertex()),
2663  tonone(v.linearizationVertex()))
2664  return
2665 
2666 
2668  dump_VxCandidate1 (v, f)
2669  fprint (f, '\n ', v.isInitialized(), 'fi')
2670  dump_MvfFitInfo (v.vertexFitInfo(), f)
2671  return
2672 
2673 
2674 def dump_VxCandidate (v, f):
2675  fprint (f, typename(v.__class__))
2676  if isinstance (v, PyAthena.Trk.MVFVxCandidate):
2677  dump_MVFVxCandidate (v, f)
2678  elif (v.__class__ == PyAthena.Trk.VxCandidate or
2679  isinstance (v, PyAthena.Trk.V0Hypothesis)):
2680  dump_VxCandidate1 (v, f)
2681  elif isinstance (v, PyAthena.Trk.ExtendedVxCandidate):
2682  dump_ExtendedVxCandidate (v, f)
2683  else:
2684  fprint (f, tonone(v))
2685  dump_VxCandidate1 (v, f)
2686  return
2687 
2688 
2689 def dump_EventID (e, f):
2690  fprint (f, '%9d %9d %9d %9d %9d %9d' %
2691  (e.run_number(),
2692  e.event_number(),
2693  e.time_stamp(),
2694  e.time_stamp_ns_offset(),
2695  e.lumi_block(),
2696  e.bunch_crossing_id()))
2697  return
2698 
2699 
2700 def dump_EventType (e, f):
2701  fprint (f, e.typeToString(), e.user_type(), e.mc_event_weight())
2702  return
2703 
2704 
2705 def dump_TriggerInfo (e, f):
2706  fprint (f, e.statusElement(), e.extendedLevel1ID(), e.level1TriggerType())
2707  fprint (f, '\n l2:', formatItemUsingLong ([x for x in e.level2TriggerInfo()]))
2708  fprint (f, '\n ef:', formatItemUsingLong ([x for x in e.eventFilterInfo()]))
2709  fprint (f, '\n st:', [(x.name(), x.type(), x.obeysLumiblock()) for x in e.streamTags()])
2710  return
2711 
2712 
2713 @nolist
2714 def dump_EventInfo (e, f):
2715  fprint (f, e.clID())
2716  dump_EventID (e.event_ID(), f)
2717  fprint (f, '\n ')
2718  fprint (f, e.actualInteractionsPerCrossing(), e.averageInteractionsPerCrossing())
2719  for i in range(ROOT.EventInfo.nDets):
2720  fprint (f, '\n det', i, e.eventFlags(i), e.errorState(i))
2721  fprint (f, '\n ')
2722  dump_EventType (e.event_type(), f)
2723  fprint (f, '\n tg')
2724  dump_TriggerInfo (e.trigger_info(), f)
2725  return
2726 
2727 
2728 @nolist
2730  dump_EventInfo (e, f)
2731  for (i,s) in enumerate (toiter (e.beginSubEvt(), e.endSubEvt())):
2732  fprint (f, '\n subevt', i, s.time(), s.index(), s.BCID(), s.type())
2733  return
2734 
2735 
2736 @nolist
2738  fprint (f, 'nevents: ', e.getNumberOfEvents())
2739  fprint (f, '\nrun numbers: ', formatItemUsingLong(list(e.getRunNumbers())))
2740  fprint (f, '\nlb numbers: ', formatItemUsingLong(list(e.getLumiBlockNumbers())))
2741  fprint (f, '\nproc tags: ', list(e.getProcessingTags()))
2742  fprint (f, '\nitem list: ', formatItemUsingLong([(p.first, p.second) for p in e.getItemList()]))
2743  for typ in list(e.getEventTypes()):
2744  fprint (f, '\n ')
2745  dump_EventType (typ, f)
2746  return
2747 
2748 
2749 # HepMC2/3 compatibility hacks
2750 def _gen_attr(e, a, typ):
2751  fn = getattr(e, a, None)
2752  if fn:
2753  return fn()
2754  v = e.attribute_as_string(a)
2755  if v == '': return None
2756  return typ(v)
2757 def _gen_vecattr(e, a, typ):
2758  fn = getattr(e, a, None)
2759  if fn:
2760  return fn()
2761  return [typ(x) for x in e.attribute_as_string(a).split()]
2763  return _gen_attr(p, 'barcode', int)
2765  if hasattr(e, 'particles_size'):
2766  return e.particles_size()
2767  return e.particles().size()
2769  if hasattr(e, 'vertices_size'):
2770  return e.vertices_size()
2771  return e.vertices().size()
2773  if hasattr(e, 'particles_begin'):
2774  return toiter (e.particles_begin(), e.particles_end())
2775  return e.particles()
2777  if hasattr(e, 'vertices_begin'):
2778  return toiter (e.vertices_begin(), e.vertices_end())
2779  return e.vertices()
2781  if hasattr(e, 'signal_process_vertex'):
2782  return e.signal_process_vertex()
2783  for v in e.vertices():
2784  if v.attribute_as_string('signal_process_vertex') == '1':
2785  return v
2786  return None
2788  if hasattr(e, 'particles_in_size'):
2789  return e.particles_in_size()
2790  return e.particles_in().size()
2792  if hasattr(e, 'particles_out_size'):
2793  return e.particles_out_size()
2794  return e.particles_out().size()
2795 
2796 
2797 def barcodes (beg, end, sz):
2798  #out = [x.barcode() for x in toiter (beg, end)]
2799 
2800  # Work around pyroot iterator comparison breakage.
2801  out = []
2802  while beg != end and sz > 0:
2803  sz -= 1
2804  x = beg.__deref__()
2805  beg.__preinc__()
2806  out.append (x.barcode())
2807 
2808  out.sort()
2809  return out
2811  if hasattr(v, 'particles_in_const_begin'):
2812  parts = barcodes(v.particles_in_const_begin(),
2813  v.particles_in_const_end(),
2814  v.particles_in_size())
2815  else:
2816  parts = [_gen_barcode(p) for p in v.particles_in()]
2817  parts.sort()
2818  return parts
2820  if hasattr(v, 'particles_out_const_begin'):
2821  parts = barcodes(v.particles_out_const_begin(),
2822  v.particles_out_const_end(),
2823  v.particles_out_size())
2824  else:
2825  parts = [_gen_barcode(p) for p in v.particles_out()]
2826  parts.sort()
2827  return parts
2828 def dump_GenVertex (v, f):
2829  fprint (f, "%d %d %d %d %d" %
2830  (v.status() if hasattr(v,'status') else v.id(),
2831  _gen_barcode(v),
2832  v.parent_event().event_number(),
2835  dump_Threevec (v.position(), f)
2836  fprint (f, '%f ' % v.position().t())
2837  if not hasattr(v, 'weights'):
2838  ww = _gen_vecattr(v, 'weights', float)
2839  elif v.weights().size() == 0:
2840  ww = []
2841  else:
2842  ww = list(v.weights())
2843  fprintln (f, [w for w in ww])
2844  fprint (f, ' (')
2845  for bc in genvertex_in_barcodes(v):
2846  fprint (f, bc)
2847  fprint (f, ')(')
2848  for bc in genvertex_out_barcodes(v):
2849  fprint (f, bc)
2850  fprint (f, ')')
2851 
2852  return
2853 
2854 
2855 def dump_GenParticle (p, f):
2856  fprint (f, "%d %5s %d %d" %
2857  (_gen_barcode(p),
2858  PDG.pdgid_to_name(p.pdg_id()),
2859  p.parent_event().event_number(),
2860  p.status(),))
2861  if p.production_vertex():
2862  s = str(_gen_barcode (p.production_vertex())) + '('
2863  parts = genvertex_in_barcodes (p.production_vertex())
2864  for bc in parts: s += '%d ' % bc
2865  if len(parts) > 3: s += '...'
2866  s += '->)'
2867  fprint (f, s)
2868  else:
2869  fprint (f, None)
2870  if p.end_vertex():
2871  s = str (_gen_barcode (p.end_vertex())) + '(->'
2872  parts = genvertex_out_barcodes (p.end_vertex())
2873  for bc in parts: s += '%d ' % bc
2874  if len(parts) > 3: s += '...'
2875  s += ')'
2876  fprint (f, s)
2877  else:
2878  fprint (f, None)
2879  dump_HLV (p.momentum(), f)
2880  if hasattr (p, 'polarization'):
2881  pol = p.polarization()
2882  poltheta = fix_neg0 (pol.theta())
2883  fprint (f, "%f %f" % (poltheta, pol.phi()))
2884  if pol.normal3d().theta() != 0 or pol.normal3d().phi() != 0:
2885  fprint (f, "%f %f" %
2886  (pol.normal3d().theta(), pol.normal3d().phi()))
2887  else:
2888  poltheta = fix_neg0 (_gen_attr(p, 'theta', float))
2889  polphi = _gen_attr(p, 'phi', float)
2890  fprint (f, "%f %f" % (poltheta, polphi))
2891  return
2892 
2893 
2894 def dump_GenEvent (e, f):
2895  fprint (f, '%d %d %f %f %f %d %d' %
2896  (e.event_number(),
2897  _gen_attr(e, 'signal_process_id', int),
2898  _gen_attr(e, 'event_scale', float),
2899  _gen_attr(e, 'alphaQCD', float),
2900  _gen_attr(e, 'alphaQED', float),
2903  fprint (f, '\n wt', [w for w in e.weights()], \
2904  [i for i in _gen_vecattr(e, 'random_states', int)])
2905  fprint (f, '\n v0')
2907  if sv:
2908  dump_GenVertex (sv, f)
2909  else:
2910  fprint (f, None)
2911  for v in _genevent_vertices(e):
2912  fprint (f, '\n v')
2913  dump_GenVertex (v, f)
2914 
2915  parts = list (_genevent_particles(e))
2916  parts.sort (key = lambda p : _gen_barcode(p))
2917  for p in parts:
2918  fprint (f, '\n p')
2919  if p:
2920  dump_GenParticle (p, f)
2921  else:
2922  fprint (f, None)
2923  return
2924 
2925 
2926 @nolist
2928  fprint (f, t.dump())
2929  return
2930 
2931 
2932 def dump_Muon_ROI (m, f):
2933  dump_Fourvec (m, f)
2934  fprint (f, "%d %s %f %d %d %d %d %d %d %d %d" %
2935  (m.getROIWord(),
2936  m.getThrName(),
2937  m.getThrValue(),
2938  m.getThrNumber(),
2939  m.getRoI(),
2940  m.getSectorAddress(),
2941  m.isFirstCandidate(),
2942  m.isMoreCandInRoI(),
2943  m.isMoreCandInSector(),
2944  m.getSource(),
2945  m.getHemisphere()))
2946  return
2947 
2948 
2949 def dump_EmTau_ROI (m, f):
2950  dump_Fourvec (m, f)
2951  fprint (f, "%d %f %f %f %f %f %f %d" %
2952  (m.getROIWord(),
2953  m.getCore(),
2954  m.getEMClus(),
2955  m.getTauClus(),
2956  m.getEMIsol(),
2957  m.getHadIsol(),
2958  m.getHadCore(),
2959  m.getThrPattern()))
2960  for (n,v) in zip (m.getThresholdNames(), m.getThresholdValues()):
2961  fprint (f, n, v)
2962  return
2963 
2964 
2965 def dump_Jet_ROI (m, f):
2966  dump_Fourvec (m, f)
2967  fprint (f, "%d %d %f %f %f" %
2968  (m.getROIWord(),
2969  m.getThrPattern(),
2970  m.getET4x4(),
2971  m.getET6x6(),
2972  m.getET8x8()))
2973  for (n,v) in zip (m.getThresholdNames(), m.getThresholdValues()):
2974  fprint (f, n, v)
2975  return
2976 
2977 
2978 def dump_JetET_ROI (m, f):
2979  fprint (f, "%d %d" %
2980  (m.getROIWord(),
2981  m.getThrPattern(),))
2982  fprint (f, [t for t in m.getThresholds()])
2983  return
2984 
2985 
2987  fprint (f, "%d %d %d %f %f %f %f %f %d %d %d %d %d %d" %
2988  (m.getROIWord0(),
2989  m.getROIWord1(),
2990  m.getROIWord2(),
2991  m.getEnergyX(),
2992  m.getEnergyY(),
2993  m.getEnergyT(),
2994  m.getExMiss(),
2995  m.getEyMiss(),
2996  m.getOverflowX(),
2997  m.getOverflowY(),
2998  m.getOverflowT(),
2999  m.getOverflows(),
3000  m.getThrPatSummET(),
3001  m.getThrPatMissET()))
3002  fprint (f, [t for t in m.getThresholds()])
3003  return
3004 
3005 
3006 @nolist
3007 def dump_LVL1_ROI (t, f):
3008  for m in t.getMuonROIs():
3009  fprint (f, '\nmu')
3010  dump_Muon_ROI (m, f)
3011  for m in t.getEmTauROIs():
3012  fprint (f, '\nem')
3013  dump_EmTau_ROI (m, f)
3014  for m in t.getJetROIs():
3015  fprint (f, '\njt')
3016  dump_Jet_ROI (m, f)
3017  for m in t.getJetEtROIs():
3018  fprint (f, '\nje')
3019  dump_JetET_ROI (m, f)
3020  for m in t.getEnergySumROIs():
3021  fprint (f, '\nes')
3022  dump_EnergySum_ROI (m, f)
3023  return
3024 
3025 
3027  fprint (f, "%d %d %d" %
3028  (t.accepted(),
3029  t.error(),
3030  t.error_bits(),))
3031  return
3032 
3033 
3034 @nolist
3035 def dump_HLTResult (t, f):
3036  dump_GenericResult (t, f)
3037  fprint (f, "%d %d %d %d %d %d %d %d %d %d %d %d" %
3038  (t.getHLTResultClassVersion(),
3039  t.getLvl1Id(),
3040  t.isPassThrough(),
3041  t.getHLTStatus().code,
3042  t.getLvlConverterStatus().code,
3043  t.getHLTLevel(),
3044  t.isValid(),
3045  t.getNumOfSatisfiedSigs(),
3046  t.isCreatedOutsideHLT(),
3047  t.isHLTResultTruncated(),
3048  t.size(),
3049  t.isEmpty(),
3050  ))
3051  fprint (f, [i for i in t.partSizes()])
3052  fprint (f, [i for i in t.getNavigationResult()])
3053  fprint (f, [i for i in t.getChainResult()])
3054  fprint (f, [i for i in t.getNavigationResultCuts()])
3055  return
3056 
3057 
3058 @nolist
3059 def dump_HLTResultMT (p, f):
3060  fprint (f, 'version', p.getVersion())
3061  fprint (f, '\n streamtags', list(p.getStreamTags()))
3062  #fprint (f, '\n passraw', list(p.getHltPassRawBits()))
3063  #fprint (f, '\n prescaled', list(p.getHltPrescaledBits()))
3064  fprint (f, '\n hltbits', list(p.getHltBitsAsWords()))
3065  fprint (f, '\n data size', p.getSerialisedData().size())
3066  #fprint (f, '\n robstatus size', p.getRobStatus().size())
3067  fprint (f, '\n status', list(p.getStatus()))
3068  fprint (f, '\n trunc', p.severeTruncation(), list(p.getTruncatedModuleIds()))
3069  return
3070 
3071 
3072 @nolist
3073 def dump_Lvl1Result (t, f):
3074  fprint (f, t.isConfigured(),
3075  t.isAccepted(),
3076  t.anyActiveL1ItemAfterVeto(),
3077  t.nItems())
3078  fprint (f, '\n ', [i for i in t.itemsPassed()])
3079  fprint (f, '\n ', [i for i in t.itemsBeforePrescale()])
3080  fprint (f, '\n ', [i for i in t.itemsAfterPrescale()])
3081  fprint (f, '\n ', [i for i in t.itemsAfterVeto()])
3082  return
3083 
3084 
3085 @nolist
3087  fprint (f, t.masterKey())
3088  fprint (f, '\nl1')
3089  dump_Lvl1Result (t.getL1Result(), f)
3090  fprint (f, '\nl2')
3091  dump_HLTResult (t.getL2Result(), f)
3092  fprint (f, '\nef')
3093  dump_HLTResult (t.getEFResult(), f)
3094  return
3095 
3096 
3098  fprint (f, e.id(), e.name())
3099  return
3100 
3101 
3103  fprint (f, '(', s.signature_counter(),
3104  s.logic(),
3105  s.label())
3106  for e in s.outputTEs():
3107  dump_HLTTriggerElement (e, f)
3108  fprint (f, ')')
3109  return
3110 
3111 
3113  fprint (f, '(',
3114  s.stream(),
3115  s.type(),
3116  s.obeyLB(),
3117  s.prescale(),
3118  ')')
3119  return
3120 
3121 def dump_HLTChain (c, f):
3122  fprint (f, c.chain_name(),
3123  c.chain_version(),
3124  c.chain_counter(),
3125  c.level(),
3126  c.lower_chain_name(),
3127  c.lower_chain_counter(),
3128  c.prescale(),
3129  c.pass_through(),
3130  c.chain_hash_id(),
3131  c.lower_chain_hash_id())
3132  for s in c.signatureList():
3133  dump_HLTSignature (s, f)
3134  fprint (f, [t.bit() for t in c.triggerTypeList()])
3135  for s in c.streamTagList():
3136  dump_HLTStreamTag (s, f)
3137  fprint (f, [s for s in c.groupList()])
3138  return
3139 
3140 
3141 def dump_HLTSequence (s, f):
3142  fprint (f, '(')
3143  dump_HLTTriggerElement (s.outputTE(), f)
3144  dump_HLTTriggerElement (s.topoStartTE(), f)
3145  for t in s.inputTEs():
3146  dump_HLTTriggerElement (t, f)
3147  fprint (f, [a for a in s.algorithms()], ')')
3148  return
3149 
3150 
3151 @nolist
3153  fprint (f, "%d" %
3154  (d.masterKey()))
3155  for c in d.getChainList().chains():
3156  fprint (f, '\nch')
3157  dump_HLTChain (c, f)
3158  for c in d.getSequenceList().sequences():
3159  fprint (f, '\nsq')
3160  dump_HLTSequence (c, f)
3161  return
3162 
3163 
3165  fprint (f, c.id())
3166  return
3167 
3168 
3169 def dump_CTPConfig (c, f):
3170  dump_L1DataBaseclass (c, f)
3171  fprint (f, c)
3172 # Menu* menu() const;
3173 # void setMenu( Menu* m );
3174 # PrescaleSet prescaleSet() const;
3175 # void setPrescaleSet( PrescaleSet m );
3176 # BunchGroupSet bunchGroupSet() const;
3177 # void setBunchGroupSet( BunchGroupSet m );
3178 # PrescaledClock prescaledClock() const;
3179 # void setPrescaledClock( PrescaledClock m );
3180 # TriggerType triggerType() const;
3181 # void setTriggerType( TriggerType m );
3182 # DeadTime deadTime() const;
3183 # void setDeadTime( DeadTime m );
3184 # Random random() const;
3185 # void setRandom( Random m );
3186 
3187 # int lvl1MasterTableId() const {return m_Lvl1MasterTableId;}
3188 # void setLvl1MasterTableId (const int& id){m_Lvl1MasterTableId=id;}
3189  return
3190 
3191 
3192 @nolist
3194  fprint (f, d.masterKey())
3195  fprint (f, '\nit', [s for s in d.getItems()])
3196  fprint (f, '\nmu', [s for s in d.getMuonThresholds()])
3197  fprint (f, '\nem', [s for s in d.getEMTauThresholds()])
3198  fprint (f, '\njt', [s for s in d.getJetThresholds()])
3199  fprint (f, '\nfj', [s for s in d.getForwardJetThresholds()])
3200  fprint (f, '\net', [s for s in d.getTotalEtThresholds()])
3201  fprint (f, '\nje', [s for s in d.getJetEtThresholds()])
3202  fprint (f, '\nms', [s for s in d.getMissingEtThresholds()])
3203  fprint (f, '\nctp')
3204  if d.ctpConfig():
3205  dump_CTPConfig (d.ctpConfig(), f)
3206  else:
3207  fprint (f, None)
3208  fprint (f, '\ntcf')
3209  if d.thresholdConfig():
3210  fprint (f, d.thresholdConfig())
3211  else:
3212  fprint (f, None)
3213  return
3214 
3215 
3216 @nolist
3218  fprint (f, d.masterKey())
3219  fprint (f, [i for i in d.getPrescales()])
3220  return
3221 
3222 
3223 def dump_TrackRecord (t, f):
3224  dump_H3V (t.GetPosition(), f)
3225  dump_H3V (t.GetMomentum(), f)
3226  fprint (f, t.GetEnergy(),
3227  t.GetPDGCode(),
3228  t.GetTime(),
3229  t.barcode(),
3230  t.GetVolName())
3231  return
3232 
3233 
3234 def dump_DetStatus (s, f):
3235  fprintln (f, s.code(),
3236  s.fullCode(),
3237  s.deadFrac(),
3238  s.deadThrust(),
3239  s.colour())
3240  return
3241 
3242 
3243 @nolist
3245  for e in m:
3246  fprint (f, e.first)
3247  dump_DetStatus (e.second, f)
3248  return
3249 
3250 
3252  fprint (f, t.nrMatches())
3253  if t.nrMatches() == 0: return
3254  fprint (f, t.bestMatch().barcode(),
3255  t.bestSiMatch().barcode(),
3256  t.bestTRTMatch().barcode(),
3257  t.nrMatches(),
3258  t.nrCommonHitsBestSi(),
3259  t.nrCommonHitsBestTRT())
3260  fprint (f, formatItemUsingLong([(forceInt(t.truthMatch(i).barcode()),
3261  t.nrCommonHits(i),
3262  t.nrCommonSiHits(i),
3263  t.nrCommonTRTHits(i))
3264  for i in range(t.nrMatches())]))
3265  fprint (f, formatItemUsingLong ([(p.first, p.second) for p in t.getFamilyTree()]))
3266  return
3267 
3268 
3270  fprint (f, "%f %f %f %f %f %f %f %f %f %f %f %d" %
3271  (p.a0,
3272  p.z0,
3273  p.phi0,
3274  p.eta,
3275  p.pT,
3276  p.ea0,
3277  p.ez0,
3278  p.ephi0,
3279  p.eeta,
3280  p.epT,
3281  p.surfaceCoordinate,
3282  p.surfaceType))
3283  if p.cov:
3284  fprint (f, [x for x in p.cov])
3285  return
3286 
3287 
3289  fprint (f, "%d %f %d %d %d %d" %
3290  (t.algorithmId,
3291  t.chi2,
3292  t.NStrawHits,
3293  t.NStraw,
3294  t.NStrawTime,
3295  t.NTRHits))
3296  fprint (f, tonone(t.siSpacePoints), tonone(t.trtDriftCircles))
3297  fprint (f, '\n par')
3298  if t.param:
3299  dump_TrigInDetTrackFitPar (t.param, f)
3300  else:
3301  fprint (f, None)
3302  fprint (f, '\n end')
3303  if t.endParam:
3304  dump_TrigInDetTrackFitPar (t.endParam, f)
3305  else:
3306  fprint (f, None)
3307  return
3308 
3309 
3311  def __init__ (self, t):
3312  self.a0 = t.a0()
3313  self.z0 = t.z0()
3314  self.phi0 = t.phi0()
3315  self.eta = t.eta()
3316  self.pT = t.pT()
3317  self.ea0 = t.ea0()
3318  self.ez0 = t.ez0()
3319  self.ephi0 = t.ephi0()
3320  self.eeta = t.eeta()
3321  self.epT = t.epT()
3322  self.surfaceCoordinate = t.surfaceCoordinate()
3323  self.surfaceType = t.surfaceType()
3324  if t.cov():
3325  self.cov = [x for x in t.cov()]
3326  else:
3327  self.cov = None
3328  return
3329 
3331  def __init__ (self, t):
3332  self.algorithmId = t.algorithmId()
3333  self.chi2 = t.chi2()
3334  self.NStrawHits = t.NStrawHits()
3335  self.NStraw = t.NStraw()
3336  self.NStrawTime = t.NStrawTime()
3337  self.NTRHits = t.NTRHits()
3338  self.siSpacePoints = t.siSpacePoints()
3339  self.trtDriftCircles = t.trtDriftCircles()
3340  if t.param():
3341  self.param = PyTrigInDetTrackFitPar (t.param())
3342  else:
3343  self.param = None
3344  if t.endParam():
3345  self.endParam = PyTrigInDetTrackFitPar (t.endParam())
3346  else:
3347  self.endParam = None
3348  return
3349 
3350 
3351 def _tmcmp (x, y):
3352  xbc = 0
3353  if x[0].nrMatches() > 0:
3354  xbc = x[0].bestSiMatch().barcode()
3355  ybc = 0
3356  if y[0].nrMatches() > 0:
3357  ybc = y[0].bestSiMatch().barcode()
3358  c = xbc - ybc
3359  if c < 0:
3360  return -1
3361  elif c > 0:
3362  return 1
3363  return cmp (x[1].chi2, y[1].chi2)
3364 
3365 
3366 @nolist
3368  #fprint (f, m.size())
3369  #fprint (f, m.tracki(0))
3370  tm = [(m.truthi(i), PyTrigInDetTrack(m.tracki(i)))
3371  for i in range(m.size()) if m.trackiLink(i).isValid()]
3372  tm.sort (key = cmp_to_key (_tmcmp))
3373  for (i, (truth, track)) in enumerate(tm):
3374  fprint (f, '\n ', i)
3375  dump_TrigInDetTrackTruth (truth, f)
3376  fprint (f, '\n ')
3377  dump_TrigInDetTrack (track, f)
3378  return
3379 
3380 
3381 # Deal with the possibility that some of the ELs in the target set
3382 # may be invalid. Doesn't seem to be any way to know that other than
3383 # by trying to do the deref. (I.e., we can't get a hold of the EL directly.)
3384 def safe_assocs (a, obj, coll, f):
3385  bv = a.beginAssociation(obj)
3386  ev = a.endAssociation(obj)
3387  res = []
3388  err = False
3389  while bv != ev:
3390  try:
3391  targ = bv.__deref__()
3392  res.append (targ)
3393  except RuntimeError as e:
3394  if e.args[0].find ('dereferencing invalid ElementLink') >= 0:
3395  err = True
3396  else:
3397  raise
3398  bv.__preinc__()
3399 
3400  if err:
3401  errflag = True
3402  for o in res:
3403  coll.push_back (o)
3404  else:
3405  errflag = False
3406  a.assocs (obj, coll)
3407  return errflag
3408 
3409 
3410 @nolist
3411 def dump_Assocs (a, f, colltype):
3412  bo = a.beginObject()
3413  eo = a.endObject()
3414  l = []
3415  while bo != eo:
3416  obj = a.getObject(bo)
3417  coll = colltype(1)
3418  errflag = safe_assocs (a, obj, coll, f)
3419  l.append ((obj, coll, errflag))
3420  bo.next()
3421 
3422  l.sort (key=lambda a: a[0].pt(), reverse=True)
3423 
3424  for obj, coll, errflag in l:
3425  fprint (f, '\n', typename(obj.__class__))
3426  dump_Fourvec (obj, f)
3427  fprint (f, '->')
3428  for p in coll:
3429  fprint (f, typename(p.__class__))
3430  dump_Fourvec (p, f)
3431  if errflag:
3432  fprint (f, ' [Got invalid EL error]')
3433  return
3434 
3435 
3436 @nolist
3438  return dump_Assocs (a, f, PyAthena.DataVector(PyAthena.INavigable4Momentum))
3439 
3440 
3441 @nolist
3443  return dump_Assocs (a, f, PyAthena.Rec.TrackParticleContainer)
3444 
3445 
3447  fprint (f, a.RoiWord(), a.DeltaPhi(), a.DeltaR(), a.InvMass(),
3448  a.ElecValid(), a.OppositeCharge(), a.VertexState())
3449  return
3450 
3451 
3453  fprint (f, "%f %f %d %d %d %d %d %d %d" %
3454  (m.eta(),
3455  m.phi(),
3456  m.numberOfTriggerHits(),
3457  m.numberOfInnerHits(),
3458  m.numberOfMiddleHits(),
3459  m.numberOfOuterHits(),
3460  m.numberOfInnerSegments(),
3461  m.numberOfMiddleSegments(),
3462  m.numberOfOuterSegments()))
3463  return
3464 
3465 
3467  fprint (f, a.name())
3468  return
3469 
3470 
3472  dump_JetAssociationBase (a, f)
3473  ele = a.electron()
3474  if ele:
3475  fprint (f, a.getElectronWeight (ele))
3476  dump_Fourvec (ele, f)
3477  return
3478 
3479 
3481  dump_JetAssociationBase (a, f)
3482  gam = a.photon()
3483  if gam:
3484  fprint (f, a.getPhotonWeight (gam))
3485  dump_Fourvec (gam, f)
3486  return
3487 
3488 
3490  dump_JetAssociationBase (a, f)
3491  muo = a.muon()
3492  if muo != muonNull:
3493  fprint (f, a.getMuonWeight (muo))
3494  dump_Fourvec (muo, f)
3495  return
3496 
3497 
3499  dump_JetAssociationBase (a, f)
3500  fprint (f, a.nTracks())
3501  tr = a.tracks()
3502  ROOT.SetOwnership (tr, True)
3503  for t in tr:
3504  fprint (f, a.getTrackWeight (t))
3505  dump_Fourvec (t, f)
3506  return
3507 
3508 
3510  dump_JetAssociationBase (a, f)
3511  vi = a.vertexInfo()
3512  if vi:
3513  for v in vi.vertices():
3514  dump_Threevec (v.position(), f)
3515  return
3516 
3517 
3518 def _infoType (i):
3519  return i.infoType()
3520 
3521 def dump_Jet (j, f):
3522  if j.e() == 0 and j.phi() == 0 and j.eta() == 0:
3523  with signalstate (j, PyAthena.P4SignalState.JETEMSCALE):
3524  dump_ParticleImpl (j, f)
3525  else:
3526  dump_ParticleImpl (j, f)
3527  fprint (f, '\n %s %f' %
3528  (j.jetAuthor(),
3529  j.getFlavourTagWeight(),))
3530  # ELs to towers will always be invalid (towers aren't actually saved...)
3531  tower_constituents_p = False
3532  if j.firstConstituent() != j.lastConstituent():
3533  if isinstance (j.getContainer(j.firstConstituent()),
3534  PyAthena.CaloTowerContainer):
3535  tower_constituents_p = True
3536  elif j.firstConstituent().__deref__():
3537  ss = asint(j.constituentSignalState())
3538  j.setConstituentSignalState (PyAthena.P4SignalState.CALIBRATED)
3539  dump_HLV (j.constituent_sum4Mom(), f)
3540  j.setConstituentSignalState (ss)
3541  fprint (f, [x for x in j.combinedLikelihood()])
3542  fprint (f, '\n moms ')
3543  for mk in j.getMomentKeys():
3544  if mk in ['Timing', 'LArQuality']: continue
3545  mom = j.getMoment (mk, False)
3546  if mom != 0:
3547  fprint (f, mk, j.getMoment (mk, True))
3548  if hasattr(j, 'getJetTime'):
3549  fprint (f, '\n timing ', j.getJetTime(),
3550  ' qual ', j.getJetQuality())
3551  else:
3552  fprint (f, '\n timing ', j.getMoment('Timing',True),
3553  ' qual ', j.getMoment('LArQuality',True))
3554  fprint (f, '\n assoc ')
3555  for ak in j.getAssociationKeys():
3556  ass = j.getAssociationBase(ak)
3557  if ass == jetAssocNull : continue
3558  fprint (f, '\n ', ak)
3559  if isinstance (ass, PyAthena.Analysis.ElectronAssociation):
3560  dump_ElectronAssociation (ass, f)
3561  elif isinstance (ass, PyAthena.Analysis.PhotonAssociation):
3562  dump_PhotonAssociation (ass, f)
3563  elif isinstance (ass, PyAthena.Analysis.MuonAssociation):
3564  dump_MuonAssociation (ass, f)
3565  elif isinstance (ass, PyAthena.Analysis.TrackAssociation):
3566  dump_TrackAssociation (ass, f)
3567  elif isinstance (ass, PyAthena.Analysis.ISvxAssociation):
3568  dump_ISvxAssociation (ass, f)
3569  else:
3570  fprint (f, ass)
3571  ti = j.jetTagInfoVector()
3572  fprint (f, '\n tag info:')
3573  if ti:
3574  #ROOT.SetOwnership (ti, True)
3575  ti = list(ti)
3576  ti.sort (key=_infoType)
3577  for info in ti:
3578  if not info:
3579  fprint (f, '\n (null)')
3580  continue
3581  fprint (f, '\n %s %s: %f: '
3582  % (info.infoType(), typename(info.__class__), j.getFlavourTagWeight (info.infoType())))
3583  if isinstance (info, PyAthena.Analysis.TruthInfo):
3584  dump_TruthInfo (info, f)
3585  elif isinstance (info, PyAthena.Analysis.SoftLeptonTruthInfo):
3586  dump_SoftLeptonTruthInfo (info, f)
3587  elif isinstance (info, PyAthena.Analysis.SecVtxInfo):
3588  dump_SecVtxInfo (info, f)
3589  elif isinstance (info, PyAthena.Analysis.IPInfoPlus):
3590  dump_IPInfoPlus (info, f)
3591  elif isinstance (info, PyAthena.Analysis.IPInfoBase):
3592  dump_IPInfoBase (info, f)
3593  elif isinstance (info, PyAthena.Analysis.SVInfoBase):
3594  dump_SVInfoBase (info, f)
3595  elif isinstance (info, PyAthena.Analysis.SVInfoPlus):
3596  dump_SVInfoPlus (info, f)
3597  elif isinstance (info, PyAthena.Analysis.MultiSVInfoPlus):
3598  dump_MultiSVInfoPlus (info, f)
3599  elif isinstance (info, PyAthena.Analysis.JetProbInfoBase):
3600  dump_JetProbInfoBase (info, f)
3601  elif isinstance (info, PyAthena.Analysis.SoftElectronInfo):
3602  dump_SoftElectronInfo (info, f)
3603  elif isinstance (info, PyAthena.Analysis.JetFitterTagInfo):
3604  dump_JetFitterTagInfo (info, f)
3605  elif (hasattr (PyAthena.Analysis, 'TrackCountingInfo') and
3606  isinstance (info, PyAthena.Analysis.TrackCountingInfo)):
3607  dump_TrackCountingInfo (info, f)
3608  elif isinstance (info, PyAthena.Analysis.AtlfInfo):
3609  dump_AtlfInfo (info, f)
3610  elif isinstance (info, PyAthena.Analysis.SoftMuonInfo):
3611  dump_SoftMuonInfo (info, f)
3612  elif info.__class__ is PyAthena.Analysis.BaseTagInfo:
3613  dump_BaseTagInfo (info, f)
3614  elif info.__class__ is PyAthena.Analysis.GbbNNTagInfo:
3615  dump_GbbNNTagInfo (info, f)
3616  else:
3617  fprint (f, info)
3618  if tower_constituents_p:
3619  fprint (f, '\n (not dumping tower constituents)')
3620  else:
3621  fprint (f, '\n constituents:')
3622  for c in toiter (j.firstConstituent(), j.lastConstituent()):
3623  fprint (f, '\n ')
3624  if not c:
3625  fprint (f, tonone(c))
3626  else:
3627  fprint (f, typename(c.__class__))
3628  fprint (f, j.getWeight (c))
3629  dump_Fourvec (c, f)
3630  return
3631 
3632 
3634  dump_VxCandidate1 (c, f)
3635  fprint (f, '\n em')
3636  if c.fullCovariance():
3637  dump_AmgMatrix (c.fullCovariance(), f)
3638  else:
3639  fprint (f, None)
3640  return
3641 
3642 
3644  if h is None:
3645  fprint (f, None)
3646  return
3647  fprint (f, 'V0Hypothesis', h.positiveTrackID(),
3648  h.negativeTrackID(), h.hypothesisID())
3649  fprint (f, '\n ')
3650  dump_ExtendedVxCandidate (h, f)
3651  return
3652 
3653 
3654 def dump_V0Candidate (v, f):
3655  fprint (f, "V0Candidate", len(v.v0Hypothesis()))
3656  for h in v.v0Hypothesis():
3657  fprint (f, '\n ')
3658  dump_V0Hypothesis (h, f)
3659  return
3660 
3661 
3662 def dump_TrigVertex (v, f):
3663  dump_Threevec (v, f)
3664  fprint (f, v.algorithmId(), v.chi2(), v.ndof(), v.mass(),
3665  v.massVariance(), v.energyFraction(), v.nTwoTracksSecVtx())
3666  fprint (f, '\n cov: ', [v.cov()[i] for i in range(6)])
3667  if v.tracks() and v.tracks().size() > 0:
3668  for (i, t) in enumerate (v.tracks()):
3669  fprint (f, '\n t%d'%i)
3670  p = t.param()
3671  fprint (f, p.a0(), p.z0(), p.phi0(), p.eta(), p.pT())
3672  if v.getMotherTrack():
3673  fprint (f, '\n mother: ')
3674  dump_TrigInDetTrackFitPar (v.getMotherTrack(), f)
3675  return
3676 
3677 
3678 def dump_clist (l, f):
3679  fprint (f, '[')
3680  last = None
3681  n = 0
3682  for i in l:
3683  if i != last:
3684  if n > 0:
3685  if n == 1:
3686  fprint (f, '%f, ' % last)
3687  else:
3688  fprint (f, '%d*%f, ' % (n, last))
3689  last = i
3690  n = 1
3691  else:
3692  n = n + 1
3693  if n > 0:
3694  if n == 1:
3695  fprint (f, '%f, ' % last)
3696  else:
3697  fprint (f, '%d*%f, ' % (n, last))
3698  fprint (f, ']')
3699  return
3700 
3702  fprint (f, 'z0_pt:')
3703  dump_TrigHisto2D (t.z0_pt(), f)
3704  fprint (f, '\neta_phi:')
3705  dump_TrigHisto2D (t.eta_phi(), f)
3706  return
3707 @nolist
3709  dump_TrigTrackCounts (t, f)
3710  return
3711 
3712 
3713 def dump_TrigTau (t, f):
3714  dump_Fourvec (t, f)
3715  fprint (f, t.roiId(), t.Zvtx(), t.err_Zvtx(), t.etCalibCluster(),
3716  t.simpleEtFlow(), t.nMatchedTracks())
3717  fprint (f, '\n ', tonone(t.tauCluster()),
3718  tonone(t.trackCollection()),
3719  tonone(t.tracksInfo()))
3720  return
3721 @nolist
3723  dump_TrigTau (t, f)
3724  return
3725 
3726 
3728  fprint (f, c.rawEnergy(), c.rawEt(), c.rawEta(), c.rawPhi(), c.RoIword(),
3729  c.nCells(), c.quality())
3730  fprint (f, '\n ', [c.rawEnergy(i) for i in range(25)])
3731  return
3732 
3733 
3735  dump_TrigCaloCluster (c, f)
3736  fprint (f, '\n ', c.energy(), c.et(), c.eta(), c.phi(),
3737  c.e237(), c.e277(), c.fracs1(), c.weta2(),
3738  c.ehad1(), c.Eta1(), c.emaxs1(), c.e2tsts1())
3739  fprint (f, '\n ', [c.energyInSample(i) for i in range(25)])
3740  return
3741 @nolist
3743  dump_TrigEMCluster (c, f)
3744  return
3745 
3746 
3748  dump_Fourvec (p, f)
3749  fprint (f, p.isValid(), p.roiId())
3750  fprint (f, '\n ', p.trackAlgo(), p.trackIndx(), p.charge(),
3751  p.Zvtx())
3752  fprint (f, '\n ', p.err_Pt(), p.err_eta(), p.err_phi(), p.err_Zvtx())
3753  fprint (f, '\n ', p.trkClusDeta(), p.trkClusDphi(), p.EtOverPt())
3754  return
3755 
3756 
3757 def dump_TrigPhoton (p, f):
3758  dump_Fourvec (p, f)
3759  fprint (f, p.isValid(), p.roiId())
3760  fprint (f, '\n ', p.Et(), p.HadEt(), p.energyRatio(), p.rCore(),
3761  p.dPhi(), p.dEta())
3762  fprint (f, '\n ')
3763  if p.cluster():
3764  dump_TrigEMCluster (p.cluster(), f)
3765  return
3766 
3767 
3768 @nolist
3770  fprintln (f, ' ROI ', t.RoI_ID())
3771  t2 = [PyTrigInDetTrack(tt) for tt in t]
3772  dump_list (t2, f, dump_TrigInDetTrack)
3773  return
3774 
3775 
3776 def dump_TrigEFBjet (j, f):
3777  dump_Fourvec (j, f)
3778  fprint (f, j.isValid(), j.roiId())
3779  fprint (f, '\n ', j.prmVtx(), j.xComb(), j.xIP1D(), j.xIP2D(),
3780  j.xIP3D(), j.xCHI2(), j.xSV(), j.xMVtx(), j.xEVtx(), j.xNVtx())
3781  fprint (f, '\n ', tonone(j.TrackCollection()),
3782  tonone(j.PrmVertexCollection()),
3783  tonone(j.SecVertexCollection()))
3784  return
3785 
3786 
3787 def dump_TrigEFBphys (j, f):
3788  fprint (f, j.roiId(), j.particleType(), j.eta(), j.phi(),
3789  j.mass(), j.fitmass(), j.fitchi2(), j.fitndof(),
3790  j.fitx(), j.fity(), j.fitz())
3791  if j.pSecondDecay():
3792  fprint (f, '\n second:')
3793  dump_TrigEFBphys (j.pSecondDecay(), f)
3794  vec = j.trackVector()
3795  for i in range(len(vec)):
3796  t = vec[i]
3797  fprint (f, '\n tv:')
3798  if t.isValid():
3799  fprint (f, t.dataID(), t.index())
3800  else:
3801  fprint (f, '(invalid)')
3802  return
3803 
3804 
3805 def dump_TrigL2Bjet (j, f):
3806  dump_Fourvec (j, f)
3807  fprint (f, j.isValid(), j.roiId())
3808  fprint (f, '\n ', j.prmVtx(), j.xComb(), j.xIP1D(), j.xIP2D(),
3809  j.xIP3D(), j.xCHI2(), j.xSV(), j.xMVtx(), j.xEVtx(), j.xNVtx())
3810  fprint (f, '\n ',
3811  tonone(j.TrackCollection()),
3812  tonone(j.PrmVertexCollection()),
3813  tonone(j.SecVertexCollection()))
3814  return
3815 
3816 
3817 def dump_TrigL2Bphys (j, f):
3818  fprint (f, j.roiId(), j.particleType(), j.eta(), j.phi(),
3819  j.mass(), j.fitmass(), j.fitchi2(), j.fitndof(),
3820  j.fitx(), j.fity(), j.fitz())
3821  if j.pSecondDecay():
3822  fprint (f, '\n second:')
3823  dump_TrigL2Bphys (j.pSecondDecay(), f)
3824  # ??? Straightforward iteration fails if jets are also dumped,
3825  # for 15.2.0 samples. Why?
3826  #for t in j.trackVector():
3827  tv = j.trackVector()
3828  for i in range(tv.size()):
3829  t = tv[i]
3830  fprint (f, '\n tv:', t.dataID(), t.index())
3831  return
3832 
3833 
3835  fprint (f, ' ', m.ex(), m.ey(), m.ez(), m.sumEt(), m.sumE(),
3836  m.RoIword(), m.getFlag(), m.getNumOfComponents())
3837  for ic in range(m.getNumOfComponents()):
3838  fprint (f, '\n ', m.getNameOfComponent(ic),
3839  m.getExComponent(ic), m.getEyComponent(ic),
3840  m.getEzComponent(ic), m.getSumEtComponent(ic),
3841  m.getSumEComponent(ic), m.getComponentCalib0(ic),
3842  m.getComponentCalib1(ic), m.getSumOfSigns(ic),
3843  m.getUsedChannels(ic), m.getStatus(ic))
3844  fprintln (f, ' ')
3845  return
3846 @nolist
3848  dump_TrigMissingET (m, f)
3849  return
3850 
3851 
3853  fprint (f, ' ',
3854  d.version(), d.isFullscan(),
3855  d.eta(), d.etaPlus(), d.etaMinus(),
3856  d.phi(), d.phiPlus(), d.phiMinus(),
3857  d.zed(), d.zedPlus(), d.zedMinus(),
3858  d.composite(), d.manageConstituents(), d.size(),
3859  formatItemUsingLong ([d.at(i).roiId() for i in range(d.size())]))
3860  return
3861 
3862 
3864  fprint (f, ' ', d.roiId(), d.l1Id(), d.roiWord())
3865  dump_RoiDescriptor (d, f)
3866 @nolist
3868  dump_TrigRoiDescriptor (d, f)
3869  return
3870 
3871 
3873  fprint (f, m.e(), m.eta(), m.phi(), m.inCone(), m.caloSample())
3874  return
3875 
3876 
3877 def dump_TrigT2Jet (j, f):
3878  fprint (f, ' ')
3879  dump_Fourvec (j, f)
3880  fprint (f, ' ', j.e(), j.ehad0(), j.eem0(), j.eta(), j.phi(), j.m(),
3881  j.RoIword())
3882  if j.grid():
3883  for m in j.grid():
3884  fprint (f, '\n ')
3885  dump_Trig3Momentum (m, f)
3886  fprintln (f, ' ')
3887  return
3888 @nolist
3890  dump_TrigT2Jet (j, f)
3891  return
3892 
3893 
3895  if not t: return
3896  for s in range(4):
3897  fprint (f, '\n EM%d: '% s)
3898  fprint (f, t.EMRadius(s), t.EMenergyWidth(s), t.EMenergyMedium(s),
3899  t.EMenergyWide(s), t.EMenergyNarrow(s))
3900  for s in range(3):
3901  fprint (f, '\n HAD%d: '% s)
3902  fprint (f, t.HADRadius(s), t.HADenergyWidth(s), t.HADenergyMedium(s),
3903  t.HADenergyWide(s), t.HADenergyNarrow(s))
3904  return
3905 
3907  fprint (f, ' ')
3908  dump_TrigCaloCluster (t, f)
3909  fprint (f, '\n ', t.energy(), t.EMCalibEnergy(), t.EMenergy(),
3910  t.HADenergy(), t.eta(), t.phi(), t.IsoFrac(), t.numStripCells(),
3911  t.stripWidth(), t.eCalib(), t.eEMCalib(), t.EMRadius2())
3912  for s in range(25):
3913  fprint (f, '\n %2d: '% s)
3914  fprint (f, t.energy(s))
3915  dump_TrigTauClusterDetails (t.clusterDetails(), f)
3916  fprintln (f, ' ')
3917  return
3918 @nolist
3920  dump_TrigTauCluster (t, f)
3921  return
3922 
3923 
3924 def dump_TrigHisto (h, f):
3925  fprint (f, "x:", h.nbins_x(), h.min_x(), h.max_x(), '[')
3926  for x in h.contents():
3927  fprint (f, x)
3928  fprint (f, ']')
3929  return
3930 def dump_TrigHisto1D (h, f):
3931  dump_TrigHisto (h, f)
3932  return
3933 def dump_TrigHisto2D (h, f):
3934  fprint (f, "y:", h.nbins_y(), h.min_y(), h.max_y())
3935  dump_TrigHisto (h, f)
3936  return
3937 
3939  fprint (f, c.sctSpEndcapC(), c.sctSpBarrel(), c.sctSpEndcapA(), '[')
3940  for id in c.droppedSctModules():
3941  fprint (f, id.getString())
3942  fprint (f, ']')
3943  fprint (f, '\n clus endcap c: ')
3944  dump_TrigHisto2D (c.pixelClusEndcapC(), f)
3945  fprint (f, '\n clus barrel: ')
3946  dump_TrigHisto2D (c.pixelClusBarrel(), f)
3947  fprint (f, '\n clus endcap a: ')
3948  dump_TrigHisto2D (c.pixelClusEndcapA(), f)
3949  return
3950 @nolist
3952  dump_TrigSpacePointCounts (c, f)
3953  return
3954 
3955 
3957  fprint (f, ' ')
3958  dump_Fourvec (t, f)
3959  fprint (f, ' ', t.roiId(), t.nCoreTracks(), t.nSlowTracks(),
3960  t.nIsoTracks(),
3961  t.charge(), t.leadingTrackPt(), t.scalarPtSumCore(),
3962  t.scalarPtSumIso(), t.ptBalance())
3963  dump_Fourvec (t.threeFastestTracks(), f)
3964  if t.trackCollection():
3965  fprint (f, '\n ')
3966  dump_TrigInDetTrackCollection (t.trackCollection(), f)
3967  fprintln (f, ' ')
3968  return
3969 @nolist
3971  dump_TrigTauTracksInfo (t, f)
3972  return
3973 
3974 
3975 def dump_MuonFeature (m, f):
3976  fprint (f, ' ', m.roiId(), m.saddress(), m.pt(), m.radius(),
3977  m.eta(), m.phi(), m.dir_phi(), m.zeta(), m.dir_zeta(), m.beta(),
3978  m.sp1_r(), m.sp1_z(), m.sp1_slope(),
3979  m.sp2_r(), m.sp2_z(), m.sp2_slope(),
3980  m.sp3_r(), m.sp3_z(), m.sp3_slope(),
3981  m.br_radius(), m.br_sagitta(), m.ec_alpha(), m.ec_beta(),
3982  m.dq_var1(), m.dq_var2(), m.algoId())
3983  return
3984 @nolist
3986  dump_MuonFeature (m, f)
3987  return
3988 
3989 
3991  fprint (f, m.extension_capacity(),
3992  m.max_rob_capacity(),
3993  m.max_csm_capacity(),
3994  m.max_lvl1_emu_capacity(),
3995  m.max_rpc_hits_capacity(),
3996  m.max_tgc_hits_capacity(),
3997  m.max_mdt_hits_capacity(),
3998  m.id(), m.te_id(), m.error())
3999  fprint (f, '\n ',
4000  m.lvl1_id(), m.lumi_block(), m.muondetmask(),
4001  m.roi_id(), m.roi_system(), m.roi_subsystem(),
4002  m.roi_sector(), m.roi_number(), m.roi_threshold(),
4003  daz(m.roi_eta()), daz(m.roi_phi()),
4004  m.rpc_pad_error(), m.tgc_rdo_error())
4005  fprint (f, '\n ',
4006  m.rpc1_x(), m.rpc1_y(), m.rpc1_z(),
4007  m.rpc2_x(), m.rpc2_y(), m.rpc2_z(),
4008  m.rpc3_x(), m.rpc3_y(), m.rpc3_z())
4009  fprint (f, '\n ',
4010  m.tgc_Mid1_eta(), m.tgc_Mid1_phi(), m.tgc_Mid1_r(), m.tgc_Mid1_z(),
4011  m.tgc_Mid2_eta(), m.tgc_Mid2_phi(), m.tgc_Mid2_r(), m.tgc_Mid2_z(),
4012  m.tgc_Mid_rho_chi2(), m.tgc_Mid_rho_N(),
4013  m.tgc_Mid_phi_chi2(), m.tgc_Mid_phi_N())
4014  fprint (f, '\n ',
4015  m.tgc_Inn_eta(), m.tgc_Inn_phi(),
4016  m.tgc_Inn_r(), m.tgc_Inn_z(),
4017  m.tgc_Inn_rho_std(), m.tgc_Inn_rho_N(),
4018  m.tgc_Inn_phi_std(), m.tgc_Inn_phi_N(),
4019  m.tgc_PT())
4020  fprint (f, '\n ',
4021  m.mdt_Inner_slope(),
4022  m.mdt_Inner_intercept(),
4023  m.mdt_Inner_Z(),
4024  m.mdt_Inner_R(),
4025  m.mdt_Inner_fit_chi(),
4026  m.mdt_Middle_slope(),
4027  m.mdt_Middle_intercept(),
4028  m.mdt_Middle_Z(),
4029  m.mdt_Middle_R(),
4030  m.mdt_Middle_fit_chi(),
4031  m.mdt_Outer_slope(),
4032  m.mdt_Outer_intercept(),
4033  m.mdt_Outer_Z(),
4034  m.mdt_Outer_R(),
4035  m.mdt_Outer_fit_chi())
4036  fprint (f, '\n ',
4037  m.Address(), m.Sagitta(), m.Radius(), m.Slope(), m.Intercept(),
4038  m.Alpha(), m.Beta(), m.DeltaR(), m.Speed_over_c(),
4039  m.PhiMap(), m.Phi(), m.PhiDir(), m.Pt(), m.Charge())
4040  fprint (f, '\n ',
4041  m.eta_pivot_lay0(),
4042  m.eta_pivot_lay1(),
4043  m.eta_low_0_lay0(),
4044  m.eta_low_1_lay0(),
4045  m.eta_low_0_lay1(),
4046  m.eta_low_1_lay1(),
4047  m.eta_high_0_lay0(),
4048  m.eta_high_1_lay0(),
4049  m.eta_high_0_lay1(),
4050  m.eta_high_1_lay1(),
4051  m.phi_pivot_lay0(),
4052  m.phi_pivot_lay1(),
4053  m.phi_low_0_lay0(),
4054  m.phi_low_1_lay0(),
4055  m.phi_low_0_lay1(),
4056  m.phi_low_1_lay1(),
4057  m.phi_high_0_lay0(),
4058  m.phi_high_1_lay0(),
4059  m.phi_high_0_lay1(),
4060  m.phi_high_1_lay1())
4061 
4062  fprint (f, '\n ', formatItemUsingLong (list(m.rob_id())))
4063  fprint (f, '\n ', formatItemUsingLong (list(m.csm_id())))
4064  fprint (f, '\n ', formatItemUsingLong (list(m.csm_size())))
4065  fprint (f, '\n ', formatItemUsingLong (list(m.csm_error())))
4066  fprint (f, '\n ', formatItemUsingLong (list(m.removed_rob_id())))
4067  fprint (f, '\n ', formatItemUsingLong (list(m.removed_csm_id())))
4068  fprint (f, '\n ', formatItemUsingLong (list(m.lvl1_emulation())))
4069  fprint (f, '\n ', formatItemUsingLong (list(m.pad_hit_onlineId())))
4070  fprint (f, '\n ', formatItemUsingLong (list(m.pad_hit_code())))
4071  fprint (f, '\n ', safe_float_vector(m.pad_hit_x()))
4072  fprint (f, '\n ', safe_float_vector(m.pad_hit_y()))
4073  fprint (f, '\n ', safe_float_vector(m.pad_hit_z()))
4074  fprint (f, '\n ', safe_float_vector(m.pad_hit_r()))
4075  fprint (f, '\n ', safe_float_vector(m.pad_hit_p()))
4076  fprint (f, '\n ', safe_float_vector(m.tgc_Inn_rho_hit_phi()))
4077  fprint (f, '\n ', safe_float_vector(m.tgc_Inn_rho_hit_r()))
4078  fprint (f, '\n ', safe_float_vector(m.tgc_Inn_rho_hit_z()))
4079  fprint (f, '\n ', safe_float_vector(m.tgc_Inn_rho_hit_width()))
4080  fprint (f, '\n ', formatItemUsingLong (list(m.tgc_Inn_rho_hit_in_seg())))
4081  fprint (f, '\n ', safe_float_vector(m.tgc_Inn_phi_hit_phi()))
4082  fprint (f, '\n ', safe_float_vector(m.tgc_Inn_phi_hit_r()))
4083  fprint (f, '\n ', safe_float_vector(m.tgc_Inn_phi_hit_z()))
4084  fprint (f, '\n ', safe_float_vector(m.tgc_Inn_phi_hit_width()))
4085  fprint (f, '\n ', formatItemUsingLong (list(m.tgc_Inn_phi_hit_in_seg())))
4086  fprint (f, '\n ', safe_float_vector(m.tgc_Mid_rho_hit_phi()))
4087  fprint (f, '\n ', safe_float_vector(m.tgc_Mid_rho_hit_r()))
4088  fprint (f, '\n ', safe_float_vector(m.tgc_Mid_rho_hit_z()))
4089  fprint (f, '\n ', safe_float_vector(m.tgc_Mid_rho_hit_width()))
4090  fprint (f, '\n ', formatItemUsingLong (list(m.tgc_Mid_rho_hit_in_seg())))
4091  fprint (f, '\n ', safe_float_vector(m.tgc_Mid_phi_hit_phi()))
4092  fprint (f, '\n ', safe_float_vector(m.tgc_Mid_phi_hit_r()))
4093  fprint (f, '\n ', safe_float_vector(m.tgc_Mid_phi_hit_z()))
4094  fprint (f, '\n ', safe_float_vector(m.tgc_Mid_phi_hit_width()))
4095  fprint (f, '\n ', formatItemUsingLong (list(m.tgc_Mid_phi_hit_in_seg())))
4096  fprint (f, '\n ', formatItemUsingLong (list(m.mdt_onlineId())))
4097  fprint (f, '\n ', formatItemUsingLong (list(m.mdt_offlineId())))
4098  fprint (f, '\n ', safe_float_vector(m.mdt_tube_r()))
4099  fprint (f, '\n ', safe_float_vector(m.mdt_tube_z()))
4100  fprint (f, '\n ', safe_float_vector(m.mdt_tube_residual()))
4101  fprint (f, '\n ', safe_float_vector(m.mdt_tube_time()))
4102  fprint (f, '\n ', safe_float_vector(m.mdt_tube_space()))
4103  fprint (f, '\n ', safe_float_vector(m.mdt_tube_sigma()))
4104  fprint (f, '\n ', formatItemUsingLong (list(m.extension0())))
4105  fprint (f, '\n ', formatItemUsingLong (list(m.extension1())))
4106  fprint (f, '\n ', formatItemUsingLong (list(m.extension2())))
4107  fprint (f, '\n ', formatItemUsingLong (list(m.extension3())))
4108  fprint (f, '\n ', formatItemUsingLong (list(m.extension4())))
4109  fprint (f, '\n ', formatItemUsingLong (list(m.extension5())))
4110  fprint (f, '\n ', formatItemUsingLong (list(m.extension6())))
4111  fprint (f, '\n ', formatItemUsingLong (list(m.extension7())))
4112  fprint (f, '\n ', formatItemUsingLong (list(m.extension8())))
4113  fprint (f, '\n ', formatItemUsingLong (list(m.extension9())))
4114  return
4115 
4116 
4118  fprint (f, ' ', m.eta(), m.phi(), m.quality(), list(m.enedep()))
4119  return
4120 
4121 
4123  dump_Fourvec (m, f)
4124  fprint (f, m.PtTR_Trk(), m.EtaTR_Trk(), m.PhiTR_Trk(), m.Typ_IDTrk())
4125  fprint (f, '\n ', m.pt(), m.eta(), m.phi(), m.m())
4126  fprint (f, '\n ', m.TileMuLink().isValid())
4127  if m.TileMuLink().isValid():
4128  fprintln (f, m.TileMuLink().dataID(), m.TileMuLink().index())
4129  fprint (f, '\n ', m.IDScanLink().isValid())
4130  if m.IDScanLink().isValid():
4131  fprintln (f, m.IDScanLink().dataID(), m.IDScanLink().index())
4132  return
4133 
4134 
4136  fprint (f, ' ')
4137  dump_Fourvec (m, f)
4138  fprint (f, m.pt(), m.eta(), m.phi(), m.m(), m.sigma_pt())
4139  if m.IDTrackLink().isValid() and m.IDTrack():
4140  fprint (f, '\n id')
4141  dump_TrigInDetTrack (PyTrigInDetTrack(m.IDTrack()), f)
4142  if m.muFastTrackLink().isValid() and m.muFastTrack():
4143  fprint (f, '\n fast')
4144  dump_MuonFeature (m.muFastTrack(), f)
4145  else:
4146  fprintln (f, ' ')
4147  return
4148 @nolist
4150  dump_CombinedMuonFeature (m, f)
4151  return
4152 
4153 
4154 def dump_TrigMuonEF (m, f):
4155  dump_Fourvec (m, f)
4156  fprint (f, m.MuonCode(), m.RoINum(), m.charge())
4157  return
4158 
4159 
4160 def dump_TileMu (m, f):
4161  fprint (f, m.eta(), m.phi(), m.quality(), list(m.enedep()))
4162  return
4163 
4164 
4166  beg = m.begin()
4167  end = m.end()
4168  while beg != end:
4169  fprint (f, '\n ', beg.getMomentType(), beg.getMoment().getValue())
4170  beg.next()
4171  return
4172 
4173 
4175  nsamp = s.getNumberOfSamplings()
4176  for i in range(min(10, s.getNumberOfVariableTypes())):
4177  if s.contains(i):
4178  slist = [s.retrieveData(i, samp) for samp in range(nsamp)]
4179  fprint (f, '\n ', i, slist)
4180  return
4181 
4182 
4183 def dump_CaloShower (s, f):
4184  fprint (f, ' moments:')
4185  dump_CaloClusterMomentStore (s.getMomentStore(), f)
4186  fprint (f, '\n sampling data:')
4187  dump_CaloSamplingData (s.getSamplingStore(), f)
4188  return
4189 
4190 
4191 @nolist
4193  # Note: container contents aren't saved...
4194  fprintln (f, t.neta(), t.etamin(), t.deta(),
4195  t.nphi(), t.phimin(), t.dphi())
4196  return
4197 
4198 
4199 @nolist
4201  # Note: container contents aren't saved...
4202  dump_CaloTowerContainer (t, f)
4203  fprint (f, ' ', t.GetMinimumCellEnergy(),
4204  t.GetMinimumClusterEnergy(),
4205  t.GetUseCellWeights(),
4206  False, # was t.GetUseNoiseTool(),
4207  True, # was t.GetUsePileUpNoise(),
4208  t.GetNoiseSigma(),
4209  t.GetCellESignificanceThreshold(),
4210  t.GetCaloSelection())
4211  ci = t.GetCaloIndices()
4212  # list(ci) broken in root 6.04.12.
4213  fprint (f, [ci[i] for i in range(ci.size())])
4214  def dl(l):
4215  fprint (f, ' ')
4216  if l.isValid(): fprintln (f, l.dataID())
4217  else: fprintln (f, '(null)')
4218  dl(t.GetClusters())
4219  dl(t.GetTowers())
4220  dl(t.GetCells())
4221  if t.GetCellToClusterMap():
4222  fprintln (f, ' ', t.GetCellToClusterMap().size())
4223  else:
4224  fprintln (f, ' (null)')
4225  return
4226 
4227 
4229  fprint (f, t.cellID().getString(), t.particleID(),
4230  [t.energy(i) for i in range(4)])
4231  return
4232 
4233 
4234 def dump_LArHit (t, f):
4235  fprint (f, t.cellID().getString(), t.energy(), t.time())
4236  return
4237 
4238 
4239 def dump_TileHit (t, f):
4240  sz = t.size()
4241  fprint (f, t.identify().getString(), [t.energy(i) for i in range(sz)],
4242  [t.time(i) for i in range(sz)])
4243  return
4244 
4245 
4247  fprint (f, p.barcode(), p.eventIndex())
4248  return
4249 
4250 
4251 def dump_SiHit (t, f):
4252  fprint (f, t.identify())
4253  dump_Threevec (t.localStartPosition(), f)
4254  dump_Threevec (t.localEndPosition(), f)
4255  fprint (f, t.energyLoss(), t.meanTime(), t.truthBarcode())
4256  dump_HepMcParticleLink (t.particleLink(), f)
4257  return
4258 
4259 
4261  fprint (f, t.GetHitID(), t.truthBarcode(), t.GetParticleEncoding(),
4262  t.GetKineticEnergy(), t.GetEnergyDeposit(),
4263  t.GetPreStepX(), t.GetPreStepY(), t.GetPreStepZ(),
4264  t.GetPostStepX(), t.GetPostStepY(), t.GetPostStepZ(),
4265  t.GetGlobalTime())
4266  return
4267 
4268 
4270  if hasattr(t, 'triggerEnergies'):
4271  fprint (f, list(t.triggerEnergies()), list(t.triggerTimes()))
4272  else:
4273  fprint (f, t.mbtsWord(), list(t.triggerTimes()))
4274  return
4275 
4276 
4277 def dump_CosmicMuon (m, f):
4278  # Not really implemented.
4279  # The AODs i saw had containers of these, which were always empty.
4280  # Print as the address, so that if we do see one with contents,
4281  # we'll see a miscompare and know to fill this in.
4282  fprint (f, id(m))
4283  #fprint (f, m.p(), m.theta(), m.phi(), m.t(), m.radius(),
4284  # m.isIngoing, m.NRpcPairs(), m.NTgcPairs(), m.NMdtHits(),
4285  # m.NMdtSegs())
4286 # void getRefPoint(double vec[3]) const;
4287 # double residual(double z, double r) const;
4288 # double longPos(double z, double r) const;
4289 # void perigee(double point[3], double x0=0, double y0=0, double z0=0) const;
4290 # void perigee2D(double point[2], double x0=0, double y0=0) const;
4291 # double dca3D(double x0=0.0, double y0=0.0, double z0=0.0) const;
4292 # double dcaXY(double x0=0.0, double y0=0.0) const;
4293 # double dca2D_Z(double x0=0.0, double y0=0.0) const;
4294  return
4295 
4296 
4298  # Not really implemented.
4299  # The AODs i saw had containers of these, which were always empty.
4300  # Print as the address, so that if we do see one with contents,
4301  # we'll see a miscompare and know to fill this in.
4302  fprint (f, id(t))
4303  return
4304 
4305 
4307  dump_Fourvec (m, f)
4308  fprint (f, '\n ', m.getEtInnerConeEC(), m.getEtOuterConeEC(),
4309  m.getEtInnerConeHC(), m.getEtOuterConeHC())
4310  fprint (f, '\n ', m.getNTracksCone(), m.getSumPtTracksCone(),
4311  m.getPtMuTracksCone())
4312  fprint (f, '\n ', m.getRoiIdMu(), m.getPtMu(), m.getEtaMu(),
4313  m.getPhiMu(), m.getLArWeight(), m.getTileWeight())
4314  return
4315 
4316 
4318  if not t:
4319  fprint (f, None)
4320  return
4321  dump_Fourvec (t, f)
4322  fprint (f, t.charge())
4323  return
4324 
4325 
4327  fprint (f, '\n ', t.MuonType())
4328  fprint (f, '\n spectrometer: ')
4329  dump_TrigMuonEFTrack (t.SpectrometerTrack(), f)
4330  fprint (f, '\n extrapolated: ')
4331  dump_TrigMuonEFTrack (t.ExtrapolatedTrack(), f)
4332  fprint (f, '\n combined: ')
4333  dump_TrigMuonEFTrack (t.CombinedTrack(), f)
4334  return
4335 
4336 
4338  fprint (f, t.RoINum())
4339  for tt in t.TrackContainer():
4340  dump_TrigMuonEFInfoTrack (tt, f)
4341  return
4342 
4343 
4344 def dump_RingerRings (r, f):
4345  fprint (f, list(r.rings()))
4346  return
4347 
4348 
4350  fprint (f, ' barrel')
4351  dump_TrigHisto1D (p.barrel(), f)
4352  fprint (f, '\n endcapA')
4353  dump_TrigHisto1D (p.endcapA(), f)
4354  fprint (f, '\n endcapC')
4355  dump_TrigHisto1D (p.endcapC(), f)
4356  return
4357 
4358 
4360  fprint (f, list(p.output()))
4361  #if p.isValid():
4362  # cl = p.cluster()
4363  # fprint (f, ' [', cl.rawEnergy(), cl.rawEta(), cl.rawPhi(), ']')
4364  return
4365 
4366 
4368  if p == InDetLowBetaCandidateNull:
4369  fprint (f, '(null)')
4370  return
4371  if hasattr (p, 'getTRTInverseBeta'):
4372  fprint (f, p.getTRTCorrBitsOverThreshold(),
4373  p.getTRTInverseBeta(),
4374  p.getTRTInverseBetaError(),
4375  p.getTRTNLastBits())
4376  else:
4377  fprint (f, p.getTRTCorrBitsOverThreshold(),
4378  p.getTRTTrailingEdge(),
4379  p.getTRTTrailingEdgeError(),
4380  p.getTRTNLastBits())
4381  others = (p.getTRTdEdx(),
4382  p.getTRTLikelihoodBeta(),
4383  p.getTRTLikelihoodError(),
4384  p.getTRTHighTbits(),)
4385  if max(others)!=0 or min(others) != 0:
4386  for o in others: fprint (f, o)
4387  return
4388 
4389 
4390 @nolist
4392  fprintln (f, ' noisy febs', [id.getString() for id in p.get_noisy_febs()])
4393  # Dictionary problem here --- punt for now.
4394  #fprint (f, ' noisy preamps',
4395  # [(p.first.getString(),p.second) for p in p.get_noisy_preamps()])
4396  return
4397 
4398 
4400  fprint (f, p.getName(), p.isAccepted())
4401  return
4402 
4403 
4404 @nolist
4406  for a in dir(p):
4407  if a.startswith ('get'):
4408  fprintln (f, a[3:]+':', getattr(p, a)())
4409  return
4410 
4411 
4412 @nolist
4414  for p in toiter1 (m):
4415  fprint (f, ' ', typename(p.__class__))
4416  if not p:
4417  fprint (f, '(null)')
4418  continue
4419  dump_Fourvec (p, f)
4420  try:
4421  w = m.getWeight (p)
4422  fprint (f, ' [', w.wet(), w.wpx(), w.wpy(), w.statusWord(), ']')
4423  except RuntimeError:
4424  pass
4425  fprintln (f, '')
4426  return
4427 
4428 @nolist
4429 def dump_ChamberT0s (m, f):
4430  for p in m.getAllT0s():
4431  fprintln (f, ' ', p.first.getString(), p.second)
4432  return
4433 
4434 
4436  dump_Fourvec (m, f)
4437  fprint (f, m.getNRoi(), m.getNTRK(), m.getNJet())
4438  return
4439 
4440 
4442  fprint (f, [b.isPassing(i) for i in range(b.size())])
4443  return
4444 
4445 
4447  p = b.infos()
4448  fprint (f, [str(s) for s in p.first], list(p.second))
4449  return
4450 
4451 
4453  fprint (f,
4454  formatItemUsingLong (list(v.vtxNtrks())),
4455  list(v.vtxTrkPtSqSum()))
4456  return
4457 
4459  fprint (f, m.sumTrkPtCone02(), m.sumTrkPtCone03(), m.trackPosition())
4460  return
4461 
4462 
4464  # The interface changed, sigh...
4465  if hasattr (m, 'getNumObjects'):
4466  for i in range (m.getNumObjects()):
4467  fwrite (f, ' \n')
4468  fprint (f, i, list(m.getFlag(i,j) for j in range(m.getNumFlags(i))))
4469  else:
4470  for i in range (m.size()):
4471  fwrite (f, ' \n')
4472  fprint (f, i, list(m.getFlagBit(i,j) for j in range(m.flagSize())))
4473  return
4474 
4475 
4476 def dump_eflowObject (e, f):
4477  dump_Fourvec (e, f)
4478  fprint (f, e.eflowType(), e.isValid(), e.d0(), e.z0(),
4479  e.getPassEOverPCheck(), e.getIsSubtracted(),
4480  e.getIsDuplicated(), e.getCaloRecoStatus().getStatusWord())
4481  for i in range(e.numTrack()):
4482  fprint (f, '\n tk: ')
4483  dump_EL (e.trackLink(i), f)
4484  for i in range(e.numClus()):
4485  fprint (f, '\n cl: ')
4486  dump_EL (e.clusLink(i), f)
4487  fprint (f, '\n mu: ')
4488  dump_EL (e.muonLink(), f)
4489  fprint (f, '\n cv: ')
4490  dump_EL (e.conversionLink(), f)
4491  return
4492 
4493 
4494 @nolist
4496  print (c.missET(), c.sumET(), c.pTx(), c.pTy(), c.numEf(),
4497  c.numPhot(), c.numEle(), c.numMuo(), c.isValid(),
4498  c.circularity(), c.thrust(), c.oblateness(),
4499  file = f)
4500  dump_list (c, f, dump_eflowObject)
4501  return
4502 
4503 @nolist
4505  fprintln (f, list (c))
4506  return
4507 
4508 
4509 @nolist
4511  fprint (f, p.smk(), p.l1psk(), p.hltpsk())
4512  return
4513 
4514 
4516  fprint (f, p.collHash(), p.objIndex())
4517  return
4518 
4519 
4520 def dump_PrepRawData (p, f):
4521  fprint (f, p.identify().getString())
4522  dump_IdentContIndex (p.getHashAndIndex(), f)
4523  dump_AmgVector (p.localPosition(), f)
4524  dump_AmgMatrix (p.localCovariance(), f)
4525  fprint (f, '[')
4526  for i in p.rdoList():
4527  fprint (f, i.getString())
4528  fprint (f, ']')
4529  return
4530 
4531 
4532 def dump_MuonCluster (p, f):
4533  dump_PrepRawData (p, f)
4534  dump_AmgVector (p.globalPosition(), f, thresh=1e-8, prec=4)
4535  return
4536 
4537 
4538 def dump_CscPrepData (p, f):
4539  dump_MuonCluster (p, f)
4540  fprint (f, p.charge(), p.time(), p.status(), p.timeStatus())
4541  fprint (f, p.detectorElement().identifyHash().value())
4542  return
4543 
4544 
4546  dump_MuonCluster (p, f)
4547  fprint (f, p.timeOfFirstSample(), p.samplingPhase(), p.samplingTime())
4548  fprint (f, list(p.sampleCharges()))
4549  fprint (f, p.detectorElement().identifyHash().value())
4550  return
4551 
4552 
4553 def dump_TgcPrepData (p, f):
4554  dump_MuonCluster (p, f)
4555  fprint (f, p.getBcBitMap())
4556  fprint (f, p.detectorElement().identifyHash().value())
4557  return
4558 
4559 
4560 def dump_TgcCoinData (p, f):
4561  fprint (f, p.type(), p.channelIdIn().getString(), p.channelIdOut().getString(), p.identifyHash().value())
4562  dump_IdentContIndex (p.getHashAndIndex(), f)
4563  fprint (f, p.isAside(), p.phi(), p.isInner(), p.isForward(), p.isStrip(), p.trackletId(), p.trackletIdStrip())
4564  fprint (f, p.widthIn(), p.widthOut())
4565  fprint (f, p.delta(), p.roi(), p.pt(), p.veto(), p.sub(), p.inner(), p.isPositiveDeltaR())
4566  if p.channelIdIn().get_compact() != 0:
4567  dump_AmgVector (p.posIn(), f, thresh=1e-8)
4568  dump_AmgVector (p.globalposIn(), f, thresh=1e-8)
4569  if p.channelIdOut().get_compact() != 0:
4570  dump_AmgVector (p.posOut(), f, thresh=1e-8)
4571  dump_AmgVector (p.globalposOut(), f, thresh=1e-8)
4572  if p.hasErrMat():
4573  dump_AmgMatrix (p.errMat(), f)
4574  if p.detectorElementIn():
4575  fprint (f, p.detectorElementIn().identifyHash().value())
4576  else:
4577  fprint (f, '(null detel)')
4578  if p.detectorElementOut():
4579  fprint (f, p.detectorElementOut().identifyHash().value())
4580  else:
4581  fprint (f, '(null detel)')
4582  return
4583 
4584 
4585 def dump_MdtPrepData (p, f):
4586  dump_MuonCluster (p, f)
4587  fprint (f, p.tdc(), p.adc(), p.status())
4588  fprint (f, p.detectorElement().identifyHash().value())
4589  return
4590 
4591 
4592 def dump_RpcPrepData (p, f):
4593  fprint (f, p.time(), p.ambiguityFlag())
4594  fprint (f, p.detectorElement().identifyHash().value())
4595  return
4596 
4597 
4598 def dump_RpcCoinData (p, f):
4599  dump_RpcPrepData (p, f)
4600  fprint (f, p.ijk(), p.threshold(), p.overlap(), p.parentCmId(), p.parentPadId(), p.parentSectorId())
4601  return
4602 
4603 
4604 def dump_SiWidth (p, f):
4605  dump_AmgVector (p.colRow(), f)
4606  dump_AmgVector (p.widthPhiRZ(), f)
4607  return
4608 
4609 
4610 def dump_SiCluster (p, f):
4611  dump_PrepRawData (p, f)
4612  fprint (f, p.gangedPixel())
4613  dump_AmgVector (p.globalPosition(), f)
4614  dump_SiWidth (p.width(), f)
4615  fprint (f, p.detectorElement().identifyHash().value())
4616  return
4617 
4618 
4620  dump_SiCluster (p, f)
4621  fprint (f, p.omegax(), p.omegay(), list (p.totList()))
4622  fprint (f, p.totalToT(), list(p.chargeList()), p.totalCharge())
4623  fprint (f, p.isFake(), p.isAmbiguous(), p.LVL1A(), p.splitInfoRaw(), p.tooBigToBeSplit())
4624  return
4625 
4626 
4627 def dump_SCT_Cluster (p, f):
4628  dump_SiCluster (p, f)
4629  fprint (f, p.hitsInThirdTimeBin())
4630  return
4631 
4632 
4634  dump_PrepRawData (p, f)
4635  fprint (f, p.getWord())
4636  fprint (f, p.detectorElement().identifyHash().value())
4637  return
4638 
4639 
4641  fprint (f, p.identify().getString(), p.getWord())
4642  return
4643 
4644 
4646  dump_InDetRawData (p, f)
4647  fprint (f, p.getToT(), p.getBCID(), p.getLVL1A(), p.getLVL1ID())
4648  return
4649 
4650 
4652  dump_InDetRawData (p, f)
4653  fprint (f, p.highLevel(), p.timeOverThreshold(), p.driftTimeBin())
4654  return
4655 
4656 
4658  dump_InDetRawData (p, f)
4659  fprint (f, p.getGroupSize())
4660  return
4661 
4662 
4663 def dump_IDC (payload_dumper, p, f, extra_idc_dumper = None):
4664  beg = p.begin()
4665  end = p.end()
4666  if hasattr(beg.__class__, '__preinc__'):
4667  nextfunc = beg.__preinc__
4668  elif hasattr(beg.__class__, '__next__'):
4669  nextfunc = beg.__next__
4670  else:
4671  nextfunc = beg.next
4672  while beg != end:
4673  coll = beg.cptr()
4674  if hasattr (coll, 'identifyHash'):
4675  hash = coll.identifyHash().value()
4676  else:
4677  hash = coll.identifierHash().value()
4678  fprint (f, 'IDC', beg.hashId().value(), hash, coll.size())
4679  if hasattr (coll, 'type'):
4680  fprint (f, coll.type())
4681  if extra_idc_dumper:
4682  extra_idc_dumper (coll, f)
4683  for x in coll:
4684  fprint (f, '\n ')
4685  payload_dumper (x, f)
4686  fwrite (f, '\n')
4687  nextfunc()
4688  fwrite (f, '\n')
4689  return
4690 
4691 
4692 @nolist
4694  dump_IDC (dump_CscPrepData, p, f)
4695  return
4696 
4697 
4698 @nolist
4700  dump_IDC (dump_CscStripPrepData, p, f)
4701  return
4702 
4703 
4704 @nolist
4706  dump_IDC (dump_RpcCoinData, p, f)
4707  return
4708 
4709 
4710 @nolist
4712  dump_IDC (dump_RpcPrepData, p, f)
4713  return
4714 
4715 
4716 @nolist
4718  dump_IDC (dump_TgcPrepData, p, f)
4719  return
4720 
4721 
4722 @nolist
4724  dump_IDC (dump_TgcCoinData, p, f)
4725  return
4726 
4727 
4728 @nolist
4730  dump_IDC (dump_MdtPrepData, p, f)
4731  return
4732 
4733 
4734 @nolist
4736  dump_IDC (dump_PixelCluster, p, f)
4737  return
4738 
4739 
4740 @nolist
4742  dump_IDC (dump_SCT_Cluster, p, f)
4743  return
4744 
4745 
4746 @nolist
4748  dump_IDC (dump_TRT_DriftCircle, p, f)
4749  return
4750 
4751 
4752 @nolist
4754  dump_IDC (dump_PixelRDORawData, p, f)
4755  return
4756 
4757 
4758 @nolist
4760  dump_IDC (dump_TRT_RDORawData, p, f)
4761  return
4762 
4763 
4764 @nolist
4766  dump_IDC (dump_SCT_RDORawData, p, f)
4767  return
4768 
4769 
4770 def dump_CscMcData (p, f):
4771  fprint (f, p.energy(), p.ypos(), p.zpos(), p.charge())
4772  return
4773 
4774 
4775 def dump_CscSimData (p, f):
4776  fprint (f, p.word())
4777  for d in p.getdeposits():
4778  dump_HepMcParticleLink (d.first, f)
4779  dump_CscMcData (d.second, f)
4780  return
4781 
4782 
4783 @nolist
4785  for elt in p:
4786  fprint (f, elt.first.getString())
4787  dump_CscSimData (elt.second, f)
4788  fwrite (f, '\n')
4789  return
4790 
4791 
4792 def dump_MuonMcData (p, f):
4793  fprint (f, p.firstEntry(), p.secondEntry())
4794  return
4795 
4796 
4797 def dump_MuonSimData (p, f):
4798  fprint (f, p.word())
4799  dump_AmgVector (p.globalPosition(), f)
4800  for d in p.getdeposits():
4801  dump_HepMcParticleLink (d.first, f)
4802  dump_MuonMcData (d.second, f)
4803  return
4804 
4805 
4806 @nolist
4808  for elt in p:
4809  fprint (f, elt.first.getString())
4810  dump_MuonSimData (elt.second, f)
4811  fwrite (f, '\n')
4812  return
4813 
4814 
4815 @nolist
4817  for elt in p:
4818  dump_SiCluster (elt.first, f)
4819  dump_SiCluster (elt.second, f)
4820  fwrite (f, '\n')
4821  return
4822 
4823 
4824 def dump_TileRawData (p, f):
4825  fprint (f, p.identify().getString())
4826  return
4827 
4828 
4829 def dump_TileDigits (p, f):
4830  dump_TileRawData (p, f)
4831  fprint (f, list(p.get_digits()))
4832  return
4833 
4834 
4835 @nolist
4837  fprint (f, p.get_unit(), p.get_type(), p.get_bsflags())
4838  fprint (f, p.hashFunc().max(), p.hashFunc().offset(), p.hashFunc().type())
4839  fwrite (f, '\n')
4840  beg = p.begin()
4841  end = p.end()
4842  if hasattr(beg.__class__, '__preinc__'):
4843  nextfunc = beg.__preinc__
4844  elif hasattr(beg.__class__, '__next__'):
4845  nextfunc = beg.__next__
4846  else:
4847  nextfunc = beg.next
4848  while beg != end:
4849  coll = beg.cptr()
4850  fprint (f, 'TDC',
4851  beg.hashId().value(),
4852  list(coll.getFragChipCRCWords()),
4853  list(coll.getFragChipCRCWordsHigh()),
4854  list(coll.getFragChipHeaderWords()),
4855  list(coll.getFragChipHeaderWordsHigh()),
4856  formatItemUsingLong(list(coll.getFragExtraWords())),
4857  coll.getFragBCID(), coll.getFragSize())
4858  for x in coll:
4859  fprint (f, '\n ')
4860  dump_TileDigits (x, f)
4861  fwrite (f, '\n')
4862  nextfunc()
4863  fwrite (f, '\n')
4864  return
4865 
4866 
4867 def dump_TileRawChannel (data, f):
4868  dump_TileRawData (data, f)
4869  fprint (f, [data.amplitude(i) for i in range(data.size())])
4870  fprint (f, [data.time(i) for i in range(data.sizeTime())])
4871  fprint (f, [data.quality(i) for i in range(data.sizeQuality())])
4872  fprint (f, data.pedestal())
4873  return
4874 
4875 
4876 
4878  fprint (f, '\n ', data.identify(),
4879  data.getLvl1Id(),
4880  data.getLvl1Type(),
4881  data.getDetEvType(),
4882  data.getRODBCID())
4883  for x in data:
4884  fprint (f, '\n ')
4885  dump_TileRawChannel (x, f)
4886  return
4887 
4888 
4890  fprint (f, '\n ', data.getFragGlobalCRC(),
4891  data.getFragDSPBCID(),
4892  data.getFragBCID(),
4893  data.getFragMemoryPar(),
4894  data.getFragSstrobe(),
4895  data.getFragDstrobe(),
4896  data.getFragHeaderBit(),
4897  data.getFragHeaderPar(),
4898  data.getFragSampleBit(),
4899  data.getFragSamplePar(),
4900  data.getFragFEChipMask(),
4901  data.getFragRODChipMask())
4902  dump_TileRawDataCollection (data, f)
4903  return
4904 
4905 
4906 @nolist
4908  fprintln (f, data.get_unit(), data.get_type(), data.get_bsflags())
4909  beg = data.begin()
4910  end = data.end()
4911  while beg != end:
4912  coll = beg.cptr()
4913  fprint (f, 'Coll', beg.hashId().value(), coll.size())
4914  dump_TileRawChannelCollection (coll, f)
4915  fwrite (f, '\n')
4916  beg.__preinc__()
4917  fwrite (f, '\n')
4918  return
4919 
4920 
4921 @nolist
4923  fprintln (f, data.get_unit(), data.get_type(), data.get_bsflags())
4924  beg = data.begin()
4925  end = data.end()
4926  while beg != end:
4927  coll = beg.cptr()
4928  fprint (f, 'Coll', beg.hashId().value(), coll.size())
4929  #dump_TileRawChannelCollection (coll, f)
4930  fwrite (f, '\n')
4931  beg.__preinc__()
4932  fwrite (f, '\n')
4933  return
4934 
4935 
4936 def dump_TileL2 (p, f):
4937  fprint (f, p.identify(), p.phi(0), p.cosphi(), p.sinphi())
4938  fprint (f, [p.sumE(i) for i in range(p.NsumE())])
4939  fprint (f, [p.eta(i) for i in range(p.NMuons())])
4940  fprint (f, [p.enemu0(i) for i in range(p.NMuons())])
4941  fprint (f, [p.enemu1(i) for i in range(p.NMuons())])
4942  fprint (f, [p.enemu2(i) for i in range(p.NMuons())])
4943  fprint (f, formatItemUsingLong ([p.qual(i) for i in range(p.NMuons())]))
4944  fprint (f, formatItemUsingLong ([p.val(i) for i in range(p.Ndata())]))
4945  return
4946 
4947 
4948 def dump_TileTTL1 (p, f):
4949  fprint (f, p.identify().getString(), list(p.fsamples()))
4950  return
4951 
4952 
4954  fprint (f, p.GetID(), list (p.GetDecision()),
4955  list(p.GetThresholds()), list(p.GetEne()), list(p.GetTime()))
4956  return
4957 
4958 
4959 def dump_CMMCPHits (p, f):
4960  fprint (f, p.crate(), p.dataID(), p.peak(),
4961  formatItemUsingLong (list(p.HitsVec0())),
4962  formatItemUsingLong (list(p.HitsVec1())),
4963  list(p.ErrorVec0()),
4964  list(p.ErrorVec1()))
4965  return
4966 
4967 
4968 def dump_CMMEtSums (p, f):
4969  fprint (f, p.crate(), p.dataID(), p.peak(),
4970  formatItemUsingLong (list(p.EtVec())),
4971  formatItemUsingLong (list(p.ExVec())),
4972  formatItemUsingLong (list(p.EyVec())),
4973  list(p.EtErrorVec()),
4974  list(p.ExErrorVec()),
4975  list(p.EyErrorVec()))
4976  return
4977 
4978 
4979 def dump_CMMJetHits (p, f):
4980  fprint (f, p.crate(), p.dataID(), p.peak(),
4981  formatItemUsingLong (list(p.HitsVec())),
4982  list(p.ErrorVec()))
4983  return
4984 
4985 
4986 @nolist
4987 def dump_CMMRoI (p, f):
4988  fprint (f, p.jetEtRoiWord(),
4989  p.energyRoiWord0(),
4990  p.energyRoiWord1(),
4991  p.energyRoiWord2())
4992  return
4993 
4994 
4995 def dump_CPMHits (p, f):
4996  fprint (f, p.crate(), p.module(), p.peak(),
4997  formatItemUsingLong (list(p.HitsVec0())),
4998  formatItemUsingLong (list(p.HitsVec1())))
4999  return
5000 
5001 
5002 def dump_CPMRoI (p, f):
5003  fprint (f, p.roiWord())
5004  return
5005 
5006 
5007 def dump_CPMTower (p, f):
5008  fprint (f, p.eta(), p.phi(), p.peak(),
5009  list(p.emEnergyVec()),
5010  list(p.hadEnergyVec()),
5011  list(p.emErrorVec()),
5012  list(p.hadErrorVec()))
5013  return
5014 
5015 
5016 @nolist
5017 def dump_CTP_RDO (p, f):
5018  fprint (f, p.getCTPVersionNumber(),
5019  p.getCTPVersion().getVersionNumber(),
5020  formatItemUsingLong (list(p.getDataWords())),
5021  p.getL1AcceptBunchPosition(),
5022  p.getTurnCounter(),
5023  p.getNumberOfBunches(),
5024  p.getNumberOfAdditionalWords())
5025  return
5026 
5027 
5028 @nolist
5029 def dump_MuCTPI_RDO (p, f):
5030  fprint (f,
5031  formatItemUsingLong (list(p.getAllCandidateMultiplicities())),
5032  formatItemUsingLong (list(p.dataWord())))
5033  return
5034 
5035 
5036 def dump_JEMEtSums (p, f):
5037  fprint (f, p.crate(), p.module(), p.peak(),
5038  formatItemUsingLong (list(p.EtVec())),
5039  formatItemUsingLong (list(p.ExVec())),
5040  formatItemUsingLong (list(p.EyVec())))
5041  return
5042 
5043 
5044 def dump_JEMHits (p, f):
5045  fprint (f, p.crate(), p.module(), p.peak(),
5046  formatItemUsingLong (list(p.JetHitsVec())))
5047  return
5048 
5049 
5050 def dump_JEMRoI (p, f):
5051  fprint (f, p.roiWord())
5052  return
5053 
5054 
5055 def dump_JetElement (p, f):
5056  fprint (f, p.eta(), p.phi(), p.key(), p.peak(),
5057  list(p.emEnergyVec()),
5058  list(p.hadEnergyVec()),
5059  list(p.emErrorVec()),
5060  list(p.hadErrorVec()),
5061  list(p.linkErrorVec()))
5062  return
5063 
5064 
5065 def dump_ROIBHeader (p, f):
5066  fprint (f, formatItemUsingLong (list(p.header())))
5067  return
5068 
5069 
5070 def dump_ROIBTrailer (p, f):
5071  fprint (f, formatItemUsingLong (list(p.trailer())))
5072  return
5073 
5074 
5075 def dump_MuCTPIRoI (p, f):
5076  fprint (f, p.roIWord())
5077  return
5078 
5079 
5081  dump_ROIBHeader (p.header(), f)
5082  for r in p.roIVec():
5083  dump_MuCTPIRoI (r, f)
5084  dump_ROIBTrailer (p.trailer(), f)
5085  return
5086 
5087 
5088 def dump_CTPRoI (p, f):
5089  fprint (f, p.roIWord())
5090  return
5091 
5092 
5093 def dump_CTPResult (p, f):
5094  dump_ROIBHeader (p.header(), f)
5095  for r in p.roIVec():
5096  dump_CTPRoI (r, f)
5097  dump_ROIBTrailer (p.trailer(), f)
5098  return
5099 
5100 
5102  fprint (f, p.roIWord())
5103  return
5104 
5105 
5107  dump_ROIBHeader (p.header(), f)
5108  for r in p.roIVec():
5109  dump_JetEnergyRoI (r, f)
5110  dump_ROIBTrailer (p.trailer(), f)
5111  return
5112 
5113 
5114 def dump_EMTauRoI (p, f):
5115  fprint (f, p.roIWord())
5116  return
5117 
5118 
5119 def dump_EMTauResult (p, f):
5120  dump_ROIBHeader (p.header(), f)
5121  for r in p.roIVec():
5122  dump_EMTauRoI (r, f)
5123  dump_ROIBTrailer (p.trailer(), f)
5124  return
5125 
5126 
5127 def dump_L1TopoRDO (p, f):
5128  fprint (f, p.getSourceID(),
5129  list(p.getErrors()),
5130  list(p.getDataWords()),
5131  list(p.getStatusWords()))
5132  return
5133 
5134 
5136  dump_ROIBHeader (p.header(), f)
5137  dump_L1TopoRDO (p.rdo(), f)
5138  dump_ROIBTrailer (p.trailer(), f)
5139  return
5140 
5141 
5142 @nolist
5143 def dump_RoIBResult (p, f):
5144  fprint (f, 'MuCTPI:')
5145  dump_MuCTPIResult (p.muCTPIResult(), f)
5146  fprint (f, '\nCTP:')
5147  dump_CTPResult (p.cTPResult(), f)
5148  for r in p.jetEnergyResult():
5149  fprint (f, '\nJetEnergy:')
5150  dump_JetEnergyResult(r, f)
5151  for r in p.eMTauResult():
5152  fprint (f, '\nEMTau:')
5153  dump_EMTauResult(r, f)
5154  for r in p.l1TopoResult():
5155  fprint (f, '\nL1Topo:')
5156  dump_L1TopoResult(r, f)
5157  return
5158 
5159 
5161  fprint (f, p.eta(), p.phi(), p.key(), p.emError(), p.hadError(),
5162  p.emPeak(), p.emADCPeak(), p.hadPeak(), p.hadADCPeak(),
5163  list(p.emLUT()), list(p.hadLUT()),
5164  list(p.emADC()), list(p.hadADC()),
5165  list(p.emBCIDvec()), list(p.hadBCIDvec()),
5166  list(p.emBCIDext()), list(p.hadBCIDext()))
5167  return
5168 
5169 
5171  fprint (f, p.getStatus(),
5172  p.getWord0(), p.getWord1(), p.getWord2() , p.getWord3(),
5173  p.getWord0p(), p.getWord1p(), p.getWord2p(), p.getWord3p(),
5174  p.getWord0n(), p.getWord1n(), p.getWord2n(), p.getWord3n())
5175  return
5176 
5177 
5178 def dump_BCM_RDO (p, f):
5179  fprint (f, '[', p.getWord1(), p.getWord2(), ']')
5180  return
5181 
5182 
5184  fprint (f, p.getChannel())
5185  for r in p:
5186  dump_BCM_RDO(r, f)
5187  return
5188 
5189 
5190 def dump_CSCSimHit (p, f):
5191  fprint (f, p.CSCid(), p.globalTime(), p.energyDeposit())
5192  dump_Threevec (p.getHitStart(), f)
5193  dump_Threevec (p.getHitEnd(), f)
5194  fprint (f, p.particleID(), p.kineticEnergy())
5195  dump_HepMcParticleLink (p.particleLink(), f)
5196  return
5197 
5198 
5199 def dump_MDTSimHit (p, f):
5200  fprint (f, p.MDTid(), p.globalTime(), p.driftRadius())
5201  dump_Threevec (p.localPosition(), f)
5202  fprint (f, p.stepLength(), p.energyDeposit(), p.particleEncoding(), p.kineticEnergy())
5203  dump_HepMcParticleLink (p.particleLink(), f)
5204  return
5205 
5206 
5207 def dump_RPCSimHit (p, f):
5208  fprint (f, p.RPCid(), p.globalTime())
5209  dump_Threevec (p.localPosition(), f)
5210  dump_Threevec (p.postLocalPosition(), f)
5211  fprint (f, p.stepLength(), p.energyDeposit(), p.particleEncoding(), p.kineticEnergy())
5212  dump_HepMcParticleLink (p.particleLink(), f)
5213  return
5214 
5215 
5216 def dump_TGCSimHit (p, f):
5217  fprintln (f, p.TGCid(), p.globalTime())
5218  dump_Threevec (p.localPosition(), f)
5219  dump_Threevec (p.localDireCos(), f)
5220  fprint (f, p.stepLength(), p.energyDeposit(), p.particleEncoding(), p.kineticEnergy())
5221  dump_HepMcParticleLink (p.particleLink(), f)
5222  return
5223 
5224 
5225 def dump_LArDigit (p, f):
5226  fprint (f, p.channelID().getString(), p.gain(), list(p.samples()))
5227  return
5228 
5229 
5230 def dump_ZdcRawData (p, f):
5231  fprint (f, p.identify().getString())
5232  return
5233 
5234 
5235 def dump_ZdcDigits (p, f):
5236  dump_ZdcRawData (p, f)
5237  fprint (f, list(p.get_digits_gain0_delay0()))
5238  fprint (f, list(p.get_digits_gain0_delay1()))
5239  fprint (f, list(p.get_digits_gain1_delay0()))
5240  fprint (f, list(p.get_digits_gain1_delay1()))
5241  return
5242 
5243 
5244 def dump_EventBookkeeper (p, f, level=0):
5245  fprint (f, p.getName(), p.getDescription(), p.getInputStream(), p.getOutputStream(), p.getLogic(), p.getNAcceptedEvents(), p.getNWeightedAcceptedEvents(), p.getCycle())
5246  for c in list(p.getChildrenEventBookkeepers()):
5247  fprint (f, '\n ' + (' '*level))
5248  dump_EventBookkeeper (c, f, level+1)
5249  return
5250 
5251 
5253  fprint (f, 'RpcFiredChannel', p.bcid(), p.time(), p.ijk(), p.channel(), p.ovl(), p.thr())
5254  return
5255 
5256 
5258  fprint (f, p.identify().getString(), p.onlineId(), p.crc(), p.fel1Id(), p.febcId())
5259  for chan in p:
5260  fprint(f, '\n ')
5261  dump_RpcFiredChannel (chan, f)
5262  return
5263 
5264 
5265 @nolist
5267  dump_IDC (dump_RpcCoinMatrix, p, f,
5268  extra_idc_dumper = lambda p, f: \
5269  fprint (f, p.identify().getString(), p.onlineId(), p.lvl1Id(), p.bcId(),
5270  p.sector(), p.status(), p.errorCode()))
5271  return
5272 
5273 
5275  fprint (f, 'hit', p.rowinBcid(), p.padId(), p.ptId(), p.roi(),
5276  p.outerPlane(), p.overlapPhi(), p.overlapEta(),
5277  p.triggerBcid(), p.isInput())
5278  return
5279 
5281  fprint (f, p.sectorId(), p.fel1Id(), p.bcid(), p.errorCode(), p.crc(),
5282  p.hasMoreThan2TriggerCand(),
5283  list (p.counters()),
5284  list (p.triggerRates()))
5285  for hit in p:
5286  fprint (f, '\n ')
5287  dump_RpcSLTriggerHit (hit, f)
5288  return
5289 
5290 
5291 def dump_CscRawData (p, f):
5292  fprint (f, p.address(), p.hashId(), p.identify(), p.rpuID(),
5293  p.time(), p.width(), p.isTimeComputed(), list(p.samples()))
5294  return
5295 
5296 @nolist
5298  dump_IDC (dump_CscRawData, p, f,
5299  extra_idc_dumper = lambda p, f: \
5300  fprint (f, p.identify(), p.rodId(), p.subDetectorId(),
5301  p.samplingPhase(), p.triggerType(), p.firstBitSummary(),
5302  p.eventType(), p.scaAddress(),
5303  list(p.rpuID()), [ord(c) for c in p.dataType()]))
5304  return
5305 
5306 
5307 def dump_TgcRawData (p, f):
5308  fprint (f, p.bcTag(),
5309  'ids',
5310  p.subDetectorId(), p.rodId(), p.sswId(),
5311  p.slbId(), p.l1Id(), p.bcId(), p.slbType(),
5312  'hit',
5313  p.bitpos(), p.tracklet(), p.isAdjacent(),
5314  'coin',
5315  p.type(), p.isForward(), p.index(), p.position(),
5316  p.delta(), p.segment(), p.subMatrix(),
5317  'hipt',
5318  p.sector(), p.chip(), p.isHipt(), p.hitId(), p.hsub(),
5319  p.isStrip(), p.inner(),
5320  'sl',
5321  p.cand3plus(), p.isMuplus(), p.threshold(), p.isOverlap(),
5322  p.isVeto(), p.roi(), p.innerflag(), p.coinflag(),
5323  'nsw',
5324  p.nsweta(), p.nswphi(), p.nswsl(), p.nswcand(), p.nswdtheta(),
5325  p.nswphires(), p.nswlowres(), p.nswid(),
5326  'rpc',
5327  p.rpceta(), p.rpcphi(), p.rpcflag(), p.rpcdeta(), p.rpcdphi(),
5328  'eifi',
5329  p.ei(), p.fi(), p.cid(),
5330  'tmdb',
5331  p.tmdbmod(), p.tmdbbcid())
5332 
5333  return
5334 
5335 def dump_TgcBitmask (p, f, lab, fields):
5336  mask = 0
5337  val = 1
5338  for ff in fields:
5339  if getattr (p, ff): mask += val
5340  val *= 2
5341  fprint (f, lab, hex (mask))
5342  return
5344  dump_TgcBitmask (p, f, 'err',
5345  ['badBcID',
5346  'badL1Id',
5347  'timedout',
5348  'badData',
5349  'overflow'])
5350  return
5352  dump_TgcBitmask (p, f, 'rod',
5353  ['EC_RXsend',
5354  'EC_FELdown',
5355  'EC_frame',
5356  'EC_Glnk',
5357  'EC_xor',
5358  'EC_ovfl',
5359  'EC_timeout',
5360  'EC_xormezz',
5361  'EC_wc0',
5362  'EC_L1ID',
5363  'EC_nohdr',
5364  'EC_rectype',
5365  'EC_null',
5366  'EC_order',
5367  'EC_LDB',
5368  'EC_RXovfl',
5369  'EC_SSWerr',
5370  'EC_sbid',
5371  'EC_unxsbid',
5372  'EC_dupsb',
5373  'EC_ec4',
5374  'EC_bc',
5375  'EC_celladr',
5376  'EC_hitovfl',
5377  'EC_trgbit',
5378  'EC_badEoE',
5379  'EC_endWCnot0',
5380  'EC_noEoE'])
5381  return
5383  dump_TgcBitmask (p, f, 'local',
5384  ['mergedHitBCs',
5385  'mergedTrackletBCs',
5386  'sortedHits',
5387  'sortedTracklets',
5388  'hasRoI',
5389  'fakeSsw'])
5390  return
5391 def dump_TgcRdo (p, f):
5392  fprint (f, p.version(), p.identify(),
5393  p.subDetectorId(), p.rodId(), p.triggerType(),
5394  p.bcId(), p.l1Id(), p.orbit())
5395  dump_TgcRdo_Errors (p.errors(), f)
5396  dump_TgcRdo_RodStatus (p.rodStatus(), f)
5397  dump_TgcRdo_LocalStatus (p.localStatus(), f)
5398  return
5399 
5400 @nolist
5402  dump_IDC (dump_TgcRawData, p, f,
5403  extra_idc_dumper = dump_TgcRdo)
5404  return
5405 
5406 
5407 def dump_MdtAmtHit (p, f):
5408  fprint (f, p.tdcId(), p.channelId(), p.leading(), p.coarse(), p.fine(),
5409  p.width(), p.isMasked(), list(p.dataWords()))
5410  return
5411 
5412 @nolist
5414  dump_IDC (dump_MdtAmtHit, p, f,
5415  extra_idc_dumper = lambda p, f: \
5416  fprint (f, p.identify().getString(),
5417  p.SubDetId(), p.MrodId(), p.CsmId()))
5418  return
5419 
5420 
5422  fprint (f, p.identify().getString(), p.bcTag(), p.time(), p.tdo(), p.charge(),
5423  p.isDead(), p.timeAndChargeInCounts())
5424  return
5425 
5426 @nolist
5428  dump_IDC (dump_STGC_RawData, p, f)
5429  return
5430 
5431 
5432 def dump_MM_RawData (p, f):
5433  fprint (f, p.identify().getString(), p.channel(), p.relBcid(),
5434  p.time(), p.charge(),
5435  p.timeAndChargeInCounts())
5436  return
5437 
5438 @nolist
5440  dump_IDC (dump_MM_RawData, p, f)
5441  return
5442 
5443 
5445  fprint (f, p.getSourceid(), p.getFlags(), p.getEc(), p.getFragid(),
5446  p.getSecid(), p.getSpare(), p.getOrbit(), p.getBcid(), p.getL1id(),
5447  p.getOrbitid(), p.getOrbit1(), p.getStatus(),
5448  p.getNumberOfHits(), p.getNumberOfPfebs(), p.getNumberOfTriggers(),
5449  p.getNumberOfBcids(),
5450  list(p.getHitRelBcids()),
5451  list(p.getHitPfebs()),
5452  list(p.getHitTdsChannels()),
5453  list(p.getHitVmmChannels()),
5454  list(p.getHitVmms()),
5455  list(p.getHitPadChannels()),
5456  list(p.getPfebAddrs()),
5457  list(p.getPfebNChannels()),
5458  list(p.getPfebDisconnecteds()),
5459  list(p.getTriggerBandIds()),
5460  list(p.getTriggerPhiIds()),
5461  list(p.getTriggerRelBcids()),
5462  list(p.getBcidRels()),
5463  list(p.getBcidStatuses()),
5464  list(p.getBcidMultZeros()),
5465  list(p.getBcidMultiplicities()))
5466  return
5467 
5468 @nolist
5470  beg = p.begin()
5471  end = p.end()
5472  while beg != end:
5473  dump_NSW_PadTriggerData (beg.cptr(), f)
5474  fwrite (f, '\n')
5475  beg.__preinc__()
5476  fwrite (f, '\n')
5477  return
5478 
5479 
5481  fprint (f, 'ld', p.GetLucrodID(), 'bcid', p.GetBCID(),
5482  'run', p.GetRunNumber(), 'l1id', p.GetLevel1ID(),
5483  'nbc', p.GetNumBCs(), 'stat', p.GetStatus(),
5484  'avga/c', p.GetTrigAvgA(), p.GetTrigAvgC(),
5485  'data', list(p.GetTrigData()))
5486  for i in range (p.GetChanDataSize()):
5487  ch = p.GetChanData(i)
5488  fprint (f, '\n chan ', ch.id, list(ch.waveform))
5489  return
5490 
5491 
5493  dump_HepMcParticleLink (p.first, f)
5494  dump_EL (p.second, f)
5495  return
5496 
5497 
5498 def format_int(x): return '%d'%x
5499 def format_float(x): return '%.1f'%x
5500 def format_float_vector(v): return ''.join ([format_float(x) for x in v])
5501 def format_dl(x):
5502  key = x.dataID()
5503  if not key:
5504  key = '(%d)' % x.key()
5505  return f'DataLink({key})'
5506 def format_el(x):
5507  if x.isDefaultIndex():
5508  return '(null)'
5509  key = x.dataID()
5510  if not key:
5511  key = '(%d)' % x.key()
5512  return '%s[%d]' % (key, x.index())
5513 char_accessor_ = getattr (ROOT, 'SG::ConstAccessor<char>')
5515  def __init__ (self, name):
5516  self.ac = char_accessor_ (name)
5517  return
5518  def __call__ (self, x):
5519  return ord(self.ac(x))
5520 uchar_accessor_ = getattr (ROOT, 'SG::ConstAccessor<unsigned char>')
5522  def __init__ (self, name):
5523  self.ac = uchar_accessor_ (name)
5524  return
5525  def __call__ (self, x):
5526  return ord(self.ac(x))
5527 tlist = ['bool',
5528  'int',
5529  'short',
5530  'long',
5531  'unsigned int',
5532  'unsigned short',
5533  'unsigned long',
5534  'unsigned long long',
5535  'std::vector<float>',
5536  'float',
5537  'double']
5538 accessors = {
5539  'char' : char_accessor,
5540  'unsigned char' : uchar_accessor,
5541  }
5542 for t in tlist:
5543  aname = 'SG::ConstAccessor<' + t
5544  if t[-1] == '>': aname += ' '
5545  aname += '>'
5546  accessors[t] = getattr (ROOT, aname)
5547 
5548 
5549 atomic_accessors = {
5550  'unsigned int' : getattr (ROOT, 'SG::AtomicConstAccessor<unsigned int>'),
5551  }
5552 
5553 
5554 def format_obj (x, name=None):
5555  if isinstance(x, float):
5556  return format_float (x)
5557  if isinstance(x, int):
5558  return format_int (x)
5559  tname = typename(type(x))
5560  if tname.startswith ('CxxUtils::range_with_conv<'):
5561  x = x.asVector()
5562  tname = typename(type(x))
5563  if tname.startswith ('ROOT.'):
5564  tname = tname[5:]
5565  if tname.startswith ('ElementLink<'):
5566  return format_el (x)
5567  if tname.startswith ('DataLink<'):
5568  return format_dl (x)
5569  if tname.startswith ('std::vector<') or tname.startswith ('vector<'):
5570  ipos = tname.find('<')
5571  tname2 = tname[ipos+1:]
5572  if (tname2.startswith('char,') or
5573  tname2.startswith('char>') or
5574  tname2.startswith ('unsigned char,') or
5575  tname2.startswith ('unsigned char>')):
5576  l = ', '.join ([str(ord(x[i])) for i in range(len(x))])
5577  elif tname2.startswith('bool,') or tname2 == 'bool>':
5578  l = ', '.join ([str(bool(xx)) for xx in x])
5579  else:
5580  l = ', '.join ([format_obj(x[i], name) for i in range(x.size())])
5581  return '[' + l + ']'
5582  if isinstance(x, PyAthena.xAOD.CaloClusterBadChannelData_v1):
5583  return '<BadChannel: %6.3f/%6.3f/%2d: %04x>' % \
5584  (x.eta(), x.phi(), x.layer(), x.badChannel())
5585  if tname == 'set<unsigned int>':
5586  acls=getattr(PyAthena, 'PyDumper::PySTLAdaptor<std::set<unsigned int>')
5587  if acls:
5588  return str(list(toiter1(acls(x))))
5589 
5590  if tname.startswith ('std::pair<') or tname.startswith ('pair<'):
5591  return '(' + format_obj(x.first, name) + ', ' + format_obj(x.second, name) + ')'
5592 
5593  if tname == 'Trk::VxTrackAtVertex':
5594  fout = StringIO()
5595  dump_VxTrackAtVertex (x, fout)
5596  out = fout.getvalue()
5597  return '{' + out.replace('\n', '; ') + '}'
5598 
5599  return str(x)
5600 
5601 
5602 def generic_dump_auxitem (x, auxid, f):
5603  if hasattr (x, 'container'):
5604  try:
5605  x.container().getConstStore().getData(auxid)[0]
5606  except IndexError:
5607  fprint (f, '<unavailable 1>')
5608  return
5609 
5610  reg=ROOT.SG.AuxTypeRegistry.instance()
5611  tname = reg.getTypeName (auxid)
5612  ac = ROOT.SG.ConstAuxElement.TypelessConstAccessor (reg.getName(auxid))
5613  try:
5614  buf = ac(x)
5615  except TypeError:
5616  fprint (f, '<unavailable 2>')
5617  return
5618  try:
5619  obj = ROOT.TPython.CPPInstance_FromVoidPtr (buf, tname)
5620  except TypeError:
5621  fprint (f, '<unknown %s>'%tname)
5622  return
5623  fprint (f, format_obj(obj, reg.getName(auxid)))
5624  return
5625 
5626 
5627 def dump_auxitem (x, auxid, f = sys.stdout):
5628  if hasattr (x, 'container'):
5629  auxdata = x.container().getConstStore().getData(auxid)
5630  if not auxdata:
5631  # Expected if a dynamic variable is missing for an event.
5632  fprint (f, '<unavailable>')
5633  return
5634  try:
5635  auxdata[0]
5636  except IndexError:
5637  fprint (f, '<unavailable 4>')
5638  return
5639 
5640  reg=ROOT.SG.AuxTypeRegistry.instance()
5641  tname = reg.getTypeName (auxid)
5642  atomic = reg.getFlags (auxid) & ROOT.SG.AuxVarFlags.Atomic
5643  if atomic:
5644  ac_cl = atomic_accessors.get (tname)
5645  else:
5646  ac_cl = accessors.get (tname)
5647 
5648  if not ac_cl and tname.startswith ('SG::JaggedVecElt<'):
5649  ac_cl = getattr (ROOT, 'SG::ConstAccessor<' + tname + ' >')
5650  if ac_cl:
5651  accessors[tname] = ac_cl
5652 
5653  if not ac_cl and tname.startswith ('SG::PackedLink<') or tname.startswith ('std::vector<SG::PackedLink<'):
5654  ac_cl = getattr (ROOT, 'SG::ConstAccessor<' + tname + ' >')
5655  if ac_cl:
5656  accessors[tname] = ac_cl
5657 
5658  #print x, auxid, reg.getName(auxid)
5659  if ac_cl:
5660  ac = ac_cl(reg.getName(auxid))
5661  try:
5662  val = ac(x)
5663  except TypeError:
5664  # Can happen due to schema evolution
5665  val = '<unavailable 5>'
5666  fprint (f, format_obj(val))
5667  else:
5668  generic_dump_auxitem (x, auxid, f)
5669  return
5670 
5671 
5672 def dump_auxdata (x, exclude=None, f = sys.stdout):
5673  reg=ROOT.SG.AuxTypeRegistry.instance()
5674  if cppyy.addressof (x) == 0:
5675  fprint (f, '<null pointer>', x, type(x))
5676  return
5677  try:
5678  auxids = ROOT.PyDumper.Utils.getAuxIDVector (x)
5679  except TypeError:
5680  print ('xxx', x)
5681  raise
5682  auxids = [(reg.getName(id), id) for id in auxids]
5683  auxids.sort()
5684  for name, auxid in auxids:
5685  if exclude and name in exclude: continue
5686  if name.endswith ('_linked'): continue
5687  fprint (f, name + ': ')
5688  dump_auxitem (x, auxid, f)
5689  fprint (f, '\n ')
5690  return
5691 
5692 
5693 def dump_xAOD(o, f):
5694  fprint (f, typename(o.__class__), '\n ')
5695  dump_auxdata (o, f=f)
5696  return
5697 
5698 
5699 @nolist
5701  dump_xAOD(o, f)
5702  return
5703 
5704 
5705 @nolist
5707  dump_xAOD(o, f)
5708  fwrite (f, '\n')
5709  return
5710 
5711 
5712 def dump_list (l, f, dumper, nmax = None):
5713  i = 0
5714  for x in l:
5715  if nmax is not None and i >= nmax: break
5716  i += 1
5717  fprint (f, ' ')
5718  dumper (x, f)
5719  fwrite (f, '\n')
5720  return
5721 
5722 
5723 
5724 
5725 """The list of tuples (cpp_type, dumper_fct)
5726 """
5727 dumpspecs = [
5728  ["ElectronContainer", dump_Electron],
5729  ["PhotonContainer", dump_Photon],
5730  ["Analysis::MuonContainer", dump_Muon],
5731  ["Analysis::TauJetContainer", dump_TauJet],
5732  ["TruthParticleContainer", dump_TruthParticle],
5733  ["ParticleJetContainer", dump_ParticleJet],
5734  ["Rec::TrackParticleContainer", dump_TrackParticle],
5735  ["DataVector<Trk::Track>", dump_Track],
5736  ["DataVector<Trk::Segment>", dump_Segment],
5737  ["MissingET", dump_MissingET],
5738  ["MissingEtCalo", dump_MissingEtCalo],
5739  ["MissingEtTruth", dump_MissingEtTruth],
5740  ["CaloClusterContainer", dump_CaloClusters_sorted],
5741  ['CaloCellLinkContainer', dump_CaloCellLink],
5742  ['CaloCellContainer', dump_CaloCell],
5743  ['CaloClusterCellLinkContainer', dump_CaloClusterCellLink],
5744  ['TileContainer<TileCell>', dump_CaloCell],
5745  ['TileCellContainer', dump_CaloCell],
5746  ["VxContainer", dump_VxCandidate],
5747  ["EventInfo", dump_EventInfo],
5748  ["PileUpEventInfo", dump_PileUpEventInfo],
5749  ["EventStreamInfo", dump_EventStreamInfo],
5750  ["McEventCollection", dump_GenEvent],
5751  ["CTP_Decision", dump_CTP_Decision],
5752  ["LVL1_ROI", dump_LVL1_ROI],
5753  ["TrigDec::TrigDecision", dump_TrigDecision],
5754  ["TrigConf::HLTAODConfigData", dump_HLTAODConfigData],
5755  ["TrigConf::Lvl1AODConfigData", dump_Lvl1AODConfigData],
5756  ["TrigConf::Lvl1AODPrescaleConfigData", dump_Lvl1AODPrescaleConfigData],
5757  ["TrackParticleTruthCollection", dump_TrackParticleTruthCollection],
5758  ["DetailedTrackTruthCollection", dump_DetailedTrackTruthCollection],
5759  ["Rec::MuonSpShowerContainer", dump_MuonSpShower],
5760  ["HLT::HLTResult", dump_HLTResult],
5761  ["HLT::HLTResultMT", dump_HLTResultMT],
5762  ["MissingETSig", dump_MissingETSig],
5763  ["INav4MomAssocs", dump_INav4MomAssocs],
5764  ["TrigInDetTrackTruthMap", dump_TrigInDetTrackTruthMap],
5765  ["MissingETSigObjContainer", dump_MissingETSigObject],
5766  ["DetStatusMap", dump_DetStatusMap],
5767  ["AtlasHitsVector<TrackRecord>", dump_TrackRecord],
5768  ["AthenaHitsVector<TrackRecord>", dump_TrackRecord],
5769  ["MissingETSigHypoContainer", dump_MissingETSigHypo],
5770  ["JetCollection", dump_Jet],
5771  ["V0Container", dump_V0Candidate],
5772  ["egammaContainer", dump_egamma],
5773  ["DataVector<TrigVertex>", dump_TrigVertex],
5774  ["TrigVertexCollection", dump_TrigVertex],
5775  ["TrigTrackCounts", dump_TrigTrackCounts_nolist],
5776  ["TrigTau", dump_TrigTau_nolist],
5777  ["DataVector<TrigElectron>", dump_TrigElectron],
5778  ["DataVector<TrigPhoton>", dump_TrigPhoton],
5779  ["TrigEMCluster", dump_TrigEMCluster_nolist],
5780  ["TrigInDetTrackCollection", dump_TrigInDetTrackCollection],
5781  ["DataVector<TrigEFBjet>", dump_TrigEFBjet],
5782  ["DataVector<TrigEFBphys>", dump_TrigEFBphys],
5783  ["DataVector<TrigL2Bjet>", dump_TrigL2Bjet],
5784  ["DataVector<TrigL2Bphys>", dump_TrigL2Bphys],
5785  ["TrigCaloClusterContainer", dump_TrigCaloCluster],
5786  ["TrigTauClusterDetailsContainer", dump_TrigTauClusterDetails],
5787  ["TrigMissingET", dump_TrigMissingET_nolist],
5788  ["TrigRoiDescriptor", dump_TrigRoiDescriptor_nolist],
5789  ["TrigT2Jet", dump_TrigT2Jet_nolist],
5790  ["TrigTauCluster", dump_TrigTauCluster_nolist],
5791  ["TrigTauTracksInfo", dump_TrigTauTracksInfo_nolist],
5792  ["TrigSpacePointCounts", dump_TrigSpacePointCounts_nolist],
5793  ["CombinedMuonFeature", dump_CombinedMuonFeature_nolist],
5794  ["MuonFeature", dump_MuonFeature_nolist],
5795  ["TrigMuonEFContainer", dump_TrigMuonEF],
5796  ["TileContainer<TileMu>", dump_TileMu],
5797  ["CaloShowerContainer", dump_CaloShower],
5798  ["CaloTowerContainer", dump_CaloTowerContainer],
5799  ["CaloTopoTowerContainer", dump_CaloTopoTowerContainer],
5800  ["CaloCalibrationHitContainer", dump_CaloCalibrationHit],
5801  ['LArHitContainer', dump_LArHit],
5802  ['TileHitVector', dump_TileHit],
5803  ['AtlasHitsVector<TileHit>', dump_TileHit],
5804  ['TileRawChannelContainer', dump_TileRawChannelContainer],
5805  ['TileBeamElemContainer', dump_TileBeamElemContainer],
5806  ['SiHitCollection', dump_SiHit],
5807  ['AtlasHitsVector<SiHit>', dump_SiHit],
5808  ['TRTUncompressedHitCollection', dump_TRTUncompressedHit],
5809  ['AtlasHitsVector<TRTUncompressedHit>', dump_TRTUncompressedHit],
5810  ['AtlasHitsVector<CSCSimHit>', dump_CSCSimHit],
5811  ['AtlasHitsVector<MDTSimHit>', dump_MDTSimHit],
5812  ['AtlasHitsVector<RPCSimHit>', dump_RPCSimHit],
5813  ['AtlasHitsVector<TGCSimHit>', dump_TGCSimHit],
5814  ["CombinedMuonFeatureContainer", dump_CombinedMuonFeature],
5815  ["MuonFeatureContainer", dump_MuonFeature],
5816  ["TrigEFBjetContainer", dump_TrigEFBjet],
5817  ["TrigEFBphysContainer", dump_TrigEFBphys],
5818  ["TrigEMClusterContainer", dump_TrigEMCluster],
5819  ["TrigElectronContainer", dump_TrigElectron],
5820  ["TrigL2BjetContainer", dump_TrigL2Bjet],
5821  ["TrigL2BphysContainer", dump_TrigL2Bphys],
5822  ["TrigMissingETContainer", dump_TrigMissingET],
5823  ["TrigPhotonContainer", dump_TrigPhoton],
5824  ["TrigT2JetContainer", dump_TrigT2Jet],
5825  ["TrigTauClusterContainer", dump_TrigTauCluster],
5826  ["TrigTauContainer", dump_TrigTau],
5827  ["TrigTauTracksInfoCollection", dump_TrigTauTracksInfo],
5828  ["TrigSpacePointCountsCollection", dump_TrigSpacePointCounts],
5829  ["TrigTrackCountsCollection", dump_TrigTrackCounts],
5830  ["TrigT2MbtsBitsContainer", dump_TrigT2MbtsBits],
5831  ["TrigRoiDescriptorCollection", dump_TrigRoiDescriptor],
5832  ["TileMuFeatureContainer", dump_TileMuFeature],
5833  ["TileTrackMuFeatureContainer", dump_TileTrackMuFeature],
5834  ["CosmicMuonCollection", dump_CosmicMuon],
5835  ["MdtTrackSegmentCollection", dump_MdtTrackSegment],
5836  ["IsoMuonFeatureContainer", dump_IsoMuonFeature],
5837  ["TrigMuonEFInfoContainer", dump_TrigMuonEFInfo],
5838  ["RingerRingsContainer", dump_RingerRings],
5839  ["TrigTrtHitCountsCollection", dump_TrigTrtHitCounts],
5840  ["MuonFeatureDetailsContainer", dump_MuonFeatureDetails],
5841  ["TrigRNNOutputContainer", dump_TrigRNNOutput],
5842  ["InDet::InDetLowBetaContainer", dump_InDetLowBetaCandidate],
5843  ["LArNoisyROSummary", dump_LArNoisyROSummary],
5844  ["SkimDecisionCollection", dump_SkimDecision],
5845  ["RawInfoSummaryForTag", dump_RawInfoSummaryForTag],
5846  ["MissingETComposition", dump_MissingETComposition],
5847  ["Muon::ChamberT0s", dump_ChamberT0s],
5848  ["TrigMuonClusterFeatureContainer", dump_TrigMuonClusterFeature],
5849  ["TrigPassBitsCollection", dump_TrigPassBits],
5850  ["TrigOperationalInfoCollection", dump_TrigOperationalInfo],
5851  ["TrigVertexCountsCollection", dump_TrigVertexCounts],
5852  ["TrigMuonEFIsolationContainer", dump_TrigMuonEFIsolation],
5853  ["eflowObjectContainer", dump_eflowObjectContainer],
5854  ["TrigPassFlagsCollection", dump_TrigPassFlags],
5855  ["TrackParticleAssocs", dump_TrackParticleAssocs],
5856  ["ElectronMuonTopoInfoContainer", dump_ElectronMuonTopoInfo],
5857  ["RecoTimingObj", dump_RecoTimingObj],
5858  ['MuonCaloEnergyContainer', dump_CaloEnergy],
5859  ['CscSimDataCollection', dump_CscSimDataCollection],
5860  ['MuonSimDataCollection', dump_MuonSimDataCollection],
5861  ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::CscPrepData> >', dump_CscPrepDataContainer],
5862  ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::CscStripPrepData> >', dump_CscStripPrepDataContainer],
5863  ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::TgcPrepData> >', dump_TgcPrepDataContainer],
5864  ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::MdtPrepData> >', dump_MdtPrepDataContainer],
5865  ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::RpcPrepData> >', dump_RpcPrepDataContainer],
5866  ['Muon::MuonCoinDataContainer<Muon::MuonCoinDataCollection<Muon::RpcCoinData> >', dump_RpcCoinDataContainer],
5867  ['Muon::MuonCoinDataContainer<Muon::MuonCoinDataCollection<Muon::TgcCoinData> >', dump_TgcCoinDataContainer],
5868  ['Trk::PrepRawDataContainer<Trk::PrepRawDataCollection<InDet::PixelCluster> >', dump_PixelClusterContainer],
5869  ['Trk::PrepRawDataContainer<Trk::PrepRawDataCollection<InDet::SCT_Cluster> >', dump_SCT_ClusterContainer],
5870  ['Trk::PrepRawDataContainer<Trk::PrepRawDataCollection<InDet::TRT_DriftCircle> >', dump_TRT_DriftCircleContainer],
5871  ['InDetRawDataContainer<InDetRawDataCollection<PixelRDORawData> >', dump_PixelRawDataContainer],
5872  ['InDetRawDataContainer<InDetRawDataCollection<TRT_RDORawData> >', dump_TRT_RawDataContainer],
5873  ['InDetRawDataContainer<InDetRawDataCollection<SCT_RDORawData> >', dump_SCT_RawDataContainer],
5874  ['std::multimap<const InDet::SiCluster*,const InDet::SiCluster*,InDet::compare_SiCluster>', dump_PixelGangedClusterAmbiguities],
5875  ['TileDigitsContainer', dump_TileDigitsContainer],
5876  ['TileContainer<TileL2>', dump_TileL2],
5877  ['TileContainer<TileTTL1>', dump_TileTTL1],
5878  ['TileContainer<TileMuonReceiverObj>', dump_TileMuonReceiverObj],
5879  ['DataVector<LVL1::CMMCPHits>', dump_CMMCPHits],
5880  ['DataVector<LVL1::CMMEtSums>', dump_CMMEtSums],
5881  ['DataVector<LVL1::CMMJetHits>', dump_CMMJetHits],
5882  ['LVL1::CMMRoI', dump_CMMRoI],
5883  ['DataVector<LVL1::CPMHits>', dump_CPMHits],
5884  ['DataVector<LVL1::CPMRoI>', dump_CPMRoI],
5885  ['DataVector<LVL1::CPMTower>', dump_CPMTower],
5886  ['CTP_RDO', dump_CTP_RDO],
5887  ['MuCTPI_RDO', dump_MuCTPI_RDO],
5888  ['DataVector<LVL1::JEMEtSums>', dump_JEMEtSums],
5889  ['DataVector<LVL1::JEMHits>', dump_JEMHits],
5890  ['DataVector<LVL1::JEMRoI>', dump_JEMRoI],
5891  ['DataVector<LVL1::JetElement>', dump_JetElement],
5892  ['DataVector<LVL1::TriggerTower>', dump_TriggerTower],
5893  ['ROIB::RoIBResult', dump_RoIBResult],
5894  ['LUCID_RawDataContainer', dump_LUCID_RawData],
5895  ['BCM_RDO_Container', dump_BCM_RDO_Collection],
5896  ['LArDigitContainer', dump_LArDigit],
5897  ['EventBookkeeperCollection', dump_EventBookkeeper],
5898  ['ZdcDigitsCollection', dump_ZdcDigits],
5899  ['RpcPadContainer', dump_RpcPadContainer],
5900  ['RpcSectorLogicContainer', dump_RpcSectorLogic],
5901  ['CscRawDataContainer', dump_CscRawDataContainer],
5902  ['TgcRdoContainer', dump_TgcRdoContainer],
5903  ['MdtCsmContainer', dump_MdtCsmContainer],
5904  ['Muon::STGC_RawDataContainer', dump_STGC_RawDataContainer],
5905  ['Muon::MM_RawDataContainer', dump_MM_RawDataContainer],
5906  ['Muon::NSW_PadTriggerDataContainer', dump_NSW_PadTriggerDataContainer],
5907  ['ZdcLucrodDataContainer', dump_ZdcLucrod_Data],
5908  ['AthenaAttributeList', dump_AttributeList],
5909  ['InDetTimeCollection', dump_InDetTime],
5910  ['std::vector<pair<unsigned int,unsigned int> >', dump_InDetTime],
5911  ['IDCInDetBSErrContainer', dump_IDCInDetBSErrContainer],
5912  ['TRT_BSErrContainer', dump_TRT_BSErrContainer],
5913  ['LArFebHeaderContainer', dump_LArFebHeader],
5914  ['LArRawChannelContainer', dump_LArRawChannel],
5915  ['TrigMonEventCollection', dump_TrigMonEvent],
5916  ['TrigMonConfigCollection', dump_TrigMonConfig],
5917  ['LVL1CTP::Lvl1Result', dump_Lvl1Result],
5918  ['AFP_RawContainer', dump_AFP_RawContainer],
5919  ['ALFA_RawDataContainer', dump_ALFA_RawDataContainer],
5920  ['TrigT2ZdcSignalsContainer', dump_TrigT2ZdcSignals],
5921  ['Analysis::TauDetailsContainer', dump_TauDetailsContainer],
5922  ['egDetailContainer', dump_egDetailContainer],
5923  ['JetMomentMapCollection', dump_JetMomentMapCollection],
5924  ['JetKeyDescriptorCollection', dump_JetKeyDescriptorCollection],
5925  ['LArFebErrorSummary', dump_LArFebErrorSummary],
5926  ['Trk::ClusterSplitProbabilityContainer', dump_ClusterSplitProbabilityContainer],
5927  ['InDetSimDataCollection', dump_InDetSimDataCollection],
5928  ['PRD_MultiTruthCollection', dump_PRD_MultiTruthCollection],
5929  ['TrackTruthCollection', dump_TrackTruthCollection],
5930  ['LArTTL1Container', dump_LArTTL1],
5931  ['ComTime', dump_ComTime],
5932  ['std::vector<unsigned int>', dump_vector],
5933 
5934  ['DataVector<xAOD::BTagVertex_v1>', dump_xAOD],
5935  ['xAOD::BTagVertexContainer', dump_xAOD],
5936  ['DataVector<xAOD::BTagging_v1>', dump_xAOD],
5937  ['xAOD::BTaggingContainer', dump_xAOD],
5938  ['DataVector<xAOD::CaloCluster_v1>', dump_xAOD],
5939  ['xAOD::CaloClusterContainer', dump_xAOD],
5940  ['DataVector<xAOD::Electron_v1>', dump_xAOD],
5941  ['DataVector<xAOD::EmTauRoI_v1>', dump_xAOD],
5942  ['DataVector<xAOD::EmTauRoI_v2>', dump_xAOD],
5943  ['xAOD::EmTauRoIContainer', dump_xAOD],
5944  ['DataVector<xAOD::JetRoI_v1>', dump_xAOD],
5945  ['DataVector<xAOD::JetRoI_v2>', dump_xAOD],
5946  ['xAOD::JetRoIContainer', dump_xAOD],
5947  ['DataVector<xAOD::Jet_v1>', dump_xAOD],
5948  ['xAOD::JetContainer', dump_xAOD],
5949  ['DataVector<xAOD::L2CombinedMuon_v1>', dump_xAOD],
5950  ['xAOD::L2CombinedMuonContainer', dump_xAOD],
5951  ['DataVector<xAOD::L2StandAloneMuon_v1>',dump_xAOD],
5952  ['DataVector<xAOD::L2StandAloneMuon_v2>',dump_xAOD],
5953  ['xAOD::L2StandAloneMuonContainer', dump_xAOD],
5954  ['DataVector<xAOD::MuonRoI_v1>', dump_xAOD],
5955  ['xAOD::MuonRoIContainer', dump_xAOD],
5956  ['DataVector<xAOD::MuonSegment_v1>', dump_xAOD],
5957  ['xAOD::MuonSegmentContainer', dump_xAOD],
5958  ['DataVector<xAOD::Muon_v1>', dump_xAOD],
5959  ['xAOD::MuonContainer', dump_xAOD],
5960  ['DataVector<xAOD::PFO_v1>', dump_xAOD],
5961  ['xAOD::PFOContainer', dump_xAOD],
5962  ['DataVector<xAOD::Photon_v1>', dump_xAOD],
5963  ['DataVector<xAOD::SlowMuon_v1>', dump_xAOD],
5964  ['xAOD::SlowMuonContainer', dump_xAOD],
5965  ['DataVector<xAOD::TauJet_v1>', dump_xAOD],
5966  ['DataVector<xAOD::TauJet_v2>', dump_xAOD],
5967  ['DataVector<xAOD::TauJet_v3>', dump_xAOD],
5968  ['xAOD::TauJetContainer', dump_xAOD],
5969  ['DataVector<xAOD::TauTrack_v1>', dump_xAOD],
5970  ['xAOD::TauTrackContainer', dump_xAOD],
5971  ['DataVector<xAOD::Particle_v1>', dump_xAOD],
5972  ['xAOD::ParticleContainer', dump_xAOD],
5973  ['DataVector<xAOD::TrackParticle_v1>', dump_xAOD],
5974  ['xAOD::TrackParticleContainer', dump_xAOD],
5975  ['DataVector<xAOD::TrigBphys_v1>', dump_xAOD],
5976  ['xAOD::TrigBphysContainer', dump_xAOD],
5977  ['DataVector<xAOD::TrigComposite_v1>', dump_xAOD],
5978  ['xAOD::TrigCompositeContainer', dump_xAOD],
5979  ['DataVector<xAOD::TrigEMCluster_v1>', dump_xAOD],
5980  ['xAOD::TrigEMClusterContainer', dump_xAOD],
5981  ['DataVector<xAOD::TrigElectron_v1>', dump_xAOD],
5982  ['xAOD::TrigElectronContainer', dump_xAOD],
5983  ['DataVector<xAOD::TrigMissingET_v1>', dump_xAOD],
5984  ['xAOD::TrigMissingETContainer', dump_xAOD],
5985  ['DataVector<xAOD::TrigPhoton_v1>', dump_xAOD],
5986  ['xAOD::TrigPhotonContainer', dump_xAOD],
5987  ['DataVector<xAOD::TrigRNNOutput_v1>', dump_xAOD],
5988  ['DataVector<xAOD::TrigRNNOutput_v2>', dump_xAOD],
5989  ['xAOD::TrigRNNOutputContainer', dump_xAOD],
5990  ['DataVector<xAOD::TrigRingerRings_v1>', dump_xAOD],
5991  ['DataVector<xAOD::TrigRingerRings_v2>', dump_xAOD],
5992  ['xAOD::TrigRingerRingsContainer', dump_xAOD],
5993  ['DataVector<xAOD::TrigSpacePointCounts_v1>',dump_xAOD],
5994  ['xAOD::TrigSpacePointCountsContainer', dump_xAOD],
5995  ['DataVector<xAOD::TrigT2MbtsBits_v1>', dump_xAOD],
5996  ['xAOD::TrigT2MbtsBitsContainer', dump_xAOD],
5997  ['DataVector<xAOD::TrigTrackCounts_v1>', dump_xAOD],
5998  ['xAOD::TrigTrackCountsContainer', dump_xAOD],
5999  ['DataVector<xAOD::TrigVertexCounts_v1>',dump_xAOD],
6000  ['xAOD::TrigVertexCountsContainer', dump_xAOD],
6001  ['DataVector<xAOD::TruthEvent_v1>', dump_xAOD],
6002  ['xAOD::TruthEventContainer', dump_xAOD],
6003  ['DataVector<xAOD::TruthParticle_v1>', dump_xAOD],
6004  ['xAOD::TruthParticleContainer', dump_xAOD],
6005  ['DataVector<xAOD::TruthVertex_v1>', dump_xAOD],
6006  ['xAOD::TruthVertexContainer', dump_xAOD],
6007  ['DataVector<xAOD::Vertex_v1>', dump_xAOD],
6008  ['xAOD::VertexContainer', dump_xAOD],
6009  ['DataVector<xAOD::L2IsoMuon_v1>', dump_xAOD],
6010  ['xAOD::L2IsoMuonContainer', dump_xAOD],
6011  ['DataVector<xAOD::TrigT2ZdcSignals_v1>',dump_xAOD],
6012  ['xAOD::TrigT2ZdcSignalsContainer', dump_xAOD],
6013  ['DataVector<xAOD::HIEventShape_v1>', dump_xAOD],
6014  ['DataVector<xAOD::HIEventShape_v2>', dump_xAOD],
6015  ['xAOD::HIEventShapeContainer', dump_xAOD],
6016  ['DataVector<xAOD::DiTauJet_v1>', dump_xAOD],
6017  ['xAOD::DiTauJetContainer', dump_xAOD],
6018  ['DataVector<xAOD::TrigPassBits_v1>', dump_xAOD],
6019  ['xAOD::TrigPassBitsContainer', dump_xAOD],
6020  ['DataVector<xAOD::TrackParticleClusterAssociation_v1>', dump_xAOD],
6021  ['xAOD::TrackParticleClusterAssociationContainer', dump_xAOD],
6022  ['DataVector<xAOD::TruthPileupEvent_v1>',dump_xAOD],
6023  ['xAOD::TruthPileupEventContainer_v1', dump_xAOD],
6024  ['DataVector<xAOD::CaloRings_v1>', dump_xAOD],
6025  ['xAOD::CaloRingsContainer', dump_xAOD],
6026  ['DataVector<xAOD::RingSet_v1>', dump_xAOD],
6027  ['xAOD::RingSetContainer', dump_xAOD],
6028  ['DataVector<xAOD::ForwardEventInfo_v1>',dump_xAOD],
6029  ['xAOD::ForwardEventInfoContainer', dump_xAOD],
6030  ['DataVector<xAOD::MBTSModule_v1>', dump_xAOD],
6031  ['xAOD::MBTSModuleContainer', dump_xAOD],
6032  ['DataVector<xAOD::ZdcModule_v1>', dump_xAOD],
6033  ['xAOD::ZdcModuleContainer', dump_xAOD],
6034  ['DataVector<xAOD::CPMTower_v2>', dump_xAOD],
6035  ['xAOD::CPMTowerContainer', dump_xAOD],
6036  ['DataVector<xAOD::JetElement_v2>', dump_xAOD],
6037  ['xAOD::JetElementContainer', dump_xAOD],
6038  ['DataVector<xAOD::TriggerTower_v2>', dump_xAOD],
6039  ['xAOD::TriggerTowerContainer', dump_xAOD],
6040  ['xAOD::MissingETContainer_v1', dump_xAOD],
6041  ['xAOD::MissingETContainer', dump_xAOD],
6042  ['xAOD::MissingETComponentMap_v1', dump_xAOD],
6043  ['xAOD::MissingETComponentMap', dump_xAOD],
6044  ['DataVector<xAOD::FlowElement_v1>', dump_xAOD],
6045  ['xAOD::FlowElementContainer', dump_xAOD],
6046  ['DataVector<xAOD::AFPSiHitsCluster_v1>',dump_xAOD],
6047  ['xAOD::AFPSiHitsClusterContainer', dump_xAOD],
6048  ['DataVector<xAOD::AFPProton_v1>', dump_xAOD],
6049  ['xAOD::AFPProtonContainer', dump_xAOD],
6050  ['DataVector<xAOD::AFPVertex_v1>', dump_xAOD],
6051  ['xAOD::AFPVertexContainer', dump_xAOD],
6052  ['DataVector<xAOD::AFPTrack_v2>', dump_xAOD],
6053  ['xAOD::AFPTrackContainer', dump_xAOD],
6054  ['DataVector<xAOD::AFPToFTrack_v1>', dump_xAOD],
6055  ['xAOD::AFPToFTrackContainer', dump_xAOD],
6056  ['xAOD::EventInfo_v1', dump_xAODObject],
6057  ['xAOD::EventInfo', dump_xAODObject],
6058  ['xAOD::EventShape_v1', dump_xAODObjectNL],
6059  ['xAOD::EventShape', dump_xAODObjectNL],
6060  ['xAOD::MissingETAssociationMap_v1', dump_xAOD],
6061  ['xAOD::MissingETAssociationMap', dump_xAOD],
6062  ['xAOD::TrigDecision_v1', dump_xAODObject],
6063  ['xAOD::TrigConfKeys_v1', dump_TrigConfKeys],
6064  ['xAOD::JetEtRoI_v1', dump_xAODObject],
6065  ['xAOD::EnergySumRoI_v1', dump_xAODObject],
6066  ['xAOD::EnergySumRoI_v2', dump_xAODObject],
6067  ['xAOD::TrigNavigation_v1', dump_xAODObject],
6068  ['xAOD::TrigNavigation', dump_xAODObject],
6069  ['xAOD::RoiDescriptorStore_v1', dump_xAODObject],
6070  ['xAOD::RoiDescriptorStore', dump_xAODObject],
6071  ['DataVector<xAODTruthParticleLink>', dump_xAODTruthParticleLink],
6072  ['xAODTruthParticleLinkVector', dump_xAODTruthParticleLink],
6073  ['DataVector<xAOD::NSWTPRDO_v1>', dump_xAOD],
6074  ['xAOD::NSWTPRDOContainer', dump_xAOD],
6075  ['DataVector<xAOD::NSWMMTPRDO_v1>', dump_xAOD],
6076  ['xAOD::NSWMMTPRDOContainer', dump_xAOD],
6077  ['DataVector<xAOD::RODHeader_v2>', dump_xAOD],
6078  ['xAOD::RODHeaderContainer', dump_xAOD],
6079  ['DataVector<xAOD::CMXJetTob_v1>', dump_xAOD],
6080  ['xAOD::CMXJetTobContainer', dump_xAOD],
6081  ['DataVector<xAOD::JEMTobRoI_v1>', dump_xAOD],
6082  ['xAOD::JEMTobRoIContainer', dump_xAOD],
6083  ['DataVector<xAOD::CMXCPTob_v1>', dump_xAOD],
6084  ['xAOD::CMXCPTobContainer', dump_xAOD],
6085  ['DataVector<xAOD::CMXJetHits_v1>', dump_xAOD],
6086  ['xAOD::CMXJetHitsContainer', dump_xAOD],
6087  ['DataVector<xAOD::CMXEtSums_v1>', dump_xAOD],
6088  ['xAOD::CMXEtSumsContainer', dump_xAOD],
6089  ['DataVector<xAOD::CMXRoI_v1>', dump_xAOD],
6090  ['xAOD::CMXRoIContainer', dump_xAOD],
6091  ['DataVector<xAOD::CPMTobRoI_v1>', dump_xAOD],
6092  ['xAOD::CPMTobRoIContainer', dump_xAOD],
6093  ['DataVector<xAOD::JEMEtSums_v2>', dump_xAOD],
6094  ['xAOD::JEMEtSumsContainer', dump_xAOD],
6095  ['DataVector<xAOD::CMXCPHits_v1>', dump_xAOD],
6096  ['xAOD::CMXCPHitsContainer', dump_xAOD],
6097  ['DataVector<xAOD::L1TopoRawData_v1>', dump_xAOD],
6098  ['xAOD::L1TopoRawDataContainer', dump_xAOD],
6099  ['DataVector<xAOD::jFexFwdElRoI_v1>', dump_xAOD],
6100  ['xAOD::jFexFwdElRoIContainer', dump_xAOD],
6101  ['DataVector<xAOD::jFexSRJetRoI_v1>', dump_xAOD],
6102  ['xAOD::jFexSRJetRoIContainer', dump_xAOD],
6103  ['DataVector<xAOD::jFexSumETRoI_v1>', dump_xAOD],
6104  ['xAOD::jFexSumETRoIContainer', dump_xAOD],
6105  ['DataVector<xAOD::gFexGlobalRoI_v1>', dump_xAOD],
6106  ['xAOD::gFexGlobalRoIContainer', dump_xAOD],
6107  ['DataVector<xAOD::jFexLRJetRoI_v1>', dump_xAOD],
6108  ['xAOD::jFexLRJetRoIContainer', dump_xAOD],
6109  ['DataVector<xAOD::eFexTauRoI_v1>', dump_xAOD],
6110  ['xAOD::eFexTauRoIContainer', dump_xAOD],
6111  ['DataVector<xAOD::gFexJetRoI_v1>', dump_xAOD],
6112  ['xAOD::gFexJetRoIContainer', dump_xAOD],
6113  ['DataVector<xAOD::gFexTower_v1>', dump_xAOD],
6114  ['xAOD::gFexTowerContainer', dump_xAOD],
6115  ['DataVector<xAOD::eFexEMRoI_v1>', dump_xAOD],
6116  ['xAOD::eFexEMRoIContainer', dump_xAOD],
6117  ['DataVector<xAOD::jFexTauRoI_v1>', dump_xAOD],
6118  ['xAOD::jFexTauRoIContainer', dump_xAOD],
6119  ['DataVector<xAOD::jFexTower_v1>', dump_xAOD],
6120  ['xAOD::jFexTowerContainer', dump_xAOD],
6121  ['DataVector<xAOD::jFexMETRoI_v1>', dump_xAOD],
6122  ['xAOD::jFexMETRoIContainer', dump_xAOD],
6123  ['DataVector<xAOD::eFexTower_v1>', dump_xAOD],
6124  ['xAOD::eFexTowerContainer', dump_xAOD],
6125  ['DataVector<xAOD::AFPSiHit_v2>', dump_xAOD],
6126  ['xAOD::AFPSiHitContainer', dump_xAOD],
6127  ['DataVector<xAOD::AFPToFHit_v1>', dump_xAOD],
6128  ['xAOD::AFPToFHitContainer', dump_xAOD],
6129  ['xAOD::BunchConfKey_v1', dump_BunchConfKey],
6130  ['xAOD::BunchConfKey', dump_BunchConfKey],
6131 
6132  # Make some of these more compact?
6133 
6134 ]
6135 
6136 
6137 import sys
6138 def get_dumper_fct(klass, ofile=sys.stdout, nmax = None):
6139  """helper function to automatically retrieve the suitable dumper function
6140  given the name of a class or the class-type
6141  @param `klass' a string containing the name of a C++ type or a type
6142  @param `ofile' a file-like instance where to dump the objects' content
6143  @param `nmax` maximum number of container elements to dump
6144  """
6145  if isinstance(klass, type):
6146  # ok
6147  pass
6148  elif isinstance(klass, str):
6149  klass = getattr(PyAthena,klass)
6150  pass
6151  else:
6152  raise TypeError('expected a type or a string')
6153  global dumpspecs
6154 
6155  klname = typename(klass)
6156  dumpers = [ i for i in dumpspecs if i[0] == klname ]
6157  if len(dumpers) != 1:
6158  raise RuntimeError('no suitable dumper function for class [%s]'%
6159  klname )
6160  fct = dumpers[0][1]
6161  nolist = hasattr (fct, 'nolist') and fct.nolist
6162  from functools import partial as _partial
6163  if nolist:
6164  if fct.nmax:
6165  dumper = _partial(fct, f=ofile, nmax=nmax)
6166  else:
6167  dumper = _partial(fct, f=ofile)
6168  else:
6169  dumper = _partial(dump_list, f=ofile, dumper=fct, nmax=nmax)
6170  return dumper
6171 
python.Dumpers.dump_MultiSVInfoPlus
def dump_MultiSVInfoPlus(info, f)
Definition: Dumpers.py:1155
python.Dumpers.dump_TrigMuonEFInfoTrack
def dump_TrigMuonEFInfoTrack(t, f)
Definition: Dumpers.py:4326
python.Dumpers.dump_SiCluster
def dump_SiCluster(p, f)
Definition: Dumpers.py:4610
python.Dumpers.dump_CscRawData
def dump_CscRawData(p, f)
Definition: Dumpers.py:5291
python.Dumpers.dump_PixelClusterOnTrack
def dump_PixelClusterOnTrack(p, f)
Definition: Dumpers.py:1652
python.Dumpers.dump_clist
def dump_clist(l, f)
Definition: Dumpers.py:3678
python.Dumpers.dump_TrigInDetTrackFitPar
def dump_TrigInDetTrackFitPar(p, f)
Definition: Dumpers.py:3269
python.Dumpers.dump_egDetailContainer
def dump_egDetailContainer(p, f)
Definition: Dumpers.py:2024
python.Dumpers.dump_TrigVertex
def dump_TrigVertex(v, f)
Definition: Dumpers.py:3662
python.Dumpers.dump_ITrackLink
def dump_ITrackLink(l, f)
Definition: Dumpers.py:2578
python.Dumpers.dump_egamma
def dump_egamma(e, f)
Definition: Dumpers.py:547
python.Dumpers.dump_HLTSignature
def dump_HLTSignature(s, f)
Definition: Dumpers.py:3102
python.Dumpers.dump_TgcRawData
def dump_TgcRawData(p, f)
Definition: Dumpers.py:5307
python.Dumpers.dump_EventBookkeeper
def dump_EventBookkeeper(p, f, level=0)
Definition: Dumpers.py:5244
python.Dumpers.dump_LArRawChannel
def dump_LArRawChannel(p, f)
Definition: Dumpers.py:1787
python.Dumpers.dump_PileUpEventInfo
def dump_PileUpEventInfo(e, f)
Definition: Dumpers.py:2729
python.Dumpers.dump_Track
def dump_Track(p, f)
Definition: Dumpers.py:2259
python.Dumpers.dump_TrigOperationalInfo
def dump_TrigOperationalInfo(b, f)
Definition: Dumpers.py:4446
python.Dumpers.dump_RpcCoinMatrix
def dump_RpcCoinMatrix(p, f)
Definition: Dumpers.py:5257
python.Dumpers.dump_RpcCoinDataContainer
def dump_RpcCoinDataContainer(p, f)
Definition: Dumpers.py:4705
python.Dumpers.dump_RpcFiredChannel
def dump_RpcFiredChannel(p, f)
Definition: Dumpers.py:5252
python.Dumpers.dump_LArFebErrorSummary
def dump_LArFebErrorSummary(p, f)
Definition: Dumpers.py:2042
python.Dumpers.dump_Vertex
def dump_Vertex(v, f)
Definition: Dumpers.py:2566
python.Dumpers.dump_LArHit
def dump_LArHit(t, f)
Definition: Dumpers.py:4234
python.Dumpers.dump_H3V
def dump_H3V(v, f)
Definition: Dumpers.py:203
python.Dumpers.PyTrigInDetTrack.NTRHits
NTRHits
Definition: Dumpers.py:3337
python.Dumpers.dump_Assocs
def dump_Assocs(a, f, colltype)
Definition: Dumpers.py:3411
InDetSimDataHelpers::getData
const InDetSimData * getData(const InDetSimDataCollection &coll, const Identifier &id)
Definition: InDetSimDataDict.h:24
python.Dumpers.dump_TrigMuonClusterFeature
def dump_TrigMuonClusterFeature(m, f)
Definition: Dumpers.py:4435
python.Dumpers.dump_CMMJetHits
def dump_CMMJetHits(p, f)
Definition: Dumpers.py:4979
python.Dumpers.dump_Photon
def dump_Photon(e, f)
Definition: Dumpers.py:599
python.Dumpers.dump_TrigSpacePointCounts
def dump_TrigSpacePointCounts(c, f)
Definition: Dumpers.py:3938
python.Dumpers.dump_eflowObject
def dump_eflowObject(e, f)
Definition: Dumpers.py:4476
TestSUSYToolsAlg.dl
dl
Definition: TestSUSYToolsAlg.py:81
python.Dumpers.dump_TruthParticle
def dump_TruthParticle(p, f)
Definition: Dumpers.py:1352
python.Dumpers.dump_parameters
def dump_parameters(p, f)
Definition: Dumpers.py:1575
python.Dumpers.dump_TauDetailsContainer
def dump_TauDetailsContainer(p, f)
Definition: Dumpers.py:2018
python.Dumpers.dump_RpcSLTriggerHit
def dump_RpcSLTriggerHit(p, f)
Definition: Dumpers.py:5274
python.Dumpers.dump_MuonMcData
def dump_MuonMcData(p, f)
Definition: Dumpers.py:4792
python.Dumpers.dump_TRT_DriftCircleOnTrack
def dump_TRT_DriftCircleOnTrack(p, f)
Definition: Dumpers.py:1668
python.Dumpers.dump_IPInfoPlus
def dump_IPInfoPlus(info, f)
Definition: Dumpers.py:1103
python.Dumpers.dump_TrigMissingET
def dump_TrigMissingET(m, f)
Definition: Dumpers.py:3834
python.Dumpers.dump_EMTrackMatch
def dump_EMTrackMatch(d, f)
Definition: Dumpers.py:403
python.Dumpers.dump_InDetLowBetaCandidate
def dump_InDetLowBetaCandidate(p, f)
Definition: Dumpers.py:4367
python.Dumpers.dump_TrackParticleAssocs
def dump_TrackParticleAssocs(a, f)
Definition: Dumpers.py:3442
python.Dumpers.dump_TrigPassFlags
def dump_TrigPassFlags(m, f)
Definition: Dumpers.py:4463
python.Dumpers.dump_vvelccell
def dump_vvelccell(c, f)
Definition: Dumpers.py:903
python.Dumpers.dump_TgcRdo_RodStatus
def dump_TgcRdo_RodStatus(p, f)
Definition: Dumpers.py:5351
python.Dumpers.dump_PRD_MultiTruthCollection
def dump_PRD_MultiTruthCollection(p, f)
Definition: Dumpers.py:2077
python.Dumpers.dump_VxCandidate1
def dump_VxCandidate1(v, f)
Definition: Dumpers.py:2642
python.Dumpers.dump_JEMEtSums
def dump_JEMEtSums(p, f)
Definition: Dumpers.py:5036
python.Dumpers.dump_L1DataBaseclass
def dump_L1DataBaseclass(c, f)
Definition: Dumpers.py:3164
python.Dumpers._gen_vecattr
def _gen_vecattr(e, a, typ)
Definition: Dumpers.py:2757
python.Dumpers.dump_ElectronConstituent
def dump_ElectronConstituent(info, f)
Definition: Dumpers.py:1286
python.Dumpers.dump_EL
def dump_EL(l, f)
Definition: Dumpers.py:329
python.Dumpers.PyTrigInDetTrack.__init__
def __init__(self, t)
Definition: Dumpers.py:3331
python.Dumpers.dump_vvdouble
def dump_vvdouble(c, f)
Definition: Dumpers.py:917
python.Dumpers.dump_JetConstituent
def dump_JetConstituent(info, f)
Definition: Dumpers.py:1263
python.Dumpers.dump_TileMuFeature
def dump_TileMuFeature(m, f)
Definition: Dumpers.py:4117
python.Dumpers.dump_PrepRawData
def dump_PrepRawData(p, f)
Definition: Dumpers.py:4520
python.Dumpers.dump_TrigHisto
def dump_TrigHisto(h, f)
Definition: Dumpers.py:3924
Trig::FeatureAccessImpl::getBits
const TrigPassBits * getBits(size_t sz, const HLT::TriggerElement *te, const std::string &, const HLT::NavigationCore *navigation)
Definition: FeatureCollectAthena.cxx:21
index
Definition: index.py:1
python.Dumpers.dump_EMTrackFit
def dump_EMTrackFit(d, f)
Definition: Dumpers.py:507
python.Dumpers.dump_JetElement
def dump_JetElement(p, f)
Definition: Dumpers.py:5055
python.Dumpers.dump_xAODObject
def dump_xAODObject(o, f)
Definition: Dumpers.py:5700
python.Dumpers.dump_eflowObjectContainer
def dump_eflowObjectContainer(c, f)
Definition: Dumpers.py:4495
python.Dumpers.dump_DetailedTrackTruthCollection
def dump_DetailedTrackTruthCollection(c, f)
Definition: Dumpers.py:1422
python.Dumpers.get_dumper_fct
def get_dumper_fct(klass, ofile=sys.stdout, nmax=None)
Definition: Dumpers.py:6138
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
python.Dumpers.uchar_accessor.ac
ac
Definition: Dumpers.py:5523
python.Dumpers.dump_TauPi0Details
def dump_TauPi0Details(t, f)
Definition: Dumpers.py:835
python.Dumpers._genevent_particles_size
def _genevent_particles_size(e)
Definition: Dumpers.py:2764
python.Dumpers.dump_TrigT2ZdcSignals
def dump_TrigT2ZdcSignals(p, f)
Definition: Dumpers.py:2012
python.Dumpers.dump_L1TopoResult
def dump_L1TopoResult(p, f)
Definition: Dumpers.py:5135
python.Dumpers.dump_EMBremFit
def dump_EMBremFit(d, f)
Definition: Dumpers.py:379
python.Dumpers.dump_TauJet
def dump_TauJet(t, f)
Definition: Dumpers.py:952
python.Dumpers.asint32
def asint32(x)
Definition: Dumpers.py:122
python.Dumpers.dump_Lvl1AODConfigData
def dump_Lvl1AODConfigData(d, f)
Definition: Dumpers.py:3193
python.Dumpers.dump_ElectronAssociation
def dump_ElectronAssociation(a, f)
Definition: Dumpers.py:3471
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
python.Dumpers.dump_AFP_RawCollectionHead
def dump_AFP_RawCollectionHead(p, f)
Definition: Dumpers.py:1914
python.Dumpers.dump_MaterialEffectsOnTrack
def dump_MaterialEffectsOnTrack(p, f)
Definition: Dumpers.py:2208
python.Dumpers.format_dl
def format_dl(x)
Definition: Dumpers.py:5501
python.Dumpers.dump_TGCSimHit
def dump_TGCSimHit(p, f)
Definition: Dumpers.py:5216
python.Dumpers.dump_TrigL2Bjet
def dump_TrigL2Bjet(j, f)
Definition: Dumpers.py:3805
python.Dumpers.dump_TrackParticleTruthCollection
def dump_TrackParticleTruthCollection(c, f)
Definition: Dumpers.py:1398
python.Dumpers.dump_CMMEtSums
def dump_CMMEtSums(p, f)
Definition: Dumpers.py:4968
python.Dumpers.dump_EventType
def dump_EventType(e, f)
Definition: Dumpers.py:2700
python.Dumpers.dump_vector
def dump_vector(p, f)
Definition: Dumpers.py:2109
python.Dumpers.dump_EventID
def dump_EventID(e, f)
Definition: Dumpers.py:2689
python.Dumpers.dump_TrigEFBphys
def dump_TrigEFBphys(j, f)
Definition: Dumpers.py:3787
python.Dumpers.dump_TgcRdo_LocalStatus
def dump_TgcRdo_LocalStatus(p, f)
Definition: Dumpers.py:5382
python.Dumpers.dump_IPInfoBase
def dump_IPInfoBase(info, f)
Definition: Dumpers.py:1112
python.Dumpers.dump_LArFebHeader
def dump_LArFebHeader(p, f)
Definition: Dumpers.py:1773
python.Dumpers.PyTrigInDetTrackFitPar.epT
epT
Definition: Dumpers.py:3321
python.Dumpers.dump_CaloShower
def dump_CaloShower(s, f)
Definition: Dumpers.py:4183
python.Dumpers.dump_ParametersBase
def dump_ParametersBase(info, f)
Definition: Dumpers.py:1550
property_tree
python.Dumpers.dump_TrigConfChain
def dump_TrigConfChain(p, f)
Definition: Dumpers.py:1856
python.Dumpers.dump_list
def dump_list(l, f, dumper, nmax=None)
Definition: Dumpers.py:5712
python.Dumpers.dump_DetStatus
def dump_DetStatus(s, f)
Definition: Dumpers.py:3234
python.Dumpers.dump_SVTrackInfo
def dump_SVTrackInfo(info, f)
Definition: Dumpers.py:1123
python.Dumpers.dump_CaloCellLink
def dump_CaloCellLink(l, f)
Definition: Dumpers.py:2533
python.Dumpers.dump_LArTTL1
def dump_LArTTL1(p, f)
Definition: Dumpers.py:2093
python.Dumpers.PyTrigInDetTrackFitPar.phi0
phi0
Definition: Dumpers.py:3314
python.Dumpers.dump_ZdcRawData
def dump_ZdcRawData(p, f)
Definition: Dumpers.py:5230
python.Dumpers.dump_TrigRoiDescriptor_nolist
def dump_TrigRoiDescriptor_nolist(d, f)
Definition: Dumpers.py:3867
python.Dumpers.dump_CscPrepDataContainer
def dump_CscPrepDataContainer(p, f)
Definition: Dumpers.py:4693
python.Dumpers.char_accessor.__init__
def __init__(self, name)
Definition: Dumpers.py:5515
python.Dumpers.dump_AttributeList
def dump_AttributeList(p, f)
Definition: Dumpers.py:1733
python.Dumpers.dump_PerigeeSurface
def dump_PerigeeSurface(info, f)
Definition: Dumpers.py:1482
python.Dumpers.generic_dump_auxitem
def generic_dump_auxitem(x, auxid, f)
Definition: Dumpers.py:5602
python.Dumpers.dump_TrigTauClusterDetails
def dump_TrigTauClusterDetails(t, f)
Definition: Dumpers.py:3894
python.Dumpers._genevent_vertices_size
def _genevent_vertices_size(e)
Definition: Dumpers.py:2768
python.Dumpers.dump_TileMu
def dump_TileMu(m, f)
Definition: Dumpers.py:4160
python.Dumpers.dump_Twovec
def dump_Twovec(v, f)
Definition: Dumpers.py:300
python.Dumpers.dump_CosmicMuon
def dump_CosmicMuon(m, f)
Definition: Dumpers.py:4277
python.Dumpers.dump_HLTStreamTag
def dump_HLTStreamTag(s, f)
Definition: Dumpers.py:3112
python.Dumpers.dump_ZdcLucrod_Data
def dump_ZdcLucrod_Data(p, f)
Definition: Dumpers.py:5480
python.Dumpers.dump_TrigMonROB
def dump_TrigMonROB(p, f)
Definition: Dumpers.py:1793
python.Dumpers.dump_TruthInfo
def dump_TruthInfo(info, f)
Definition: Dumpers.py:1042
python.Dumpers.format_int
def format_int(x)
Definition: Dumpers.py:5498
python.Dumpers.dump_CompetingMuonClustersOnTrack
def dump_CompetingMuonClustersOnTrack(p, f)
Definition: Dumpers.py:1706
athena.value
value
Definition: athena.py:124
python.Dumpers.dump_TrigT2Jet_nolist
def dump_TrigT2Jet_nolist(j, f)
Definition: Dumpers.py:3889
python.Dumpers.dump_SoftElectronInfo
def dump_SoftElectronInfo(info, f)
Definition: Dumpers.py:1195
python.Dumpers.dump_Tau1P3PExtraDetails
def dump_Tau1P3PExtraDetails(t, f)
Definition: Dumpers.py:779
python.Dumpers.dump_RpcPrepDataContainer
def dump_RpcPrepDataContainer(p, f)
Definition: Dumpers.py:4711
python.Dumpers._genvertex_particles_out_size
def _genvertex_particles_out_size(e)
Definition: Dumpers.py:2791
python.Dumpers.dump_TrigTau
def dump_TrigTau(t, f)
Definition: Dumpers.py:3713
python.Dumpers.dump_StraightLineSurface
def dump_StraightLineSurface(info, f)
Definition: Dumpers.py:1492
python.Dumpers.dump_MMClusterOnTrack
def dump_MMClusterOnTrack(p, f)
Definition: Dumpers.py:2128
python.Dumpers.PyTrigInDetTrack.algorithmId
algorithmId
Definition: Dumpers.py:3332
python.Dumpers.dump_TrigInDetTrackTruth
def dump_TrigInDetTrackTruth(t, f)
Definition: Dumpers.py:3251
python.Dumpers.dump_HLTSequence
def dump_HLTSequence(s, f)
Definition: Dumpers.py:3141
python.Dumpers.dump_LocalParameters
def dump_LocalParameters(p, f)
Definition: Dumpers.py:1627
python.Dumpers.PyTrigInDetTrack.endParam
endParam
Definition: Dumpers.py:3345
python.Dumpers.dump_SoftMuonInfo
def dump_SoftMuonInfo(info, f)
Definition: Dumpers.py:1248
python.Dumpers.dump_CombinedMuonFeature_nolist
def dump_CombinedMuonFeature_nolist(m, f)
Definition: Dumpers.py:4149
python.Dumpers.dump_LVL1_ROI
def dump_LVL1_ROI(t, f)
Definition: Dumpers.py:3007
python.Dumpers.dump_EMTauResult
def dump_EMTauResult(p, f)
Definition: Dumpers.py:5119
python.Dumpers.dump_SLTrueInfo
def dump_SLTrueInfo(info, f)
Definition: Dumpers.py:1052
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
python.Dumpers.dump_SiClusterOnTrack
def dump_SiClusterOnTrack(p, f)
Definition: Dumpers.py:1645
python.Dumpers.dump_MuCTPIResult
def dump_MuCTPIResult(p, f)
Definition: Dumpers.py:5080
python.Dumpers.dump_EMConvert
def dump_EMConvert(d, f)
Definition: Dumpers.py:375
python.Dumpers.dump_IsoMuonFeature
def dump_IsoMuonFeature(m, f)
Definition: Dumpers.py:4306
python.Dumpers.dump_SaggedLineSurface
def dump_SaggedLineSurface(info, f)
Definition: Dumpers.py:1515
isValid
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition: AtlasPID.h:867
python.Dumpers.dump_CaloClusterCellLink
def dump_CaloClusterCellLink(l, f)
Definition: Dumpers.py:2547
python.Dumpers.dump_EmTau_ROI
def dump_EmTau_ROI(m, f)
Definition: Dumpers.py:2949
python.Dumpers.PyTrigInDetTrackFitPar.pT
pT
Definition: Dumpers.py:3316
python.Dumpers.dump_Jet
def dump_Jet(j, f)
Definition: Dumpers.py:3521
python.Dumpers.dump_CTP_Decision
def dump_CTP_Decision(t, f)
Definition: Dumpers.py:2927
python.Dumpers.dump_MuonFeatureDetails
def dump_MuonFeatureDetails(m, f)
Definition: Dumpers.py:3990
python.Dumpers.dump_TgcRdo_Errors
def dump_TgcRdo_Errors(p, f)
Definition: Dumpers.py:5343
python.Dumpers.dump_JetEnergyRoI
def dump_JetEnergyRoI(p, f)
Definition: Dumpers.py:5101
python.Dumpers.dump_CMMRoI
def dump_CMMRoI(p, f)
Definition: Dumpers.py:4987
python.Dumpers.dump_MdtTrackSegment
def dump_MdtTrackSegment(t, f)
Definition: Dumpers.py:4297
python.Dumpers.dump_MVFVxTrackAtVertex
def dump_MVFVxTrackAtVertex(t, f)
Definition: Dumpers.py:2636
python.Dumpers.dump_AFP_SiRawData
def dump_AFP_SiRawData(p, f)
Definition: Dumpers.py:1922
python.Dumpers.boolvec
def boolvec(v)
Definition: Dumpers.py:181
python.Dumpers.dump_TriggerInfo
def dump_TriggerInfo(e, f)
Definition: Dumpers.py:2705
python.Dumpers.dump_xAODTruthParticleLink
def dump_xAODTruthParticleLink(p, f)
Definition: Dumpers.py:5492
python.Dumpers.dump_Fourvec
def dump_Fourvec(v, f, parens=1)
Definition: Dumpers.py:233
python.Dumpers.dump_SMTrackInfo
def dump_SMTrackInfo(info, f)
Definition: Dumpers.py:1242
python.Dumpers.dump_TileHit
def dump_TileHit(t, f)
Definition: Dumpers.py:4239
python.Dumpers.dump_TruthTrajectory
def dump_TruthTrajectory(t, f)
Definition: Dumpers.py:1416
python.Dumpers.uchar_accessor
Definition: Dumpers.py:5521
python.Dumpers.dump_RoIBResult
def dump_RoIBResult(p, f)
Definition: Dumpers.py:5143
python.Dumpers.dump_RpcPrepData
def dump_RpcPrepData(p, f)
Definition: Dumpers.py:4592
python.Dumpers.PyTrigInDetTrackFitPar.ephi0
ephi0
Definition: Dumpers.py:3319
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
python.Dumpers.dump_CTPConfig
def dump_CTPConfig(c, f)
Definition: Dumpers.py:3169
python.Dumpers.dump_TrigMuonEFInfo
def dump_TrigMuonEFInfo(t, f)
Definition: Dumpers.py:4337
python.Dumpers.char_accessor.__call__
def __call__(self, x)
Definition: Dumpers.py:5518
python.Dumpers.dump_MuonSimDataCollection
def dump_MuonSimDataCollection(p, f)
Definition: Dumpers.py:4807
python.Dumpers.dump_PixelClusterContainer
def dump_PixelClusterContainer(p, f)
Definition: Dumpers.py:4735
python.Dumpers.dump_TgcClusterOnTrack
def dump_TgcClusterOnTrack(p, f)
Definition: Dumpers.py:2114
python.Dumpers.dump_AFP_RawDataCommonHead
def dump_AFP_RawDataCommonHead(p, f)
Definition: Dumpers.py:1918
python.Dumpers.PyTrigInDetTrackFitPar
Definition: Dumpers.py:3310
python.Dumpers.dump_EventStreamInfo
def dump_EventStreamInfo(e, f)
Definition: Dumpers.py:2737
python.Dumpers.dump_CaloClusterMomentStore
def dump_CaloClusterMomentStore(m, f)
Definition: Dumpers.py:4165
python.Dumpers.dump_JetKeyDescriptorCollection
def dump_JetKeyDescriptorCollection(p, f)
Definition: Dumpers.py:2036
python.Dumpers.dump_ISvxAssociation
def dump_ISvxAssociation(a, f)
Definition: Dumpers.py:3509
python.Dumpers.dump_RpcPadContainer
def dump_RpcPadContainer(p, f)
Definition: Dumpers.py:5266
python.Dumpers.dump_PixelGangedClusterAmbiguities
def dump_PixelGangedClusterAmbiguities(p, f)
Definition: Dumpers.py:4816
python.Dumpers.dump_STGC_RawDataContainer
def dump_STGC_RawDataContainer(p, f)
Definition: Dumpers.py:5427
python.Dumpers._infoType
def _infoType(i)
Definition: Dumpers.py:3518
python.Dumpers.dump_auxitem
def dump_auxitem(x, auxid, f=sys.stdout)
Definition: Dumpers.py:5627
python.Dumpers.dump_TrigTrtHitCounts
def dump_TrigTrtHitCounts(p, f)
Definition: Dumpers.py:4349
python.Dumpers.dump_TrigCaloCluster
def dump_TrigCaloCluster(c, f)
Definition: Dumpers.py:3727
python.Dumpers.dump_InDetRawData
def dump_InDetRawData(p, f)
Definition: Dumpers.py:4640
python.Dumpers.PyTrigInDetTrack.NStrawTime
NStrawTime
Definition: Dumpers.py:3336
python.Dumpers.dump_MaterialEffectsBase
def dump_MaterialEffectsBase(p, f)
Definition: Dumpers.py:2193
python.Dumpers.forceInt
Definition: Dumpers.py:156
python.Dumpers.format_obj
def format_obj(x, name=None)
Definition: Dumpers.py:5554
python.Dumpers.dump_TileBeamElemContainer
def dump_TileBeamElemContainer(data, f)
Definition: Dumpers.py:4922
python.Dumpers.PyTrigInDetTrack.trtDriftCircles
trtDriftCircles
Definition: Dumpers.py:3339
python.Dumpers.dump_PixelRawDataContainer
def dump_PixelRawDataContainer(p, f)
Definition: Dumpers.py:4753
python.Dumpers.dump_SoftLeptonTruthInfo
def dump_SoftLeptonTruthInfo(info, f)
Definition: Dumpers.py:1065
python.Dumpers.dump_AmgMatrix
def dump_AmgMatrix(m, f, thresh=1e-38)
Definition: Dumpers.py:304
python.Dumpers.dump_AlignmentEffectsOnTrack
def dump_AlignmentEffectsOnTrack(p, f)
Definition: Dumpers.py:2226
python.Dumpers.dump_SETrackInfo
def dump_SETrackInfo(info, f)
Definition: Dumpers.py:1188
python.Dumpers.dump_TileRawDataCollection
def dump_TileRawDataCollection(data, f)
Definition: Dumpers.py:4877
python.Dumpers.dump_SiHit
def dump_SiHit(t, f)
Definition: Dumpers.py:4251
python.Dumpers.safe_assocs
def safe_assocs(a, obj, coll, f)
Definition: Dumpers.py:3384
python.Dumpers.dump_AtlfInfo
def dump_AtlfInfo(info, f)
Definition: Dumpers.py:1230
python.Dumpers.dump_associatedSurface
def dump_associatedSurface(p, f)
Definition: Dumpers.py:1542
python.Dumpers.dump_TrigMissingET_nolist
def dump_TrigMissingET_nolist(m, f)
Definition: Dumpers.py:3847
python.Dumpers.PyTrigInDetTrack
Definition: Dumpers.py:3330
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
python.Dumpers.dump_InDetSimDataCollection
def dump_InDetSimDataCollection(p, f)
Definition: Dumpers.py:2068
python.Dumpers.dump_MM_RawData
def dump_MM_RawData(p, f)
Definition: Dumpers.py:5432
python.Dumpers.dump_PhotonAssociation
def dump_PhotonAssociation(a, f)
Definition: Dumpers.py:3480
python.Dumpers.dump_TrigPhoton
def dump_TrigPhoton(p, f)
Definition: Dumpers.py:3757
python.Dumpers._genvertex_particles_in_size
def _genvertex_particles_in_size(e)
Definition: Dumpers.py:2787
python.Dumpers.dump_PlaneSurface
def dump_PlaneSurface(info, f)
Definition: Dumpers.py:1487
python.Dumpers.dump_auxdata
def dump_auxdata(x, exclude=None, f=sys.stdout)
Definition: Dumpers.py:5672
python.Dumpers.dump_TrackStateOnSurface
def dump_TrackStateOnSurface(p, f)
Definition: Dumpers.py:2239
python.Dumpers.dump_NSW_PadTriggerDataContainer
def dump_NSW_PadTriggerDataContainer(p, f)
Definition: Dumpers.py:5469
python.Dumpers.dump_TRT_DriftCircleContainer
def dump_TRT_DriftCircleContainer(p, f)
Definition: Dumpers.py:4747
python.Dumpers.dump_CscSimDataCollection
def dump_CscSimDataCollection(p, f)
Definition: Dumpers.py:4784
python.Dumpers.nolist
def nolist(f)
Definition: Dumpers.py:103
python.Dumpers.dump_xAODObjectNL
def dump_xAODObjectNL(o, f)
Definition: Dumpers.py:5706
python.Dumpers.dump_STGC_RawData
def dump_STGC_RawData(p, f)
Definition: Dumpers.py:5421
python.Dumpers.dump_TgcPrepData
def dump_TgcPrepData(p, f)
Definition: Dumpers.py:4553
python.Dumpers.dump_ChamberT0s
def dump_ChamberT0s(m, f)
Definition: Dumpers.py:4429
python.Dumpers.dump_ZdcDigits
def dump_ZdcDigits(p, f)
Definition: Dumpers.py:5235
python.Dumpers.dump_MdtDriftCircleOnTrack
def dump_MdtDriftCircleOnTrack(p, f)
Definition: Dumpers.py:1679
python.Dumpers.dump_CTP_RDO
def dump_CTP_RDO(p, f)
Definition: Dumpers.py:5017
python.Dumpers.dump_TrigSpacePointCounts_nolist
def dump_TrigSpacePointCounts_nolist(c, f)
Definition: Dumpers.py:3951
python.Dumpers.dump_TauCommonExtraDetails
def dump_TauCommonExtraDetails(t, f)
Definition: Dumpers.py:928
python.getCurrentFolderTag.fn
fn
Definition: getCurrentFolderTag.py:79
python.Dumpers.dump_RpcSectorLogic
def dump_RpcSectorLogic(p, f)
Definition: Dumpers.py:5280
python.Dumpers.dump_CPMTower
def dump_CPMTower(p, f)
Definition: Dumpers.py:5007
python.Dumpers.toiter
def toiter(beg, end)
Definition: Dumpers.py:94
python.Dumpers.dump_TrigConfSeq
def dump_TrigConfSeq(p, f)
Definition: Dumpers.py:1879
python.Dumpers.dump_TileRawChannel
def dump_TileRawChannel(data, f)
Definition: Dumpers.py:4867
python.Dumpers.dump_TrigMuonEF
def dump_TrigMuonEF(m, f)
Definition: Dumpers.py:4154
python.Dumpers.dump_TriggerTower
def dump_TriggerTower(p, f)
Definition: Dumpers.py:5160
python.Dumpers.dump_MuonClusterOnTrack
def dump_MuonClusterOnTrack(p, f)
Definition: Dumpers.py:1698
python.Dumpers.dump_TrigInDetTrackTruthMap
def dump_TrigInDetTrackTruthMap(m, f)
Definition: Dumpers.py:3367
ParticleGun_EoverP_Config.momentum
momentum
Definition: ParticleGun_EoverP_Config.py:63
python.Dumpers.dump_IdentContIndex
def dump_IdentContIndex(p, f)
Definition: Dumpers.py:4515
python.Dumpers.dump_AFP_RawContainer
def dump_AFP_RawContainer(p, f)
Definition: Dumpers.py:1951
python.Dumpers.dump_EnergySum_ROI
def dump_EnergySum_ROI(m, f)
Definition: Dumpers.py:2986
python.Dumpers.dump_TrigTauCluster_nolist
def dump_TrigTauCluster_nolist(t, f)
Definition: Dumpers.py:3919
python.Dumpers.dump_measurement
def dump_measurement(p, f)
Definition: Dumpers.py:2158
python.Dumpers.forceInt.__init__
def __init__(self, x)
Definition: Dumpers.py:157
python.Dumpers._gen_attr
def _gen_attr(e, a, typ)
Definition: Dumpers.py:2750
python.Dumpers.barcodes
def barcodes(beg, end, sz)
Definition: Dumpers.py:2797
python.Dumpers.dump_Attribute
def dump_Attribute(p, f)
Definition: Dumpers.py:1724
python.Dumpers._gen_barcode
def _gen_barcode(p)
Definition: Dumpers.py:2762
python.Dumpers.dump_CscPrepData
def dump_CscPrepData(p, f)
Definition: Dumpers.py:4538
python.Dumpers.dump_CMMCPHits
def dump_CMMCPHits(p, f)
Definition: Dumpers.py:4959
python.Dumpers.dump_PixelCluster
def dump_PixelCluster(p, f)
Definition: Dumpers.py:4619
python.Dumpers.dump_TrackParticleTruth
def dump_TrackParticleTruth(p, f)
Definition: Dumpers.py:1387
python.Dumpers.PyTrigInDetTrackFitPar.a0
a0
Definition: Dumpers.py:3312
python.Dumpers.dump_ALFA_RawDataContainer
def dump_ALFA_RawDataContainer(p, f)
Definition: Dumpers.py:1993
python.Dumpers.PyTrigInDetTrackFitPar.eta
eta
Definition: Dumpers.py:3315
python.Dumpers.dump_LinkToTrack
def dump_LinkToTrack(l, f)
Definition: Dumpers.py:2589
python.Dumpers.dump_MdtPrepData
def dump_MdtPrepData(p, f)
Definition: Dumpers.py:4585
python.Dumpers.dump_RecVertex
def dump_RecVertex(v, f)
Definition: Dumpers.py:2571
python.Dumpers.dump_JetFitterTagInfo
def dump_JetFitterTagInfo(info, f)
Definition: Dumpers.py:1205
python.Dumpers.dump_MuonAssociation
def dump_MuonAssociation(a, f)
Definition: Dumpers.py:3489
python.Dumpers.dump_surface
def dump_surface(p, f)
Definition: Dumpers.py:1522
python.Dumpers.dump_TileL2
def dump_TileL2(p, f)
Definition: Dumpers.py:4936
python.Dumpers.dump_LArDigit
def dump_LArDigit(p, f)
Definition: Dumpers.py:5225
python.Dumpers.dump_JetAssociationBase
def dump_JetAssociationBase(a, f)
Definition: Dumpers.py:3466
python.Dumpers._genevent_vertices
def _genevent_vertices(e)
Definition: Dumpers.py:2776
HepMC::barcode
int barcode(const T *p)
Definition: Barcode.h:16
python.Dumpers.dump_CaloClusters_sorted
def dump_CaloClusters_sorted(l, f, nmax=None)
Definition: Dumpers.py:2526
xAOD::roiId
setTeId setLumiBlock roiId
Definition: L2StandAloneMuon_v1.cxx:332
python.Dumpers.dump_TRT_RDORawData
def dump_TRT_RDORawData(p, f)
Definition: Dumpers.py:4651
python.Dumpers.dump_MuonFeature
def dump_MuonFeature(m, f)
Definition: Dumpers.py:3975
python.Dumpers.dump_MissingEtTruth
def dump_MissingEtTruth(m, f)
Definition: Dumpers.py:2473
python.Dumpers.dump_TrigMonAlg
def dump_TrigMonAlg(p, f)
Definition: Dumpers.py:1804
python.Dumpers.dump_EMShower
def dump_EMShower(d, f)
Definition: Dumpers.py:410
python.Dumpers.dump_RpcCoinData
def dump_RpcCoinData(p, f)
Definition: Dumpers.py:4598
python.Dumpers.dump_sTgcClusterOnTrack
def dump_sTgcClusterOnTrack(p, f)
Definition: Dumpers.py:2121
python.Dumpers.safe_float_vector
def safe_float_vector(v)
Definition: Dumpers.py:129
python.Dumpers.dump_SecVtxInfo
def dump_SecVtxInfo(info, f)
Definition: Dumpers.py:1073
python.Dumpers.dump_BCM_RDO
def dump_BCM_RDO(p, f)
Definition: Dumpers.py:5178
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
python.Dumpers.dump_TrackParticle
def dump_TrackParticle(p, f)
Definition: Dumpers.py:1593
python.Dumpers.dump_AFP_ToFRawCollection
def dump_AFP_ToFRawCollection(p, f)
Definition: Dumpers.py:1943
python.Dumpers.dump_RIO_OnTrack
def dump_RIO_OnTrack(p, f)
Definition: Dumpers.py:1639
python.Dumpers.dump_TauRecExtraDetails
def dump_TauRecExtraDetails(t, f)
Definition: Dumpers.py:793
python.Dumpers.dump_ROIBHeader
def dump_ROIBHeader(p, f)
Definition: Dumpers.py:5065
python.Dumpers.dump_ALFA_RawDataCollection
def dump_ALFA_RawDataCollection(p, f)
Definition: Dumpers.py:1973
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
python.Dumpers.dump_LUCID_RawData
def dump_LUCID_RawData(p, f)
Definition: Dumpers.py:5170
python.Dumpers.dump_MissingETSig
def dump_MissingETSig(m, f)
Definition: Dumpers.py:2319
python.Dumpers.dump_CompetingRIOsOnTrack
def dump_CompetingRIOsOnTrack(p, f)
Definition: Dumpers.py:1690
python.Dumpers.PyTrigInDetTrackFitPar.z0
z0
Definition: Dumpers.py:3313
python.Dumpers.asinh
def asinh(x)
helper methods ---------------------------------------------------------—
Definition: Dumpers.py:88
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.Dumpers.dump_MissingETSigHypo
def dump_MissingETSigHypo(h, f)
Definition: Dumpers.py:2357
python.Dumpers.dump_RoiDescriptor
def dump_RoiDescriptor(d, f)
Definition: Dumpers.py:3852
python.Dumpers.uchar_accessor.__init__
def __init__(self, name)
Definition: Dumpers.py:5522
python.Dumpers.dump_ExtendedVxCandidate
def dump_ExtendedVxCandidate(c, f)
Definition: Dumpers.py:3633
python.Dumpers.dump_GenParticle
def dump_GenParticle(p, f)
Definition: Dumpers.py:2855
python.Dumpers.dump_TgcPrepDataContainer
def dump_TgcPrepDataContainer(p, f)
Definition: Dumpers.py:4717
python.Dumpers.dump_MuonSpShower
def dump_MuonSpShower(m, f)
Definition: Dumpers.py:3452
python.Dumpers.dump_TrigElectron
def dump_TrigElectron(p, f)
Definition: Dumpers.py:3747
python.Dumpers.dump_ROIBTrailer
def dump_ROIBTrailer(p, f)
Definition: Dumpers.py:5070
python.Dumpers.dump_SCT_ClusterOnTrack
def dump_SCT_ClusterOnTrack(p, f)
Definition: Dumpers.py:1660
python.Dumpers.dump_EMTauRoI
def dump_EMTauRoI(p, f)
Definition: Dumpers.py:5114
python.Dumpers.genvertex_out_barcodes
def genvertex_out_barcodes(v)
Definition: Dumpers.py:2819
python.Dumpers.uchar_accessor.__call__
def __call__(self, x)
Definition: Dumpers.py:5525
python.Dumpers.dump_HLV
def dump_HLV(v, f)
Definition: Dumpers.py:208
python.Dumpers.dump_TgcCoinDataContainer
def dump_TgcCoinDataContainer(p, f)
Definition: Dumpers.py:4723
python.Dumpers.dump_CSCSimHit
def dump_CSCSimHit(p, f)
Definition: Dumpers.py:5190
python.Dumpers.dump_Surface
def dump_Surface(info, f)
Definition: Dumpers.py:1453
python.Dumpers.dump_IDC
def dump_IDC(payload_dumper, p, f, extra_idc_dumper=None)
Definition: Dumpers.py:4663
python.Dumpers.dump_GenEvent
def dump_GenEvent(e, f)
Definition: Dumpers.py:2894
python.Dumpers.dump_Segment
def dump_Segment(p, f)
Definition: Dumpers.py:2288
python.Dumpers.dump_TgcCoinData
def dump_TgcCoinData(p, f)
Definition: Dumpers.py:4560
python.Dumpers.dump_CscStripPrepData
def dump_CscStripPrepData(p, f)
Definition: Dumpers.py:4545
python.Dumpers.dump_TrackInfo
def dump_TrackInfo(p, f)
Definition: Dumpers.py:2252
python.Dumpers.dump_TrigTauTracksInfo_nolist
def dump_TrigTauTracksInfo_nolist(t, f)
Definition: Dumpers.py:3970
python.Dumpers.dump_SCT_RawDataContainer
def dump_SCT_RawDataContainer(p, f)
Definition: Dumpers.py:4765
python.Dumpers.dump_HLTResultMT
def dump_HLTResultMT(p, f)
Definition: Dumpers.py:3059
python.Dumpers.tonone
def tonone(x)
Definition: Dumpers.py:113
python.Dumpers.dump_ScatteringAngles
def dump_ScatteringAngles(p, f)
Definition: Dumpers.py:2199
python.Dumpers.dump_HLTAODConfigData
def dump_HLTAODConfigData(d, f)
Definition: Dumpers.py:3152
python.Dumpers.formatItemUsingLong
def formatItemUsingLong(x)
Definition: Dumpers.py:159
python.Dumpers.dump_CaloCell
def dump_CaloCell(l, f)
Definition: Dumpers.py:2556
python.Dumpers.dump_TrigMuonEFIsolation
def dump_TrigMuonEFIsolation(m, f)
Definition: Dumpers.py:4458
python.Dumpers.dump_Lvl1Result
def dump_Lvl1Result(t, f)
Definition: Dumpers.py:3073
python.Dumpers.dump_TrigTauTracksInfo
def dump_TrigTauTracksInfo(t, f)
Definition: Dumpers.py:3956
python.Dumpers.dump_CaloSamplingData
def dump_CaloSamplingData(s, f)
Definition: Dumpers.py:4174
beamspotman.dir
string dir
Definition: beamspotman.py:621
python.Dumpers.dump_JetMomentMapCollection
def dump_JetMomentMapCollection(p, f)
Definition: Dumpers.py:2030
python.Dumpers.dump_TrackAssociation
def dump_TrackAssociation(a, f)
Definition: Dumpers.py:3498
python.Dumpers.dump_TgcRdo
def dump_TgcRdo(p, f)
Definition: Dumpers.py:5391
python.Dumpers._genevent_particles
def _genevent_particles(e)
Definition: Dumpers.py:2772
python.Dumpers.dump_MvfFitInfo
def dump_MvfFitInfo(v, f)
Definition: Dumpers.py:2660
python.Dumpers.dump_LinkToTrackParticleBase
def dump_LinkToTrackParticleBase(l, f)
Definition: Dumpers.py:2595
python.Dumpers.dump_TileRawChannelCollection
def dump_TileRawChannelCollection(data, f)
Definition: Dumpers.py:4889
python.Dumpers.dump_LineSaggingDescriptor
def dump_LineSaggingDescriptor(info, f)
Definition: Dumpers.py:1507
python.Dumpers.dump_TrigMuonEFTrack
def dump_TrigMuonEFTrack(t, f)
Definition: Dumpers.py:4317
python.Dumpers.dump_xAOD
def dump_xAOD(o, f)
Definition: Dumpers.py:5693
python.Dumpers.dump_MdtAmtHit
def dump_MdtAmtHit(p, f)
Definition: Dumpers.py:5407
python.Dumpers.dump_JetET_ROI
def dump_JetET_ROI(m, f)
Definition: Dumpers.py:2978
python.Dumpers.dump_Muon_ROI
def dump_Muon_ROI(m, f)
Definition: Dumpers.py:2932
python.Dumpers.dump_V0Candidate
def dump_V0Candidate(v, f)
Definition: Dumpers.py:3654
python.Dumpers.dump_AmgVector
def dump_AmgVector(m, f, thresh=1e-38, prec=3)
Definition: Dumpers.py:316
python.Dumpers.dump_TileMuonReceiverObj
def dump_TileMuonReceiverObj(p, f)
Definition: Dumpers.py:4953
python.Dumpers.dump_INav4MomAssocs
def dump_INav4MomAssocs(a, f)
Definition: Dumpers.py:3437
python.Dumpers.dump_CaloCluster
def dump_CaloCluster(c, f)
Definition: Dumpers.py:2484
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.Dumpers.dump_CscSimData
def dump_CscSimData(p, f)
Definition: Dumpers.py:4775
python.Dumpers.dump_TRT_DriftCircle
def dump_TRT_DriftCircle(p, f)
Definition: Dumpers.py:4633
python.Dumpers.dump_NSW_PadTriggerData
def dump_NSW_PadTriggerData(p, f)
Definition: Dumpers.py:5444
python.Dumpers.dump_MissingEtCalo
def dump_MissingEtCalo(m, f)
Definition: Dumpers.py:2459
python.Dumpers.dump_MdtPrepDataContainer
def dump_MdtPrepDataContainer(p, f)
Definition: Dumpers.py:4729
python.Dumpers.dump_TrigDecision
def dump_TrigDecision(t, f)
Definition: Dumpers.py:3086
python.Dumpers.dump_DiscSurface
def dump_DiscSurface(info, f)
Definition: Dumpers.py:1502
python.Dumpers.dump_TrigT2MbtsBits
def dump_TrigT2MbtsBits(t, f)
Definition: Dumpers.py:4269
python.Dumpers.dump_ComTime
def dump_ComTime(p, f)
Definition: Dumpers.py:2100
python.Dumpers.dump_TrigInDetTrackCollection
def dump_TrigInDetTrackCollection(t, f)
Definition: Dumpers.py:3769
python.Dumpers.dump_TrackConstituents
def dump_TrackConstituents(info, f)
Definition: Dumpers.py:1276
python.Dumpers.dump_TRT_RawDataContainer
def dump_TRT_RawDataContainer(p, f)
Definition: Dumpers.py:4759
python.Dumpers.char_accessor
Definition: Dumpers.py:5514
python.Dumpers.dump_SCT_Cluster
def dump_SCT_Cluster(p, f)
Definition: Dumpers.py:4627
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:239
python.Dumpers.dump_CscClusterOnTrack
def dump_CscClusterOnTrack(p, f)
Definition: Dumpers.py:2140
python.Dumpers.dump_MM_RawDataContainer
def dump_MM_RawDataContainer(p, f)
Definition: Dumpers.py:5439
python.Dumpers.dump_TrigEFBjet
def dump_TrigEFBjet(j, f)
Definition: Dumpers.py:3776
python.Dumpers.dump_TrigMonConfig
def dump_TrigMonConfig(p, f)
Definition: Dumpers.py:1888
python.Dumpers.dump_ParticleJet
def dump_ParticleJet(j, f)
Definition: Dumpers.py:1303
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
python.Dumpers.dump_SCT_ClusterContainer
def dump_SCT_ClusterContainer(p, f)
Definition: Dumpers.py:4741
python.Dumpers.daz
def daz(f)
Definition: Dumpers.py:148
python.Dumpers.dump_TrigRoiDescriptor
def dump_TrigRoiDescriptor(d, f)
Definition: Dumpers.py:3863
python.Dumpers.signalstate
def signalstate(o, state)
Definition: Dumpers.py:134
python.Dumpers.dump_TauDetail
def dump_TauDetail(t, f)
Definition: Dumpers.py:708
python.Dumpers.PyTrigInDetTrackFitPar.cov
cov
Definition: Dumpers.py:3325
python.Dumpers.PyTrigInDetTrack.NStrawHits
NStrawHits
Definition: Dumpers.py:3334
python.Dumpers.PyTrigInDetTrackFitPar.ea0
ea0
Definition: Dumpers.py:3317
python.Dumpers._genevent_signal_process_vertex
def _genevent_signal_process_vertex(e)
Definition: Dumpers.py:2780
python.Dumpers.dump_ElectronMuonTopoInfo
def dump_ElectronMuonTopoInfo(a, f)
Definition: Dumpers.py:3446
python.Dumpers.dump_TRT_BSErrContainer
def dump_TRT_BSErrContainer(p, f)
Definition: Dumpers.py:1763
python.Dumpers.dump_CaloTopoTowerContainer
def dump_CaloTopoTowerContainer(t, f)
Definition: Dumpers.py:4200
python.Dumpers.dump_EnergyLoss
def dump_EnergyLoss(p, f)
Definition: Dumpers.py:604
python.Dumpers.dump_SVInfoPlus
def dump_SVInfoPlus(info, f)
Definition: Dumpers.py:1132
python.Dumpers.fix_neg0
def fix_neg0(x, thresh=0)
library methods ---------------------------------------------------------—
Definition: Dumpers.py:199
python.Dumpers.dump_ALFA_RawData
def dump_ALFA_RawData(p, f)
Definition: Dumpers.py:1965
python.Dumpers.PyTrigInDetTrack.siSpacePoints
siSpacePoints
Definition: Dumpers.py:3338
python.Dumpers.dump_MuCTPIRoI
def dump_MuCTPIRoI(p, f)
Definition: Dumpers.py:5075
python.Dumpers.dump_MissingETComposition
def dump_MissingETComposition(m, f)
Definition: Dumpers.py:4413
python.Dumpers.dump_AFP_ToFRawData
def dump_AFP_ToFRawData(p, f)
Definition: Dumpers.py:1934
python.Dumpers.dump_TgcRdoContainer
def dump_TgcRdoContainer(p, f)
Definition: Dumpers.py:5401
python.Dumpers.dump_IPTrackInfo
def dump_IPTrackInfo(info, f)
Definition: Dumpers.py:1088
python.Dumpers.dump_CaloTowerContainer
def dump_CaloTowerContainer(t, f)
Definition: Dumpers.py:4192
python.Dumpers.dump_TauRecDetails
def dump_TauRecDetails(t, f)
Definition: Dumpers.py:757
python.Dumpers.dump_Tau1P3PDetails
def dump_Tau1P3PDetails(t, f)
Definition: Dumpers.py:715
python.Dumpers.dump_BunchConfKey
def dump_BunchConfKey(p, f)
Definition: Dumpers.py:1909
python.Dumpers.dump_PseudoMeasurementOnTrack
def dump_PseudoMeasurementOnTrack(p, f)
Definition: Dumpers.py:2151
python.Dumpers.dump_MuonCluster
def dump_MuonCluster(p, f)
Definition: Dumpers.py:4532
python.Dumpers.dump_InDetSimData
def dump_InDetSimData(p, f)
Definition: Dumpers.py:2055
python.Dumpers.typename
def typename(t)
Definition: Dumpers.py:193
python.Dumpers.dump_AFP_SiRawCollection
def dump_AFP_SiRawCollection(p, f)
Definition: Dumpers.py:1927
python.Dumpers.toiter1
def toiter1(c)
Definition: Dumpers.py:100
python.Dumpers.dump_materialeffects
def dump_materialeffects(p, f)
Definition: Dumpers.py:2215
python.Dumpers.dump_TrigEMCluster
def dump_TrigEMCluster(c, f)
Definition: Dumpers.py:3734
python.Dumpers.dump_TrigEMCluster_nolist
def dump_TrigEMCluster_nolist(c, f)
Definition: Dumpers.py:3742
python.Dumpers.dump_TrigHisto1D
def dump_TrigHisto1D(h, f)
Definition: Dumpers.py:3930
python.copyTCTOutput.chains
chains
Definition: copyTCTOutput.py:80
python.Dumpers.dump_DetStatusMap
def dump_DetStatusMap(m, f)
Definition: Dumpers.py:3244
python.Dumpers.dump_TauPi0Cluster
def dump_TauPi0Cluster(t, f)
Definition: Dumpers.py:810
python.Dumpers.dump_MissingET
def dump_MissingET(m, f)
Definition: Dumpers.py:2298
python.Dumpers.dump_VxTrackAtVertex
def dump_VxTrackAtVertex(t, f)
Definition: Dumpers.py:2601
python.Dumpers.dump_SCT_RDORawData
def dump_SCT_RDORawData(p, f)
Definition: Dumpers.py:4657
python.Dumpers.dump_TrigMonTE
def dump_TrigMonTE(p, f)
Definition: Dumpers.py:1815
python.Dumpers.dump_MuonSimData
def dump_MuonSimData(p, f)
Definition: Dumpers.py:4797
python.Dumpers.dump_CaloCalibrationHit
def dump_CaloCalibrationHit(t, f)
Definition: Dumpers.py:4228
python.Dumpers.dump_FitQuality
def dump_FitQuality(info, f)
Definition: Dumpers.py:1436
python.testIfMatch.matrix
matrix
Definition: testIfMatch.py:65
python.Dumpers.dump_TgcBitmask
def dump_TgcBitmask(p, f, lab, fields)
Definition: Dumpers.py:5335
python.Dumpers.dump_JEMRoI
def dump_JEMRoI(p, f)
Definition: Dumpers.py:5050
python.Dumpers.dump_CPMHits
def dump_CPMHits(p, f)
Definition: Dumpers.py:4995
python.Dumpers.dump_TileTrackMuFeature
def dump_TileTrackMuFeature(m, f)
Definition: Dumpers.py:4122
python.Dumpers.dump_L1TopoRDO
def dump_L1TopoRDO(p, f)
Definition: Dumpers.py:5127
python.Dumpers.dump_IDCInDetBSErrContainer
def dump_IDCInDetBSErrContainer(p, f)
Definition: Dumpers.py:1756
python.Dumpers.dump_CscMcData
def dump_CscMcData(p, f)
Definition: Dumpers.py:4770
python.Dumpers.dump_GenVertex
def dump_GenVertex(v, f)
Definition: Dumpers.py:2828
python.Dumpers.dump_MissingETSigObject
def dump_MissingETSigObject(m, f)
Definition: Dumpers.py:2405
python.Dumpers.dump_Trig3Momentum
def dump_Trig3Momentum(m, f)
Definition: Dumpers.py:3872
python.Dumpers.dump_CurvilinearParameters
def dump_CurvilinearParameters(info, f)
Definition: Dumpers.py:1564
python.Dumpers.dump_MeasurementBase
def dump_MeasurementBase(p, f)
Definition: Dumpers.py:1633
python.Dumpers.dump_ClusterSplitProbabilityContainer
def dump_ClusterSplitProbabilityContainer(p, f)
Definition: Dumpers.py:2049
python.Dumpers.PyTrigInDetTrack.param
param
Definition: Dumpers.py:3341
python.Dumpers.PyTrigInDetTrackFitPar.eeta
eeta
Definition: Dumpers.py:3320
python.Dumpers.dump_TrigVertexCounts
def dump_TrigVertexCounts(v, f)
Definition: Dumpers.py:4452
python.Dumpers.dump_TrigMonEvent
def dump_TrigMonEvent(p, f)
Definition: Dumpers.py:1825
python.Dumpers.dump_TauCommonDetails
def dump_TauCommonDetails(t, f)
Definition: Dumpers.py:849
python.Dumpers.PyTrigInDetTrackFitPar.surfaceCoordinate
surfaceCoordinate
Definition: Dumpers.py:3322
python.Dumpers.dump_EMErrorDetail
def dump_EMErrorDetail(d, f)
Definition: Dumpers.py:442
python.Dumpers.dump_Jet_ROI
def dump_Jet_ROI(m, f)
Definition: Dumpers.py:2965
python.Dumpers.dump_CscStripPrepDataContainer
def dump_CscStripPrepDataContainer(p, f)
Definition: Dumpers.py:4699
python.Dumpers.forceInt.x
x
Definition: Dumpers.py:158
python.Dumpers.dump_TrigTau_nolist
def dump_TrigTau_nolist(t, f)
Definition: Dumpers.py:3722
python.Dumpers.genvertex_in_barcodes
def genvertex_in_barcodes(v)
Definition: Dumpers.py:2810
python.Dumpers.dump_RingerRings
def dump_RingerRings(r, f)
Definition: Dumpers.py:4344
python.Dumpers.format_float
def format_float(x)
Definition: Dumpers.py:5499
python.Dumpers.dump_MdtCsmContainer
def dump_MdtCsmContainer(p, f)
Definition: Dumpers.py:5413
python.Dumpers.dump_TrackTruthCollection
def dump_TrackTruthCollection(p, f)
Definition: Dumpers.py:2085
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
python.Dumpers.dump_BaseTagInfo
def dump_BaseTagInfo(info, f)
Definition: Dumpers.py:1036
python.Dumpers.dump_TrigMonSeq
def dump_TrigMonSeq(p, f)
Definition: Dumpers.py:1808
python.Dumpers.dump_TileDigitsContainer
def dump_TileDigitsContainer(p, f)
Definition: Dumpers.py:4836
python.Dumpers.dump_TrigRNNOutput
def dump_TrigRNNOutput(p, f)
Definition: Dumpers.py:4359
python.Dumpers.dump_JetEnergyResult
def dump_JetEnergyResult(p, f)
Definition: Dumpers.py:5106
python.Dumpers.dump_Muon
def dump_Muon(m, f)
Definition: Dumpers.py:629
python.Dumpers.format_float_vector
def format_float_vector(v)
Definition: Dumpers.py:5500
python.Dumpers.dump_TrigPassBits
def dump_TrigPassBits(b, f)
Definition: Dumpers.py:4441
python.Dumpers.dump_EventInfo
def dump_EventInfo(e, f)
Definition: Dumpers.py:2714
python.Dumpers.dump_RawInfoSummaryForTag
def dump_RawInfoSummaryForTag(p, f)
Definition: Dumpers.py:4405
python.Dumpers.dump_TrigConfSig
def dump_TrigConfSig(p, f)
Definition: Dumpers.py:1851
python.Dumpers.dump_CscRawDataContainer
def dump_CscRawDataContainer(p, f)
Definition: Dumpers.py:5297
python.Dumpers.dump_MuCTPI_RDO
def dump_MuCTPI_RDO(p, f)
Definition: Dumpers.py:5029
str
Definition: BTagTrackIpAccessor.cxx:11
python.Dumpers.dump_TileRawChannelContainer
def dump_TileRawChannelContainer(data, f)
Definition: Dumpers.py:4907
python.Dumpers.dump_PixelRDORawData
def dump_PixelRDORawData(p, f)
Definition: Dumpers.py:4645
python.Dumpers.dump_TRTUncompressedHit
def dump_TRTUncompressedHit(t, f)
Definition: Dumpers.py:4260
python.Dumpers.dump_ParticleImpl
def dump_ParticleImpl(p, f)
Definition: Dumpers.py:359
python.Dumpers.dump_Electron
def dump_Electron(e, f)
Definition: Dumpers.py:595
python.Dumpers.dump_SiWidth
def dump_SiWidth(p, f)
Definition: Dumpers.py:4604
python.Dumpers.dump_MVFVxCandidate
def dump_MVFVxCandidate(v, f)
Definition: Dumpers.py:2667
python.Dumpers.dump_CombinedMuonFeature
def dump_CombinedMuonFeature(m, f)
Definition: Dumpers.py:4135
python.Dumpers.dump_TrigConfKeys
def dump_TrigConfKeys(p, f)
Definition: Dumpers.py:4510
python.Dumpers.dump_TrigTrackCounts
def dump_TrigTrackCounts(t, f)
Definition: Dumpers.py:3701
python.Dumpers.dump_TileDigits
def dump_TileDigits(p, f)
Definition: Dumpers.py:4829
python.Dumpers.dump_RpcClusterOnTrack
def dump_RpcClusterOnTrack(p, f)
Definition: Dumpers.py:1716
python.Dumpers.PyTrigInDetTrack.NStraw
NStraw
Definition: Dumpers.py:3335
python.Dumpers.PyTrigInDetTrackFitPar.surfaceType
surfaceType
Definition: Dumpers.py:3323
python.Dumpers.dump_CaloEnergy
def dump_CaloEnergy(p, f)
Definition: Dumpers.py:613
python.Dumpers.cmp
def cmp(x, y)
Definition: Dumpers.py:36
python.Dumpers.PyTrigInDetTrackFitPar.ez0
ez0
Definition: Dumpers.py:3318
python.Dumpers.dump_HLTResult
def dump_HLTResult(t, f)
Definition: Dumpers.py:3035
python.Dumpers.dump_SVInfoBase
def dump_SVInfoBase(info, f)
Definition: Dumpers.py:1118
python.Dumpers.dump_TrigHisto2D
def dump_TrigHisto2D(h, f)
Definition: Dumpers.py:3933
python.Dumpers.dump_HLTTriggerElement
def dump_HLTTriggerElement(e, f)
Definition: Dumpers.py:3097
python.Dumpers.char_accessor.ac
ac
Definition: Dumpers.py:5516
python.fprint.fprint
def fprint(f, *args)
Definition: fprint.py:76
python.Dumpers.dump_JetProbInfoBase
def dump_JetProbInfoBase(info, f)
Definition: Dumpers.py:1182
python.Dumpers.dump_TileRawData
def dump_TileRawData(p, f)
Definition: Dumpers.py:4824
python.Dumpers.dump_CPMRoI
def dump_CPMRoI(p, f)
Definition: Dumpers.py:5002
python.Dumpers.dump_GenericResult
def dump_GenericResult(t, f)
Definition: Dumpers.py:3026
python.Dumpers.dump_TrigConfAlg
def dump_TrigConfAlg(p, f)
Definition: Dumpers.py:1873
python.Dumpers.dump_TrigTauCluster
def dump_TrigTauCluster(t, f)
Definition: Dumpers.py:3906
python.Dumpers.PyTrigInDetTrackFitPar.__init__
def __init__(self, t)
Definition: Dumpers.py:3311
python.Dumpers.dump_VxCandidate
def dump_VxCandidate(v, f)
Definition: Dumpers.py:2674
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
python.Dumpers.dump_TrigInDetTrack
def dump_TrigInDetTrack(t, f)
Definition: Dumpers.py:3288
python.Dumpers.uf
def uf(x)
Definition: Dumpers.py:438
python.Dumpers.format_el
def format_el(x)
Definition: Dumpers.py:5506
python.Dumpers.dump_V0Hypothesis
def dump_V0Hypothesis(h, f)
Definition: Dumpers.py:3643
python.Dumpers.dump_LArNoisyROSummary
def dump_LArNoisyROSummary(p, f)
Definition: Dumpers.py:4391
python.Dumpers.dump_MuonConstituent
def dump_MuonConstituent(info, f)
Definition: Dumpers.py:1295
python.Dumpers.dump_TrigMonRoi
def dump_TrigMonRoi(p, f)
Definition: Dumpers.py:1800
python.Dumpers.dump_Threevec
def dump_Threevec(v, f)
Definition: Dumpers.py:294
Trk::split
@ split
Definition: LayerMaterialProperties.h:38
python.Dumpers.dump_HLTChain
def dump_HLTChain(c, f)
Definition: Dumpers.py:3121
python.Dumpers.dump_TrackSummary
def dump_TrackSummary(info, f)
Definition: Dumpers.py:1444
python.Dumpers.dump_Lvl1AODPrescaleConfigData
def dump_Lvl1AODPrescaleConfigData(d, f)
Definition: Dumpers.py:3217
python.Dumpers.dump_TrackCountingInfo
def dump_TrackCountingInfo(info, f)
Definition: Dumpers.py:1219
python.Dumpers.dump_TileTTL1
def dump_TileTTL1(p, f)
Definition: Dumpers.py:4948
python.Dumpers.dump_BCM_RDO_Collection
def dump_BCM_RDO_Collection(p, f)
Definition: Dumpers.py:5183
python.Dumpers.dump_MDTSimHit
def dump_MDTSimHit(p, f)
Definition: Dumpers.py:5199
python.Dumpers.dump_RecoTimingObj
def dump_RecoTimingObj(c, f)
Definition: Dumpers.py:4504
python.Dumpers.dump_CTPResult
def dump_CTPResult(p, f)
Definition: Dumpers.py:5093
python.Dumpers.dump_TrigT2Jet
def dump_TrigT2Jet(j, f)
Definition: Dumpers.py:3877
python.Dumpers.nolist_nmax
def nolist_nmax(f)
Definition: Dumpers.py:108
python.Dumpers.dump_MuonFeature_nolist
def dump_MuonFeature_nolist(m, f)
Definition: Dumpers.py:3985
python.Dumpers.dump_InDetTime
def dump_InDetTime(p, f)
Definition: Dumpers.py:1750
python.Dumpers.dump_SubDetHitStatistics
def dump_SubDetHitStatistics(s, f)
Definition: Dumpers.py:1411
python.Dumpers.dump_TrigTrackCounts_nolist
def dump_TrigTrackCounts_nolist(t, f)
Definition: Dumpers.py:3708
python.Dumpers.dump_ParticleBase
def dump_ParticleBase(e, f)
Definition: Dumpers.py:342
python.Dumpers.dump_JEMHits
def dump_JEMHits(p, f)
Definition: Dumpers.py:5044
python.Dumpers.asint
def asint(x)
Definition: Dumpers.py:117
python.Dumpers.dump_SkimDecision
def dump_SkimDecision(p, f)
Definition: Dumpers.py:4399
python.Dumpers.dump_RPCSimHit
def dump_RPCSimHit(p, f)
Definition: Dumpers.py:5207
python.Dumpers._tmcmp
def _tmcmp(x, y)
Definition: Dumpers.py:3351
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106
python.Dumpers.dump_HepMcParticleLink
def dump_HepMcParticleLink(p, f)
Definition: Dumpers.py:4246
python.Dumpers.dump_CTPRoI
def dump_CTPRoI(p, f)
Definition: Dumpers.py:5088
python.Dumpers.dump_TauPi0Candidate
def dump_TauPi0Candidate(t, f)
Definition: Dumpers.py:801
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
python.Dumpers.PyTrigInDetTrack.chi2
chi2
Definition: Dumpers.py:3333
python.Dumpers.dump_TrigL2Bphys
def dump_TrigL2Bphys(j, f)
Definition: Dumpers.py:3817
python.Dumpers.dump_GbbNNTagInfo
def dump_GbbNNTagInfo(info, f)
Definition: Dumpers.py:1256
python.Dumpers.dump_CylinderSurface
def dump_CylinderSurface(info, f)
Definition: Dumpers.py:1497
python.Dumpers.dump_TrackRecord
def dump_TrackRecord(t, f)
Definition: Dumpers.py:3223