Last modified: December 2022

AHELP for CIAO 4.16



Approximate the Out Of Time source contribution to the background.


readout_bkg  infile outfile [tmpdir] [random] [check_vf_pha] [verbose]


Since the ACIS detector does not have a shutter, some events are detected during the (typical) 0.04 seconds it takes to transfer the image to the frame-store to be read-out. These Out Of Time (OOT) events are detected with the correct CHIPX location, but are detected at random CHIPY locations. These events contribute to the observed background and can be especially important when analyzing bright, extended emission.

The 'readout_bkg' script can be used to model the OOT events contribution to the background. The algorithm is described in detail in Vikhlinin et al.. To summarize: the level 1 event file for an observation is modified by randomizing the CHIPY values. Then the standard calibrations (energy and coordinates) and filters (grade, status, GTIs) are applied. The exposure time is adjusted for the fraction of the readout time to the actual observation time by modifying the DTCOR (dead time correction) keyword. The end product is a Level 2 event file that can be used to model the OOT source contribution to the background.


Example 1

unix% download_chandra_obsid 10805
unix% readout_bkg 10805 abell2199_oot.evt
           indir = 10805
         outfile = abell2199_oot.evt
          tmpdir = /tmp
    check_vf_pha = no
          random = 0
         verbose = 1
         clobber = no
            mode = ql

Working in temporary directory: /tmp/tmp.readout_bkg_v7pULX
Using event file /tmp/tmp.readout_bkg_v7pULX/secondary/acisf10805_001N002_evt1.fits
Randomizing chipy values between 2 and 1023
Modifying DTCOR keyword to account for hyperexposure: from 0.987 to 74.549
Saving modified events to /tmp/tmp.readout_bkg_v7pULX/secondary/acisf10805_001N002_randchipy_evt1.fits
Running chandra_repro
Copying output file
Cleaning up temporary files

Output background file : abell2199_oot.evt
The effective exposure is 2291.48 ks

The easiest way to get started is by downloading the current version of the data products for the observation, in this example OBS_ID=10805 (Abell 2199). The directory name is then input to readout_bkg along with the final output file name, abell2199_oot.evt.

The readout_bkg script internally runs the chandra_repro script, and therefore requires the full set of data products in the standard primary/ and secondary/ directories.

The "effective exposure" is the regular exposure time corrected for the ratio of frame time (~3.2 seconds) to the transfer time (~0.04 seconds).

Example 2

unix% readout_bkg 10805 abell2199_vfaint_oot.evt check_vf_pha=yes

Same as the example above, with the extra VFAINT mode background filter applied. Users should set check_vf_pha=yes if they have applied the VFAINT filter to the observed data


name type ftype def min max reqd stacks
infile file input       yes no
outfile file output       yes no
tmpdir file output ${ASCDS_WORK_PATH}     no no
random integer   0 0      
check_vf_pha boolean   no     no  
verbose integer   1 0 5 no  
clobber boolean   no     no  

Detailed Parameter Descriptions

Parameter=infile (file required filetype=input stacks=no)

The name of the input directory

The readout_bkg script will look for the level 1 event file in the secondary/ sub-directory, and will uses the other files to apply the calibrations to the modified event file.

Parameter=outfile (file required filetype=output stacks=no)

The final Level 2 OOT background event file

After the chip coordinates are randomized and the events recalibrated, the standard filters are applied (GTIs, grade, status) to create the Level 2 OOT background event file.

Parameter=tmpdir (file not required filetype=output default=${ASCDS_WORK_PATH} stacks=no)

Temporary working directory

readout_bkg creates symbolic links to the input directory in a subdirectory of the tmpdir. It then runs chandra_repro from that copy of the input files; copying the final Level 2 event file to the outfile name. The default ${ASCDS_WORK_PATH}, is usually defaulted to "/tmp".

Parameter=random (integer default=0 min=0)

Random seed value

The random seed can be set to a positive interger value to produce repeatable results. A value of 0 will use the system clock to generate the random seed.

Parameter=check_vf_pha (boolean not required default=no)

Apply the additional VFAINT mode background filter?

The check_vf_pha filter can provide additional background suppression, though it can also sometimes mistakenly remove valid source events. More information on this setting can be found in the chandra_repro help file.

This filter only applies to data taken in VFAINT mode. Users should only apply this filter to the OOT background events if they also applied the filter to their observed data.

Parameter=verbose (integer not required default=1 min=0 max=5)

Controls the amount of information printed to the terminal

Parameter=clobber (boolean not required default=no)

Delete the output outfile if it already exists?

Comparison to acis_streak_map

Conceptually, this tool is somewhat similar to the acis_streak_map tool. They differ in that acis_streak_map explicitly tries to exclude sources whereas that is what readout_bkg is trying to capture. They also differ in that readout_bkg creates an output event file whereas acis_streak_map creates a background image.

Using with specextract and sherpa

The OOT event file can be used with standard CIAO tools as the background. For example it can be used with specextract as shown here:

unix% specextract infile="acisf10805_repro_evt.fits[sky=region(ds9.reg)]" \ 
   bkgfile="abell2199_oot.evt[sky=region(ds9.reg)]" \
unix% sherpa
Welcome to Sherpa: CXC's Modeling and Fitting Package

sherpa> load_data("abell2199.pi")
read ARF file abell2199.arf
read RMF file abell2199.rmf
read ARF (background) file abell2199_bkg.arf
read RMF (background) file abell2199_bkg.rmf
read background file abell2199_bkg.pi
sherpa> plot_bkg()

Changes in the scripts 4.8.2 (January 2016) release

The random parameter has been added to control the Numpy random seed.

About Contributed Software

This script is not an official part of the CIAO release but is made available as "contributed" software via the CIAO scripts page. Please see this page for installation instructions.


There are no known bugs for this tool.

See Also

acis_build_badpix, acis_check_pha_range, acis_clear_status_bits, acis_detect_afterglow, acis_find_afterglow, acis_process_events, acis_streak_map, acisreadcorr, destreak
asphist, dither_region
acis_bkgrnd_lookup, hrc_bkgrnd_lookup
combine_grating_spectra, combine_spectra, specextract
acis_fef_lookup, acis_set_ardlib, addresp, dmarfadd, eff2evt, find_mono_energy, fullgarf, make_instmap_weights, mean_energy_map, mkacisrmf, mkarf, mkexpmap, mkgarf, mkgrmf, mkinstmap, mkpsfmap, mkrmf, mkwarf, psf_project_ray, rmfimg