summaryrefslogtreecommitdiffstats
path: root/quick_tol.py
blob: 176ba28f2c9103af20c0a76b0280a92fb6d15b9a (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
73
74
75
76
77
78

import pylab
import scipy
from pylab import *
from scipy import *


#_ip.magic("cd ~/jlab/muon/scipy/")


d_tol_weekend = pylab.load('../data/bnewbold_solar_weekend2/SOLAR000')
d_tol_weekend += pylab.load('../data/bnewbold_solar_weekend2/SOLAR001')
d_tol_weekend += pylab.load('../data/bnewbold_solar_weekend2/SOLAR002')
d_tol_weekend += pylab.load('../data/bnewbold_solar_weekend2/SOLAR003')
d_tol_weekend += pylab.load('../data/bnewbold_solar_weekend2/SOLAR004')
d_tol_weekend += pylab.load('../data/bnewbold_solar_weekend2/SOLAR005')
d_tol_weekend += pylab.load('../data/bnewbold_solar_weekend2/SOLAR006')
d_tol_weekend += pylab.load('../data/bnewbold_solar_weekend2/SOLAR007')
d_tol_weekend += pylab.load('../data/bnewbold_solar_weekend2/SOLAR008')


fitfunc = lambda p,x: p[0]*e^(-x/p[1])
errfunc = lambda p,x,y: fitfunc(p,x) - y

p0 = c_[1.0, 20.]
y = frange(1,1024)
fitfunc = lambda p,x: p[0]*e**(-x/p[1])
errfunc = lambda p,x,y: fitfunc(p,x) - y
p1,success = optimize.leastsq(errfunc, p0.copy(), args=(d_tol_weekend, y))
p0 = c_[1.0, 20.]
p0 = c_[50.0, 100.]
p1,success = optimize.leastsq(errfunc, p0.copy(), args=(d_tol_weekend, y))
p0 = c_[50.0, 100.]
success
p1
errfunc = lambda p,x,y: fitfunc(p,x) - y
p1,success = optimize.leastsq(errfunc, p0.copy(), args=(y, d_tol_weekend))
plot(fitfunc(p1, frange(1,1024)), 'r')
plot(d_tol_weekend, '.')
legend(('Exponential Fit', 'Weekend #2 TOL data'))
txt = text(380, 35, 'x0 = 32.555...\n T=171.1719...',)
txt.set_bbox({"facecolor":"white","linewidth":1.0,"pad":16.0})

title("Rough Fit of Weekend TOL Data")
xlabel("Time (in bins...)")
ylabel("Number of muon decays")


fitfunc = lambda p,x: p[0]*e**(-x/p[1])+p[2]
p0 = c_[50.0, 100.,10.]
p1,success = optimize.leastsq(errfunc, p0.copy(), args=(y, d_tol_weekend))
figure()
plot(d_tol_weekend, '.')
plot(fitfunc(p1, frange(1,1024)), 'r')
title("Rough Fit of Weekend TOL Data, with +C")
xlabel("Time (in bins...)")
ylabel("Number of muon decays")
t = text(380, 35, 'x0 = %e\n T=%e\nC=%e' % (p1[0],p1[1],p1[2]))
t.set_bbox({"facecolor":"white","linewidth":1.0,"pad":16.0})
success


legend(('Weekend #2 TOL data', 'Exponential Fit'))


fitfunc = lambda p,x: p[0]*e**(-x/p[1])+p[2]
p0 = c_[50.0, 100.,10.]
p1,success = optimize.leastsq(errfunc, p0.copy(), args=(y[13:1024], d_tol_weekend[13:1024]))
figure()
plot(d_tol_weekend, '.')
plot(fitfunc(p1, frange(1,1024)), 'r')
title("Rough Fit of Weekend TOL Data, with +C, minus outliers")
xlabel("Time (in bins...)")
ylabel("Number of muon decays")
t = text(380, 35, 'x0 = %e\n T=%e\nC=%e' % (p1[0],p1[1],p1[2]))
t.set_bbox({"facecolor":"white","linewidth":1.0,"pad":16.0})
legend(('Weekend #2 TOL data', 'Exponential Fit'))
success