diff --git a/benchmarks/dis/analysis/truth_reconstruction.py b/benchmarks/dis/analysis/truth_reconstruction.py index 5ef49cee9baba11b56bcdc76c6c854115b5ea0e8..8b072820414451ccb4a0b46994598ee22b733798 100644 --- a/benchmarks/dis/analysis/truth_reconstruction.py +++ b/benchmarks/dis/analysis/truth_reconstruction.py @@ -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)))