From c5ebbe0e22b866d4674e984cab2a5de739c62cc5 Mon Sep 17 00:00:00 2001 From: "jihee.kim" <jihee.kim@anl.gov> Date: Fri, 13 Aug 2021 17:16:46 -0500 Subject: [PATCH] Checking decaying particles --- .../imaging_ecal/scripts/draw_cluster.py | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/benchmarks/imaging_ecal/scripts/draw_cluster.py b/benchmarks/imaging_ecal/scripts/draw_cluster.py index 69b641ec..35dbf0c9 100644 --- a/benchmarks/imaging_ecal/scripts/draw_cluster.py +++ b/benchmarks/imaging_ecal/scripts/draw_cluster.py @@ -151,17 +151,18 @@ if __name__ == '__main__': dfallmcp = get_all_mcp(args.file, args.iev, 'mcparticles2') # Select decaying particles dftemp = dfallmcp[dfallmcp['g4Parent'] == 1.0] - dfdecaymcp = dftemp.copy() - pdgbase = ROOT.TDatabasePDG() - for iptl in [0, len(dfdecaymcp) - 1]: - infoptl = pdgbase.GetParticle(int(dfdecaymcp['pid'].iloc[iptl])) - print("{} Decaying particle = {}, pdgcode = {}, charge = {}, mass = {}"\ - .format(iptl, infoptl.GetName(), infoptl.PdgCode(), infoptl.Charge(), infoptl.Mass())) - # Calculate geometric variables of decaying particles - dfdecaymcp['r'] = np.sqrt(dfdecaymcp['vex'].values**2 + dfdecaymcp['vey'].values**2 + dfdecaymcp['vez'].values**2) - dfdecaymcp['phi'] = np.arctan2(dfdecaymcp['vey'].values, dfdecaymcp['vex'].values)*1000. - dfdecaymcp['theta'] = np.arccos(dfdecaymcp['vez'].values/dfdecaymcp['r'].values)*1000. - dfdecaymcp['eta'] = -np.log(np.tan(dfdecaymcp['theta'].values/1000./2.)) + if len(dfdecaymcp) > 0: + dfdecaymcp = dftemp.copy() + pdgbase = ROOT.TDatabasePDG() + for iptl in [0, len(dfdecaymcp) - 1]: + infoptl = pdgbase.GetParticle(int(dfdecaymcp['pid'].iloc[iptl])) + print("{} Decaying particle = {}, pdgcode = {}, charge = {}, mass = {}"\ + .format(iptl, infoptl.GetName(), infoptl.PdgCode(), infoptl.Charge(), infoptl.Mass())) + # Calculate geometric variables of decaying particles + dfdecaymcp['r'] = np.sqrt(dfdecaymcp['vex'].values**2 + dfdecaymcp['vey'].values**2 + dfdecaymcp['vez'].values**2) + dfdecaymcp['phi'] = np.arctan2(dfdecaymcp['vey'].values, dfdecaymcp['vex'].values)*1000. + dfdecaymcp['theta'] = np.arccos(dfdecaymcp['vez'].values/dfdecaymcp['r'].values)*1000. + dfdecaymcp['eta'] = -np.log(np.tan(dfdecaymcp['theta'].values/1000./2.)) # truth dfmcp = get_mcp_simple(args.file, args.iev, 'mcparticles2').iloc[0] -- GitLab