XMM-Newton Science Analysis System
epexposure (epexposure-0.16) [22.0.0-9173c7d25-20250127]
Algorithm
subroutine epexposure
Read all parameters
Open input event list(s) and auxiliary file from single exposure
* call evlistcomb
in addition to epn default also propagate the FRAME column
(this is needed to link the event list with CYCLE counters in the AUX file)
* call evselect
to create CCD specific filtered versions of the AUX file
* call make_epexposure
to actually perform the livetime computation
end subroutine epexposure
------------------------------
subroutine make_epexposure
Read all parameters (passed on from epexposure)
Open merged events file
Open filtered(=CCD specific) auxiliary file
Open housekeeping file
Open frames output file and fill the primary header
Create frames table extension (one per CCD)
(this is temporarily used to collect counter info
and to store livetime factors per frame)
Create and fill columns:
FRAME
TIME: computed via call OAL_frameCounterToObt(aux1frameCol,obttags)
call OAL_obtToTimeTag(obttags,timetags)
for all frames which have an entry in the auxiliary file
compute time tags for all remaining frames from time steps
Extract chopper value of quadrant under consideration: An_CHOP
from housekeeping file, error if An_CHOP not constant,
store An_CHOP as attribute
Extract number of cycles after which count info is sent: An_MAXFRC
from housekeeping file, error if An_MAXFRC not constant
NDISCLIN: extracted from auxiliary file, valid for An_MAXFRC frames
Extract number of active CCDs in quadrant under consideration: An_CCDSEL
from housekeeping file, error if An_CCDSEL not constant
FC1: MIP dependent quadrant livetime factor
(based on NDISCLIN, An_MAXFRC and An_CCDSEL)
NEPDH: extracted from auxiliary file, valid for An_MAXFRC frames
NEVENTS: computed number of raw events per frame from merged event list
FC2: MIP dependent CCD livetime factor
(based on EXPOSURE extension prepared by `epframes')
flag all frames as bad where NEPDH /= NEVENTS
(if ground MIP correction is active, NEPDH has to be reduced by rejected
counts)
Modify CCD specific EXPOSURE extension: add enough FRAME entries
to store changing livetime factors
Compute FRACEXP entries: epframes took care of FC0, now
additional multiplication with FC1 and FC2
Compute livetime corrected exposure time and store it as attribute
end subroutine make_epexposure
XMM-Newton SOC -- 2025-01-27