21 if opts.track
is None and opts.trackingParticle
is None and opts.seed
is None and opts.pixelHit
is None and opts.stripHit
is None:
24 ntpl = ntuple.TrackingNtuple(opts.file)
26 if opts.entry
is not None:
27 event = ntpl.getEvent(opts.entry)
28 print event.eventIdStr()
29 elif opts.event
is not None:
31 print "Entry %d" % event.entry()
33 hasHits = ntpl.hasHits()
34 hasSeeds = ntpl.hasSeeds()
36 if not hasSeeds
and opts.seed
is not None:
37 print "Ntuple %s does not have seeds saved!" % opts.file
39 if not hasHits
and (opts.pixelHit
is not None or opts.stripHit
is not None):
40 print "Ntuple %s does not have hits saved!" % opts.file
43 seedArgs =
dict(hits=hasHits, bestMatchingTrackingParticle=hasHits)
44 trackArgs =
dict(hits=hasHits, bestMatchingTrackingParticle=hasHits)
45 tpArgs =
dict(hits=hasHits, bestMatchingTrack=hasHits)
47 trackArgs[
"seedPrinter"] =
None 48 tpArgs[
"seedPrinter"] =
None 50 trackArgs[
"seedPrinter"] = ntuple.SeedPrinter(**seedArgs)
51 tpArgs[
"seedPrinter"] = ntuple.SeedPrinter(**seedArgs)
53 printSeed = ntuple.SeedPrinter(trackingParticles=
True, trackingParticlePrinter=ntuple.TrackingParticlePrinter(**tpArgs), **seedArgs)
54 printTrack = ntuple.TrackPrinter(trackingParticlePrinter=ntuple.TrackingParticlePrinter(**tpArgs), **trackArgs)
55 printTrackingParticle = ntuple.TrackingParticlePrinter(trackPrinter=ntuple.TrackPrinter(**trackArgs), **tpArgs)
57 if opts.track
is not None:
59 if opts.track >= len(trks):
60 print "You requested track %d, but this event has only %d tracks" % (opts.track, len(trks))
62 trk = trks[opts.track]
65 if opts.trackingParticle
is not None:
66 tps = event.trackingParticles()
67 if opts.trackingParticle >= len(tps):
68 print "You requested TrackingParticle %d, but this event has ony %d TrackingParticles" % (opts.trackingParticle, len(tps))
70 tp = tps[opts.trackingParticle]
71 printTrackingParticle(tp)
73 if opts.seed
is not None:
75 if opts.seedIteration
is not None:
76 algo = getattr(ntuple.Algo, opts.seedIteration)
77 if opts.seed >= seeds.nSeedsForAlgo(algo):
78 print "You requested seed %d for algo %s, but this event has only %d seeds for that algo" % (opts.seed, opts.seedIteration, seeds.nSeedsForAlgo(algo))
80 seed = seeds.seedForAlgo(algo, opts.seed)
82 if opts.seed >= len(seeds):
83 print "You requested seed %d, but this event has only %d seeds" % (opts.seed, len(seeds))
85 seed = seeds[opts.seed]
88 if opts.pixelHit
is not None:
89 hits = event.pixelHits()
90 if opts.pixelHit >= len(hits):
91 print "You requested pixel hit %d, but this event has only %d pixel hits" % (opts.pixelHit, len(hits))
94 hit = hits[opts.pixelHit]
95 print "Pixel hit %d tracks" % opts.pixelHit
96 for t
in hit.tracks():
99 print "Pixel hit %d seeds" % opts.pixelHit
100 for s
in hit.seeds():
103 if opts.stripHit
is not None:
104 hits = event.stripHits()
105 if opts.stripHit >= len(hits):
106 print "You requested strip hit %d, but this event has only %d strip hits" % (opts.stripHit, len(hits))
108 hit = hits[opts.stripHit]
109 print "Strip hit %d tracks" % opts.stripHit
110 for t
in hit.tracks():
113 print "Strip hit %d seeds" % opts.stripHit
114 for s
in hit.seeds():
def findEvent(ntpl, event)