From 03516939cf7a34fe49890f819bd04ff8ae85a4a0 Mon Sep 17 00:00:00 2001 From: Sebouh Paul <sebouh.paul@gmail.com> Date: Fri, 23 Aug 2024 16:43:23 -0400 Subject: [PATCH] Update lambda_plots.py (#23) prevent crashing when one of the fits fails --- benchmarks/lambda/analysis/lambda_plots.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/benchmarks/lambda/analysis/lambda_plots.py b/benchmarks/lambda/analysis/lambda_plots.py index 0a6079a2..dffccb1c 100644 --- a/benchmarks/lambda/analysis/lambda_plots.py +++ b/benchmarks/lambda/analysis/lambda_plots.py @@ -202,6 +202,7 @@ plt.ylabel("events") plt.sca(axs[2]) sigmas=[] dsigmas=[] +xvals=[] for p in momenta: accept=(nclusters[p]==3) &(pi0_converged[p]) @@ -214,14 +215,16 @@ for p in momenta: p0=(100, 0, 0.06) #print(bc[slc],y[slc]) sigma=np.sqrt(y[slc])+(y[slc]==0) - coeff, var_matrix = curve_fit(fnc, list(bc[slc]), list(y[slc]), p0=p0,sigma=list(sigma)) - - x=np.linspace(-1, 1) - sigmas.append(coeff[2]) - dsigmas.append(np.sqrt(var_matrix[2][2])) + try: + coeff, var_matrix = curve_fit(fnc, list(bc[slc]), list(y[slc]), p0=p0,sigma=list(sigma)) + sigmas.append(coeff[2]) + dsigmas.append(np.sqrt(var_matrix[2][2])) + xvals.append(p) + except: + print("fit failed") plt.ylim(0, 0.3) -plt.errorbar(momenta, sigmas, dsigmas, ls='', marker='o', color='k') +plt.errorbar(xvals, sigmas, dsigmas, ls='', marker='o', color='k') x=np.linspace(100, 275, 100) plt.plot(x, 3/np.sqrt(x), color='tab:orange') plt.text(170, .23, "YR requirement:\n 3 mrad/$\\sqrt{E}$") -- GitLab