Skip to content
Snippets Groups Projects

Analysis of truth/reconstruction associations

Merged Tooba Ali requested to merge truth_reconstruction into master
1 file
+ 37
10
Compare changes
  • Side-by-side
  • Inline
@@ -16,6 +16,8 @@ parser.add_argument('--pbeam', type=float, help='Proton (or ion) beam energy.')
parser.add_argument('--minq2', type=float, help='Minimum four-momentum transfer squared Q2.')
parser.add_argument('--nevents', type=float, help='Number of events to process.')
parser.add_argument('-o', dest='outdir', default='results/dis/', help='Output directory.')
parser.add_argument('--name_tag', type=str, help='Single events juggler file name tag')
parser.add_argument('--benchmark_tag', type=str, help='Single or dis benchmarks')
args = parser.parse_args()
kwargs = vars(args)
@@ -25,6 +27,14 @@ minq2 = int(args.minq2)
k = int(args.ebeam)
p = int(args.pbeam)
Nevents = int(args.nevents)
tag = args.name_tag
benchmark_tag = args.benchmark_tag
r_path = dis_path = 'dis/%gon%g/minQ2=%g/truth_reconstruction/'
single_path = 'single/truth_reconstruction/'
if benchmark_tag == 'single':
r_path = single_path
config = tag
for array in ur.iterate(rec_file + ':events',['MCParticles/MCParticles.generatorStatus',
'MCParticles/MCParticles.mass',
@@ -126,15 +136,20 @@ for i in range(len(MC_list)):
else:
axs[0].hist2d(x=X_s,y=Y_s, bins = 10)
mplhep.hist2dplot(H=norm_h,norm=mpl.colors.LogNorm(vmin= 1e-4, vmax= 1),labels=norm_h_text, xbins = xedges, ybins = yedges, ax=axs[1])
fig.suptitle('(%g x %g)GeV %gGeV minQ2 %s events'%(k,p,minq2,Nevents))
axs[0].set_title('%s Histogram'%(title_list[i]))
axs[0].set_xlabel('%s_mc'%(title_list[i]))
axs[0].set_ylabel('%s_rc'%(title_list[i]))
axs[1].set_xlabel('%s_mc'%(title_list[i]))
axs[1].set_ylabel('%s_rc'%(title_list[i]))
axs[1].set_title('%s Correlation'%(title_list[i]))
plt.show()
plt.savefig(os.path.join(args.outdir, '%gon%g/minQ2=%g/truth_reconstruction/%s_correlation_%gx%g_minQ2=%g.png' % (k,p,minq2,title_list[i],k,p,minq2)))
if benchmark_tag == 'single':
fig.suptitle('%s %s events'%(config,Nevents))
else:
fig.suptitle('(%g x %g)GeV %gGeV minQ2 %s events'%(k,p,minq2,Nevents))
plt.savefig(os.path.join(args.outdir, r_path, '%s_correlation_%s.png' % (title_list[i],config)))
#################
@@ -221,9 +236,13 @@ for i in range(len(MC_list)):
ax6.set_xlabel('%s'%(title_list[i]))
fig.set_figwidth(20)
fig.set_figheight(10)
ax1.set_title('%s %s (%g x %g)GeV %gGeV minQ2 %s events'%(title_list[i],tratio,k,p,minq2,Nevents))
plt.savefig(os.path.join(args.outdir, '%gon%g/minQ2=%g/truth_reconstruction/%s_%s_%gx%g_minQ2=%g.png' % (k,p,minq2,title_list[i],tratio,k,p,minq2)))
if benchmark_tag == 'single':
ax1.set_title('%s %s %s %s events'%(title_list[i],tratio,config,Nevents))
else:
ax1.set_title('%s %s (%g x %g)GeV %gGeV minQ2 %s events'%(title_list[i],tratio,k,p,minq2,Nevents))
plt.savefig(os.path.join(args.outdir, r_path, '%s_%s_%s.png' % (title_list[i],tratio,config)))
###############
@@ -301,8 +320,12 @@ for i in range(1,len(MC_list),1):
fig.set_figwidth(20)
fig.set_figheight(10)
ax1.set_title('%s Difference Vs Momentum (%g x %g)GeV %gGeV minQ2 %s events'%(title_list[i],k,p,minq2,Nevents))
plt.savefig(os.path.join(args.outdir, '%gon%g/minQ2=%g/truth_reconstruction/%s_ratio_vs_momentum_%gx%g_minQ2=%g.png' % (k,p,minq2,title_list[i],k,p,minq2)))
if benchmark_tag == 'single':
ax1.set_title('%s Difference Vs Momentum %s %s events'%(title_list[i],config,Nevents))
else:
ax1.set_title('%s Difference Vs Momentum (%g x %g)GeV %gGeV minQ2 %s events'%(title_list[i],k,p,minq2,Nevents))
plt.savefig(os.path.join(args.outdir, r_path, '%s_difference_vs_momentum_%s.png' % (title_list[i],config)))
################
@@ -328,7 +351,6 @@ ratio = np.array((ak.Array(theta_rc_F)-(ak.Array(theta_mc_F))))
fig = plt.figure()
gs = fig.add_gridspec(2, 2, wspace=0.01)
(ax1, ax2), (ax3, ax4) = gs.subplots(sharex=True, sharey=True)
fig.suptitle('Photons in (%g x %g)GeV %gGeV minQ2 %s events'%(k,p,minq2,Nevents))
ax1.scatter(-theta_mc_F, ratio, s = ssize)
ax2.scatter(-theta_rc_F, ratio, s = ssize)
@@ -343,8 +365,13 @@ ax3.set_xlabel('Theta mc')
ax4.set_xlabel('Theta rc')
fig.set_figwidth(20)
fig.set_figheight(10)
if benchmark_tag == 'single':
fig.suptitle('Photons in %s %s events'%(config,Nevents))
else:
fig.suptitle('Photons in (%g x %g)GeV %gGeV minQ2 %s events'%(k,p,minq2,Nevents))
plt.savefig(os.path.join(args.outdir, '%gon%g/minQ2=%g/truth_reconstruction/photons_%gx%g_minQ2=%g.png' % (k,p,minq2,k,p,minq2)))
plt.savefig(os.path.join(args.outdir, r_path, 'photons_%s.png' % (config)))
Loading