Compare commits

...

2 commits

Author SHA1 Message Date
ava
409ab51745 CHANGE BigBGO.py 2023-09-13 12:11:44 +02:00
ava
2acded8e7a CHANGE BigBGO landau_sum landau_trigger 2023-09-04 12:29:09 +02:00
3 changed files with 58 additions and 29 deletions

View file

@ -16,6 +16,8 @@ parser.add_argument("-xray", action='store_true', help = "if chosen, only xray d
parser.add_argument("-trigger", action='store_true', help = "if chosen, only data triggered on T1 is beeing considered") # on/off flag
parser.add_argument("-plot", action='store_true', help = "if chosen, histogramms are beeing plotted, not saved to csv") # on/off flag
parser.add_argument("-sum", action='store_true', help = "if chosen, sums of A and B in keV will be histogrammed") # on/off flag
parser.add_argument("-two", action='store_true', help = "if chosen, functions function for two diodes A1 and A2") # on/off flag
parser.add_argument("-mV", action='store_true', help = "if chosen, data will not be changed to keV") # on/off flag
args = parser.parse_args()
if args.verbose == None:
@ -53,6 +55,11 @@ F2 = 1; thr[4] = 100;ch[4] = F2; name[4]="F2"#; u[4] = 1.0 #???
B1 = 16; thr[5] = 12; ch[5] = B1; name[5]="B1"; u[5] = 1/0.674
B2 = 13; thr[6] = 12; ch[6] = B2; name[6]="B2"; u[6] = 1/0.668
energy = 'keV'
if args.mV:
energy = 'mV'
u = [1.0,1.0,1.0,1.0,1.0,1.0,1.0]
def main():
@ -63,11 +70,14 @@ def main():
outfile.write(str(Itime))
outfile.close()
nameadd = 'h'
if args.xray: nameadd = nameadd + '_xray'
if args.muon: nameadd = nameadd + '_muon'
if args.trigger: nameadd = nameadd + '_trigger'
if args.sum: nameadd = nameadd + '_sum'
if args.mV: nameadd = nameadd + '_mV'
if args.hist:
with fileinput.input(files=(file), encoding="utf-8") as f:
@ -83,7 +93,7 @@ def main():
h = do_hist(data)
if args.plot:
for i in range(0,len(ch)):
plt.plot(h['mV'], h[name[i]], label = name[i])
plt.plot(h[energy], h[name[i]], label = name[i])
plt.yscale('log')
plt.show()
else:
@ -98,13 +108,17 @@ def main():
if l[0] == 'EI':
if not args.trigger or (args.trigger and CmV(l,ch[3]) >= thr[3]):
if not args.muon or (args.muon and ismuon(l)):
if not args.two:
data[0].append(CmV(l,ch[0])*u[0]+CmV(l,ch[1])*u[1]+CmV(l,ch[2])*u[2])
else:
#data[0].append(CmV(l,ch[1])*u[1]+CmV(l,ch[2])*u[2])
data[0].append(CmV(l,ch[0])*u[0]+CmV(l,ch[1])*u[1])
data[1].append(CmV(l,ch[5])*u[5]+CmV(l,ch[6])*u[6])
h = do_hist_sum(data)
if args.plot:
plt.plot(h['keV'], h['sumA'], label = 'sumA')
plt.plot(h['keV'], h['sumB'], label = 'sumB')
plt.plot(h[energy], h['sumA'], label = 'sumA')
plt.plot(h[energy], h['sumB'], label = 'sumB')
plt.yscale('log')
plt.show()
else:
@ -135,20 +149,20 @@ def Cphase(line, i):
def do_hist(data):
bin = int((maxV-minV)/resV)
hist, bins = np.histogram(data[0], bins=bin, range=(minV,maxV), density=False)
df = pd.DataFrame({'keV':bins[1:]/2+ bins[:-1]/2, name[0]: hist})
df = pd.DataFrame({energy:bins[1:]/2+ bins[:-1]/2, name[0]: hist})
for i in range(1, len(ch)):
hist, bins = np.histogram(data[i], bins=bin, range=(minV,maxV), density=False)
df1 = pd.DataFrame({'keV':bins[1:]/2+ bins[:-1]/2, name[i]: hist})
df = pd.merge(df, df1 , left_on = 'keV', right_on = 'keV')
df1 = pd.DataFrame({energy:bins[1:]/2+ bins[:-1]/2, name[i]: hist})
df = pd.merge(df, df1 , left_on = energy, right_on = energy)
return df
def do_hist_sum(data):
bin = int((maxV-minV)/resV)
hist, bins = np.histogram(data[0], bins=bin, range=(minV,maxV), density=False)
df = pd.DataFrame({'keV':bins[1:]/2+ bins[:-1]/2, 'sumA': hist})
df = pd.DataFrame({energy:bins[1:]/2+ bins[:-1]/2, 'sumA': hist})
hist, bins = np.histogram(data[1], bins=bin, range=(minV,maxV), density=False)
df1 = pd.DataFrame({'keV':bins[1:]/2+ bins[:-1]/2, 'sumB': hist})
df = pd.merge(df, df1 , left_on = 'keV', right_on = 'keV')
df1 = pd.DataFrame({energy:bins[1:]/2+ bins[:-1]/2, 'sumB': hist})
df = pd.merge(df, df1 , left_on = energy, right_on = energy)
return df
@ -162,8 +176,10 @@ def isXray(l):
else: return False
def ismuon(l):
if CmV(l,B1) >= thr[5] and CmV(l,B2) >= thr[6] and \
if not args.two and CmV(l,B1) >= thr[5] and CmV(l,B2) >= thr[6] and \
CmV(l,A1) >= thr[0] and CmV(l,A2) >= thr[1] and CmV(l,A3) >= thr[2]: return True
if args.two and CmV(l,B1) >= thr[5] and CmV(l,B2) >= thr[6] and \
CmV(l,A1) >= thr[0] and CmV(l,A2) >= thr[1]: return True
else: return False

View file

@ -21,7 +21,12 @@ file = 'data/2023-07-24-BigBGO-Bi207h_muon_sum'
tit = "Comparison sumA(3)-sumB(2) of '2023-07-24-BigBGO-Bi207'"
#file = 'data/2023-07-29-BigBGO-Bi207-2h_muon_sum'
#tit = "Comparison sumA(3)-sumB(2) of '2023-07-29-BigBGO-Bi207'"
#tit = "Comparison sumA(3)-sumB(2) of '2023-07-29-BigBGO-Bi207-2'"
a = 610
b = 1100
file = 'data/2023-08-07-BigBGO-3h_muon_sum'
tit = "Comparison sumA(2 120°)-sumB(2) of '2023-08-07-BigBGO-3'"
keV = True
plt.figure(figsize=(17,12))
@ -37,8 +42,6 @@ while len(f) > 0:
else:
f=f[:-1]
a = 610
b=1100
startparams = [4000,230,30,25,170]
energy = 'keV'
resV = 0.838214/2
@ -74,8 +77,9 @@ plt.title(tit, fontsize = fs+10, pad = 15)
plt.yscale('log')
plt.ylabel(ylab, fontsize = fs+5)
plt.xlabel(xlab, fontsize=fs+5)
plt.ylim(5,100)
#plt.ylim(2,30)
#plt.ylim(5,100) #1
#plt.ylim(2,30) #2
plt.ylim(0.9,50) #3
plt.xlim(100,450)
#plt.show()

View file

@ -13,20 +13,29 @@ from fit_functions import mips
# file = 'data/2023-07-24-BigBGO-Bi207h_muon_trigger'
# tit = "Comparison of single diodes when T1 has triggered '2023-07-24-BigBGO-Bi207'"
a = [190,183,180,233,215]
b = [295,285,290,365,365]
# a = [190,183,180,233,215]
# b = [295,285,290,365,365]
file = 'data/2023-07-29-BigBGO-Bi207-2h_muon_trigger'
tit = "Comparison of single diodes when T1 has triggered '2023-07-29-BigBGO-Bi207-2'"
a = [175,175,190,215,225]
b = [320,320,350,380,380]
# file = 'data/2023-07-29-BigBGO-Bi207-2h_muon_trigger'
# tit = "Comparison of single diodes when T1 has triggered '2023-07-29-BigBGO-Bi207-2'"
# a = [175,175,190,215,225]
# b = [320,320,350,380,380]
#startparams = [[150,85,10,4,100],[141,72,11,4,100],[141,72,11,4,100],[110,125,15,4,100],[110,110,16,4,100]]
#channels=['A1','A2','A3','B1','B2']
file = 'data/2023-08-07-BigBGO-3h_muon_trigger'
tit = "Comparison of single diodes when T1 has triggered '2023-08-07-BigBGO-3'"
a = [175,210,210,220]
b = [320,350,350,350]
channels=['A2','A3','B1','B2']
startparams = [[150,95,10,4,100],[141,115,11,4,100],[141,115,11,4,100],[110,125,15,4,100]]
keV = True
plt.figure(figsize=(17,12))
data = pd.read_csv(file+'.hist', sep = ' ', delim_whitespace=False, skiprows=0)
ch = pd.read_csv(file+'.hist', sep = ' ', nrows=0)
channels=['A1','A2','A3','B1','B2']
f = file
Itime = None
@ -38,7 +47,6 @@ while len(f) > 0:
f=f[:-1]
energy = 'keV'
startparams = [[150,85,10,4,100],[141,72,11,4,100],[141,72,11,4,100],[110,125,15,4,100],[110,110,16,4,100]]
resV = 0.838214/2
# plt.plot(data[energy], np.multiply(mips(data[energy], 150, 75, 15), 3600/resV/Itime),'--',label = '1')
@ -47,8 +55,8 @@ resV = 0.838214/2
# plt.plot(data[energy], np.multiply(lan(data[energy], 140,75,15,4,100), 3600/resV/Itime), '--', label ='1')
# plt.plot(data[energy], np.multiply(lan(data[energy], 140,75,15,4,100), 3600/resV/Itime), '--', label ='2')
# plt.plot(data[energy], np.multiply(lan(data[energy], 140,75,15,4,100), 3600/resV/Itime), '--', label ='3')
# plt.axvline(data[energy][a])
# plt.axvline(data[energy][a1], color = 'r')
# plt.axvline(data[energy][a[1]])
# plt.axvline(data[energy][b[1]], color = 'r')
for i in range (0,len(channels)):
ch = channels[i]
@ -82,9 +90,10 @@ plt.yscale('log')
plt.ylabel(ylab, fontsize = fs+5)
plt.xlabel(xlab, fontsize=fs+5)
plt.ylim(0.03,6)
plt.ylim(0.03,2) #two
plt.xlim(0,300)
#plt.show()
plt.savefig('plots/landau_'+file.split('/')[-1])
plt.savefig('plots/landau_'+file.split('/')[-1]+'.pdf')
plt.show()
#plt.savefig('plots/landau_'+file.split('/')[-1])
#plt.savefig('plots/landau_'+file.split('/')[-1]+'.pdf')