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')
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)
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
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