Background Models in SOXS

SOXS simulates background for every observation. The background in SOXS is comprised of three components: a uniform galactic foreground, a point-source background, and an instrumental/particle background. The former two components are not tied to any particular instrument specification, whereas the latter depends on the instrument being simulated. We will describe each of these background components in turn.

Galactic Foreground Model

The galactic foreground component is modeled as a sum of two thermal models, apec+apec, with parameters:

apec Model 1

  • kT: \(\rm{0.2~keV}\)
  • abund: \(\rm{1.0~Z_\odot}\)
  • redshift: \(0.0\)
  • norm: \(\rm{6.82251 \times 10^{-7}~10^{-14}\frac{\int{n_en_HdV}}{4{\pi}D_A^2(1+z)^2}}\)

apec Model 2

  • kT: \(\rm{0.099~keV}\)
  • abund: \(\rm{1.0~Z_\odot}\)
  • redshift: \(0.0\)
  • norm: \(\rm{1.12328 \times 10^{-6}~10^{-14}\frac{\int{n_en_HdV}}{4{\pi}D_A^2(1+z)^2}}\)

This fit is based on the results of Hickox & Markevitch 2007. This background is diffuse and uniformly fills the entire field of view of the instrument you choose to simulate.


This model is slightly different from that normally assumed, which adopts instead a apec+phabs*apec model in addition to the power-law component from unresolved point sources, which we model separately in SOXS. See, for example, the Athena Tools for Simulations.

Point Source Background Model

Another astrophysical component of the background in SOXS comes from resolved point sources. The emission of these sources is assumed to originate from cosmologically distant AGN and galaxies. The fluxes for these sources are drawn from \(\rm{log}~N-\rm{log}~S\) distributions taken from Lehmer et al. (2012)’s study of the Chandra Deep Field South. The point sources have fluxes in the 0.5-2 keV band in the \(7.63 \times 10^{-22} - 1.0 \times 10^{-13}~\rm{erg}~\rm{s}^{-1}~\rm{cm}^{-2}\) range.

Each point source is given a power-law spectrum. Galaxies are assumed to have a spectral index of \(\alpha = 2.0\). The spectral indices of AGN sources are drawn from a fit to the spectral index distribution of sources given in Figure 13a of Hickox & Markevitch 2006. Sources are absorbed by foreground Galactic neutral hydrogen assuming a neutral hydrogen column of \(n_H = 5 \times 10^{20}~\rm{cm}^{-2}\). The position of each point source is uniformly randomly distributed within the field of view.

Though a point-source population is automatically created as a background component when an observation is simulated, one can also create a SIMPUT catalog of point sources using the same machinery, with the ability more finely control the input parameters of the model. For more information, see Point Source Catalog.

Instrumental Background

Each instrument specification in the SOXS instrument registry has a default instrumental/particle background given by its "bkgnd" entry, which simply refers to the entry in the background registry:

from soxs import get_instrument_from_registry
hdxi = get_instrument_from_registry("hdxi")
{'arf': 'xrs_hdxi_3x10.arf',
 'bkgnd': 'acisi',
 'dither': True,
 'focal_length': 10.0,
 'fov': 20.0,
 'name': 'hdxi_3x10',
 'num_pixels': 4096,
 'psf': ['gaussian', 0.5],
 'rmf': 'xrs_hdxi.rmf'}

The "bkgnd" entry can also be set to None, which corresponds to no particle background. To change the particle background, one would need to define a new instrument specification with a different background.

Default Instrumental Backgrounds


The default instrumental background in SOXS for the Lynx HDXI model is the Chandra/ACIS-I particle background, named "acisi", and the default instrumental background for the Lynx microcalorimeter is based on a model developed for the Athena calorimeter (see here for details), named "mucal".


The default instrumental backgrounds in SOXS for the Athena WFI and X-IFU are based on the specifications that can be found at the Athena simulation tools web portal.


The default instrumental background in SOXS for the Chandra ACIS-I models is the Chandra/ACIS-I particle background, named "acisi". For ACIS-S, the "acisi" background is used for the front-illuminated chips, and a model provided by Andrea Botteon from Botteon et al. 2017 is used for the back-illuminated chips, called "aciss". Currently, the gratings instrument models do not have instrumental backgrounds included.

Adding Your Own Instrumental Backgrounds to SOXS

You can add your own instrumental background to the SOXS background registry. What you need is an ASCII table file with two columns, one with the bin energy in keV and the background in that bin in units of \(\rm{photons~s^{-1}~cm^{-2}~arcmin^{-2}~keV^{-1}}\). The binning must be linear and the bins must be equally spaced. Then you can supply it to SOXS using add_instrumental_background(), along with the name you want to give it:

import soxs
soxs.add_instrumental_background("my_particle_bkg", "my_bkg.dat")

Then you will need to create a new instrument specification (this example shows how to clone an existing one and change the background, but one could also create one from scratch):

from soxs import get_instrument_from_registry, add_instrument_to_registry
# Create a new instrument with that background
new_hdxi = get_instrument_from_registry("hdxi")
new_hdxi["name"] = "hdxi_new_bkg" # Must change the name, otherwise an error will be thrown
new_hdxi["bkgnd"] = "my_particle_bkg"
name = add_instrument_to_registry(new_hdxi)

Turning Background Components On and Off

All components of the background are turned on in the instrument simulator by default. The various components of the background can be turned on or off entirely in the call to instrument_simulator() by setting the parameters ptsrc_bkgnd, foreground, and/or instr_bkgnd to True or False:

# turn off the astrophysical foreground
soxs.instrument_simulator(simput_file, out_file, exp_time, instrument,
                          sky_center, overwrite=True, foreground=False)
# turn off the instrumental background
soxs.instrument_simulator(simput_file, out_file, exp_time, instrument,
                          sky_center, overwrite=True, instr_bkgnd=False)
# turn off all backgrounds
soxs.instrument_simulator(simput_file, out_file, exp_time, instrument,
                          sky_center, overwrite=True, ptsrc_bkgnd=False,
                          instr_bkgnd=False, foreground=False)

Using a Background From an Event File

Creating a new background every time SOXS is run may be time-consuming for long exposures. SOXS provides a way to generate background events for a particular instrument, save them to a standard event file, and then use this file as input to instrument_simulator(). The make_background_file() allows for this:

out_file = 'bkgnd_evt.fits'
exp_time = (1.0, "Ms")
instrument = "hdxi"
sky_center = [24., 12.] # degrees
soxs.make_background_file(out_file, exp_time, instrument, sky_center,
                          overwrite=True, foreground=True, instr_bkgnd=False,

As can be noted from this example, make_background_file() allows one to turn any of the three background components on or off using the boolean arguments foreground, instr_bkgnd, or ptsrc_bkgnd.

One can also take finer control of the point-source contribution to the background by supplying an ASCII table of point-source properties generated by make_point_sources_file() or make_point_source_list() using the input_sources keyword argument:

fov = 20.0 # arcmin
out_file = 'bkgnd_evt.fits'
exp_time = (1.0, "Ms")
instrument = "hdxi"
sky_center = [24., 12.] # degrees
soxs.make_point_source_list('my_ptsrc.dat', exp_time, fov, sky_center)
soxs.make_background_file(out_file, exp_time, instrument, sky_center,
                          overwrite=True, input_sources='my_ptsrc.dat')

See Saving the Point Source Properties to Disk for Later Use for more information on this feature.

instrument_simulator() can use this background file when it is supplied with the bkgnd_file argument, provided that the same instrument is used and the exposure time of the source observation is not longer than the exposure time that the background was run with:

exp_time = (500.0, "ks") # smaller than the original value
instrument = "hdxi"
simput_file = "beta_model_simput.fits"
out_file = "evt.fits"
sky_center = [30., 45.]
soxs.instrument_simulator(simput_file, out_file, exp_time, instrument,
                          sky_center, overwrite=True, bkgnd_file="bkgnd_evt.fits")

Note that the pointing of the background event file does not to be the same as the source pointing–the background events will be re-projected to match the pointing of the source.