more filtering

This commit is contained in:
2024-04-18 16:03:08 +03:00
parent 9841cf5ded
commit d1e1643f8a
7 changed files with 101 additions and 7 deletions

View File

@@ -71,6 +71,7 @@ plt.show()
rev = np.array(df['REV'])
grxe = np.array(df['GRXE'])
grxe_err = np.array(df['GRXE_ERR'])
@@ -86,6 +87,35 @@ sstr = '%-14s mean = %6.4f, variance = %6.4f, skew = %6.4f, kurtosis = %6.4f'
n, (smin, smax), sm, sv, ss, sk = describe(grxe)
print(sstr % ('sample:', sm, sv, ss, sk))
# Calculate the percentiles across the x dimension
errmax=np.max(grxe_err)
perc = np.percentile(grxe_err, grxe_err_cut, axis=0, keepdims=False)
print("{} {}: {}% cut of GRXE ERR: {:.2f} mCrab".format(skey,enkey,sem_cut,perc))
idx=np.where(grxe_err < perc)
plt.hist(grxe_err, bins=n_bins, range=[0,errmax], color="red")
rev=rev[idx]
grxe=grxe[idx]
grxe_err=grxe_err[idx]
plt.hist(grxe_err, bins=n_bins, range=[0,errmax], color="grey")
plt.xlabel("GRXE ERROR, mCrab")
plt.title("Distribution of errors {}".format(skey))
plt.show()
grxe_sign=np.divide(grxe,grxe_err)
plt.hist(grxe_sign, bins=n_bins)
plt.xlabel("GRXE S/N")
plt.title("Distribution of significance {}".format(skey))
plt.show()
A=np.sum(grxe/grxe_err**2)
B=np.sum(1.0/grxe_err**2)
wgt_mean=A/B
wgt_mean_err=np.sqrt(1.0/B)
print("Weighted mean: {:.2f}+/-{:.2f} normal mean: {:.2f}".format(wgt_mean,wgt_mean_err,np.mean(grxe)))
#filtered_grxe = sigma_clip(grxe, sigma=sigma, maxiters=10)
filtered_data = sigma_clip(grxe, sigma=sigma, maxiters=10, return_bounds=True)
filtered_grxe = filtered_data[0]