Construct and apply exposure maps
CIAO provides a variety of tools that can be combined to produce an exposure map
that accounts for ACIS chip edges and gaps, aspect corrections, hot pixels and
columns and telescope vignetting. A CIAO
science thread exists but currently has significant limitations (e.g. treats
single CCDs rather than the entire ACIS array). S. Koch,
working the P. Broos and D. Huenemoerder (CXC), provides a Perl script create_exposure_map
that appears to work well for creating an exposure map for a specified event list
with an associated aspect offsets file (acis*.aoff1.fits). Type the following
command:
create_exposure_map xmin xmax ymin ymax binsize event_list aspect_file
The input parameters are:
xmin, xmax, ymin, ymax- the bounding box of the region of interest
(ROI) given in [X,Y] coordinates, ds9 can be helpful here. The maximum coordinates should be of the form 5999.99 rather than 6000.
binsize - desired binning given in ACIS pixels. A bin factor
of 4 gives a 1024x1024 map for a full ACIS I+S array, while a bin factor of
2 gives a 1024x1024 map for the ACIS I array.
event list - your filtered event list which will be used to create
a sky image.
aspect_file - an aspect offsets file provided by the ASC for your dataset
(*.aoff1.fits).
spectrum_file - The default (just press Enter) gives the exposure map
for a 4 keV monochromatic source. For an energy-dependent exposure map,
input here an ASCII file with two columns, energy in keV and spectral
weight. The second column must sum to 1.0. There should be no
blank lines. This option is not yet well-tested.
Choose null filter: '1'
The script prompts for a filter to get rid of aspect offsets which are bogus. For example:
((x_offsets!=0.0)&&(y_offsets!=0.0)&&(roll_offsets!=0.0))
is a filter I used for M82.
Be sure to examine your aspect offsets file closely (e.g. using IDL TARA).
A null filter is acceptable.
The script creates a bunch of intermediate files in the current directory:
sky_image.fits - binned image of the sky over the region you selected.
sky_image_norm.fits - the sky image normalized by the exposure map.
expmap_[0-9].fits - chip-by-chip exposure maps
wexpmap_[0-9].fits - expmap_[0-9].fits weighted by total exposure time
expmap_all.fits - exposure map for the ROI (combination of wexpmap_[0-9].fits
sim.fits - aspect offsets file corrected for SIM location.
filtered_event_list.fits - your filtered event list which has been
further filtered by the GTI tables.
gti.fits - gti tables filtered by user-specified aspect offsets filter
(see above).
gti.fixed.fits - a hack which subtracts a very small amount of time
from STOP times in GTI tables. This fixes a problem with dmgti which
causes the first time bin of a bad time interval to not be filtered away.
instmap_[0-9].fits - chip-by-chip maps created by the CIAO tool mkinstmap.
Note 1: Discussions between P. Broos and CXC elucidate that the map produced by
the CIAO tool "mkexpmap" does not have
any time information in it. It should not strictly be called an exposure map,
but rather is a map of the average effective area of ACIS projected onto the
sky (taking chip gaps & edges and bad columns convolved with dither into
account) with units of cm^2. It would be better called an "effective area
map" and has typical values around 300 cm^2. The script create_exposure_map
given here multiplies this effective area map by the CCD-dependent exposure
time found in the FITS header keywords EXPOSUR?. Thus, the units of the map
produced here is in units of s*cm^2. We do not know of a tool that divides
the product by cm^2 to give a true exposure map in units of seconds. One subtlety
is that the effective area map is calculated for a monoenergetic source at
4 keV, which is clearly inaccurate for real (particularly soft) sources. Users
should also double-check the accuracy of GTI files, particularly the first
and last entries (see item below).
Note 2: A misalignment between the exposure map and
the data has been found for older (c.1999) ACIS data. If present, the
aspect offset file must be recreated using CIAO acis_process_events.
It can be surprisingly tricky to determine accurately
the exposure time of an ACIS observation. The following is
extracted from a memo by E. Feigelson (CXC Helpdesk #3529) on this question.
-
FITS event files since roughly December 99
have useful information on exposure times with separate GTI binary tables
for each operating chip. Their headers include (e.g. for chip 1):
ONTIME1 (sum of GTI entries), LIVTIME1 (sum corrected for deadtime), EXPOSUR1
(some other correction not applied?). The "deadtime correction" (an
old designation from proportional counters, more aptly it should be called
"readout time correction" for ACIS) is 1.0 - (0.041s)/3.2s = 0.987 for
the standard instrument configuration. While the detector is on during
the entire ONTIME1, photons do not arrive at their correct (RA,Dec) positions
during chip readout to the framestore which lasts 1.3% of the time. It is worth checking the DTCOR value in the FITS header; in several cases
examined, DTCOR=1.000 which seems incorrect.
-
GTI (good time interval) FITS binary tables are appended
to the EVENT binary table in acis*evt2.fits and similar files. On
some occasions, the first entry is found to preceed the arrival of the
first event by some hundreds of seconds, and the last entry is hundreds
of second after the last entry. This can easily be checked by comparing
these GTI entries with photon arrival times using FTOOL fv.
-
During the first few months of the mission (until roughly December 1999),
a single GTI binary file is provided for the entire ACIS instrument, and
when a telemetry dropout occurred for a single chip,
this is (sometimes? always?) not recorded in the GTI file. Chip-dependent
GTI files can be constructed using CIAO acis_process_events.
For these early observations, the FITS header does not give any correct
indication of the effective exposure time. Two procedures are not reliable:
-
Do not use TSTART-TSTOP, as this is 1-3 ks longer
than the true detector ontime. We suspect it includes slew, bias
frames and other satellite tasks.
-
Do not use the time between the last and first photon
arrivals, as this does not include any gaps recorded in the GTI file.
A better procedure is to sum the GTI entries by hand
or using fcalc, and then apply a "deadtime correction" (see below). Even better, check each chip separately for telemetry dropouts. A
convenient way to do this is to use TARA/Event Browser with the Detector
filter and Light Curve capability with Exposure rather than Timestamp on
the abscissa.
-
An additional correction might be made to the effective
exposure time. Cosmic ray "blooms", particularly in the ??front-side
illuminated?? CCDs, can spread over large areas of the detector. These are rejected on-board, which also rejects any real X-ray events occurring
in that frame in the affected region. There is no way to determine
what areas are rejected in standard data. Studies by Peter Ford (MIT) and Gordon Garmire (PSU) indicate this reduced the effective area by about
2%, and that the effect may not be strongly modulated by solar activity. This stochastic diminution in exposure time has not been included in CXC
data products.