FairShip
Loading...
Searching...
No Matches
experimental.analysis_toolkit.event_inspector Class Reference

Public Member Functions

None __init__ (self)
 
None dump_event (self, event, float mom_threshold=0)
 

Public Attributes

 pdg
 

Detailed Description

Class to inspect MCtruth of an Event.

Definition at line 309 of file analysis_toolkit.py.

Constructor & Destructor Documentation

◆ __init__()

None experimental.analysis_toolkit.event_inspector.__init__ (   self)
Initialize ROOT PDG database.

Definition at line 312 of file analysis_toolkit.py.

312 def __init__(self) -> None:
313 """Initialize ROOT PDG database."""
314 self.pdg = ROOT.TDatabasePDG.Instance()
315 pythia8_conf.addHNLtoROOT()
316

Member Function Documentation

◆ dump_event()

None experimental.analysis_toolkit.event_inspector.dump_event (   self,
  event,
float   mom_threshold = 0 
)
Dump the MCtruth of the event.

Definition at line 317 of file analysis_toolkit.py.

317 def dump_event(self, event, mom_threshold: float = 0) -> None:
318 """Dump the MCtruth of the event."""
319 headers = [
320 "#",
321 "particle",
322 "pdgcode",
323 "mother_id",
324 "Momentum [Px,Py,Pz] (GeV/c)",
325 "StartVertex[x,y,z] (m)",
326 "Process",
327 "GetWeight()",
328 ]
329
330 event_table = []
331 for trackNr, track in enumerate(event.MCTrack):
332 if track.GetP() / u.GeV < mom_threshold:
333 continue
334
335 particle = self.pdg.GetParticle(track.GetPdgCode())
336 particlename = particle.GetName() if particle else "----"
337
338 event_table.append(
339 [
340 trackNr,
341 particlename,
342 track.GetPdgCode(),
343 track.GetMotherId(),
344 f"[{track.GetPx() / u.GeV:7.3f},{track.GetPy() / u.GeV:7.3f},{track.GetPz() / u.GeV:7.3f}]",
345 f"[{track.GetStartX() / u.m:7.3f},{track.GetStartY() / u.m:7.3f},{track.GetStartZ() / u.m:7.3f}]",
346 track.GetProcName().Data(),
347 track.GetWeight(),
348 ]
349 )
350
351 print(tabulate(event_table, headers=headers, floatfmt=".3f", tablefmt="simple_outline"))

Member Data Documentation

◆ pdg

experimental.analysis_toolkit.event_inspector.pdg

Definition at line 314 of file analysis_toolkit.py.


The documentation for this class was generated from the following file: