This commit is contained in:
2024-05-14 14:01:40 +03:00
parent e21e035112
commit 33b4a651e7
20 changed files with 1224703 additions and 303137 deletions

View File

@@ -10,3 +10,19 @@
./01_bgdmodel.py E10
./01_bgdmodel.py E11
./01_bgdmodel.py E12
./01_bgdmodel.py E13
./01_bgdmodel.py E14
./01_bgdmodel.py E15
./01_bgdmodel.py A01
./01_bgdmodel.py A02
./01_bgdmodel.py A03
./01_bgdmodel.py A04
./01_bgdmodel.py A05
./01_bgdmodel.py A06
./01_bgdmodel.py A07
./01_bgdmodel.py A08
./01_bgdmodel.py A09
./01_bgdmodel.py A10
./01_bgdmodel.py A11

View File

@@ -40,6 +40,19 @@ enkey = sys.argv[1]
sigma=3
# for these bands, slope is taken from stacked profile
fixed_slope = ['E04','E05','E06','E07','E08','E09','E10','E11','E12','E15',
'A02','A03','A04','A05','A06','A07','A08','A09','A10','A11',]
# for these bands, slope is free for each revolution
free_slope = ['E01', 'E02', 'E03', 'A01']
# for these bands, slope is fixed at constant (or if positive, which is not allowed)
const_slope = ['E10','E11','E12','A10','A11']
# for stacked profile, skip orbits>800 for energy channels <30 keV
skip800 = ['E02','E03','A01']
# some static revs/scws to be removed
ignore_orbits=[352,834,912,1019,1021,1028,2275,2405,2493]
ignore_scws=['066600420020','066600420030','132800350010','090200390010','269500190010']
@@ -93,18 +106,18 @@ for i,rec in df.iterrows():
for rev in range(revmin,revmax):
if(rev in ignore_orbits):
continue
if(enkey == 'E02'):
if(rev > 800):
continue
if(enkey == 'E03'):
if(enkey in skip800):
if(rev > 800):
continue
#if(rev > 1000):
# continue
df0 = df.query('SRC > 0.0 & REV == {} & PHASE > {} & PHASE < {} & CRAB_SEP < {}'.format(rev,phmin,phmax,crab_sep_max))
nobs=len(df0)
if not (nobs> crab_nmax):
continue
print(rev,nobs)
for n in df0['CRAB_SEP'].values:
totx.append(n)
for n in df0['SRC'].values:
@@ -124,6 +137,8 @@ a_full,b_full,err_full = plot_best_fit(x, y, model)
if(plotme):
plot_ab(x, y, a_full, b_full, err_full, title="REGRESSION")
#sys.exit()
# go over orbits
poly_x=[]
poly_y=[]
@@ -177,7 +192,7 @@ for rev in range(revmin,revmax):
b_est = np.mean(y - a_full*x)
if(enkey in ['E10','E11','E12',] or a > 0.0):
if(enkey in const_slope or a > 0.0):
filtered_data = sigma_clip(y, sigma=sigma, maxiters=10, return_bounds=True)
filtered_y = filtered_data[0]
filtered_min = filtered_data[1]
@@ -206,12 +221,12 @@ for rev in range(revmin,revmax):
poly_x.append(rev)
poly_y.append(b_est)
if(enkey in ['E04','E05','E06','E07','E08','E09','E10','E11','E12']):
if(enkey in fixed_slope):
crabmodel[rev]={'a':a_full, 'b':b_est, 'err':err}
if(plotme):
plot_ab(x, y, a_full, b_est, err, title="REGRESSION rev {}".format(rev))
if(enkey in ['E01', 'E02', 'E03']):
if(enkey in free_slope):
crabmodel[rev]={'a':a, 'b':b, 'err':err}
if(plotme):
plot_ab(x, y, a, b, err, title="REGRESSION rev {}".format(rev))

View File

@@ -10,3 +10,15 @@
./01_crabmodel.py E10
./01_crabmodel.py E11
./01_crabmodel.py E12
./01_crabmodel.py A01
./01_crabmodel.py A02
./01_crabmodel.py A03
./01_crabmodel.py A04
./01_crabmodel.py A05
./01_crabmodel.py A06
./01_crabmodel.py A07
./01_crabmodel.py A08
./01_crabmodel.py A09
./01_crabmodel.py A10
./01_crabmodel.py A11

View File

@@ -27,7 +27,8 @@ from ridge.utils import *
from ridge.config import *
enkey = sys.argv[1]
outkey = sys.argv[2]
#outkey = sys.argv[2]
outkey = "ALL"
fn="detcnts.{}.fits".format(enkey)