summaryrefslogtreecommitdiffstats
path: root/tof_data.py
blob: 5bc51a7d27587ff405750b21f5df4a648b2df19d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# 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)