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