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