Пример #1
0
logging.getLogger().addHandler(consoleHandler)

id = 2
load_pha(id, 'interval0pc.pi')
if get_rmf(id).energ_lo[0] == 0: get_rmf(id).energ_lo[0] = 0.01
if get_arf(id).energ_lo[0] == 0: get_arf(id).energ_lo[0] = 0.01
set_xlog()
set_ylog()
set_stat('cstat')
set_xsabund('wilm')
ignore(None, 0.5)
ignore(5, None)
notice(0.5, 5)

print('calling singlefitter...')
fitter = SingleFitter(id, 'interval0pc', SwiftXRTBackground)
try:
    fitter.tryload()
except IOError:
    fitter.fit(plot=False)

id2 = 3
if os.path.exists('interval0wt.pi'):
    load_pha(id2, 'interval0wt.pi')
    if get_rmf(id2).energ_lo[0] == 0: get_rmf(id2).energ_lo[0] = 0.01
    if get_arf(id2).energ_lo[0] == 0: get_arf(id2).energ_lo[0] = 0.01
    ncounts = get_bkg(id2).counts.sum()
    if ncounts < 150:
        id2 = None
    else:
        set_stat('cstat')
Пример #2
0
logging.basicConfig(filename='bxa.log', level=logging.DEBUG)
logFormatter = logging.Formatter("[%(name)s %(levelname)s]: %(message)s")
consoleHandler = logging.StreamHandler()
consoleHandler.setFormatter(logFormatter)
consoleHandler.setLevel(logging.INFO)
logging.getLogger().addHandler(consoleHandler)

# BXA fully supports fitting multiple ids with the usual id=2, otherids=(3,4,5)
#     parameters
id = 2
load_pha(id, 'interval0pc.pi')
set_xlog()
set_ylog()

print 'calling singlefitter...'
fitter = SingleFitter(id, 'interval0pc', SwiftXRTBackground)
try:
    fitter.tryload()
except IOError:
    fitter.fit(plot=True)
# that is all for the background model -- it has been fitted
# or loaded from a previous fit
print 'freezing background params'
for p in get_bkg_model(id).pars:
    p.freeze()
print get_model(id)

# need to re-initialise energy selection and statistics:

set_stat('cstat')
ignore(None, 0.5)
import bxa.sherpa as bxa
bxa.default_logging()
print('loading background fitting module...')
from bxa.sherpa.background.models import SwiftXRTBackground
from bxa.sherpa.background.fitters import SingleFitter


# BXA fully supports fitting multiple ids with the usual id=2, otherids=(3,4,5) 
#     parameters
id = 2
load_pha(id, 'interval0pc.pi')
set_xlog()
set_ylog()

print('calling singlefitter...')
fitter = SingleFitter(id, 'interval0pc', SwiftXRTBackground)
try:
	fitter.tryload()
except IOError:
	fitter.fit(plot=True)
# that is all for the background model -- it has been fitted 
# or loaded from a previous fit
print('freezing background params')
for p in get_bkg_model(id).pars: 
	p.freeze()
print(get_model(id))

# need to re-initialise energy selection and statistics:

set_stat('cstat')
ignore(None, 0.5)
Пример #4
0
logging.getLogger().addHandler(consoleHandler)

id = 2
load_pha(id, 'interval0pc.pi')
if get_rmf(id).energ_lo[0] == 0: get_rmf(id).energ_lo[0] = 0.01
if get_arf(id).energ_lo[0] == 0: get_arf(id).energ_lo[0] = 0.01
set_xlog()
set_ylog()
set_stat('cstat')
set_xsabund('wilm')
ignore(None, 0.5)
ignore(5, None)
notice(0.5, 5)

print('calling singlefitter...')
fitter = SingleFitter(id, 'interval0pc', SwiftXRTBackground)
try:
	fitter.tryload()
except IOError:
	fitter.fit(plot=False)

id2 = 3
if os.path.exists('interval0wt.pi'):
	load_pha(id2, 'interval0wt.pi')
	if get_rmf(id2).energ_lo[0] == 0: get_rmf(id2).energ_lo[0] = 0.01
	if get_arf(id2).energ_lo[0] == 0: get_arf(id2).energ_lo[0] = 0.01
	ncounts = get_bkg(id2).counts.sum()
	if ncounts < 150:
		id2 = None
	else:
		set_stat('cstat')
Пример #5
0
ignore(None, elo)
ignore(ehi, None)
notice(elo, ehi)

prefix = filename + '_xagnfitter_out_'

#import json
#z = float(open(filename + '.z').read())
#galnh_value = float(open(filename + '.nh').read())

galabso = auto_galactic_absorption()
galabso.nH.freeze()

if args.backgroundmodel == 'chandra':
    print('calling singlefitter...')
    fitter = SingleFitter(id, filename, ChandraBackground)
    try:
        fitter.tryload()
    except IOError:
        fitter.fit(plot=False)

# Models available at https://doi.org/10.5281/zenodo.602282
#torus, scat = None, None
load_table_model("torus",
                 '/home/user/Downloads/specmodels/uxclumpy-cutoff.fits')
load_table_model("scat",
                 '/home/user/Downloads/specmodels/uxclumpy-cutoff-omni.fits')
# the limits correspond to fluxes between Sco X-1 and CDFS7Ms faintest fluxes
srclevel = Parameter('src', 'level', 0, -8, 3, -20, 20)
print('combining components')
model = torus + scat
Пример #6
0
logging.getLogger().addHandler(consoleHandler)

id = 1
load_pha(id, '179.pi')
if get_rmf(id).energ_lo[0] == 0: get_rmf(id).energ_lo[0] = 0.01
if get_arf(id).energ_lo[0] == 0: get_arf(id).energ_lo[0] = 0.01
set_xlog()
set_ylog()
set_stat('cstat')
set_xsabund('wilm')
ignore(None, 0.5)
ignore(8, None)
notice(0.5, 8)

print('calling singlefitter...')
fitter = SingleFitter(id, '179.pi', ChandraBackground)
try:
	fitter.tryload()
except IOError:
	fitter.fit(plot=False)

set_stat('cstat')
ignore(None, 0.3)
ignore(8, None)
notice(0.3, 8)

import json
z = float(open('179.pi.z').read())
galnh_value = float(open('179.pi.nh').read())

#from bxa.sherpa.rebinnedmodel import RebinnedModel