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, a.RoiWord(), a.DeltaPhi(), a.DeltaR(), a.InvMass(),
3112 a.ElecValid(), a.OppositeCharge(), a.VertexState())
3113 return
3114
3115
3117 fprint (f, "%f %f %d %d %d %d %d %d %d" %
3118 (m.eta(),
3119 m.phi(),
3120 m.numberOfTriggerHits(),
3121 m.numberOfInnerHits(),
3122 m.numberOfMiddleHits(),
3123 m.numberOfOuterHits(),
3124 m.numberOfInnerSegments(),
3125 m.numberOfMiddleSegments(),
3126 m.numberOfOuterSegments()))
3127 return
3128
3129
3131 fprint (f, a.name())
3132 return
3133
3134
3136 dump_JetAssociationBase (a, f)
3137 ele = a.electron()
3138 if ele:
3139 fprint (f, a.getElectronWeight (ele))
3140 dump_Fourvec (ele, f)
3141 return
3142
3143
3145 dump_JetAssociationBase (a, f)
3146 gam = a.photon()
3147 if gam:
3148 fprint (f, a.getPhotonWeight (gam))
3149 dump_Fourvec (gam, f)
3150 return
3151
3152
3154 dump_JetAssociationBase (a, f)
3155 muo = a.muon()
3156 if muo != muonNull:
3157 fprint (f, a.getMuonWeight (muo))
3158 dump_Fourvec (muo, f)
3159 return
3160
3161
3163 return i.infoType()
3164
3165def dump_Jet (j, f):
3166 if j.e() == 0 and j.phi() == 0 and j.eta() == 0:
3167 with signalstate (j, PyAthena.P4SignalState.JETEMSCALE):
3168 dump_ParticleImpl (j, f)
3169 else:
3170 dump_ParticleImpl (j, f)
3171 fprint (f, '\n %s %f' %
3172 (j.jetAuthor(),
3173 j.getFlavourTagWeight(),))
3174 # ELs to towers will always be invalid (towers aren't actually saved...)
3175 tower_constituents_p = False
3176 if j.firstConstituent() != j.lastConstituent():
3177 if isinstance (j.getContainer(j.firstConstituent()),
3178 PyAthena.CaloTowerContainer):
3179 tower_constituents_p = True
3180 elif j.firstConstituent().__deref__():
3181 ss = asint(j.constituentSignalState())
3182 j.setConstituentSignalState (PyAthena.P4SignalState.CALIBRATED)
3183 dump_HLV (j.constituent_sum4Mom(), f)
3184 j.setConstituentSignalState (ss)
3185 fprint (f, [x for x in j.combinedLikelihood()])
3186 fprint (f, '\n moms ')
3187 for mk in j.getMomentKeys():
3188 if mk in ['Timing', 'LArQuality']: continue
3189 mom = j.getMoment (mk, False)
3190 if mom != 0:
3191 fprint (f, mk, j.getMoment (mk, True))
3192 if hasattr(j, 'getJetTime'):
3193 fprint (f, '\n timing ', j.getJetTime(),
3194 ' qual ', j.getJetQuality())
3195 else:
3196 fprint (f, '\n timing ', j.getMoment('Timing',True),
3197 ' qual ', j.getMoment('LArQuality',True))
3198 fprint (f, '\n assoc ')
3199 for ak in j.getAssociationKeys():
3200 ass = j.getAssociationBase(ak)
3201 if ass == jetAssocNull : continue
3202 fprint (f, '\n ', ak)
3203 if isinstance (ass, PyAthena.Analysis.ElectronAssociation):
3204 dump_ElectronAssociation (ass, f)
3205 elif isinstance (ass, PyAthena.Analysis.PhotonAssociation):
3206 dump_PhotonAssociation (ass, f)
3207 elif isinstance (ass, PyAthena.Analysis.MuonAssociation):
3208 dump_MuonAssociation (ass, f)
3209 else:
3210 fprint (f, ass)
3211 ti = j.jetTagInfoVector()
3212 fprint (f, '\n tag info:')
3213 if ti:
3214 #ROOT.SetOwnership (ti, True)
3215 ti = list(ti)
3216 ti.sort (key=_infoType)
3217 for info in ti:
3218 if not info:
3219 fprint (f, '\n (null)')
3220 continue
3221 fprint (f, '\n %s %s: %f: '
3222 % (info.infoType(), typename(info.__class__), j.getFlavourTagWeight (info.infoType())))
3223 fprint (f, info)
3224 if tower_constituents_p:
3225 fprint (f, '\n (not dumping tower constituents)')
3226 else:
3227 fprint (f, '\n constituents:')
3228 for c in toiter (j.firstConstituent(), j.lastConstituent()):
3229 fprint (f, '\n ')
3230 if not c:
3231 fprint (f, tonone(c))
3232 else:
3233 fprint (f, typename(c.__class__))
3234 fprint (f, j.getWeight (c))
3235 dump_Fourvec (c, f)
3236 return
3237
3238
3240 dump_VxCandidate1 (c, f)
3241 fprint (f, '\n em')
3242 if c.fullCovariance():
3243 dump_AmgMatrix (c.fullCovariance(), f)
3244 else:
3245 fprint (f, None)
3246 return
3247
3248
3250 if h is None:
3251 fprint (f, None)
3252 return
3253 fprint (f, 'V0Hypothesis', h.positiveTrackID(),
3254 h.negativeTrackID(), h.hypothesisID())
3255 fprint (f, '\n ')
3256 dump_ExtendedVxCandidate (h, f)
3257 return
3258
3259
3261 fprint (f, "V0Candidate", len(v.v0Hypothesis()))
3262 for h in v.v0Hypothesis():
3263 fprint (f, '\n ')
3264 dump_V0Hypothesis (h, f)
3265 return
3266
3267
3269 dump_Threevec (v, f)
3270 fprint (f, v.algorithmId(), v.chi2(), v.ndof(), v.mass(),
3271 v.massVariance(), v.energyFraction(), v.nTwoTracksSecVtx())
3272 fprint (f, '\n cov: ', [v.cov()[i] for i in range(6)])
3273 if v.tracks() and v.tracks().size() > 0:
3274 for (i, t) in enumerate (v.tracks()):
3275 fprint (f, '\n t%d'%i)
3276 p = t.param()
3277 fprint (f, p.a0(), p.z0(), p.phi0(), p.eta(), p.pT())
3278 if v.getMotherTrack():
3279 fprint (f, '\n mother: ')
3280 dump_TrigInDetTrackFitPar (v.getMotherTrack(), f)
3281 return
3282
3283
3284def dump_clist (l, f):
3285 fprint (f, '[')
3286 last = None
3287 n = 0
3288 for i in l:
3289 if i != last:
3290 if n > 0:
3291 if n == 1:
3292 fprint (f, '%f, ' % last)
3293 else:
3294 fprint (f, '%d*%f, ' % (n, last))
3295 last = i
3296 n = 1
3297 else:
3298 n = n + 1
3299 if n > 0:
3300 if n == 1:
3301 fprint (f, '%f, ' % last)
3302 else:
3303 fprint (f, '%d*%f, ' % (n, last))
3304 fprint (f, ']')
3305 return
3306
3308 fprint (f, 'z0_pt:')
3309 dump_TrigHisto2D (t.z0_pt(), f)
3310 fprint (f, '\neta_phi:')
3311 dump_TrigHisto2D (t.eta_phi(), f)
3312 return
3313@nolist
3315 dump_TrigTrackCounts (t, f)
3316 return
3317
3318
3319def dump_TrigTau (t, f):
3320 dump_Fourvec (t, f)
3321 fprint (f, t.roiId(), t.Zvtx(), t.err_Zvtx(), t.etCalibCluster(),
3322 t.simpleEtFlow(), t.nMatchedTracks())
3323 fprint (f, '\n ', tonone(t.tauCluster()),
3324 tonone(t.trackCollection()),
3325 tonone(t.tracksInfo()))
3326 return
3327@nolist
3329 dump_TrigTau (t, f)
3330 return
3331
3332
3334 fprint (f, c.rawEnergy(), c.rawEt(), c.rawEta(), c.rawPhi(), c.RoIword(),
3335 c.nCells(), c.quality())
3336 fprint (f, '\n ', [c.rawEnergy(i) for i in range(25)])
3337 return
3338
3339
3341 dump_TrigCaloCluster (c, f)
3342 fprint (f, '\n ', c.energy(), c.et(), c.eta(), c.phi(),
3343 c.e237(), c.e277(), c.fracs1(), c.weta2(),
3344 c.ehad1(), c.Eta1(), c.emaxs1(), c.e2tsts1())
3345 fprint (f, '\n ', [c.energyInSample(i) for i in range(25)])
3346 return
3347@nolist
3349 dump_TrigEMCluster (c, f)
3350 return
3351
3352
3354 dump_Fourvec (p, f)
3355 fprint (f, p.isValid(), p.roiId())
3356 fprint (f, '\n ', p.trackAlgo(), p.trackIndx(), p.charge(),
3357 p.Zvtx())
3358 fprint (f, '\n ', p.err_Pt(), p.err_eta(), p.err_phi(), p.err_Zvtx())
3359 fprint (f, '\n ', p.trkClusDeta(), p.trkClusDphi(), p.EtOverPt())
3360 return
3361
3362
3364 dump_Fourvec (p, f)
3365 fprint (f, p.isValid(), p.roiId())
3366 fprint (f, '\n ', p.Et(), p.HadEt(), p.energyRatio(), p.rCore(),
3367 p.dPhi(), p.dEta())
3368 fprint (f, '\n ')
3369 if p.cluster():
3370 dump_TrigEMCluster (p.cluster(), f)
3371 return
3372
3373
3374@nolist
3376 fprintln (f, ' ROI ', t.RoI_ID())
3377 t2 = [PyTrigInDetTrack(tt) for tt in t]
3378 dump_list (t2, f, dump_TrigInDetTrack)
3379 return
3380
3381
3383 dump_Fourvec (j, f)
3384 fprint (f, j.isValid(), j.roiId())
3385 fprint (f, '\n ', j.prmVtx(), j.xComb(), j.xIP1D(), j.xIP2D(),
3386 j.xIP3D(), j.xCHI2(), j.xSV(), j.xMVtx(), j.xEVtx(), j.xNVtx())
3387 fprint (f, '\n ', tonone(j.TrackCollection()),
3388 tonone(j.PrmVertexCollection()),
3389 tonone(j.SecVertexCollection()))
3390 return
3391
3392
3394 fprint (f, j.roiId(), j.particleType(), j.eta(), j.phi(),
3395 j.mass(), j.fitmass(), j.fitchi2(), j.fitndof(),
3396 j.fitx(), j.fity(), j.fitz())
3397 if j.pSecondDecay():
3398 fprint (f, '\n second:')
3399 dump_TrigEFBphys (j.pSecondDecay(), f)
3400 vec = j.trackVector()
3401 for i in range(len(vec)):
3402 t = vec[i]
3403 fprint (f, '\n tv:')
3404 if t.isValid():
3405 fprint (f, t.dataID(), t.index())
3406 else:
3407 fprint (f, '(invalid)')
3408 return
3409
3410
3412 dump_Fourvec (j, f)
3413 fprint (f, j.isValid(), j.roiId())
3414 fprint (f, '\n ', j.prmVtx(), j.xComb(), j.xIP1D(), j.xIP2D(),
3415 j.xIP3D(), j.xCHI2(), j.xSV(), j.xMVtx(), j.xEVtx(), j.xNVtx())
3416 fprint (f, '\n ',
3417 tonone(j.TrackCollection()),
3418 tonone(j.PrmVertexCollection()),
3419 tonone(j.SecVertexCollection()))
3420 return
3421
3422
3424 fprint (f, j.roiId(), j.particleType(), j.eta(), j.phi(),
3425 j.mass(), j.fitmass(), j.fitchi2(), j.fitndof(),
3426 j.fitx(), j.fity(), j.fitz())
3427 if j.pSecondDecay():
3428 fprint (f, '\n second:')
3429 dump_TrigL2Bphys (j.pSecondDecay(), f)
3430 # ??? Straightforward iteration fails if jets are also dumped,
3431 # for 15.2.0 samples. Why?
3432 #for t in j.trackVector():
3433 tv = j.trackVector()
3434 for i in range(tv.size()):
3435 t = tv[i]
3436 fprint (f, '\n tv:', t.dataID(), t.index())
3437 return
3438
3439
3441 fprint (f, ' ', m.ex(), m.ey(), m.ez(), m.sumEt(), m.sumE(),
3442 m.RoIword(), m.getFlag(), m.getNumOfComponents())
3443 for ic in range(m.getNumOfComponents()):
3444 fprint (f, '\n ', m.getNameOfComponent(ic),
3445 m.getExComponent(ic), m.getEyComponent(ic),
3446 m.getEzComponent(ic), m.getSumEtComponent(ic),
3447 m.getSumEComponent(ic), m.getComponentCalib0(ic),
3448 m.getComponentCalib1(ic), m.getSumOfSigns(ic),
3449 m.getUsedChannels(ic), m.getStatus(ic))
3450 fprintln (f, ' ')
3451 return
3452@nolist
3454 dump_TrigMissingET (m, f)
3455 return
3456
3457
3459 fprint (f, ' ',
3460 d.version(), d.isFullscan(),
3461 d.eta(), d.etaPlus(), d.etaMinus(),
3462 d.phi(), d.phiPlus(), d.phiMinus(),
3463 d.zed(), d.zedPlus(), d.zedMinus(),
3464 d.composite(), d.manageConstituents(), d.size(),
3465 formatItemUsingLong ([d.at(i).roiId() for i in range(d.size())]))
3466 return
3467
3468
3470 fprint (f, ' ', d.roiId(), d.l1Id(), d.roiWord())
3471 dump_RoiDescriptor (d, f)
3472@nolist
3474 dump_TrigRoiDescriptor (d, f)
3475 return
3476
3477
3479 fprint (f, m.e(), m.eta(), m.phi(), m.inCone(), m.caloSample())
3480 return
3481
3482
3484 fprint (f, ' ')
3485 dump_Fourvec (j, f)
3486 fprint (f, ' ', j.e(), j.ehad0(), j.eem0(), j.eta(), j.phi(), j.m(),
3487 j.RoIword())
3488 if j.grid():
3489 for m in j.grid():
3490 fprint (f, '\n ')
3491 dump_Trig3Momentum (m, f)
3492 fprintln (f, ' ')
3493 return
3494@nolist
3496 dump_TrigT2Jet (j, f)
3497 return
3498
3499
3501 if not t: return
3502 for s in range(4):
3503 fprint (f, '\n EM%d: '% s)
3504 fprint (f, t.EMRadius(s), t.EMenergyWidth(s), t.EMenergyMedium(s),
3505 t.EMenergyWide(s), t.EMenergyNarrow(s))
3506 for s in range(3):
3507 fprint (f, '\n HAD%d: '% s)
3508 fprint (f, t.HADRadius(s), t.HADenergyWidth(s), t.HADenergyMedium(s),
3509 t.HADenergyWide(s), t.HADenergyNarrow(s))
3510 return
3511
3513 fprint (f, ' ')
3514 dump_TrigCaloCluster (t, f)
3515 fprint (f, '\n ', t.energy(), t.EMCalibEnergy(), t.EMenergy(),
3516 t.HADenergy(), t.eta(), t.phi(), t.IsoFrac(), t.numStripCells(),
3517 t.stripWidth(), t.eCalib(), t.eEMCalib(), t.EMRadius2())
3518 for s in range(25):
3519 fprint (f, '\n %2d: '% s)
3520 fprint (f, t.energy(s))
3521 dump_TrigTauClusterDetails (t.clusterDetails(), f)
3522 fprintln (f, ' ')
3523 return
3524@nolist
3526 dump_TrigTauCluster (t, f)
3527 return
3528
3529
3531 fprint (f, "x:", h.nbins_x(), h.min_x(), h.max_x(), '[')
3532 for x in h.contents():
3533 fprint (f, x)
3534 fprint (f, ']')
3535 return
3537 dump_TrigHisto (h, f)
3538 return
3540 fprint (f, "y:", h.nbins_y(), h.min_y(), h.max_y())
3541 dump_TrigHisto (h, f)
3542 return
3543
3545 fprint (f, c.sctSpEndcapC(), c.sctSpBarrel(), c.sctSpEndcapA(), '[')
3546 for id in c.droppedSctModules():
3547 fprint (f, id.getString())
3548 fprint (f, ']')
3549 fprint (f, '\n clus endcap c: ')
3550 dump_TrigHisto2D (c.pixelClusEndcapC(), f)
3551 fprint (f, '\n clus barrel: ')
3552 dump_TrigHisto2D (c.pixelClusBarrel(), f)
3553 fprint (f, '\n clus endcap a: ')
3554 dump_TrigHisto2D (c.pixelClusEndcapA(), f)
3555 return
3556@nolist
3558 dump_TrigSpacePointCounts (c, f)
3559 return
3560
3561
3563 fprint (f, ' ')
3564 dump_Fourvec (t, f)
3565 fprint (f, ' ', t.roiId(), t.nCoreTracks(), t.nSlowTracks(),
3566 t.nIsoTracks(),
3567 t.charge(), t.leadingTrackPt(), t.scalarPtSumCore(),
3568 t.scalarPtSumIso(), t.ptBalance())
3569 dump_Fourvec (t.threeFastestTracks(), f)
3570 if t.trackCollection():
3571 fprint (f, '\n ')
3572 dump_TrigInDetTrackCollection (t.trackCollection(), f)
3573 fprintln (f, ' ')
3574 return
3575@nolist
3577 dump_TrigTauTracksInfo (t, f)
3578 return
3579
3580
3582 fprint (f, ' ', m.roiId(), m.saddress(), m.pt(), m.radius(),
3583 m.eta(), m.phi(), m.dir_phi(), m.zeta(), m.dir_zeta(), m.beta(),
3584 m.sp1_r(), m.sp1_z(), m.sp1_slope(),
3585 m.sp2_r(), m.sp2_z(), m.sp2_slope(),
3586 m.sp3_r(), m.sp3_z(), m.sp3_slope(),
3587 m.br_radius(), m.br_sagitta(), m.ec_alpha(), m.ec_beta(),
3588 m.dq_var1(), m.dq_var2(), m.algoId())
3589 return
3590@nolist
3592 dump_MuonFeature (m, f)
3593 return
3594
3595
3597 fprint (f, m.extension_capacity(),
3598 m.max_rob_capacity(),
3599 m.max_csm_capacity(),
3600 m.max_lvl1_emu_capacity(),
3601 m.max_rpc_hits_capacity(),
3602 m.max_tgc_hits_capacity(),
3603 m.max_mdt_hits_capacity(),
3604 m.id(), m.te_id(), m.error())
3605 fprint (f, '\n ',
3606 m.lvl1_id(), m.lumi_block(), m.muondetmask(),
3607 m.roi_id(), m.roi_system(), m.roi_subsystem(),
3608 m.roi_sector(), m.roi_number(), m.roi_threshold(),
3609 daz(m.roi_eta()), daz(m.roi_phi()),
3610 m.rpc_pad_error(), m.tgc_rdo_error())
3611 fprint (f, '\n ',
3612 m.rpc1_x(), m.rpc1_y(), m.rpc1_z(),
3613 m.rpc2_x(), m.rpc2_y(), m.rpc2_z(),
3614 m.rpc3_x(), m.rpc3_y(), m.rpc3_z())
3615 fprint (f, '\n ',
3616 m.tgc_Mid1_eta(), m.tgc_Mid1_phi(), m.tgc_Mid1_r(), m.tgc_Mid1_z(),
3617 m.tgc_Mid2_eta(), m.tgc_Mid2_phi(), m.tgc_Mid2_r(), m.tgc_Mid2_z(),
3618 m.tgc_Mid_rho_chi2(), m.tgc_Mid_rho_N(),
3619 m.tgc_Mid_phi_chi2(), m.tgc_Mid_phi_N())
3620 fprint (f, '\n ',
3621 m.tgc_Inn_eta(), m.tgc_Inn_phi(),
3622 m.tgc_Inn_r(), m.tgc_Inn_z(),
3623 m.tgc_Inn_rho_std(), m.tgc_Inn_rho_N(),
3624 m.tgc_Inn_phi_std(), m.tgc_Inn_phi_N(),
3625 m.tgc_PT())
3626 fprint (f, '\n ',
3627 m.mdt_Inner_slope(),
3628 m.mdt_Inner_intercept(),
3629 m.mdt_Inner_Z(),
3630 m.mdt_Inner_R(),
3631 m.mdt_Inner_fit_chi(),
3632 m.mdt_Middle_slope(),
3633 m.mdt_Middle_intercept(),
3634 m.mdt_Middle_Z(),
3635 m.mdt_Middle_R(),
3636 m.mdt_Middle_fit_chi(),
3637 m.mdt_Outer_slope(),
3638 m.mdt_Outer_intercept(),
3639 m.mdt_Outer_Z(),
3640 m.mdt_Outer_R(),
3641 m.mdt_Outer_fit_chi())
3642 fprint (f, '\n ',
3643 m.Address(), m.Sagitta(), m.Radius(), m.Slope(), m.Intercept(),
3644 m.Alpha(), m.Beta(), m.DeltaR(), m.Speed_over_c(),
3645 m.PhiMap(), m.Phi(), m.PhiDir(), m.Pt(), m.Charge())
3646 fprint (f, '\n ',
3647 m.eta_pivot_lay0(),
3648 m.eta_pivot_lay1(),
3649 m.eta_low_0_lay0(),
3650 m.eta_low_1_lay0(),
3651 m.eta_low_0_lay1(),
3652 m.eta_low_1_lay1(),
3653 m.eta_high_0_lay0(),
3654 m.eta_high_1_lay0(),
3655 m.eta_high_0_lay1(),
3656 m.eta_high_1_lay1(),
3657 m.phi_pivot_lay0(),
3658 m.phi_pivot_lay1(),
3659 m.phi_low_0_lay0(),
3660 m.phi_low_1_lay0(),
3661 m.phi_low_0_lay1(),
3662 m.phi_low_1_lay1(),
3663 m.phi_high_0_lay0(),
3664 m.phi_high_1_lay0(),
3665 m.phi_high_0_lay1(),
3666 m.phi_high_1_lay1())
3667
3668 fprint (f, '\n ', formatItemUsingLong (list(m.rob_id())))
3669 fprint (f, '\n ', formatItemUsingLong (list(m.csm_id())))
3670 fprint (f, '\n ', formatItemUsingLong (list(m.csm_size())))
3671 fprint (f, '\n ', formatItemUsingLong (list(m.csm_error())))
3672 fprint (f, '\n ', formatItemUsingLong (list(m.removed_rob_id())))
3673 fprint (f, '\n ', formatItemUsingLong (list(m.removed_csm_id())))
3674 fprint (f, '\n ', formatItemUsingLong (list(m.lvl1_emulation())))
3675 fprint (f, '\n ', formatItemUsingLong (list(m.pad_hit_onlineId())))
3676 fprint (f, '\n ', formatItemUsingLong (list(m.pad_hit_code())))
3677 fprint (f, '\n ', safe_float_vector(m.pad_hit_x()))
3678 fprint (f, '\n ', safe_float_vector(m.pad_hit_y()))
3679 fprint (f, '\n ', safe_float_vector(m.pad_hit_z()))
3680 fprint (f, '\n ', safe_float_vector(m.pad_hit_r()))
3681 fprint (f, '\n ', safe_float_vector(m.pad_hit_p()))
3682 fprint (f, '\n ', safe_float_vector(m.tgc_Inn_rho_hit_phi()))
3683 fprint (f, '\n ', safe_float_vector(m.tgc_Inn_rho_hit_r()))
3684 fprint (f, '\n ', safe_float_vector(m.tgc_Inn_rho_hit_z()))
3685 fprint (f, '\n ', safe_float_vector(m.tgc_Inn_rho_hit_width()))
3686 fprint (f, '\n ', formatItemUsingLong (list(m.tgc_Inn_rho_hit_in_seg())))
3687 fprint (f, '\n ', safe_float_vector(m.tgc_Inn_phi_hit_phi()))
3688 fprint (f, '\n ', safe_float_vector(m.tgc_Inn_phi_hit_r()))
3689 fprint (f, '\n ', safe_float_vector(m.tgc_Inn_phi_hit_z()))
3690 fprint (f, '\n ', safe_float_vector(m.tgc_Inn_phi_hit_width()))
3691 fprint (f, '\n ', formatItemUsingLong (list(m.tgc_Inn_phi_hit_in_seg())))
3692 fprint (f, '\n ', safe_float_vector(m.tgc_Mid_rho_hit_phi()))
3693 fprint (f, '\n ', safe_float_vector(m.tgc_Mid_rho_hit_r()))
3694 fprint (f, '\n ', safe_float_vector(m.tgc_Mid_rho_hit_z()))
3695 fprint (f, '\n ', safe_float_vector(m.tgc_Mid_rho_hit_width()))
3696 fprint (f, '\n ', formatItemUsingLong (list(m.tgc_Mid_rho_hit_in_seg())))
3697 fprint (f, '\n ', safe_float_vector(m.tgc_Mid_phi_hit_phi()))
3698 fprint (f, '\n ', safe_float_vector(m.tgc_Mid_phi_hit_r()))
3699 fprint (f, '\n ', safe_float_vector(m.tgc_Mid_phi_hit_z()))
3700 fprint (f, '\n ', safe_float_vector(m.tgc_Mid_phi_hit_width()))
3701 fprint (f, '\n ', formatItemUsingLong (list(m.tgc_Mid_phi_hit_in_seg())))
3702 fprint (f, '\n ', formatItemUsingLong (list(m.mdt_onlineId())))
3703 fprint (f, '\n ', formatItemUsingLong (list(m.mdt_offlineId())))
3704 fprint (f, '\n ', safe_float_vector(m.mdt_tube_r()))
3705 fprint (f, '\n ', safe_float_vector(m.mdt_tube_z()))
3706 fprint (f, '\n ', safe_float_vector(m.mdt_tube_residual()))
3707 fprint (f, '\n ', safe_float_vector(m.mdt_tube_time()))
3708 fprint (f, '\n ', safe_float_vector(m.mdt_tube_space()))
3709 fprint (f, '\n ', safe_float_vector(m.mdt_tube_sigma()))
3710 fprint (f, '\n ', formatItemUsingLong (list(m.extension0())))
3711 fprint (f, '\n ', formatItemUsingLong (list(m.extension1())))
3712 fprint (f, '\n ', formatItemUsingLong (list(m.extension2())))
3713 fprint (f, '\n ', formatItemUsingLong (list(m.extension3())))
3714 fprint (f, '\n ', formatItemUsingLong (list(m.extension4())))
3715 fprint (f, '\n ', formatItemUsingLong (list(m.extension5())))
3716 fprint (f, '\n ', formatItemUsingLong (list(m.extension6())))
3717 fprint (f, '\n ', formatItemUsingLong (list(m.extension7())))
3718 fprint (f, '\n ', formatItemUsingLong (list(m.extension8())))
3719 fprint (f, '\n ', formatItemUsingLong (list(m.extension9())))
3720 return
3721
3722
3724 fprint (f, ' ', m.eta(), m.phi(), m.quality(), list(m.enedep()))
3725 return
3726
3727
3729 dump_Fourvec (m, f)
3730 fprint (f, m.PtTR_Trk(), m.EtaTR_Trk(), m.PhiTR_Trk(), m.Typ_IDTrk())
3731 fprint (f, '\n ', m.pt(), m.eta(), m.phi(), m.m())
3732 fprint (f, '\n ', m.TileMuLink().isValid())
3733 if m.TileMuLink().isValid():
3734 fprintln (f, m.TileMuLink().dataID(), m.TileMuLink().index())
3735 fprint (f, '\n ', m.IDScanLink().isValid())
3736 if m.IDScanLink().isValid():
3737 fprintln (f, m.IDScanLink().dataID(), m.IDScanLink().index())
3738 return
3739
3740
3742 fprint (f, ' ')
3743 dump_Fourvec (m, f)
3744 fprint (f, m.pt(), m.eta(), m.phi(), m.m(), m.sigma_pt())
3745 if m.IDTrackLink().isValid() and m.IDTrack():
3746 fprint (f, '\n id')
3747 dump_TrigInDetTrack (PyTrigInDetTrack(m.IDTrack()), f)
3748 if m.muFastTrackLink().isValid() and m.muFastTrack():
3749 fprint (f, '\n fast')
3750 dump_MuonFeature (m.muFastTrack(), f)
3751 else:
3752 fprintln (f, ' ')
3753 return
3754@nolist
3756 dump_CombinedMuonFeature (m, f)
3757 return
3758
3759
3761 dump_Fourvec (m, f)
3762 fprint (f, m.MuonCode(), m.RoINum(), m.charge())
3763 return
3764
3765
3766def dump_TileMu (m, f):
3767 fprint (f, m.eta(), m.phi(), m.quality(), list(m.enedep()))
3768 return
3769
3770
3772 beg = m.begin()
3773 end = m.end()
3774 while beg != end:
3775 fprint (f, '\n ', beg.getMomentType(), beg.getMoment().getValue())
3776 beg.next()
3777 return
3778
3779
3781 nsamp = s.getNumberOfSamplings()
3782 for i in range(min(10, s.getNumberOfVariableTypes())):
3783 if s.contains(i):
3784 slist = [s.retrieveData(i, samp) for samp in range(nsamp)]
3785 fprint (f, '\n ', i, slist)
3786 return
3787
3788
3790 fprint (f, ' moments:')
3791 dump_CaloClusterMomentStore (s.getMomentStore(), f)
3792 fprint (f, '\n sampling data:')
3793 dump_CaloSamplingData (s.getSamplingStore(), f)
3794 return
3795
3796
3797@nolist
3799 # Note: container contents aren't saved...
3800 fprintln (f, t.neta(), t.etamin(), t.deta(),
3801 t.nphi(), t.phimin(), t.dphi())
3802 return
3803
3804
3805@nolist
3807 # Note: container contents aren't saved...
3808 dump_CaloTowerContainer (t, f)
3809 fprint (f, ' ', t.GetMinimumCellEnergy(),
3810 t.GetMinimumClusterEnergy(),
3811 t.GetUseCellWeights(),
3812 False, # was t.GetUseNoiseTool(),
3813 True, # was t.GetUsePileUpNoise(),
3814 t.GetNoiseSigma(),
3815 t.GetCellESignificanceThreshold(),
3816 t.GetCaloSelection())
3817 ci = t.GetCaloIndices()
3818 # list(ci) broken in root 6.04.12.
3819 fprint (f, [ci[i] for i in range(ci.size())])
3820 def dl(l):
3821 fprint (f, ' ')
3822 if l.isValid(): fprintln (f, l.dataID())
3823 else: fprintln (f, '(null)')
3824 dl(t.GetClusters())
3825 dl(t.GetTowers())
3826 dl(t.GetCells())
3827 if t.GetCellToClusterMap():
3828 fprintln (f, ' ', t.GetCellToClusterMap().size())
3829 else:
3830 fprintln (f, ' (null)')
3831 return
3832
3833
3835 fprint (f, t.cellID().getString(), t.particleID(),
3836 [t.energy(i) for i in range(4)])
3837 return
3838
3839
3840def dump_LArHit (t, f):
3841 fprint (f, t.cellID().getString(), t.energy(), t.time())
3842 return
3843
3844
3845def dump_TileHit (t, f):
3846 sz = t.size()
3847 fprint (f, t.identify().getString(), [t.energy(i) for i in range(sz)],
3848 [t.time(i) for i in range(sz)])
3849 return
3850
3851
3853 fprint (f, p.barcode(), p.eventIndex())
3854 return
3855
3856
3857def dump_SiHit (t, f):
3858 fprint (f, t.identify())
3859 dump_Threevec (t.localStartPosition(), f)
3860 dump_Threevec (t.localEndPosition(), f)
3861 fprint (f, t.energyLoss(), t.meanTime(), t.truthBarcode())
3862 dump_HepMcParticleLink (t.particleLink(), f)
3863 return
3864
3865
3867 fprint (f, t.GetHitID(), t.truthBarcode(), t.GetParticleEncoding(),
3868 t.GetKineticEnergy(), t.GetEnergyDeposit(),
3869 t.GetPreStepX(), t.GetPreStepY(), t.GetPreStepZ(),
3870 t.GetPostStepX(), t.GetPostStepY(), t.GetPostStepZ(),
3871 t.GetGlobalTime())
3872 return
3873
3874
3876 if hasattr(t, 'triggerEnergies'):
3877 fprint (f, list(t.triggerEnergies()), list(t.triggerTimes()))
3878 else:
3879 fprint (f, t.mbtsWord(), list(t.triggerTimes()))
3880 return
3881
3882
3884 # Not really implemented.
3885 # The AODs i saw had containers of these, which were always empty.
3886 # Print as the address, so that if we do see one with contents,
3887 # we'll see a miscompare and know to fill this in.
3888 fprint (f, id(m))
3889 #fprint (f, m.p(), m.theta(), m.phi(), m.t(), m.radius(),
3890 # m.isIngoing, m.NRpcPairs(), m.NTgcPairs(), m.NMdtHits(),
3891 # m.NMdtSegs())
3892# void getRefPoint(double vec[3]) const;
3893# double residual(double z, double r) const;
3894# double longPos(double z, double r) const;
3895# void perigee(double point[3], double x0=0, double y0=0, double z0=0) const;
3896# void perigee2D(double point[2], double x0=0, double y0=0) const;
3897# double dca3D(double x0=0.0, double y0=0.0, double z0=0.0) const;
3898# double dcaXY(double x0=0.0, double y0=0.0) const;
3899# double dca2D_Z(double x0=0.0, double y0=0.0) const;
3900 return
3901
3902
3904 # Not really implemented.
3905 # The AODs i saw had containers of these, which were always empty.
3906 # Print as the address, so that if we do see one with contents,
3907 # we'll see a miscompare and know to fill this in.
3908 fprint (f, id(t))
3909 return
3910
3911
3913 dump_Fourvec (m, f)
3914 fprint (f, '\n ', m.getEtInnerConeEC(), m.getEtOuterConeEC(),
3915 m.getEtInnerConeHC(), m.getEtOuterConeHC())
3916 fprint (f, '\n ', m.getNTracksCone(), m.getSumPtTracksCone(),
3917 m.getPtMuTracksCone())
3918 fprint (f, '\n ', m.getRoiIdMu(), m.getPtMu(), m.getEtaMu(),
3919 m.getPhiMu(), m.getLArWeight(), m.getTileWeight())
3920 return
3921
3922
3924 if not t:
3925 fprint (f, None)
3926 return
3927 dump_Fourvec (t, f)
3928 fprint (f, t.charge())
3929 return
3930
3931
3933 fprint (f, '\n ', t.MuonType())
3934 fprint (f, '\n spectrometer: ')
3935 dump_TrigMuonEFTrack (t.SpectrometerTrack(), f)
3936 fprint (f, '\n extrapolated: ')
3937 dump_TrigMuonEFTrack (t.ExtrapolatedTrack(), f)
3938 fprint (f, '\n combined: ')
3939 dump_TrigMuonEFTrack (t.CombinedTrack(), f)
3940 return
3941
3942
3944 fprint (f, t.RoINum())
3945 for tt in t.TrackContainer():
3946 dump_TrigMuonEFInfoTrack (tt, f)
3947 return
3948
3949
3951 fprint (f, list(r.rings()))
3952 return
3953
3954
3956 fprint (f, ' barrel')
3957 dump_TrigHisto1D (p.barrel(), f)
3958 fprint (f, '\n endcapA')
3959 dump_TrigHisto1D (p.endcapA(), f)
3960 fprint (f, '\n endcapC')
3961 dump_TrigHisto1D (p.endcapC(), f)
3962 return
3963
3964
3966 fprint (f, list(p.output()))
3967 #if p.isValid():
3968 # cl = p.cluster()
3969 # fprint (f, ' [', cl.rawEnergy(), cl.rawEta(), cl.rawPhi(), ']')
3970 return
3971
3972
3974 if p == InDetLowBetaCandidateNull:
3975 fprint (f, '(null)')
3976 return
3977 if hasattr (p, 'getTRTInverseBeta'):
3978 fprint (f, p.getTRTCorrBitsOverThreshold(),
3979 p.getTRTInverseBeta(),
3980 p.getTRTInverseBetaError(),
3981 p.getTRTNLastBits())
3982 else:
3983 fprint (f, p.getTRTCorrBitsOverThreshold(),
3984 p.getTRTTrailingEdge(),
3985 p.getTRTTrailingEdgeError(),
3986 p.getTRTNLastBits())
3987 others = (p.getTRTdEdx(),
3988 p.getTRTLikelihoodBeta(),
3989 p.getTRTLikelihoodError(),
3990 p.getTRTHighTbits(),)
3991 if max(others)!=0 or min(others) != 0:
3992 for o in others: fprint (f, o)
3993 return
3994
3995
3996@nolist
3998 fprintln (f, ' noisy febs', [id.getString() for id in p.get_noisy_febs()])
3999 # Dictionary problem here --- punt for now.
4000 #fprint (f, ' noisy preamps',
4001 # [(p.first.getString(),p.second) for p in p.get_noisy_preamps()])
4002 return
4003
4004
4006 fprint (f, p.getName(), p.isAccepted())
4007 return
4008
4009
4010@nolist
4012 for a in dir(p):
4013 if a.startswith ('get'):
4014 fprintln (f, a[3:]+':', getattr(p, a)())
4015 return
4016
4017
4018@nolist
4020 for p in toiter1 (m):
4021 fprint (f, ' ', typename(p.__class__))
4022 if not p:
4023 fprint (f, '(null)')
4024 continue
4025 dump_Fourvec (p, f)
4026 try:
4027 w = m.getWeight (p)
4028 fprint (f, ' [', w.wet(), w.wpx(), w.wpy(), w.statusWord(), ']')
4029 except RuntimeError:
4030 pass
4031 fprintln (f, '')
4032 return
4033
4034@nolist
4036 for p in m.getAllT0s():
4037 fprintln (f, ' ', p.first.getString(), p.second)
4038 return
4039
4040
4042 dump_Fourvec (m, f)
4043 fprint (f, m.getNRoi(), m.getNTRK(), m.getNJet())
4044 return
4045
4046
4048 fprint (f, [b.isPassing(i) for i in range(b.size())])
4049 return
4050
4051
4053 p = b.infos()
4054 fprint (f, [str(s) for s in p.first], list(p.second))
4055 return
4056
4057
4059 fprint (f,
4060 formatItemUsingLong (list(v.vtxNtrks())),
4061 list(v.vtxTrkPtSqSum()))
4062 return
4063
4065 fprint (f, m.sumTrkPtCone02(), m.sumTrkPtCone03(), m.trackPosition())
4066 return
4067
4068
4070 # The interface changed, sigh...
4071 if hasattr (m, 'getNumObjects'):
4072 for i in range (m.getNumObjects()):
4073 fwrite (f, ' \n')
4074 fprint (f, i, list(m.getFlag(i,j) for j in range(m.getNumFlags(i))))
4075 else:
4076 for i in range (m.size()):
4077 fwrite (f, ' \n')
4078 fprint (f, i, list(m.getFlagBit(i,j) for j in range(m.flagSize())))
4079 return
4080
4081
4083 dump_Fourvec (e, f)
4084 fprint (f, e.eflowType(), e.isValid(), e.d0(), e.z0(),
4085 e.getPassEOverPCheck(), e.getIsSubtracted(),
4086 e.getIsDuplicated(), e.getCaloRecoStatus().getStatusWord())
4087 for i in range(e.numTrack()):
4088 fprint (f, '\n tk: ')
4089 dump_EL (e.trackLink(i), f)
4090 for i in range(e.numClus()):
4091 fprint (f, '\n cl: ')
4092 dump_EL (e.clusLink(i), f)
4093 fprint (f, '\n mu: ')
4094 dump_EL (e.muonLink(), f)
4095 fprint (f, '\n cv: ')
4096 dump_EL (e.conversionLink(), f)
4097 return
4098
4099
4100@nolist
4102 print (c.missET(), c.sumET(), c.pTx(), c.pTy(), c.numEf(),
4103 c.numPhot(), c.numEle(), c.numMuo(), c.isValid(),
4104 c.circularity(), c.thrust(), c.oblateness(),
4105 file = f)
4106 dump_list (c, f, dump_eflowObject)
4107 return
4108
4109@nolist
4111 fprintln (f, list (c))
4112 return
4113
4114
4115@nolist
4117 fprint (f, p.smk(), p.l1psk(), p.hltpsk())
4118 return
4119
4120
4122 fprint (f, p.collHash(), p.objIndex())
4123 return
4124
4125
4127 fprint (f, p.identify().getString())
4128 dump_IdentContIndex (p.getHashAndIndex(), f)
4129 dump_AmgVector (p.localPosition(), f)
4130 dump_AmgMatrix (p.localCovariance(), f)
4131 fprint (f, '[')
4132 for i in p.rdoList():
4133 fprint (f, i.getString())
4134 fprint (f, ']')
4135 return
4136
4137
4139 dump_PrepRawData (p, f)
4140 dump_AmgVector (p.globalPosition(), f, thresh=1e-8, prec=4)
4141 return
4142
4143
4145 dump_MuonCluster (p, f)
4146 fprint (f, p.charge(), p.time(), p.status(), p.timeStatus())
4147 fprint (f, p.detectorElement().identifyHash().value())
4148 return
4149
4150
4152 dump_MuonCluster (p, f)
4153 fprint (f, p.timeOfFirstSample(), p.samplingPhase(), p.samplingTime())
4154 fprint (f, list(p.sampleCharges()))
4155 fprint (f, p.detectorElement().identifyHash().value())
4156 return
4157
4158
4160 dump_MuonCluster (p, f)
4161 fprint (f, p.getBcBitMap())
4162 fprint (f, p.detectorElement().identifyHash().value())
4163 return
4164
4165
4167 fprint (f, p.type(), p.channelIdIn().getString(), p.channelIdOut().getString(), p.identifyHash().value())
4168 dump_IdentContIndex (p.getHashAndIndex(), f)
4169 fprint (f, p.isAside(), p.phi(), p.isInner(), p.isForward(), p.isStrip(), p.trackletId(), p.trackletIdStrip())
4170 fprint (f, p.widthIn(), p.widthOut())
4171 fprint (f, p.delta(), p.roi(), p.pt(), p.veto(), p.sub(), p.inner(), p.isPositiveDeltaR())
4172 if p.channelIdIn().get_compact() != 0:
4173 dump_AmgVector (p.posIn(), f, thresh=1e-8)
4174 dump_AmgVector (p.globalposIn(), f, thresh=1e-8)
4175 if p.channelIdOut().get_compact() != 0:
4176 dump_AmgVector (p.posOut(), f, thresh=1e-8)
4177 dump_AmgVector (p.globalposOut(), f, thresh=1e-8)
4178 if p.hasErrMat():
4179 dump_AmgMatrix (p.errMat(), f)
4180 if p.detectorElementIn():
4181 fprint (f, p.detectorElementIn().identifyHash().value())
4182 else:
4183 fprint (f, '(null detel)')
4184 if p.detectorElementOut():
4185 fprint (f, p.detectorElementOut().identifyHash().value())
4186 else:
4187 fprint (f, '(null detel)')
4188 return
4189
4190
4192 dump_MuonCluster (p, f)
4193 fprint (f, p.tdc(), p.adc(), p.status())
4194 fprint (f, p.detectorElement().identifyHash().value())
4195 return
4196
4197
4199 fprint (f, p.time(), p.ambiguityFlag())
4200 fprint (f, p.detectorElement().identifyHash().value())
4201 return
4202
4203
4205 dump_RpcPrepData (p, f)
4206 fprint (f, p.ijk(), p.threshold(), p.overlap(), p.parentCmId(), p.parentPadId(), p.parentSectorId())
4207 return
4208
4209
4210def dump_SiWidth (p, f):
4211 dump_AmgVector (p.colRow(), f)
4212 dump_AmgVector (p.widthPhiRZ(), f)
4213 return
4214
4215
4217 dump_PrepRawData (p, f)
4218 fprint (f, p.gangedPixel())
4219 dump_AmgVector (p.globalPosition(), f)
4220 dump_SiWidth (p.width(), f)
4221 fprint (f, p.detectorElement().identifyHash().value())
4222 return
4223
4224
4226 dump_SiCluster (p, f)
4227 fprint (f, p.omegax(), p.omegay(), list (p.totList()))
4228 fprint (f, p.totalToT(), list(p.chargeList()), p.totalCharge())
4229 fprint (f, p.isFake(), p.isAmbiguous(), p.LVL1A(), p.splitInfoRaw(), p.tooBigToBeSplit())
4230 return
4231
4232
4234 dump_SiCluster (p, f)
4235 fprint (f, p.hitsInThirdTimeBin())
4236 return
4237
4238
4240 dump_PrepRawData (p, f)
4241 fprint (f, p.getWord())
4242 fprint (f, p.detectorElement().identifyHash().value())
4243 return
4244
4245
4247 fprint (f, p.identify().getString(), p.getWord())
4248 return
4249
4250
4252 dump_InDetRawData (p, f)
4253 fprint (f, p.getToT(), p.getBCID(), p.getLVL1A(), p.getLVL1ID())
4254 return
4255
4256
4258 dump_InDetRawData (p, f)
4259 fprint (f, p.highLevel(), p.timeOverThreshold(), p.driftTimeBin())
4260 return
4261
4262
4264 dump_InDetRawData (p, f)
4265 fprint (f, p.getGroupSize())
4266 return
4267
4268
4269def dump_IDC (payload_dumper, p, f, extra_idc_dumper = None):
4270 beg = p.begin()
4271 end = p.end()
4272 if hasattr(beg.__class__, '__preinc__'):
4273 nextfunc = beg.__preinc__
4274 elif hasattr(beg.__class__, '__next__'):
4275 nextfunc = beg.__next__
4276 else:
4277 nextfunc = beg.next
4278 while beg != end:
4279 coll = beg.cptr()
4280 if hasattr (coll, 'identifyHash'):
4281 hash = coll.identifyHash().value()
4282 else:
4283 hash = coll.identifierHash().value()
4284 fprint (f, 'IDC', beg.hashId().value(), hash, coll.size())
4285 if hasattr (coll, 'type'):
4286 fprint (f, coll.type())
4287 if extra_idc_dumper:
4288 extra_idc_dumper (coll, f)
4289 for x in coll:
4290 fprint (f, '\n ')
4291 payload_dumper (x, f)
4292 fwrite (f, '\n')
4293 nextfunc()
4294 fwrite (f, '\n')
4295 return
4296
4297
4298@nolist
4300 dump_IDC (dump_CscPrepData, p, f)
4301 return
4302
4303
4304@nolist
4306 dump_IDC (dump_CscStripPrepData, p, f)
4307 return
4308
4309
4310@nolist
4312 dump_IDC (dump_RpcCoinData, p, f)
4313 return
4314
4315
4316@nolist
4318 dump_IDC (dump_RpcPrepData, p, f)
4319 return
4320
4321
4322@nolist
4324 dump_IDC (dump_TgcPrepData, p, f)
4325 return
4326
4327
4328@nolist
4330 dump_IDC (dump_TgcCoinData, p, f)
4331 return
4332
4333
4334@nolist
4336 dump_IDC (dump_MdtPrepData, p, f)
4337 return
4338
4339
4340@nolist
4342 dump_IDC (dump_PixelCluster, p, f)
4343 return
4344
4345
4346@nolist
4348 dump_IDC (dump_SCT_Cluster, p, f)
4349 return
4350
4351
4352@nolist
4354 dump_IDC (dump_TRT_DriftCircle, p, f)
4355 return
4356
4357
4358@nolist
4360 dump_IDC (dump_PixelRDORawData, p, f)
4361 return
4362
4363
4364@nolist
4366 dump_IDC (dump_TRT_RDORawData, p, f)
4367 return
4368
4369
4370@nolist
4372 dump_IDC (dump_SCT_RDORawData, p, f)
4373 return
4374
4375
4377 fprint (f, p.energy(), p.ypos(), p.zpos(), p.charge())
4378 return
4379
4380
4382 fprint (f, p.word())
4383 for d in p.getdeposits():
4384 dump_HepMcParticleLink (d.first, f)
4385 dump_CscMcData (d.second, f)
4386 return
4387
4388
4389@nolist
4391 for elt in p:
4392 fprint (f, elt.first.getString())
4393 dump_CscSimData (elt.second, f)
4394 fwrite (f, '\n')
4395 return
4396
4397
4399 fprint (f, p.firstEntry(), p.secondEntry())
4400 return
4401
4402
4404 fprint (f, p.word())
4405 dump_AmgVector (p.globalPosition(), f)
4406 for d in p.getdeposits():
4407 dump_HepMcParticleLink (d.first, f)
4408 dump_MuonMcData (d.second, f)
4409 return
4410
4411
4412@nolist
4414 for elt in p:
4415 fprint (f, elt.first.getString())
4416 dump_MuonSimData (elt.second, f)
4417 fwrite (f, '\n')
4418 return
4419
4420
4421@nolist
4423 for elt in p:
4424 dump_SiCluster (elt.first, f)
4425 dump_SiCluster (elt.second, f)
4426 fwrite (f, '\n')
4427 return
4428
4429
4431 fprint (f, p.identify().getString())
4432 return
4433
4434
4436 dump_TileRawData (p, f)
4437 fprint (f, list(p.get_digits()))
4438 return
4439
4440
4441@nolist
4443 fprint (f, p.get_unit(), p.get_type(), p.get_bsflags())
4444 fprint (f, p.hashFunc().max(), p.hashFunc().offset(), p.hashFunc().type())
4445 fwrite (f, '\n')
4446 beg = p.begin()
4447 end = p.end()
4448 if hasattr(beg.__class__, '__preinc__'):
4449 nextfunc = beg.__preinc__
4450 elif hasattr(beg.__class__, '__next__'):
4451 nextfunc = beg.__next__
4452 else:
4453 nextfunc = beg.next
4454 while beg != end:
4455 coll = beg.cptr()
4456 fprint (f, 'TDC',
4457 beg.hashId().value(),
4458 list(coll.getFragChipCRCWords()),
4459 list(coll.getFragChipCRCWordsHigh()),
4460 list(coll.getFragChipHeaderWords()),
4461 list(coll.getFragChipHeaderWordsHigh()),
4462 formatItemUsingLong(list(coll.getFragExtraWords())),
4463 coll.getFragBCID(), coll.getFragSize())
4464 for x in coll:
4465 fprint (f, '\n ')
4466 dump_TileDigits (x, f)
4467 fwrite (f, '\n')
4468 nextfunc()
4469 fwrite (f, '\n')
4470 return
4471
4472
4474 dump_TileRawData (data, f)
4475 fprint (f, [data.amplitude(i) for i in range(data.size())])
4476 fprint (f, [data.time(i) for i in range(data.sizeTime())])
4477 fprint (f, [data.quality(i) for i in range(data.sizeQuality())])
4478 fprint (f, data.pedestal())
4479 return
4480
4481
4482
4484 fprint (f, '\n ', data.identify(),
4485 data.getLvl1Id(),
4486 data.getLvl1Type(),
4487 data.getDetEvType(),
4488 data.getRODBCID())
4489 for x in data:
4490 fprint (f, '\n ')
4491 dump_TileRawChannel (x, f)
4492 return
4493
4494
4496 fprint (f, '\n ', data.getFragGlobalCRC(),
4497 data.getFragDSPBCID(),
4498 data.getFragBCID(),
4499 data.getFragMemoryPar(),
4500 data.getFragSstrobe(),
4501 data.getFragDstrobe(),
4502 data.getFragHeaderBit(),
4503 data.getFragHeaderPar(),
4504 data.getFragSampleBit(),
4505 data.getFragSamplePar(),
4506 data.getFragFEChipMask(),
4507 data.getFragRODChipMask())
4508 dump_TileRawDataCollection (data, f)
4509 return
4510
4511
4512@nolist
4514 fprintln (f, data.get_unit(), data.get_type(), data.get_bsflags())
4515 beg = data.begin()
4516 end = data.end()
4517 while beg != end:
4518 coll = beg.cptr()
4519 fprint (f, 'Coll', beg.hashId().value(), coll.size())
4520 dump_TileRawChannelCollection (coll, f)
4521 fwrite (f, '\n')
4522 beg.__preinc__()
4523 fwrite (f, '\n')
4524 return
4525
4526
4527@nolist
4529 fprintln (f, data.get_unit(), data.get_type(), data.get_bsflags())
4530 beg = data.begin()
4531 end = data.end()
4532 while beg != end:
4533 coll = beg.cptr()
4534 fprint (f, 'Coll', beg.hashId().value(), coll.size())
4535 #dump_TileRawChannelCollection (coll, f)
4536 fwrite (f, '\n')
4537 beg.__preinc__()
4538 fwrite (f, '\n')
4539 return
4540
4541
4542def dump_TileL2 (p, f):
4543 fprint (f, p.identify(), p.phi(0), p.cosphi(), p.sinphi())
4544 fprint (f, [p.sumE(i) for i in range(p.NsumE())])
4545 fprint (f, [p.eta(i) for i in range(p.NMuons())])
4546 fprint (f, [p.enemu0(i) for i in range(p.NMuons())])
4547 fprint (f, [p.enemu1(i) for i in range(p.NMuons())])
4548 fprint (f, [p.enemu2(i) for i in range(p.NMuons())])
4549 fprint (f, formatItemUsingLong ([p.qual(i) for i in range(p.NMuons())]))
4550 fprint (f, formatItemUsingLong ([p.val(i) for i in range(p.Ndata())]))
4551 return
4552
4553
4554def dump_TileTTL1 (p, f):
4555 fprint (f, p.identify().getString(), list(p.fsamples()))
4556 return
4557
4558
4560 fprint (f, p.GetID(), list (p.GetDecision()),
4561 list(p.GetThresholds()), list(p.GetEne()), list(p.GetTime()))
4562 return
4563
4564
4566 fprint (f, p.crate(), p.dataID(), p.peak(),
4567 formatItemUsingLong (list(p.HitsVec0())),
4568 formatItemUsingLong (list(p.HitsVec1())),
4569 list(p.ErrorVec0()),
4570 list(p.ErrorVec1()))
4571 return
4572
4573
4575 fprint (f, p.crate(), p.dataID(), p.peak(),
4576 formatItemUsingLong (list(p.EtVec())),
4577 formatItemUsingLong (list(p.ExVec())),
4578 formatItemUsingLong (list(p.EyVec())),
4579 list(p.EtErrorVec()),
4580 list(p.ExErrorVec()),
4581 list(p.EyErrorVec()))
4582 return
4583
4584
4586 fprint (f, p.crate(), p.dataID(), p.peak(),
4587 formatItemUsingLong (list(p.HitsVec())),
4588 list(p.ErrorVec()))
4589 return
4590
4591
4592@nolist
4593def dump_CMMRoI (p, f):
4594 fprint (f, p.jetEtRoiWord(),
4595 p.energyRoiWord0(),
4596 p.energyRoiWord1(),
4597 p.energyRoiWord2())
4598 return
4599
4600
4601def dump_CPMHits (p, f):
4602 fprint (f, p.crate(), p.module(), p.peak(),
4603 formatItemUsingLong (list(p.HitsVec0())),
4604 formatItemUsingLong (list(p.HitsVec1())))
4605 return
4606
4607
4608def dump_CPMRoI (p, f):
4609 fprint (f, p.roiWord())
4610 return
4611
4612
4613def dump_CPMTower (p, f):
4614 fprint (f, p.eta(), p.phi(), p.peak(),
4615 list(p.emEnergyVec()),
4616 list(p.hadEnergyVec()),
4617 list(p.emErrorVec()),
4618 list(p.hadErrorVec()))
4619 return
4620
4621
4622@nolist
4623def dump_CTP_RDO (p, f):
4624 fprint (f, p.getCTPVersionNumber(),
4625 p.getCTPVersion().getVersionNumber(),
4626 formatItemUsingLong (list(p.getDataWords())),
4627 p.getL1AcceptBunchPosition(),
4628 p.getTurnCounter(),
4629 p.getNumberOfBunches(),
4630 p.getNumberOfAdditionalWords())
4631 return
4632
4633
4634@nolist
4636 fprint (f,
4637 formatItemUsingLong (list(p.getAllCandidateMultiplicities())),
4638 formatItemUsingLong (list(p.dataWord())))
4639 return
4640
4641
4643 fprint (f, p.crate(), p.module(), p.peak(),
4644 formatItemUsingLong (list(p.EtVec())),
4645 formatItemUsingLong (list(p.ExVec())),
4646 formatItemUsingLong (list(p.EyVec())))
4647 return
4648
4649
4650def dump_JEMHits (p, f):
4651 fprint (f, p.crate(), p.module(), p.peak(),
4652 formatItemUsingLong (list(p.JetHitsVec())))
4653 return
4654
4655
4656def dump_JEMRoI (p, f):
4657 fprint (f, p.roiWord())
4658 return
4659
4660
4662 fprint (f, p.eta(), p.phi(), p.key(), p.peak(),
4663 list(p.emEnergyVec()),
4664 list(p.hadEnergyVec()),
4665 list(p.emErrorVec()),
4666 list(p.hadErrorVec()),
4667 list(p.linkErrorVec()))
4668 return
4669
4670
4672 fprint (f, formatItemUsingLong (list(p.header())))
4673 return
4674
4675
4677 fprint (f, formatItemUsingLong (list(p.trailer())))
4678 return
4679
4680
4682 fprint (f, p.roIWord())
4683 return
4684
4685
4687 dump_ROIBHeader (p.header(), f)
4688 for r in p.roIVec():
4689 dump_MuCTPIRoI (r, f)
4690 dump_ROIBTrailer (p.trailer(), f)
4691 return
4692
4693
4694def dump_CTPRoI (p, f):
4695 fprint (f, p.roIWord())
4696 return
4697
4698
4700 dump_ROIBHeader (p.header(), f)
4701 for r in p.roIVec():
4702 dump_CTPRoI (r, f)
4703 dump_ROIBTrailer (p.trailer(), f)
4704 return
4705
4706
4708 fprint (f, p.roIWord())
4709 return
4710
4711
4713 dump_ROIBHeader (p.header(), f)
4714 for r in p.roIVec():
4715 dump_JetEnergyRoI (r, f)
4716 dump_ROIBTrailer (p.trailer(), f)
4717 return
4718
4719
4720def dump_EMTauRoI (p, f):
4721 fprint (f, p.roIWord())
4722 return
4723
4724
4726 dump_ROIBHeader (p.header(), f)
4727 for r in p.roIVec():
4728 dump_EMTauRoI (r, f)
4729 dump_ROIBTrailer (p.trailer(), f)
4730 return
4731
4732
4734 fprint (f, p.getSourceID(),
4735 list(p.getErrors()),
4736 list(p.getDataWords()),
4737 list(p.getStatusWords()))
4738 return
4739
4740
4742 dump_ROIBHeader (p.header(), f)
4743 dump_L1TopoRDO (p.rdo(), f)
4744 dump_ROIBTrailer (p.trailer(), f)
4745 return
4746
4747
4748@nolist
4750 fprint (f, 'MuCTPI:')
4751 dump_MuCTPIResult (p.muCTPIResult(), f)
4752 fprint (f, '\nCTP:')
4753 dump_CTPResult (p.cTPResult(), f)
4754 for r in p.jetEnergyResult():
4755 fprint (f, '\nJetEnergy:')
4757 for r in p.eMTauResult():
4758 fprint (f, '\nEMTau:')
4759 dump_EMTauResult(r, f)
4760 for r in p.l1TopoResult():
4761 fprint (f, '\nL1Topo:')
4762 dump_L1TopoResult(r, f)
4763 return
4764
4765
4767 fprint (f, p.eta(), p.phi(), p.key(), p.emError(), p.hadError(),
4768 p.emPeak(), p.emADCPeak(), p.hadPeak(), p.hadADCPeak(),
4769 list(p.emLUT()), list(p.hadLUT()),
4770 list(p.emADC()), list(p.hadADC()),
4771 list(p.emBCIDvec()), list(p.hadBCIDvec()),
4772 list(p.emBCIDext()), list(p.hadBCIDext()))
4773 return
4774
4775
4777 fprint (f, p.getStatus(),
4778 p.getWord0(), p.getWord1(), p.getWord2() , p.getWord3(),
4779 p.getWord0p(), p.getWord1p(), p.getWord2p(), p.getWord3p(),
4780 p.getWord0n(), p.getWord1n(), p.getWord2n(), p.getWord3n())
4781 return
4782
4783
4784def dump_BCM_RDO (p, f):
4785 fprint (f, '[', p.getWord1(), p.getWord2(), ']')
4786 return
4787
4788
4790 fprint (f, p.getChannel())
4791 for r in p:
4792 dump_BCM_RDO(r, f)
4793 return
4794
4795
4797 fprint (f, p.CSCid(), p.globalTime(), p.energyDeposit())
4798 dump_Threevec (p.getHitStart(), f)
4799 dump_Threevec (p.getHitEnd(), f)
4800 fprint (f, p.particleID(), p.kineticEnergy())
4801 dump_HepMcParticleLink (p.particleLink(), f)
4802 return
4803
4804
4806 fprint (f, p.MDTid(), p.globalTime(), p.driftRadius())
4807 dump_Threevec (p.localPosition(), f)
4808 fprint (f, p.stepLength(), p.energyDeposit(), p.particleEncoding(), p.kineticEnergy())
4809 dump_HepMcParticleLink (p.particleLink(), f)
4810 return
4811
4812
4814 fprint (f, p.RPCid(), p.globalTime())
4815 dump_Threevec (p.localPosition(), f)
4816 dump_Threevec (p.postLocalPosition(), f)
4817 fprint (f, p.stepLength(), p.energyDeposit(), p.particleEncoding(), p.kineticEnergy())
4818 dump_HepMcParticleLink (p.particleLink(), f)
4819 return
4820
4821
4823 fprintln (f, p.TGCid(), p.globalTime())
4824 dump_Threevec (p.localPosition(), f)
4825 dump_Threevec (p.localDireCos(), f)
4826 fprint (f, p.stepLength(), p.energyDeposit(), p.particleEncoding(), p.kineticEnergy())
4827 dump_HepMcParticleLink (p.particleLink(), f)
4828 return
4829
4830
4831def dump_LArDigit (p, f):
4832 fprint (f, p.channelID().getString(), p.gain(), list(p.samples()))
4833 return
4834
4835
4837 fprint (f, p.identify().getString())
4838 return
4839
4840
4842 dump_ZdcRawData (p, f)
4843 fprint (f, list(p.get_digits_gain0_delay0()))
4844 fprint (f, list(p.get_digits_gain0_delay1()))
4845 fprint (f, list(p.get_digits_gain1_delay0()))
4846 fprint (f, list(p.get_digits_gain1_delay1()))
4847 return
4848
4849
4850def dump_EventBookkeeper (p, f, level=0):
4851 fprint (f, p.getName(), p.getDescription(), p.getInputStream(), p.getOutputStream(), p.getLogic(), p.getNAcceptedEvents(), p.getNWeightedAcceptedEvents(), p.getCycle())
4852 for c in list(p.getChildrenEventBookkeepers()):
4853 fprint (f, '\n ' + (' '*level))
4854 dump_EventBookkeeper (c, f, level+1)
4855 return
4856
4857
4859 fprint (f, 'RpcFiredChannel', p.bcid(), p.time(), p.ijk(), p.channel(), p.ovl(), p.thr())
4860 return
4861
4862
4864 fprint (f, p.identify().getString(), p.onlineId(), p.crc(), p.fel1Id(), p.febcId())
4865 for chan in p:
4866 fprint(f, '\n ')
4867 dump_RpcFiredChannel (chan, f)
4868 return
4869
4870
4871@nolist
4873 dump_IDC (dump_RpcCoinMatrix, p, f,
4874 extra_idc_dumper = lambda p, f: \
4875 fprint (f, p.identify().getString(), p.onlineId(), p.lvl1Id(), p.bcId(),
4876 p.sector(), p.status(), p.errorCode()))
4877 return
4878
4879
4881 fprint (f, 'hit', p.rowinBcid(), p.padId(), p.ptId(), p.roi(),
4882 p.outerPlane(), p.overlapPhi(), p.overlapEta(),
4883 p.triggerBcid(), p.isInput())
4884 return
4885
4887 fprint (f, p.sectorId(), p.fel1Id(), p.bcid(), p.errorCode(), p.crc(),
4888 p.hasMoreThan2TriggerCand(),
4889 list (p.counters()),
4890 list (p.triggerRates()))
4891 for hit in p:
4892 fprint (f, '\n ')
4893 dump_RpcSLTriggerHit (hit, f)
4894 return
4895
4896
4898 fprint (f, p.address(), p.hashId(), p.identify(), p.rpuID(),
4899 p.time(), p.width(), p.isTimeComputed(), list(p.samples()))
4900 return
4901
4902@nolist
4904 dump_IDC (dump_CscRawData, p, f,
4905 extra_idc_dumper = lambda p, f: \
4906 fprint (f, p.identify(), p.rodId(), p.subDetectorId(),
4907 p.samplingPhase(), p.triggerType(), p.firstBitSummary(),
4908 p.eventType(), p.scaAddress(),
4909 list(p.rpuID()), [ord(c) for c in p.dataType()]))
4910 return
4911
4912
4914 fprint (f, p.bcTag(),
4915 'ids',
4916 p.subDetectorId(), p.rodId(), p.sswId(),
4917 p.slbId(), p.l1Id(), p.bcId(), p.slbType(),
4918 'hit',
4919 p.bitpos(), p.tracklet(), p.isAdjacent(),
4920 'coin',
4921 p.type(), p.isForward(), p.index(), p.position(),
4922 p.delta(), p.segment(), p.subMatrix(),
4923 'hipt',
4924 p.sector(), p.chip(), p.isHipt(), p.hitId(), p.hsub(),
4925 p.isStrip(), p.inner(),
4926 'sl',
4927 p.cand3plus(), p.isMuplus(), p.threshold(), p.isOverlap(),
4928 p.isVeto(), p.roi(), p.innerflag(), p.coinflag(),
4929 'nsw',
4930 p.nsweta(), p.nswphi(), p.nswsl(), p.nswcand(), p.nswdtheta(),
4931 p.nswphires(), p.nswlowres(), p.nswid(),
4932 'rpc',
4933 p.rpceta(), p.rpcphi(), p.rpcflag(), p.rpcdeta(), p.rpcdphi(),
4934 'eifi',
4935 p.ei(), p.fi(), p.cid(),
4936 'tmdb',
4937 p.tmdbmod(), p.tmdbbcid())
4938
4939 return
4940
4941def dump_TgcBitmask (p, f, lab, fields):
4942 mask = 0
4943 val = 1
4944 for ff in fields:
4945 if getattr (p, ff): mask += val
4946 val *= 2
4947 fprint (f, lab, hex (mask))
4948 return
4950 dump_TgcBitmask (p, f, 'err',
4951 ['badBcID',
4952 'badL1Id',
4953 'timedout',
4954 'badData',
4955 'overflow'])
4956 return
4958 dump_TgcBitmask (p, f, 'rod',
4959 ['EC_RXsend',
4960 'EC_FELdown',
4961 'EC_frame',
4962 'EC_Glnk',
4963 'EC_xor',
4964 'EC_ovfl',
4965 'EC_timeout',
4966 'EC_xormezz',
4967 'EC_wc0',
4968 'EC_L1ID',
4969 'EC_nohdr',
4970 'EC_rectype',
4971 'EC_null',
4972 'EC_order',
4973 'EC_LDB',
4974 'EC_RXovfl',
4975 'EC_SSWerr',
4976 'EC_sbid',
4977 'EC_unxsbid',
4978 'EC_dupsb',
4979 'EC_ec4',
4980 'EC_bc',
4981 'EC_celladr',
4982 'EC_hitovfl',
4983 'EC_trgbit',
4984 'EC_badEoE',
4985 'EC_endWCnot0',
4986 'EC_noEoE'])
4987 return
4989 dump_TgcBitmask (p, f, 'local',
4990 ['mergedHitBCs',
4991 'mergedTrackletBCs',
4992 'sortedHits',
4993 'sortedTracklets',
4994 'hasRoI',
4995 'fakeSsw'])
4996 return
4997def dump_TgcRdo (p, f):
4998 fprint (f, p.version(), p.identify(),
4999 p.subDetectorId(), p.rodId(), p.triggerType(),
5000 p.bcId(), p.l1Id(), p.orbit())
5001 dump_TgcRdo_Errors (p.errors(), f)
5002 dump_TgcRdo_RodStatus (p.rodStatus(), f)
5003 dump_TgcRdo_LocalStatus (p.localStatus(), f)
5004 return
5005
5006@nolist
5008 dump_IDC (dump_TgcRawData, p, f,
5009 extra_idc_dumper = dump_TgcRdo)
5010 return
5011
5012
5014 fprint (f, p.tdcId(), p.channelId(), p.leading(), p.coarse(), p.fine(),
5015 p.width(), p.isMasked(), list(p.dataWords()))
5016 return
5017
5018@nolist
5020 dump_IDC (dump_MdtAmtHit, p, f,
5021 extra_idc_dumper = lambda p, f: \
5022 fprint (f, p.identify().getString(),
5023 p.SubDetId(), p.MrodId(), p.CsmId()))
5024 return
5025
5026
5028 fprint (f, p.identify().getString(), p.bcTag(), p.time(), p.tdo(), p.charge(),
5029 p.isDead(), p.timeAndChargeInCounts())
5030 return
5031
5032@nolist
5034 dump_IDC (dump_STGC_RawData, p, f)
5035 return
5036
5037
5039 fprint (f, p.identify().getString(), p.channel(), p.relBcid(),
5040 p.time(), p.charge(),
5041 p.timeAndChargeInCounts())
5042 return
5043
5044@nolist
5046 dump_IDC (dump_MM_RawData, p, f)
5047 return
5048
5049
5051 fprint (f, p.getSourceid(), p.getFlags(), p.getEc(), p.getFragid(),
5052 p.getSecid(), p.getSpare(), p.getOrbit(), p.getBcid(), p.getL1id(),
5053 p.getOrbitid(), p.getOrbit1(), p.getStatus(),
5054 p.getNumberOfHits(), p.getNumberOfPfebs(), p.getNumberOfTriggers(),
5055 p.getNumberOfBcids(),
5056 list(p.getHitRelBcids()),
5057 list(p.getHitPfebs()),
5058 list(p.getHitTdsChannels()),
5059 list(p.getHitVmmChannels()),
5060 list(p.getHitVmms()),
5061 list(p.getHitPadChannels()),
5062 list(p.getPfebAddrs()),
5063 list(p.getPfebNChannels()),
5064 list(p.getPfebDisconnecteds()),
5065 list(p.getTriggerBandIds()),
5066 list(p.getTriggerPhiIds()),
5067 list(p.getTriggerRelBcids()),
5068 list(p.getBcidRels()),
5069 list(p.getBcidStatuses()),
5070 list(p.getBcidMultZeros()),
5071 list(p.getBcidMultiplicities()))
5072 return
5073
5074@nolist
5076 beg = p.begin()
5077 end = p.end()
5078 while beg != end:
5079 dump_NSW_PadTriggerData (beg.cptr(), f)
5080 fwrite (f, '\n')
5081 beg.__preinc__()
5082 fwrite (f, '\n')
5083 return
5084
5085
5087 fprint (f, 'ld', p.GetLucrodID(), 'bcid', p.GetBCID(),
5088 'run', p.GetRunNumber(), 'l1id', p.GetLevel1ID(),
5089 'nbc', p.GetNumBCs(), 'stat', p.GetStatus(),
5090 'avga/c', p.GetTrigAvgA(), p.GetTrigAvgC(),
5091 'data', list(p.GetTrigData()))
5092 for i in range (p.GetChanDataSize()):
5093 ch = p.GetChanData(i)
5094 fprint (f, '\n chan ', ch.id, list(ch.waveform))
5095 return
5096
5097
5099 dump_HepMcParticleLink (p.first, f)
5100 dump_EL (p.second, f)
5101 return
5102
5103
5104def format_int(x): return '%d'%x
5105def format_float(x): return '%.1f'%x
5106def format_float_vector(v): return ''.join ([format_float(x) for x in v])
5108 key = x.dataID()
5109 if not key:
5110 key = '(%d)' % x.key()
5111 return f'DataLink({key})'
5113 if x.isDefaultIndex():
5114 return '(null)'
5115 key = x.dataID()
5116 if not key:
5117 key = '(%d)' % x.key()
5118 return '%s[%d]' % (key, x.index())
5119char_accessor_ = getattr (ROOT, 'SG::ConstAccessor<char>')
5121 def __init__ (self, name):
5122 self.ac = char_accessor_ (name)
5123 return
5124 def __call__ (self, x):
5125 return ord(self.ac(x))
5126uchar_accessor_ = getattr (ROOT, 'SG::ConstAccessor<unsigned char>')
5128 def __init__ (self, name):
5129 self.ac = uchar_accessor_ (name)
5130 return
5131 def __call__ (self, x):
5132 return ord(self.ac(x))
5133tlist = ['bool',
5134 'int',
5135 'short',
5136 'long',
5137 'unsigned int',
5138 'unsigned short',
5139 'unsigned long',
5140 'unsigned long long',
5141 'std::vector<float>',
5142 'float',
5143 'double']
5144accessors = {
5145 'char' : char_accessor,
5146 'unsigned char' : uchar_accessor,
5147 }
5148for t in tlist:
5149 aname = 'SG::ConstAccessor<' + t
5150 if t[-1] == '>': aname += ' '
5151 aname += '>'
5152 accessors[t] = getattr (ROOT, aname)
5153
5154
5155atomic_accessors = {
5156 'unsigned int' : getattr (ROOT, 'SG::AtomicConstAccessor<unsigned int>'),
5157 }
5158
5159
5160def format_obj (x, name=None):
5161 if isinstance(x, float):
5162 return format_float (x)
5163 if isinstance(x, int):
5164 return format_int (x)
5165 tname = typename(type(x))
5166 if tname.startswith ('CxxUtils::range_with_conv<'):
5167 x = x.asVector()
5168 tname = typename(type(x))
5169 if tname.startswith ('ROOT.'):
5170 tname = tname[5:]
5171 if tname.startswith ('ElementLink<'):
5172 return format_el (x)
5173 if tname.startswith ('DataLink<'):
5174 return format_dl (x)
5175 if tname.startswith ('std::vector<') or tname.startswith ('vector<'):
5176 ipos = tname.find('<')
5177 tname2 = tname[ipos+1:]
5178 if (tname2.startswith('char,') or
5179 tname2.startswith('char>') or
5180 tname2.startswith ('unsigned char,') or
5181 tname2.startswith ('unsigned char>')):
5182 l = ', '.join ([str(ord(x[i])) for i in range(len(x))])
5183 elif tname2.startswith('bool,') or tname2 == 'bool>':
5184 l = ', '.join ([str(bool(xx)) for xx in x])
5185 else:
5186 l = ', '.join ([format_obj(x[i], name) for i in range(x.size())])
5187 return '[' + l + ']'
5188 if isinstance(x, PyAthena.xAOD.CaloClusterBadChannelData_v1):
5189 return '<BadChannel: %6.3f/%6.3f/%2d: %04x>' % \
5190 (x.eta(), x.phi(), x.layer(), x.badChannel())
5191 if tname == 'set<unsigned int>':
5192 acls=getattr(PyAthena, 'PyDumper::PySTLAdaptor<std::set<unsigned int>')
5193 if acls:
5194 return str(list(toiter1(acls(x))))
5195
5196 if tname.startswith ('std::pair<') or tname.startswith ('pair<'):
5197 return '(' + format_obj(x.first, name) + ', ' + format_obj(x.second, name) + ')'
5198
5199 if tname == 'Trk::VxTrackAtVertex':
5200 fout = StringIO()
5201 dump_VxTrackAtVertex (x, fout)
5202 out = fout.getvalue()
5203 return '{' + out.replace('\n', '; ') + '}'
5204
5205 return str(x)
5206
5207
5208def generic_dump_auxitem (x, auxid, f):
5209 if hasattr (x, 'container'):
5210 try:
5211 x.container().getConstStore().getData(auxid)[0]
5212 except IndexError:
5213 fprint (f, '<unavailable 1>')
5214 return
5215
5216 reg=ROOT.SG.AuxTypeRegistry.instance()
5217 tname = reg.getTypeName (auxid)
5218 ac = ROOT.SG.ConstAuxElement.TypelessConstAccessor (reg.getName(auxid))
5219 try:
5220 buf = ac(x)
5221 except TypeError:
5222 fprint (f, '<unavailable 2>')
5223 return
5224 try:
5225 obj = ROOT.TPython.CPPInstance_FromVoidPtr (buf, tname)
5226 except TypeError:
5227 fprint (f, '<unknown %s>'%tname)
5228 return
5229 fprint (f, format_obj(obj, reg.getName(auxid)))
5230 return
5231
5232
5233def dump_auxitem (x, auxid, f = sys.stdout):
5234 if hasattr (x, 'container'):
5235 auxdata = x.container().getConstStore().getData(auxid)
5236 if not auxdata:
5237 # Expected if a dynamic variable is missing for an event.
5238 fprint (f, '<unavailable>')
5239 return
5240 try:
5241 auxdata[0]
5242 except IndexError:
5243 fprint (f, '<unavailable 4>')
5244 return
5245
5246 reg=ROOT.SG.AuxTypeRegistry.instance()
5247 tname = reg.getTypeName (auxid)
5248 atomic = reg.getFlags (auxid) & ROOT.SG.AuxVarFlags.Atomic
5249 if atomic:
5250 ac_cl = atomic_accessors.get (tname)
5251 else:
5252 ac_cl = accessors.get (tname)
5253
5254 if not ac_cl and tname.startswith ('SG::JaggedVecElt<'):
5255 ac_cl = getattr (ROOT, 'SG::ConstAccessor<' + tname + ' >')
5256 if ac_cl:
5257 accessors[tname] = ac_cl
5258
5259 if not ac_cl and tname.startswith ('SG::PackedLink<') or tname.startswith ('std::vector<SG::PackedLink<'):
5260 ac_cl = getattr (ROOT, 'SG::ConstAccessor<' + tname + ' >')
5261 if ac_cl:
5262 accessors[tname] = ac_cl
5263
5264 #print x, auxid, reg.getName(auxid)
5265 if ac_cl:
5266 ac = ac_cl(reg.getName(auxid))
5267 try:
5268 val = ac(x)
5269 except TypeError:
5270 # Can happen due to schema evolution
5271 val = '<unavailable 5>'
5272 fprint (f, format_obj(val))
5273 else:
5274 generic_dump_auxitem (x, auxid, f)
5275 return
5276
5277
5278def dump_auxdata (x, exclude=None, f = sys.stdout):
5279 reg=ROOT.SG.AuxTypeRegistry.instance()
5280 if cppyy.addressof (x) == 0:
5281 fprint (f, '<null pointer>', x, type(x))
5282 return
5283 try:
5284 auxids = ROOT.PyDumper.Utils.getAuxIDVector (x)
5285 except TypeError:
5286 print ('xxx', x)
5287 raise
5288 auxids = [(reg.getName(id), id) for id in auxids]
5289 auxids.sort()
5290 for name, auxid in auxids:
5291 if exclude and name in exclude: continue
5292 if name.endswith ('_linked'): continue
5293 fprint (f, name + ': ')
5294 dump_auxitem (x, auxid, f)
5295 fprint (f, '\n ')
5296 return
5297
5298
5299def dump_xAOD(o, f):
5300 fprint (f, typename(o.__class__), '\n ')
5301 dump_auxdata (o, f=f)
5302 return
5303
5304
5305@nolist
5307 dump_xAOD(o, f)
5308 return
5309
5310
5311@nolist
5313 dump_xAOD(o, f)
5314 fwrite (f, '\n')
5315 return
5316
5317
5318def dump_list (l, f, dumper, nmax = None):
5319 i = 0
5320 for x in l:
5321 if nmax is not None and i >= nmax: break
5322 i += 1
5323 fprint (f, ' ')
5324 dumper (x, f)
5325 fwrite (f, '\n')
5326 return
5327
5328
5329
5330
5331"""The list of tuples (cpp_type, dumper_fct)
5332"""
5333dumpspecs = [
5334 ["ElectronContainer", dump_Electron],
5335 ["PhotonContainer", dump_Photon],
5336 ["Analysis::MuonContainer", dump_Muon],
5337 ["Analysis::TauJetContainer", dump_TauJet],
5338 ["TruthParticleContainer", dump_TruthParticle],
5339 ["Rec::TrackParticleContainer", dump_TrackParticle],
5340 ["DataVector<Trk::Track>", dump_Track],
5341 ["DataVector<Trk::Segment>", dump_Segment],
5342 ["MissingET", dump_MissingET],
5343 ["MissingEtCalo", dump_MissingEtCalo],
5344 ["MissingEtTruth", dump_MissingEtTruth],
5345 ["CaloClusterContainer", dump_CaloClusters_sorted],
5346 ['CaloCellLinkContainer', dump_CaloCellLink],
5347 ['CaloCellContainer', dump_CaloCell],
5348 ['CaloClusterCellLinkContainer', dump_CaloClusterCellLink],
5349 ['TileContainer<TileCell>', dump_CaloCell],
5350 ['TileCellContainer', dump_CaloCell],
5351 ["VxContainer", dump_VxCandidate],
5352 ["EventInfo", dump_EventInfo],
5353 ["PileUpEventInfo", dump_PileUpEventInfo],
5354 ["EventStreamInfo", dump_EventStreamInfo],
5355 ["McEventCollection", dump_GenEvent],
5356 ["CTP_Decision", dump_CTP_Decision],
5357 ["LVL1_ROI", dump_LVL1_ROI],
5358 ["TrigDec::TrigDecision", dump_TrigDecision],
5359 ["TrigConf::HLTAODConfigData", dump_HLTAODConfigData],
5360 ["TrigConf::Lvl1AODConfigData", dump_Lvl1AODConfigData],
5361 ["TrigConf::Lvl1AODPrescaleConfigData", dump_Lvl1AODPrescaleConfigData],
5362 ["TrackParticleTruthCollection", dump_TrackParticleTruthCollection],
5363 ["DetailedTrackTruthCollection", dump_DetailedTrackTruthCollection],
5364 ["Rec::MuonSpShowerContainer", dump_MuonSpShower],
5365 ["HLT::HLTResult", dump_HLTResult],
5366 ["HLT::HLTResultMT", dump_HLTResultMT],
5367 ["MissingETSig", dump_MissingETSig],
5368 ["INav4MomAssocs", dump_INav4MomAssocs],
5369 ["MissingETSigObjContainer", dump_MissingETSigObject],
5370 ["DetStatusMap", dump_DetStatusMap],
5371 ["AtlasHitsVector<TrackRecord>", dump_TrackRecord],
5372 ["AthenaHitsVector<TrackRecord>", dump_TrackRecord],
5373 ["MissingETSigHypoContainer", dump_MissingETSigHypo],
5374 ["JetCollection", dump_Jet],
5375 ["V0Container", dump_V0Candidate],
5376 ["egammaContainer", dump_egamma],
5377 ["DataVector<TrigVertex>", dump_TrigVertex],
5378 ["TrigVertexCollection", dump_TrigVertex],
5379 ["TrigTrackCounts", dump_TrigTrackCounts_nolist],
5380 ["TrigTau", dump_TrigTau_nolist],
5381 ["DataVector<TrigElectron>", dump_TrigElectron],
5382 ["DataVector<TrigPhoton>", dump_TrigPhoton],
5383 ["TrigEMCluster", dump_TrigEMCluster_nolist],
5384 ["TrigInDetTrackCollection", dump_TrigInDetTrackCollection],
5385 ["DataVector<TrigEFBjet>", dump_TrigEFBjet],
5386 ["DataVector<TrigEFBphys>", dump_TrigEFBphys],
5387 ["DataVector<TrigL2Bjet>", dump_TrigL2Bjet],
5388 ["DataVector<TrigL2Bphys>", dump_TrigL2Bphys],
5389 ["TrigCaloClusterContainer", dump_TrigCaloCluster],
5390 ["TrigTauClusterDetailsContainer", dump_TrigTauClusterDetails],
5391 ["TrigMissingET", dump_TrigMissingET_nolist],
5392 ["TrigRoiDescriptor", dump_TrigRoiDescriptor_nolist],
5393 ["TrigT2Jet", dump_TrigT2Jet_nolist],
5394 ["TrigTauCluster", dump_TrigTauCluster_nolist],
5395 ["TrigTauTracksInfo", dump_TrigTauTracksInfo_nolist],
5396 ["TrigSpacePointCounts", dump_TrigSpacePointCounts_nolist],
5397 ["CombinedMuonFeature", dump_CombinedMuonFeature_nolist],
5398 ["MuonFeature", dump_MuonFeature_nolist],
5399 ["TrigMuonEFContainer", dump_TrigMuonEF],
5400 ["TileContainer<TileMu>", dump_TileMu],
5401 ["CaloShowerContainer", dump_CaloShower],
5402 ["CaloTowerContainer", dump_CaloTowerContainer],
5403 ["CaloTopoTowerContainer", dump_CaloTopoTowerContainer],
5404 ["CaloCalibrationHitContainer", dump_CaloCalibrationHit],
5405 ['LArHitContainer', dump_LArHit],
5406 ['TileHitVector', dump_TileHit],
5407 ['AtlasHitsVector<TileHit>', dump_TileHit],
5408 ['TileRawChannelContainer', dump_TileRawChannelContainer],
5409 ['TileBeamElemContainer', dump_TileBeamElemContainer],
5410 ['SiHitCollection', dump_SiHit],
5411 ['AtlasHitsVector<SiHit>', dump_SiHit],
5412 ['TRTUncompressedHitCollection', dump_TRTUncompressedHit],
5413 ['AtlasHitsVector<TRTUncompressedHit>', dump_TRTUncompressedHit],
5414 ['AtlasHitsVector<CSCSimHit>', dump_CSCSimHit],
5415 ['AtlasHitsVector<MDTSimHit>', dump_MDTSimHit],
5416 ['AtlasHitsVector<RPCSimHit>', dump_RPCSimHit],
5417 ['AtlasHitsVector<TGCSimHit>', dump_TGCSimHit],
5418 ["CombinedMuonFeatureContainer", dump_CombinedMuonFeature],
5419 ["MuonFeatureContainer", dump_MuonFeature],
5420 ["TrigEFBjetContainer", dump_TrigEFBjet],
5421 ["TrigEFBphysContainer", dump_TrigEFBphys],
5422 ["TrigEMClusterContainer", dump_TrigEMCluster],
5423 ["TrigElectronContainer", dump_TrigElectron],
5424 ["TrigL2BjetContainer", dump_TrigL2Bjet],
5425 ["TrigL2BphysContainer", dump_TrigL2Bphys],
5426 ["TrigMissingETContainer", dump_TrigMissingET],
5427 ["TrigPhotonContainer", dump_TrigPhoton],
5428 ["TrigT2JetContainer", dump_TrigT2Jet],
5429 ["TrigTauClusterContainer", dump_TrigTauCluster],
5430 ["TrigTauContainer", dump_TrigTau],
5431 ["TrigTauTracksInfoCollection", dump_TrigTauTracksInfo],
5432 ["TrigSpacePointCountsCollection", dump_TrigSpacePointCounts],
5433 ["TrigTrackCountsCollection", dump_TrigTrackCounts],
5434 ["TrigT2MbtsBitsContainer", dump_TrigT2MbtsBits],
5435 ["TrigRoiDescriptorCollection", dump_TrigRoiDescriptor],
5436 ["TileMuFeatureContainer", dump_TileMuFeature],
5437 ["TileTrackMuFeatureContainer", dump_TileTrackMuFeature],
5438 ["CosmicMuonCollection", dump_CosmicMuon],
5439 ["MdtTrackSegmentCollection", dump_MdtTrackSegment],
5440 ["IsoMuonFeatureContainer", dump_IsoMuonFeature],
5441 ["TrigMuonEFInfoContainer", dump_TrigMuonEFInfo],
5442 ["RingerRingsContainer", dump_RingerRings],
5443 ["TrigTrtHitCountsCollection", dump_TrigTrtHitCounts],
5444 ["MuonFeatureDetailsContainer", dump_MuonFeatureDetails],
5445 ["TrigRNNOutputContainer", dump_TrigRNNOutput],
5446 ["InDet::InDetLowBetaContainer", dump_InDetLowBetaCandidate],
5447 ["LArNoisyROSummary", dump_LArNoisyROSummary],
5448 ["SkimDecisionCollection", dump_SkimDecision],
5449 ["RawInfoSummaryForTag", dump_RawInfoSummaryForTag],
5450 ["MissingETComposition", dump_MissingETComposition],
5451 ["Muon::ChamberT0s", dump_ChamberT0s],
5452 ["TrigMuonClusterFeatureContainer", dump_TrigMuonClusterFeature],
5453 ["TrigPassBitsCollection", dump_TrigPassBits],
5454 ["TrigOperationalInfoCollection", dump_TrigOperationalInfo],
5455 ["TrigVertexCountsCollection", dump_TrigVertexCounts],
5456 ["TrigMuonEFIsolationContainer", dump_TrigMuonEFIsolation],
5457 ["eflowObjectContainer", dump_eflowObjectContainer],
5458 ["TrigPassFlagsCollection", dump_TrigPassFlags],
5459 ["TrackParticleAssocs", dump_TrackParticleAssocs],
5460 ["ElectronMuonTopoInfoContainer", dump_ElectronMuonTopoInfo],
5461 ["RecoTimingObj", dump_RecoTimingObj],
5462 ['MuonCaloEnergyContainer', dump_CaloEnergy],
5463 ['CscSimDataCollection', dump_CscSimDataCollection],
5464 ['MuonSimDataCollection', dump_MuonSimDataCollection],
5465 ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::CscPrepData> >', dump_CscPrepDataContainer],
5466 ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::CscStripPrepData> >', dump_CscStripPrepDataContainer],
5467 ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::TgcPrepData> >', dump_TgcPrepDataContainer],
5468 ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::MdtPrepData> >', dump_MdtPrepDataContainer],
5469 ['Muon::MuonPrepDataContainer<Muon::MuonPrepDataCollection<Muon::RpcPrepData> >', dump_RpcPrepDataContainer],
5470 ['Muon::MuonCoinDataContainer<Muon::MuonCoinDataCollection<Muon::RpcCoinData> >', dump_RpcCoinDataContainer],
5471 ['Muon::MuonCoinDataContainer<Muon::MuonCoinDataCollection<Muon::TgcCoinData> >', dump_TgcCoinDataContainer],
5472 ['Trk::PrepRawDataContainer<Trk::PrepRawDataCollection<InDet::PixelCluster> >', dump_PixelClusterContainer],
5473 ['Trk::PrepRawDataContainer<Trk::PrepRawDataCollection<InDet::SCT_Cluster> >', dump_SCT_ClusterContainer],
5474 ['Trk::PrepRawDataContainer<Trk::PrepRawDataCollection<InDet::TRT_DriftCircle> >', dump_TRT_DriftCircleContainer],
5475 ['InDetRawDataContainer<InDetRawDataCollection<PixelRDORawData> >', dump_PixelRawDataContainer],
5476 ['InDetRawDataContainer<InDetRawDataCollection<TRT_RDORawData> >', dump_TRT_RawDataContainer],
5477 ['InDetRawDataContainer<InDetRawDataCollection<SCT_RDORawData> >', dump_SCT_RawDataContainer],
5478 ['std::multimap<const InDet::SiCluster*,const InDet::SiCluster*,InDet::compare_SiCluster>', dump_PixelGangedClusterAmbiguities],
5479 ['TileDigitsContainer', dump_TileDigitsContainer],
5480 ['TileContainer<TileL2>', dump_TileL2],
5481 ['TileContainer<TileTTL1>', dump_TileTTL1],
5482 ['TileContainer<TileMuonReceiverObj>', dump_TileMuonReceiverObj],
5483 ['DataVector<LVL1::CMMCPHits>', dump_CMMCPHits],
5484 ['DataVector<LVL1::CMMEtSums>', dump_CMMEtSums],
5485 ['DataVector<LVL1::CMMJetHits>', dump_CMMJetHits],
5486 ['LVL1::CMMRoI', dump_CMMRoI],
5487 ['DataVector<LVL1::CPMHits>', dump_CPMHits],
5488 ['DataVector<LVL1::CPMRoI>', dump_CPMRoI],
5489 ['DataVector<LVL1::CPMTower>', dump_CPMTower],
5490 ['CTP_RDO', dump_CTP_RDO],
5491 ['MuCTPI_RDO', dump_MuCTPI_RDO],
5492 ['DataVector<LVL1::JEMEtSums>', dump_JEMEtSums],
5493 ['DataVector<LVL1::JEMHits>', dump_JEMHits],
5494 ['DataVector<LVL1::JEMRoI>', dump_JEMRoI],
5495 ['DataVector<LVL1::JetElement>', dump_JetElement],
5496 ['DataVector<LVL1::TriggerTower>', dump_TriggerTower],
5497 ['ROIB::RoIBResult', dump_RoIBResult],
5498 ['LUCID_RawDataContainer', dump_LUCID_RawData],
5499 ['BCM_RDO_Container', dump_BCM_RDO_Collection],
5500 ['LArDigitContainer', dump_LArDigit],
5501 ['EventBookkeeperCollection', dump_EventBookkeeper],
5502 ['ZdcDigitsCollection', dump_ZdcDigits],
5503 ['RpcPadContainer', dump_RpcPadContainer],
5504 ['RpcSectorLogicContainer', dump_RpcSectorLogic],
5505 ['CscRawDataContainer', dump_CscRawDataContainer],
5506 ['TgcRdoContainer', dump_TgcRdoContainer],
5507 ['MdtCsmContainer', dump_MdtCsmContainer],
5508 ['Muon::STGC_RawDataContainer', dump_STGC_RawDataContainer],
5509 ['Muon::MM_RawDataContainer', dump_MM_RawDataContainer],
5510 ['Muon::NSW_PadTriggerDataContainer', dump_NSW_PadTriggerDataContainer],
5511 ['ZdcLucrodDataContainer', dump_ZdcLucrod_Data],
5512 ['AthenaAttributeList', dump_AttributeList],
5513 ['InDetTimeCollection', dump_InDetTime],
5514 ['std::vector<pair<unsigned int,unsigned int> >', dump_InDetTime],
5515 ['IDCInDetBSErrContainer', dump_IDCInDetBSErrContainer],
5516 ['TRT_BSErrContainer', dump_TRT_BSErrContainer],
5517 ['LArFebHeaderContainer', dump_LArFebHeader],
5518 ['LArRawChannelContainer', dump_LArRawChannel],
5519 ['TrigMonEventCollection', dump_TrigMonEvent],
5520 ['TrigMonConfigCollection', dump_TrigMonConfig],
5521 ['LVL1CTP::Lvl1Result', dump_Lvl1Result],
5522 ['AFP_RawContainer', dump_AFP_RawContainer],
5523 ['ALFA_RawDataContainer', dump_ALFA_RawDataContainer],
5524 ['TrigT2ZdcSignalsContainer', dump_TrigT2ZdcSignals],
5525 ['Analysis::TauDetailsContainer', dump_TauDetailsContainer],
5526 ['egDetailContainer', dump_egDetailContainer],
5527 ['JetMomentMapCollection', dump_JetMomentMapCollection],
5528 ['JetKeyDescriptorCollection', dump_JetKeyDescriptorCollection],
5529 ['LArFebErrorSummary', dump_LArFebErrorSummary],
5530 ['Trk::ClusterSplitProbabilityContainer', dump_ClusterSplitProbabilityContainer],
5531 ['InDetSimDataCollection', dump_InDetSimDataCollection],
5532 ['PRD_MultiTruthCollection', dump_PRD_MultiTruthCollection],
5533 ['TrackTruthCollection', dump_TrackTruthCollection],
5534 ['LArTTL1Container', dump_LArTTL1],
5535 ['ComTime', dump_ComTime],
5536 ['std::vector<unsigned int>', dump_vector],
5537
5538 ['DataVector<xAOD::BTagVertex_v1>', dump_xAOD],
5539 ['xAOD::BTagVertexContainer', dump_xAOD],
5540 ['DataVector<xAOD::BTagging_v1>', dump_xAOD],
5541 ['xAOD::BTaggingContainer', dump_xAOD],
5542 ['DataVector<xAOD::CaloCluster_v1>', dump_xAOD],
5543 ['xAOD::CaloClusterContainer', dump_xAOD],
5544 ['DataVector<xAOD::Electron_v1>', dump_xAOD],
5545 ['DataVector<xAOD::EmTauRoI_v1>', dump_xAOD],
5546 ['DataVector<xAOD::EmTauRoI_v2>', dump_xAOD],
5547 ['xAOD::EmTauRoIContainer', dump_xAOD],
5548 ['DataVector<xAOD::JetRoI_v1>', dump_xAOD],
5549 ['DataVector<xAOD::JetRoI_v2>', dump_xAOD],
5550 ['xAOD::JetRoIContainer', dump_xAOD],
5551 ['DataVector<xAOD::Jet_v1>', dump_xAOD],
5552 ['xAOD::JetContainer', dump_xAOD],
5553 ['DataVector<xAOD::L2CombinedMuon_v1>', dump_xAOD],
5554 ['xAOD::L2CombinedMuonContainer', dump_xAOD],
5555 ['DataVector<xAOD::L2StandAloneMuon_v1>',dump_xAOD],
5556 ['DataVector<xAOD::L2StandAloneMuon_v2>',dump_xAOD],
5557 ['xAOD::L2StandAloneMuonContainer', dump_xAOD],
5558 ['DataVector<xAOD::MuonRoI_v1>', dump_xAOD],
5559 ['xAOD::MuonRoIContainer', dump_xAOD],
5560 ['DataVector<xAOD::MuonSegment_v1>', dump_xAOD],
5561 ['xAOD::MuonSegmentContainer', dump_xAOD],
5562 ['DataVector<xAOD::Muon_v1>', dump_xAOD],
5563 ['xAOD::MuonContainer', dump_xAOD],
5564 ['DataVector<xAOD::PFO_v1>', dump_xAOD],
5565 ['xAOD::PFOContainer', dump_xAOD],
5566 ['DataVector<xAOD::Photon_v1>', dump_xAOD],
5567 ['DataVector<xAOD::SlowMuon_v1>', dump_xAOD],
5568 ['xAOD::SlowMuonContainer', dump_xAOD],
5569 ['DataVector<xAOD::TauJet_v1>', dump_xAOD],
5570 ['DataVector<xAOD::TauJet_v2>', dump_xAOD],
5571 ['DataVector<xAOD::TauJet_v3>', dump_xAOD],
5572 ['xAOD::TauJetContainer', dump_xAOD],
5573 ['DataVector<xAOD::TauTrack_v1>', dump_xAOD],
5574 ['xAOD::TauTrackContainer', dump_xAOD],
5575 ['DataVector<xAOD::Particle_v1>', dump_xAOD],
5576 ['xAOD::ParticleContainer', dump_xAOD],
5577 ['DataVector<xAOD::TrackParticle_v1>', dump_xAOD],
5578 ['xAOD::TrackParticleContainer', dump_xAOD],
5579 ['DataVector<xAOD::TrigBphys_v1>', dump_xAOD],
5580 ['xAOD::TrigBphysContainer', dump_xAOD],
5581 ['DataVector<xAOD::TrigComposite_v1>', dump_xAOD],
5582 ['xAOD::TrigCompositeContainer', dump_xAOD],
5583 ['DataVector<xAOD::TrigEMCluster_v1>', dump_xAOD],
5584 ['xAOD::TrigEMClusterContainer', dump_xAOD],
5585 ['DataVector<xAOD::TrigElectron_v1>', dump_xAOD],
5586 ['xAOD::TrigElectronContainer', dump_xAOD],
5587 ['DataVector<xAOD::TrigMissingET_v1>', dump_xAOD],
5588 ['xAOD::TrigMissingETContainer', dump_xAOD],
5589 ['DataVector<xAOD::TrigPhoton_v1>', dump_xAOD],
5590 ['xAOD::TrigPhotonContainer', dump_xAOD],
5591 ['DataVector<xAOD::TrigRNNOutput_v1>', dump_xAOD],
5592 ['DataVector<xAOD::TrigRNNOutput_v2>', dump_xAOD],
5593 ['xAOD::TrigRNNOutputContainer', dump_xAOD],
5594 ['DataVector<xAOD::TrigRingerRings_v1>', dump_xAOD],
5595 ['DataVector<xAOD::TrigRingerRings_v2>', dump_xAOD],
5596 ['xAOD::TrigRingerRingsContainer', dump_xAOD],
5597 ['DataVector<xAOD::TrigSpacePointCounts_v1>',dump_xAOD],
5598 ['xAOD::TrigSpacePointCountsContainer', dump_xAOD],
5599 ['DataVector<xAOD::TrigT2MbtsBits_v1>', dump_xAOD],
5600 ['xAOD::TrigT2MbtsBitsContainer', dump_xAOD],
5601 ['DataVector<xAOD::TrigTrackCounts_v1>', dump_xAOD],
5602 ['xAOD::TrigTrackCountsContainer', dump_xAOD],
5603 ['DataVector<xAOD::TrigVertexCounts_v1>',dump_xAOD],
5604 ['xAOD::TrigVertexCountsContainer', dump_xAOD],
5605 ['DataVector<xAOD::TruthEvent_v1>', dump_xAOD],
5606 ['xAOD::TruthEventContainer', dump_xAOD],
5607 ['DataVector<xAOD::TruthParticle_v1>', dump_xAOD],
5608 ['xAOD::TruthParticleContainer', dump_xAOD],
5609 ['DataVector<xAOD::TruthVertex_v1>', dump_xAOD],
5610 ['xAOD::TruthVertexContainer', dump_xAOD],
5611 ['DataVector<xAOD::Vertex_v1>', dump_xAOD],
5612 ['xAOD::VertexContainer', dump_xAOD],
5613 ['DataVector<xAOD::L2IsoMuon_v1>', dump_xAOD],
5614 ['xAOD::L2IsoMuonContainer', dump_xAOD],
5615 ['DataVector<xAOD::TrigT2ZdcSignals_v1>',dump_xAOD],
5616 ['xAOD::TrigT2ZdcSignalsContainer', dump_xAOD],
5617 ['DataVector<xAOD::HIEventShape_v1>', dump_xAOD],
5618 ['DataVector<xAOD::HIEventShape_v2>', dump_xAOD],
5619 ['xAOD::HIEventShapeContainer', dump_xAOD],
5620 ['DataVector<xAOD::DiTauJet_v1>', dump_xAOD],
5621 ['xAOD::DiTauJetContainer', dump_xAOD],
5622 ['DataVector<xAOD::TrigPassBits_v1>', dump_xAOD],
5623 ['xAOD::TrigPassBitsContainer', dump_xAOD],
5624 ['DataVector<xAOD::TrackParticleClusterAssociation_v1>', dump_xAOD],
5625 ['xAOD::TrackParticleClusterAssociationContainer', dump_xAOD],
5626 ['DataVector<xAOD::TruthPileupEvent_v1>',dump_xAOD],
5627 ['xAOD::TruthPileupEventContainer_v1', dump_xAOD],
5628 ['DataVector<xAOD::CaloRings_v1>', dump_xAOD],
5629 ['xAOD::CaloRingsContainer', dump_xAOD],
5630 ['DataVector<xAOD::RingSet_v1>', dump_xAOD],
5631 ['xAOD::RingSetContainer', dump_xAOD],
5632 ['DataVector<xAOD::ForwardEventInfo_v1>',dump_xAOD],
5633 ['xAOD::ForwardEventInfoContainer', dump_xAOD],
5634 ['DataVector<xAOD::MBTSModule_v1>', dump_xAOD],
5635 ['xAOD::MBTSModuleContainer', dump_xAOD],
5636 ['DataVector<xAOD::ZdcModule_v1>', dump_xAOD],
5637 ['xAOD::ZdcModuleContainer', dump_xAOD],
5638 ['DataVector<xAOD::CPMTower_v2>', dump_xAOD],
5639 ['xAOD::CPMTowerContainer', dump_xAOD],
5640 ['DataVector<xAOD::JetElement_v2>', dump_xAOD],
5641 ['xAOD::JetElementContainer', dump_xAOD],
5642 ['DataVector<xAOD::TriggerTower_v2>', dump_xAOD],
5643 ['xAOD::TriggerTowerContainer', dump_xAOD],
5644 ['xAOD::MissingETContainer_v1', dump_xAOD],
5645 ['xAOD::MissingETContainer', dump_xAOD],
5646 ['xAOD::MissingETComponentMap_v1', dump_xAOD],
5647 ['xAOD::MissingETComponentMap', dump_xAOD],
5648 ['DataVector<xAOD::FlowElement_v1>', dump_xAOD],
5649 ['xAOD::FlowElementContainer', dump_xAOD],
5650 ['DataVector<xAOD::AFPSiHitsCluster_v1>',dump_xAOD],
5651 ['xAOD::AFPSiHitsClusterContainer', dump_xAOD],
5652 ['DataVector<xAOD::AFPProton_v1>', dump_xAOD],
5653 ['xAOD::AFPProtonContainer', dump_xAOD],
5654 ['DataVector<xAOD::AFPVertex_v1>', dump_xAOD],
5655 ['xAOD::AFPVertexContainer', dump_xAOD],
5656 ['DataVector<xAOD::AFPTrack_v2>', dump_xAOD],
5657 ['xAOD::AFPTrackContainer', dump_xAOD],
5658 ['DataVector<xAOD::AFPToFTrack_v1>', dump_xAOD],
5659 ['xAOD::AFPToFTrackContainer', dump_xAOD],
5660 ['xAOD::EventInfo_v1', dump_xAODObject],
5661 ['xAOD::EventInfo', dump_xAODObject],
5662 ['xAOD::EventShape_v1', dump_xAODObjectNL],
5663 ['xAOD::EventShape', dump_xAODObjectNL],
5664 ['xAOD::MissingETAssociationMap_v1', dump_xAOD],
5665 ['xAOD::MissingETAssociationMap', dump_xAOD],
5666 ['xAOD::TrigDecision_v1', dump_xAODObject],
5667 ['xAOD::TrigConfKeys_v1', dump_TrigConfKeys],
5668 ['xAOD::JetEtRoI_v1', dump_xAODObject],
5669 ['xAOD::EnergySumRoI_v1', dump_xAODObject],
5670 ['xAOD::EnergySumRoI_v2', dump_xAODObject],
5671 ['xAOD::TrigNavigation_v1', dump_xAODObject],
5672 ['xAOD::TrigNavigation', dump_xAODObject],
5673 ['xAOD::RoiDescriptorStore_v1', dump_xAODObject],
5674 ['xAOD::RoiDescriptorStore', dump_xAODObject],
5675 ['DataVector<xAODTruthParticleLink>', dump_xAODTruthParticleLink],
5676 ['xAODTruthParticleLinkVector', dump_xAODTruthParticleLink],
5677 ['DataVector<xAOD::NSWTPRDO_v1>', dump_xAOD],
5678 ['xAOD::NSWTPRDOContainer', dump_xAOD],
5679 ['DataVector<xAOD::NSWMMTPRDO_v1>', dump_xAOD],
5680 ['xAOD::NSWMMTPRDOContainer', dump_xAOD],
5681 ['DataVector<xAOD::RODHeader_v2>', dump_xAOD],
5682 ['xAOD::RODHeaderContainer', dump_xAOD],
5683 ['DataVector<xAOD::CMXJetTob_v1>', dump_xAOD],
5684 ['xAOD::CMXJetTobContainer', dump_xAOD],
5685 ['DataVector<xAOD::JEMTobRoI_v1>', dump_xAOD],
5686 ['xAOD::JEMTobRoIContainer', dump_xAOD],
5687 ['DataVector<xAOD::CMXCPTob_v1>', dump_xAOD],
5688 ['xAOD::CMXCPTobContainer', dump_xAOD],
5689 ['DataVector<xAOD::CMXJetHits_v1>', dump_xAOD],
5690 ['xAOD::CMXJetHitsContainer', dump_xAOD],
5691 ['DataVector<xAOD::CMXEtSums_v1>', dump_xAOD],
5692 ['xAOD::CMXEtSumsContainer', dump_xAOD],
5693 ['DataVector<xAOD::CMXRoI_v1>', dump_xAOD],
5694 ['xAOD::CMXRoIContainer', dump_xAOD],
5695 ['DataVector<xAOD::CPMTobRoI_v1>', dump_xAOD],
5696 ['xAOD::CPMTobRoIContainer', dump_xAOD],
5697 ['DataVector<xAOD::JEMEtSums_v2>', dump_xAOD],
5698 ['xAOD::JEMEtSumsContainer', dump_xAOD],
5699 ['DataVector<xAOD::CMXCPHits_v1>', dump_xAOD],
5700 ['xAOD::CMXCPHitsContainer', dump_xAOD],
5701 ['DataVector<xAOD::L1TopoRawData_v1>', dump_xAOD],
5702 ['xAOD::L1TopoRawDataContainer', dump_xAOD],
5703 ['DataVector<xAOD::jFexFwdElRoI_v1>', dump_xAOD],
5704 ['xAOD::jFexFwdElRoIContainer', dump_xAOD],
5705 ['DataVector<xAOD::jFexSRJetRoI_v1>', dump_xAOD],
5706 ['xAOD::jFexSRJetRoIContainer', dump_xAOD],
5707 ['DataVector<xAOD::jFexSumETRoI_v1>', dump_xAOD],
5708 ['xAOD::jFexSumETRoIContainer', dump_xAOD],
5709 ['DataVector<xAOD::gFexGlobalRoI_v1>', dump_xAOD],
5710 ['xAOD::gFexGlobalRoIContainer', dump_xAOD],
5711 ['DataVector<xAOD::jFexLRJetRoI_v1>', dump_xAOD],
5712 ['xAOD::jFexLRJetRoIContainer', dump_xAOD],
5713 ['DataVector<xAOD::eFexTauRoI_v1>', dump_xAOD],
5714 ['xAOD::eFexTauRoIContainer', dump_xAOD],
5715 ['DataVector<xAOD::gFexJetRoI_v1>', dump_xAOD],
5716 ['xAOD::gFexJetRoIContainer', dump_xAOD],
5717 ['DataVector<xAOD::gFexTower_v1>', dump_xAOD],
5718 ['xAOD::gFexTowerContainer', dump_xAOD],
5719 ['DataVector<xAOD::eFexEMRoI_v1>', dump_xAOD],
5720 ['xAOD::eFexEMRoIContainer', dump_xAOD],
5721 ['DataVector<xAOD::jFexTauRoI_v1>', dump_xAOD],
5722 ['xAOD::jFexTauRoIContainer', dump_xAOD],
5723 ['DataVector<xAOD::jFexTower_v1>', dump_xAOD],
5724 ['xAOD::jFexTowerContainer', dump_xAOD],
5725 ['DataVector<xAOD::jFexMETRoI_v1>', dump_xAOD],
5726 ['xAOD::jFexMETRoIContainer', dump_xAOD],
5727 ['DataVector<xAOD::eFexTower_v1>', dump_xAOD],
5728 ['xAOD::eFexTowerContainer', dump_xAOD],
5729 ['DataVector<xAOD::AFPSiHit_v2>', dump_xAOD],
5730 ['xAOD::AFPSiHitContainer', dump_xAOD],
5731 ['DataVector<xAOD::AFPToFHit_v1>', dump_xAOD],
5732 ['xAOD::AFPToFHitContainer', dump_xAOD],
5733 ['xAOD::BunchConfKey_v1', dump_BunchConfKey],
5734 ['xAOD::BunchConfKey', dump_BunchConfKey],
5735
5736 # Make some of these more compact?
5737
5738]
5739
5740
5741import sys
5742def get_dumper_fct(klass, ofile=sys.stdout, nmax = None):
5743 """helper function to automatically retrieve the suitable dumper function
5744 given the name of a class or the class-type
5745 @param `klass' a string containing the name of a C++ type or a type
5746 @param `ofile' a file-like instance where to dump the objects' content
5747 @param `nmax` maximum number of container elements to dump
5748 """
5749 if isinstance(klass, type):
5750 # ok
5751 pass
5752 elif isinstance(klass, str):
5753 klass = getattr(PyAthena,klass)
5754 pass
5755 else:
5756 raise TypeError('expected a type or a string')
5757
5758 klname = typename(klass)
5759 dumpers = [ i for i in dumpspecs if i[0] == klname ]
5760 if len(dumpers) != 1:
5761 raise RuntimeError('no suitable dumper function for class [%s]'%
5762 klname )
5763 fct = dumpers[0][1]
5764 nolist = hasattr (fct, 'nolist') and fct.nolist
5765 from functools import partial as _partial
5766 if nolist:
5767 if fct.nmax:
5768 dumper = _partial(fct, f=ofile, nmax=nmax)
5769 else:
5770 dumper = _partial(fct, f=ofile)
5771 else:
5772 dumper = _partial(dump_list, f=ofile, dumper=fct, nmax=nmax)
5773 return dumper
5774
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:3798
dump_CMMEtSums(p, f)
Definition Dumpers.py:4574
dump_TgcRdoContainer(p, f)
Definition Dumpers.py:5007
dump_TRT_RawDataContainer(p, f)
Definition Dumpers.py:4365
dump_SiHit(t, f)
Definition Dumpers.py:3857
dump_EL(l, f)
Definition Dumpers.py:323
dump_AFP_ToFRawCollection(p, f)
Definition Dumpers.py:1655
dump_CscStripPrepData(p, f)
Definition Dumpers.py:4151
dump_HLTTriggerElement(e, f)
Definition Dumpers.py:2809
dump_TileMuonReceiverObj(p, f)
Definition Dumpers.py:4559
dump_TgcRdo_Errors(p, f)
Definition Dumpers.py:4949
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_TrigEFBjet(j, f)
Definition Dumpers.py:3382
dump_LUCID_RawData(p, f)
Definition Dumpers.py:4776
dump_Electron(e, f)
Definition Dumpers.py:589
dump_eflowObjectContainer(c, f)
Definition Dumpers.py:4101
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:4204
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:3116
dump_TileRawData(p, f)
Definition Dumpers.py:4430
dump_MuonSimDataCollection(p, f)
Definition Dumpers.py:4413
dump_MdtPrepDataContainer(p, f)
Definition Dumpers.py:4335
dump_CaloShower(s, f)
Definition Dumpers.py:3789
dump_MdtCsmContainer(p, f)
Definition Dumpers.py:5019
dump_AttributeList(p, f)
Definition Dumpers.py:1445
dump_TrigMuonEFTrack(t, f)
Definition Dumpers.py:3923
dump_V0Hypothesis(h, f)
Definition Dumpers.py:3249
dump_TrigSpacePointCounts_nolist(c, f)
Definition Dumpers.py:3557
dump_TrigConfKeys(p, f)
Definition Dumpers.py:4116
dump_TrigMonSeq(p, f)
Definition Dumpers.py:1520
dump_Threevec(v, f)
Definition Dumpers.py:288
dump_CscSimData(p, f)
Definition Dumpers.py:4381
dump_CSCSimHit(p, f)
Definition Dumpers.py:4796
dump_TrigEFBphys(j, f)
Definition Dumpers.py:3393
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:4741
dump_ExtendedVxCandidate(c, f)
Definition Dumpers.py:3239
dump_PixelRDORawData(p, f)
Definition Dumpers.py:4251
dump_NSW_PadTriggerData(p, f)
Definition Dumpers.py:5050
dump_PhotonAssociation(a, f)
Definition Dumpers.py:3144
dump_TrigInDetTrack(t, f)
Definition Dumpers.py:2982
dump_EMTauResult(p, f)
Definition Dumpers.py:4725
formatItemUsingLong(x)
Definition Dumpers.py:153
dump_TrigTau(t, f)
Definition Dumpers.py:3319
dump_TauPi0Details(t, f)
Definition Dumpers.py:860
dump_MuonFeatureDetails(m, f)
Definition Dumpers.py:3596
dump_RpcCoinMatrix(p, f)
Definition Dumpers.py:4863
dump_CaloCalibrationHit(t, f)
Definition Dumpers.py:3834
dump_InDetSimData(p, f)
Definition Dumpers.py:1767
dump_xAODTruthParticleLink(p, f)
Definition Dumpers.py:5098
dump_PileUpEventInfo(e, f)
Definition Dumpers.py:2441
dump_FitQuality(info, f)
Definition Dumpers.py:1148
dump_ZdcLucrod_Data(p, f)
Definition Dumpers.py:5086
dump_HLTChain(c, f)
Definition Dumpers.py:2833
dump_eflowObject(e, f)
Definition Dumpers.py:4082
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:3268
dump_V0Candidate(v, f)
Definition Dumpers.py:3260
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:3840
dump_MuCTPI_RDO(p, f)
Definition Dumpers.py:4635
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:4836
dump_AFP_SiRawData(p, f)
Definition Dumpers.py:1634
dump_MdtAmtHit(p, f)
Definition Dumpers.py:5013
_genevent_signal_process_vertex(e)
Definition Dumpers.py:2492
dump_CylinderSurface(info, f)
Definition Dumpers.py:1209
dump_TgcPrepData(p, f)
Definition Dumpers.py:4159
asinh(x)
helper methods ---------------------------------------------------------—
Definition Dumpers.py:82
dump_TauPi0Cluster(t, f)
Definition Dumpers.py:832
dump_CaloSamplingData(s, f)
Definition Dumpers.py:3780
dump_TrigT2Jet_nolist(j, f)
Definition Dumpers.py:3495
dump_LArFebErrorSummary(p, f)
Definition Dumpers.py:1754
dump_ZdcDigits(p, f)
Definition Dumpers.py:4841
dump_TrigTrackCounts(t, f)
Definition Dumpers.py:3307
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:3314
dump_TrigT2MbtsBits(t, f)
Definition Dumpers.py:3875
dump_ROIBHeader(p, f)
Definition Dumpers.py:4671
_genevent_vertices_size(e)
Definition Dumpers.py:2480
dump_MdtTrackSegment(t, f)
Definition Dumpers.py:3903
dump_TrigConfAlg(p, f)
Definition Dumpers.py:1585
signalstate(o, state)
Definition Dumpers.py:128
dump_TileRawChannelCollection(data, f)
Definition Dumpers.py:4495
dump_Lvl1Result(t, f)
Definition Dumpers.py:2785
dump_CTPResult(p, f)
Definition Dumpers.py:4699
dump_Muon_ROI(m, f)
Definition Dumpers.py:2644
barcodes(beg, end, sz)
Definition Dumpers.py:2509
dump_HepMcParticleLink(p, f)
Definition Dumpers.py:3852
dump_TrackParticleTruthCollection(c, f)
Definition Dumpers.py:1110
dump_sTgcClusterOnTrack(p, f)
Definition Dumpers.py:1833
dump_TileMu(m, f)
Definition Dumpers.py:3766
dump_TgcRawData(p, f)
Definition Dumpers.py:4913
dump_TauDetailsContainer(p, f)
Definition Dumpers.py:1730
dump_Track(p, f)
Definition Dumpers.py:1971
dump_CMMCPHits(p, f)
Definition Dumpers.py:4565
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:4435
dump_AFP_RawCollectionHead(p, f)
Definition Dumpers.py:1626
dump_CTPRoI(p, f)
Definition Dumpers.py:4694
dump_TrigConfSeq(p, f)
Definition Dumpers.py:1591
dump_TrigTauClusterDetails(t, f)
Definition Dumpers.py:3500
dump_PixelRawDataContainer(p, f)
Definition Dumpers.py:4359
dump_STGC_RawData(p, f)
Definition Dumpers.py:5027
dump_auxdata(x, exclude=None, f=sys.stdout)
Definition Dumpers.py:5278
dump_TgcCoinData(p, f)
Definition Dumpers.py:4166
dump_TGCSimHit(p, f)
Definition Dumpers.py:4822
dump_EMTrackMatch(d, f)
Definition Dumpers.py:397
dump_ITrackLink(l, f)
Definition Dumpers.py:2290
dump_TrigRoiDescriptor(d, f)
Definition Dumpers.py:3469
dump_LArFebHeader(p, f)
Definition Dumpers.py:1485
dump_CPMHits(p, f)
Definition Dumpers.py:4601
dump_Photon(e, f)
Definition Dumpers.py:593
dump_PixelClusterContainer(p, f)
Definition Dumpers.py:4341
format_obj(x, name=None)
Definition Dumpers.py:5160
dump_MuonCluster(p, f)
Definition Dumpers.py:4138
dump_TrigTau_nolist(t, f)
Definition Dumpers.py:3328
dump_TrigMuonEFInfo(t, f)
Definition Dumpers.py:3943
dump_CMMRoI(p, f)
Definition Dumpers.py:4593
dump_L1DataBaseclass(c, f)
Definition Dumpers.py:2876
dump_auxitem(x, auxid, f=sys.stdout)
Definition Dumpers.py:5233
dump_TRT_RDORawData(p, f)
Definition Dumpers.py:4257
dump_TrigMonTE(p, f)
Definition Dumpers.py:1527
dump_TrigL2Bphys(j, f)
Definition Dumpers.py:3423
dump_MVFVxCandidate(v, f)
Definition Dumpers.py:2379
_genevent_particles_size(e)
Definition Dumpers.py:2476
dump_TrigTrtHitCounts(p, f)
Definition Dumpers.py:3955
dump_PixelCluster(p, f)
Definition Dumpers.py:4225
dump_MissingETComposition(m, f)
Definition Dumpers.py:4019
dump_TileHit(t, f)
Definition Dumpers.py:3845
dump_TrigCaloCluster(c, f)
Definition Dumpers.py:3333
dump_TrigMuonEFIsolation(m, f)
Definition Dumpers.py:4064
dump_RIO_OnTrack(p, f)
Definition Dumpers.py:1351
dump_RawInfoSummaryForTag(p, f)
Definition Dumpers.py:4011
safe_assocs(a, obj, coll, f)
Definition Dumpers.py:3048
dump_TRT_DriftCircle(p, f)
Definition Dumpers.py:4239
dump_SCT_Cluster(p, f)
Definition Dumpers.py:4233
_genevent_vertices(e)
Definition Dumpers.py:2488
dump_SCT_RawDataContainer(p, f)
Definition Dumpers.py:4371
dump_ElectronMuonTopoInfo(a, f)
Definition Dumpers.py:3110
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:4903
dump_TileTTL1(p, f)
Definition Dumpers.py:4554
dump_TrackParticle(p, f)
Definition Dumpers.py:1305
dump_MDTSimHit(p, f)
Definition Dumpers.py:4805
dump_TrigOperationalInfo(b, f)
Definition Dumpers.py:4052
dump_PrepRawData(p, f)
Definition Dumpers.py:4126
dump_TileDigitsContainer(p, f)
Definition Dumpers.py:4442
dump_TrigElectron(p, f)
Definition Dumpers.py:3353
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:3525
dump_TrigDecision(t, f)
Definition Dumpers.py:2798
dump_TrigMonROB(p, f)
Definition Dumpers.py:1505
dump_TileRawDataCollection(data, f)
Definition Dumpers.py:4483
dump_STGC_RawDataContainer(p, f)
Definition Dumpers.py:5033
dump_RPCSimHit(p, f)
Definition Dumpers.py:4813
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:4246
dump_RpcPrepData(p, f)
Definition Dumpers.py:4198
dump_TileL2(p, f)
Definition Dumpers.py:4542
dump_IDCInDetBSErrContainer(p, f)
Definition Dumpers.py:1468
dump_Trig3Momentum(m, f)
Definition Dumpers.py:3478
dump_LArRawChannel(p, f)
Definition Dumpers.py:1499
dump_TrigL2Bjet(j, f)
Definition Dumpers.py:3411
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:3760
dump_CTPConfig(c, f)
Definition Dumpers.py:2881
dump_RpcSectorLogic(p, f)
Definition Dumpers.py:4886
dump_SCT_ClusterContainer(p, f)
Definition Dumpers.py:4347
dump_RpcFiredChannel(p, f)
Definition Dumpers.py:4858
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:5742
toiter(beg, end)
Definition Dumpers.py:88
dump_CombinedMuonFeature(m, f)
Definition Dumpers.py:3741
dump_AmgVector(m, f, thresh=1e-38, prec=3)
Definition Dumpers.py:310
dump_TileTrackMuFeature(m, f)
Definition Dumpers.py:3728
dump_TrigPassFlags(m, f)
Definition Dumpers.py:4069
dump_TileRawChannel(data, f)
Definition Dumpers.py:4473
dump_MuonSimData(p, f)
Definition Dumpers.py:4403
dump_Attribute(p, f)
Definition Dumpers.py:1436
dump_TrigMonRoi(p, f)
Definition Dumpers.py:1512
dump_CscPrepData(p, f)
Definition Dumpers.py:4144
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:4216
dump_MdtPrepData(p, f)
Definition Dumpers.py:4191
dump_BCM_RDO(p, f)
Definition Dumpers.py:4784
dump_MissingETSigObject(m, f)
Definition Dumpers.py:2117
generic_dump_auxitem(x, auxid, f)
Definition Dumpers.py:5208
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:3512
dump_EventStreamInfo(e, f)
Definition Dumpers.py:2449
dump_IdentContIndex(p, f)
Definition Dumpers.py:4121
dump_ROIBTrailer(p, f)
Definition Dumpers.py:4676
dump_egDetailContainer(p, f)
Definition Dumpers.py:1736
dump_PseudoMeasurementOnTrack(p, f)
Definition Dumpers.py:1863
dump_TrigRoiDescriptor_nolist(d, f)
Definition Dumpers.py:3473
dump_TRTUncompressedHit(t, f)
Definition Dumpers.py:3866
dump_ChamberT0s(m, f)
Definition Dumpers.py:4035
dump_GenVertex(v, f)
Definition Dumpers.py:2540
dump_JEMHits(p, f)
Definition Dumpers.py:4650
dump_TrigConfChain(p, f)
Definition Dumpers.py:1568
dump_TileMuFeature(m, f)
Definition Dumpers.py:3723
dump_RingerRings(r, f)
Definition Dumpers.py:3950
dump_LArNoisyROSummary(p, f)
Definition Dumpers.py:3997
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:4707
dump_GenEvent(e, f)
Definition Dumpers.py:2606
dump_TrigEMCluster(c, f)
Definition Dumpers.py:3340
dump_CTP_Decision(t, f)
Definition Dumpers.py:2639
dump_TrigInDetTrackFitPar(p, f)
Definition Dumpers.py:2963
dump_CosmicMuon(m, f)
Definition Dumpers.py:3883
dump_SiClusterOnTrack(p, f)
Definition Dumpers.py:1357
dump_ElectronAssociation(a, f)
Definition Dumpers.py:3135
dump_ParticleBase(e, f)
Definition Dumpers.py:336
dump_SiWidth(p, f)
Definition Dumpers.py:4210
dump_parameters(p, f)
Definition Dumpers.py:1287
dump_AFP_SiRawCollection(p, f)
Definition Dumpers.py:1639
dump_CscRawData(p, f)
Definition Dumpers.py:4897
dump_SubDetHitStatistics(s, f)
Definition Dumpers.py:1123
safe_float_vector(v)
Definition Dumpers.py:123
dump_TrigRNNOutput(p, f)
Definition Dumpers.py:3965
dump_TrigSpacePointCounts(c, f)
Definition Dumpers.py:3544
dump_TrigMuonEFInfoTrack(t, f)
Definition Dumpers.py:3932
dump_TrigTauTracksInfo_nolist(t, f)
Definition Dumpers.py:3576
dump_TileRawChannelContainer(data, f)
Definition Dumpers.py:4513
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:4850
dump_JetElement(p, f)
Definition Dumpers.py:4661
dump_AlignmentEffectsOnTrack(p, f)
Definition Dumpers.py:1938
dump_PixelClusterOnTrack(p, f)
Definition Dumpers.py:1364
dump_TrigPassBits(b, f)
Definition Dumpers.py:4047
dump_IDC(payload_dumper, p, f, extra_idc_dumper=None)
Definition Dumpers.py:4269
dump_CMMJetHits(p, f)
Definition Dumpers.py:4585
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:4941
dump_H3V(v, f)
Definition Dumpers.py:197
dump_MaterialEffectsOnTrack(p, f)
Definition Dumpers.py:1920
dump_TrigVertexCounts(v, f)
Definition Dumpers.py:4058
dump_TrigConfSig(p, f)
Definition Dumpers.py:1563
dump_CscMcData(p, f)
Definition Dumpers.py:4376
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:5045
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_TrigMissingET_nolist(m, f)
Definition Dumpers.py:3453
dump_TauCommonExtraDetails(t, f)
Definition Dumpers.py:956
dump_RoiDescriptor(d, f)
Definition Dumpers.py:3458
dump_CscStripPrepDataContainer(p, f)
Definition Dumpers.py:4305
dump_HLTResultMT(p, f)
Definition Dumpers.py:2771
dump_TrigEMCluster_nolist(c, f)
Definition Dumpers.py:3348
dump_CaloTopoTowerContainer(t, f)
Definition Dumpers.py:3806
dump_TgcPrepDataContainer(p, f)
Definition Dumpers.py:4323
dump_TrigT2Jet(j, f)
Definition Dumpers.py:3483
dump_EMShower(d, f)
Definition Dumpers.py:404
dump_TgcCoinDataContainer(p, f)
Definition Dumpers.py:4329
dump_AmgMatrix(m, f, thresh=1e-38)
Definition Dumpers.py:298
dump_TRT_DriftCircleContainer(p, f)
Definition Dumpers.py:4353
dump_EMErrorDetail(d, f)
Definition Dumpers.py:436
dump_TrigTauTracksInfo(t, f)
Definition Dumpers.py:3562
dump_MissingEtCalo(m, f)
Definition Dumpers.py:2171
dump_RpcClusterOnTrack(p, f)
Definition Dumpers.py:1428
dump_MuonMcData(p, f)
Definition Dumpers.py:4398
dump_MuCTPIRoI(p, f)
Definition Dumpers.py:4681
dump_CaloClusterMomentStore(m, f)
Definition Dumpers.py:3771
dump_JetKeyDescriptorCollection(p, f)
Definition Dumpers.py:1748
dump_InDetLowBetaCandidate(p, f)
Definition Dumpers.py:3973
dump_HLV(v, f)
Definition Dumpers.py:202
dump_CombinedMuonFeature_nolist(m, f)
Definition Dumpers.py:3755
dump_xAODObject(o, f)
Definition Dumpers.py:5306
dump_HLTSequence(s, f)
Definition Dumpers.py:2853
dump_MissingEtTruth(m, f)
Definition Dumpers.py:2185
dump_TrigHisto(h, f)
Definition Dumpers.py:3530
dump_RecoTimingObj(c, f)
Definition Dumpers.py:4110
dump_CurvilinearParameters(info, f)
Definition Dumpers.py:1276
dump_TrigPhoton(p, f)
Definition Dumpers.py:3363
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:4712
dump_MaterialEffectsBase(p, f)
Definition Dumpers.py:1905
dump_TauPi0Candidate(t, f)
Definition Dumpers.py:823
dump_JEMEtSums(p, f)
Definition Dumpers.py:4642
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:4749
dump_TauDetail(t, f)
Definition Dumpers.py:730
dump_MuonFeature(m, f)
Definition Dumpers.py:3581
dump_EMBremFit(d, f)
Definition Dumpers.py:373
dump_EMTauRoI(p, f)
Definition Dumpers.py:4720
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:3539
dump_list(l, f, dumper, nmax=None)
Definition Dumpers.py:5318
dump_PRD_MultiTruthCollection(p, f)
Definition Dumpers.py:1789
dump_SCT_RDORawData(p, f)
Definition Dumpers.py:4263
dump_IsoMuonFeature(m, f)
Definition Dumpers.py:3912
dump_RecVertex(v, f)
Definition Dumpers.py:2283
dump_MuonAssociation(a, f)
Definition Dumpers.py:3153
dump_EnergyLoss(p, f)
Definition Dumpers.py:598
dump_vector(p, f)
Definition Dumpers.py:1821
dump_xAOD(o, f)
Definition Dumpers.py:5299
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:4623
dump_PixelGangedClusterAmbiguities(p, f)
Definition Dumpers.py:4422
_gen_attr(e, a, typ)
Definition Dumpers.py:2462
format_float_vector(v)
Definition Dumpers.py:5106
dump_LArDigit(p, f)
Definition Dumpers.py:4831
dump_TrigMonAlg(p, f)
Definition Dumpers.py:1516
dump_clist(l, f)
Definition Dumpers.py:3284
dump_CscPrepDataContainer(p, f)
Definition Dumpers.py:4299
dump_RpcPadContainer(p, f)
Definition Dumpers.py:4872
dump_TgcRdo_RodStatus(p, f)
Definition Dumpers.py:4957
dump_MdtDriftCircleOnTrack(p, f)
Definition Dumpers.py:1391
dump_ALFA_RawData(p, f)
Definition Dumpers.py:1677
dump_MuCTPIResult(p, f)
Definition Dumpers.py:4686
dump_RpcPrepDataContainer(p, f)
Definition Dumpers.py:4317
dump_JetAssociationBase(a, f)
Definition Dumpers.py:3130
dump_CPMRoI(p, f)
Definition Dumpers.py:4608
dump_ALFA_RawDataContainer(p, f)
Definition Dumpers.py:1705
dump_TileBeamElemContainer(data, f)
Definition Dumpers.py:4528
dump_CscSimDataCollection(p, f)
Definition Dumpers.py:4390
dump_TrigMissingET(m, f)
Definition Dumpers.py:3440
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:5312
dump_L1TopoRDO(p, f)
Definition Dumpers.py:4733
dump_CPMTower(p, f)
Definition Dumpers.py:4613
dump_MM_RawData(p, f)
Definition Dumpers.py:5038
dump_TrigMuonClusterFeature(m, f)
Definition Dumpers.py:4041
dump_BCM_RDO_Collection(p, f)
Definition Dumpers.py:4789
dump_InDetTime(p, f)
Definition Dumpers.py:1462
dump_TrigHisto1D(h, f)
Definition Dumpers.py:3536
dump_MuonFeature_nolist(m, f)
Definition Dumpers.py:3591
dump_TgcRdo(p, f)
Definition Dumpers.py:4997
dump_MeasurementBase(p, f)
Definition Dumpers.py:1345
dump_RpcSLTriggerHit(p, f)
Definition Dumpers.py:4880
dump_vvelccell(c, f)
Definition Dumpers.py:931
dump_Jet_ROI(m, f)
Definition Dumpers.py:2677
dump_JEMRoI(p, f)
Definition Dumpers.py:4656
dump_SkimDecision(p, f)
Definition Dumpers.py:4005
dump_GenParticle(p, f)
Definition Dumpers.py:2567
dump_CompetingMuonClustersOnTrack(p, f)
Definition Dumpers.py:1418
dump_RpcCoinDataContainer(p, f)
Definition Dumpers.py:4311
_genvertex_particles_out_size(e)
Definition Dumpers.py:2503
dump_TgcRdo_LocalStatus(p, f)
Definition Dumpers.py:4988
dump_TgcClusterOnTrack(p, f)
Definition Dumpers.py:1826
dump_TrigInDetTrackCollection(t, f)
Definition Dumpers.py:3375
dump_TriggerTower(p, f)
Definition Dumpers.py:4766
dump_NSW_PadTriggerDataContainer(p, f)
Definition Dumpers.py:5075