# tof-data.py # Churn and display data from tof muon experiment # @author: bryan newbold # @email: bnewbold@mit.edu # @date: oct 2006 from pylab import *; from scipy import *; data_file = '/home/bnewbold/jlab/muon/data/all_data.pydat'; if not vars().has_key('fsolar2'): io.objload(data_file,globals()); def plot_tof(dat): y = array(dat[0]) x = r_[0.:size(y)] dat = array((dat[0],dat[1],dat[2])) err = r_[0.:size(y)]; dmean = r_[0.:size(y)]; dmean_all = 0.; err_all = 0.; for i in range(0,size(y)): i = int(i) err[i] = std((dat[0,i],dat[1,i],dat[2,i])) dmean[i] = mean((dat[0,i],dat[1,i],dat[2,i])) dmean_all += dmean[i]*i ax=gca() errorbar(x,dmean,fmt='b',yerr=err,alpha=0.2) plot(x,dmean,'k.') dmean_all = dmean_all/sum(dmean) err_all = sum(err)/size(err) t = text(.22, .75, 'Mean: %g\nStdDev of Mean: %g' % (dmean_all,err_all), horizontalalignment='center', verticalalignment='center', transform = ax.transAxes) t.set_bbox({"facecolor":"white","linewidth":1.0,"pad":16.0}) xlabel('delta-Time (in \"bins units\")"'); ylabel('Counts'); return (dmean,err,dmean_all,err_all) quick_calib = lambda aD,aP: plotfit(fittodata_linear(r_[0.:aP],find_peaks(aD,num=aP),[1.,1.],ret_all=True)) def plot_tof_more(dat,txt="blah",pos=0,style='b.'): y = array(dat[0]) x = r_[0.:size(y)] dat = array((dat[0],dat[1],dat[2])) err = r_[0.:size(y)]; dmean = r_[0.:size(y)]; dmean_all = 0.; err_all = 0.; for i in range(0,size(y)): i = int(i) err[i] = std((dat[0,i],dat[1,i],dat[2,i])) dmean[i] = mean((dat[0,i],dat[1,i],dat[2,i])) dmean_all += dmean[i]*i ax=gca() er=errorbar(x,dmean,fmt=style,yerr=err,alpha=1.,label="_nolegend_") plot(x,dmean,'k.',label="_nolegend_") dmean_all = dmean_all/sum(dmean) err_all = sum(err)/size(err) t = text(.2, .90-.20*pos, '%s\nMean: %g\nStdDev of Mean: %g' % (txt,dmean_all,err_all), horizontalalignment='center', verticalalignment='center', transform = ax.transAxes) t.set_bbox({"facecolor":"white","linewidth":1.0,"pad":16.0}) xlabel('delta-Time (in \"bins units\")"'); ylabel('Counts'); return (dmean,err,dmean_all,err_all)