Skip to content
Snippets Groups Projects
Commit b082886f authored by Jihee Kim's avatar Jihee Kim
Browse files

Checking decaying particles

parent 821efdb6
No related branches found
No related tags found
1 merge request!149Resolve "Add true decaying particle info onto event display"
This commit is part of merge request !149. Comments created here will be created in the context of that merge request.
...@@ -151,17 +151,18 @@ if __name__ == '__main__': ...@@ -151,17 +151,18 @@ if __name__ == '__main__':
dfallmcp = get_all_mcp(args.file, args.iev, 'mcparticles2') dfallmcp = get_all_mcp(args.file, args.iev, 'mcparticles2')
# Select decaying particles # Select decaying particles
dftemp = dfallmcp[dfallmcp['g4Parent'] == 1.0] dftemp = dfallmcp[dfallmcp['g4Parent'] == 1.0]
dfdecaymcp = dftemp.copy() if len(dfdecaymcp) > 0:
pdgbase = ROOT.TDatabasePDG() dfdecaymcp = dftemp.copy()
for iptl in [0, len(dfdecaymcp) - 1]: pdgbase = ROOT.TDatabasePDG()
infoptl = pdgbase.GetParticle(int(dfdecaymcp['pid'].iloc[iptl])) for iptl in [0, len(dfdecaymcp) - 1]:
print("{} Decaying particle = {}, pdgcode = {}, charge = {}, mass = {}"\ infoptl = pdgbase.GetParticle(int(dfdecaymcp['pid'].iloc[iptl]))
.format(iptl, infoptl.GetName(), infoptl.PdgCode(), infoptl.Charge(), infoptl.Mass())) print("{} Decaying particle = {}, pdgcode = {}, charge = {}, mass = {}"\
# Calculate geometric variables of decaying particles .format(iptl, infoptl.GetName(), infoptl.PdgCode(), infoptl.Charge(), infoptl.Mass()))
dfdecaymcp['r'] = np.sqrt(dfdecaymcp['vex'].values**2 + dfdecaymcp['vey'].values**2 + dfdecaymcp['vez'].values**2) # Calculate geometric variables of decaying particles
dfdecaymcp['phi'] = np.arctan2(dfdecaymcp['vey'].values, dfdecaymcp['vex'].values)*1000. dfdecaymcp['r'] = np.sqrt(dfdecaymcp['vex'].values**2 + dfdecaymcp['vey'].values**2 + dfdecaymcp['vez'].values**2)
dfdecaymcp['theta'] = np.arccos(dfdecaymcp['vez'].values/dfdecaymcp['r'].values)*1000. dfdecaymcp['phi'] = np.arctan2(dfdecaymcp['vey'].values, dfdecaymcp['vex'].values)*1000.
dfdecaymcp['eta'] = -np.log(np.tan(dfdecaymcp['theta'].values/1000./2.)) dfdecaymcp['theta'] = np.arccos(dfdecaymcp['vez'].values/dfdecaymcp['r'].values)*1000.
dfdecaymcp['eta'] = -np.log(np.tan(dfdecaymcp['theta'].values/1000./2.))
# truth # truth
dfmcp = get_mcp_simple(args.file, args.iev, 'mcparticles2').iloc[0] dfmcp = get_mcp_simple(args.file, args.iev, 'mcparticles2').iloc[0]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment