Compare commits
No commits in common. "5656d084b0434241c0a0190463b962801fa971a0" and "3b30eb1d47e5cc6922a9c3187c21f70dec29b0df" have entirely different histories.
5656d084b0
...
3b30eb1d47
1 changed files with 0 additions and 120 deletions
120
testimpulse.py
120
testimpulse.py
|
|
@ -1,120 +0,0 @@
|
|||
import numpy as np
|
||||
from matplotlib import pyplot as plt
|
||||
import scipy
|
||||
|
||||
plt.rcParams["figure.figsize"] = (15,8)
|
||||
plt.rcParams['xtick.labelsize'] = 15
|
||||
plt.rcParams['ytick.labelsize'] = 15
|
||||
plt.rcParams['axes.labelsize'] = 20
|
||||
plt.rcParams['axes.titlesize']=25
|
||||
plt.rcParams['legend.fontsize']=20
|
||||
plt.rcParams['savefig.bbox']='tight'
|
||||
|
||||
def gauss(x, *p):
|
||||
A, mu, sigma = p
|
||||
return A*np.exp(-(x-mu)**2/(2.*sigma**2))
|
||||
|
||||
|
||||
def fwhm(a):
|
||||
p,cov=scipy.optimize.curve_fit(gauss,xdata=np.arange(len(a)),ydata=a,p0=[150,3880,20])
|
||||
#plt.plot(gauss(np.arange(len(a)),*p))
|
||||
return abs(2*np.sqrt(2*np.log(2))*p[2])
|
||||
|
||||
'''
|
||||
def fwhm(a):
|
||||
h=max(a)/2
|
||||
u=False
|
||||
k=0
|
||||
for i in a:
|
||||
if not u:
|
||||
if i<=h:
|
||||
k+=1
|
||||
continue
|
||||
else:
|
||||
u=k
|
||||
k+=1
|
||||
else:
|
||||
if i>=h:
|
||||
k+=1
|
||||
continue
|
||||
else:
|
||||
o=k
|
||||
break
|
||||
return o-u
|
||||
'''
|
||||
c0=np.loadtxt('data/c0.TKA')
|
||||
c20=np.loadtxt('data/c20.TKA')
|
||||
c95=np.loadtxt('data/c95.TKA')
|
||||
c245=np.loadtxt('data/c245.TKA')
|
||||
c320=np.loadtxt('data/c320.TKA')
|
||||
c1020=np.loadtxt('data/c1020.TKA')
|
||||
c1770=np.loadtxt('data/c1770.TKA')
|
||||
|
||||
cv0=np.loadtxt('data/cv0.TKA')
|
||||
cv1=np.loadtxt('data/cv1.TKA')
|
||||
cv2=np.loadtxt('data/cv2.TKA')
|
||||
cv3=np.loadtxt('data/cv3.TKA')
|
||||
cv4=np.loadtxt('data/cv4.TKA')
|
||||
cv5=np.loadtxt('data/cv5.TKA')
|
||||
cv10=np.loadtxt('data/cv10.TKA')
|
||||
cv40=np.loadtxt('data/cv40.TKA')
|
||||
|
||||
halbC=[]
|
||||
for c in [c0,c20,c95,c245,c320,c1020,c1770]:
|
||||
halbC.append(fwhm(c))
|
||||
#plt.plot(c,'b')
|
||||
#plt.show()
|
||||
|
||||
halbV=[]
|
||||
for v in [cv0,cv1,cv2,cv3,cv4,cv5,cv10,cv40]:
|
||||
halbV.append(fwhm(v))
|
||||
#plt.plot(v,'r')
|
||||
#plt.show()
|
||||
|
||||
halbC=np.array(halbC)
|
||||
halbV=np.array(halbV)
|
||||
fig,axs=plt.subplots()
|
||||
axs.plot(halbC,[0,20,95,245,320,1020,1770],'b',label='Detektor mit verschiedenen Spannungen')
|
||||
axs.plot(halbC,[0,20,95,245,320,1020,1770],'r',label='Kapazitive Lasten')
|
||||
axs.legend(loc=1)
|
||||
axs2=axs.twinx()
|
||||
axs2.plot(halbV,[0,1,2,3,4,5,10,40],'b')
|
||||
axs2.set_ylabel('In Sperrichtung angelegte Spannung [V]')
|
||||
axs.set_ylabel('Kapazitive Last [pF]')
|
||||
axs.set_xlabel('Halbwertsbreite [bins]')
|
||||
axs.axvline(halbV[-1],c='black',linestyle='--')
|
||||
axs.axhline(277.35,xmax=0.313,c='black',linestyle='--')
|
||||
plt.show()
|
||||
|
||||
|
||||
lin10=np.loadtxt('data/linear10.TKA')
|
||||
lin15=np.loadtxt('data/linear15.TKA')
|
||||
lin20=np.loadtxt('data/linear20.TKA')
|
||||
lin25=np.loadtxt('data/linear25.TKA')
|
||||
lin30=np.loadtxt('data/linear30.TKA')
|
||||
lin35=np.loadtxt('data/linear35.TKA')
|
||||
lin40=np.loadtxt('data/linear40.TKA')
|
||||
lin45=np.loadtxt('data/linear45.TKA')
|
||||
lin50=np.loadtxt('data/linear50.TKA')
|
||||
lin55=np.loadtxt('data/linear55.TKA')
|
||||
linmax=[]
|
||||
for l in [lin10,lin15,lin20,lin25,lin30,lin35,lin40,lin45,lin50,lin55]:
|
||||
plt.plot(l)
|
||||
linmax.append(np.argmax(l))
|
||||
|
||||
plt.show()
|
||||
|
||||
|
||||
|
||||
def lin(x,a,b):
|
||||
return a*x+b
|
||||
|
||||
linmax=np.array(linmax)
|
||||
A=np.array([1,1.5,2,2.5,3,3.5,4,4.5,5,5.5])
|
||||
p,cov=scipy.optimize.curve_fit(lin,A,linmax)
|
||||
|
||||
plt.scatter(A,linmax,c='r')
|
||||
plt.plot(A,lin(A,p[0],p[1]),label=r'Fit pixel(E)=678$\frac{1}{MeV}\cdot$E[MeV]+163',c='b')
|
||||
plt.legend()
|
||||
plt.show()
|
||||
print(p,cov)
|
||||
Loading…
Add table
Add a link
Reference in a new issue