From 81e662eff4a58b1a7dc9c9df534001774bdae1b9 Mon Sep 17 00:00:00 2001 From: Dan White Date: Fri, 1 Mar 2013 10:11:06 -0600 Subject: [PATCH] EWU research slide generation --- .../test-data/chip01/chip01-cal-plots2.pdf | Bin 0 -> 52078 bytes python-lib/test-data/chip01/foo.py | 60 +++++++++++++++--- 2 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 python-lib/test-data/chip01/chip01-cal-plots2.pdf diff --git a/python-lib/test-data/chip01/chip01-cal-plots2.pdf b/python-lib/test-data/chip01/chip01-cal-plots2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4429e6ef992c21b51c912fa4ce3e97f28cea4fe9 GIT binary patch literal 52078 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 F`8V^nT7dun literal 0 HcmV?d00001 diff --git a/python-lib/test-data/chip01/foo.py b/python-lib/test-data/chip01/foo.py index 7e52b4e..52ce945 100644 --- a/python-lib/test-data/chip01/foo.py +++ b/python-lib/test-data/chip01/foo.py @@ -10,17 +10,19 @@ from random import sample as rand_sample cal_values = [] cal_outs = [] cal_nevals = [] +cal_means = [] +cal_stds = [] infiles = sorted(glob('*.npz')) #N_RUNS = min(len(infiles), 8) N_RUNS = 0 sample_runs = sorted(rand_sample(range(len(infiles)), N_RUNS)) -#N_PLOTS = 4 -N_PLOTS = 0 +N_PLOTS = 4 +#N_PLOTS = 0 #sample_channels = sorted(rand_sample(range(48), N_PLOTS)) sample_channels = range(N_PLOTS) -#N_COLS = 4 -N_COLS = 0 +N_COLS = 4 +#N_COLS = 0 nrun = 0 for infile in infiles: #for infile in sorted(glob('*.npz')): @@ -48,6 +50,22 @@ for infile in infiles: subplot(N_PLOTS, N_COLS, N_COLS*i+2) plot(r[:nevals[0,k]+1], '-') + subplot(N_PLOTS, N_COLS, N_COLS*i+3) + data = cv[:, 0, k] + hist(data, bins=range(128), align='left') + xlim((data.min()-1, data.max()+1)) + xlim((0, 127)) + + subplot(N_PLOTS, N_COLS, N_COLS*i+4) + data = 1e3*(2.5/2/2**13)*co[:, 0, k] + dm = max((abs(data.min()), abs(data.max()))) + print dm + dm = max(dm, 50) + hist(data, bins=100, range=(-dm, dm), align='left') + xlim((-dm, dm)) + #ylim((0, 50)) + + cal_values.append(guesses[-1, :, :]) # results are zeros after [nevals:] @@ -69,16 +87,27 @@ co = array(cal_outs) -if 0: - figure() +if 1: + figure(figsize=(14.0, 8.5)) for i,k in enumerate(sample_channels): + g = guesses[:, 0, k] + r = 1e3*(2.5/2/2**13)*results[:, 0, k] + + subplot(N_PLOTS, N_COLS, N_COLS*i+1) + plot(g[:nevals[0,k]+1], '-') + ylim((0, 127)) + #ylabel('Channel %02i-A' % k) + + subplot(N_PLOTS, N_COLS, N_COLS*i+2) + plot(r[:nevals[0,k]+1], '-') + subplot(N_PLOTS, N_COLS, N_COLS*i+3) data = cv[:, 0, k] hist(data, bins=range(128), align='left') xlim((data.min()-1, data.max()+1)) xlim((0, 127)) - subplot(N_PLOTS, N_COLS, N_COLS*i+4) + ax = subplot(N_PLOTS, N_COLS, N_COLS*i+4) data = 1e3*(2.5/2/2**13)*co[:, 0, k] dm = max((abs(data.min()), abs(data.max()))) print dm @@ -86,6 +115,16 @@ if 0: hist(data, bins=100, range=(-dm, dm), align='left') xlim((-dm, dm)) #ylim((0, 50)) + dmean = data.mean() + dstd = data.std() + print nrun, dmean, dstd + + text(0.03, 0.95, r'$\sigma=%4.1f$' % dstd, + horizontalalignment='left', + verticalalignment='top', + fontsize=18, + bbox=dict(facecolor='r', alpha=0.5, boxstyle="round"), + transform = ax.transAxes) subplot(N_PLOTS, N_COLS, 1) title('Offset DAC value') @@ -111,9 +150,12 @@ if 0: (os.path.basename(os.getcwd()), len(infiles))) -interactive(False) + savefig('chip01-cal-plots2.pdf') -if 1: +#interactive(False) +interactive(True) + +if 0: figure() data = cv.flatten() hist(data, bins=range(128), align='left') -- 2.25.1