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