dataset = [] for filename, t in data: data = genfromtxt(datapath + filename + ".ASC", unpack=True, delimiter=" ") h = histogram(data[1, :], 4096) dataset.append(h[0][1:] / t) ## d = dataset[1] - dataset[0] edges = (50, 250) p = fits.gaussian_fit(array([ 0, 0, 1000, edges[0], 50]), d[slice(*edges)], arange(edges[1] - edges[0])) d[slice(*edges)] = p[0][0] * arange(*edges) + p[0][1] cs662 = sum(d[2500:3000]) / gamma_area / ((0.851 * cesium_activity) \ / (4 * pi * gamma_R ** 2)) clf() plot(arange(len(d)), d) title("Cesium - topp vid 662 keV") show() en = arange(edges[1] - edges[0]) c = p[0][0] * en + p[0][1] + p[0][2] * \ exp(-0.5 * ((en - p[0][3]) / p[0][4]) ** 2)
xlabel("Kanalnummer") ylabel("Frekvens") thetitle = "hist_" + entry[0].split("/")[-1].split(".")[0] + ".eps" savefig(imgpath + thetitle, format="eps") close() if do_fits: print ("\n------\nFile is %s" % entry[0]) for limit in entry[2]: setoff = limit[0] h = histogram(data[entry[1], :], 4096) p = fits.gaussian_fit( array([0, 0, 10000, (limit[1] - setoff) / 2, 10]), h[0][setoff : limit[1] + 1], arange(h[0][setoff : limit[1] + 1].shape[0]), ) energy = p[0][3] + setoff stdenergy = p[0][4] / abs(p[0][4] * p[0][2] * sqrt(2 * pi)) print energy, stdenergy print p[0] # clf() # plot(arange(h[0][setoff:limit[1] + 1].shape[0]), # h[0][setoff:limit[1] + 1], 'ro') # en = arange(h[0][setoff:limit[1] + 1].shape[0]) # c = p[0][0] * en + p[0][1] + p[0][2] * \ # exp(-0.5 * ((en - p[0][3]) / p[0][4]) ** 2) # plot(en, c, 'g-')
angles = [] nset = [] nerrset = [] ncorrset = [] ncorrerrset = [] pset = [] for f, theta, t, ppeak, peak in fileset: angles.append(theta) data = genfromtxt(datapath + f + ".ASC", unpack=True, delimiter=" ") # Total count rate n h_p = histogram(data[1, :], 4096) p = fits.gaussian_fit( array([0, 0, 200, mean(peak), peak[1] - peak[0]]), h_p[0][slice(*peak)], arange(*peak)) # clf() # plot(arange(len(h_p[0][1:])), h_p[0][1:]) # en = arange(*peak) # c = p[0][0] * en + p[0][1] + p[0][2] * \ # exp(-0.5 * ((en - p[0][3]) / p[0][4]) ** 2) # plot(en, c, 'r-') # show() n = abs(p[0][4] * p[0][2] * sqrt(2 * pi)) / t nerr = sqrt(sum(h_p[0][slice(*peak)])) / t # nerr = sqrt((sum(h_p[0][1:]) / t ** 2 * 30) ** 2 + # (sqrt(sum(h_p[0][1:])) / t) ** 2) # print "diff is ", n_alt / n