[an error occurred while processing this directive] Top > Suzaku > Data Analysis > HXD > HXD Recipes > Dead-time corrected LC

How to create deadtime-corrected PIN lightcurves


2007.03.13 by the HXD team

When you create a lightcurve of the PIN detector,you need to consider the deadtime of the HXD data.

The deadtime can be corrected using count rate of pseudo events which are produced by the HXD analogue electronics(AE). The pseudo event is generated every 4 seconds for all 16 units. Since the pseudo trigger probability reflects the actual deadtime, its counts included in the corresponding GTI bin stands for the live time of the bin. If you are analyzing all (e.g. 16) units, a quarter (4.0/16) of the total pseudo count is the corresponding live time. For the same reason, you shall not try to generate too short time bins, since the pseudo event counts included in the bin will be too small. Typically, we suggest 128 seconds or more (which corresponds to 512 pseudo counts per bin for full HXD (e.g. 16 unit) analysis).

Deadtime-corrected PIN lightcurves can also be created using the method above. Belows are the practical example of the procedure. In the following documents, we describe the simple method to generate "deadtime corrected light curve". As an example, a case of PIN light curve is shown.

# Note: The Poisson error associated with the "live time probability" on the pseudo light curve is not correctly included in the following document. The value is typically 1% and 0.3 % for the 128 second and 1280 second time bins, respectively.

1:Merge GTI between event and background files Merge good time intervals(GTIs) between event and bgd file using mgtime ftool. (assume event and background file names to be "pin_event.evt" and "pin_bgd.evt")

user@machine % mgtime ingtis="pin_event.evt+2 pin_bgd.evt+2" outgti="evt_bgd.gti" merge="AND"

2:Extract LCs using the merged GTI Extract light curves of event and background files with time filter of the GTI created above. The GTI filtered events are needed to be extraceted before the lightcurves so that the start time of two lightcurves will have same value.

user@machine % xselect
**  XSELECT V2.4   **
xsel:SUZAKU > read event pin_event.evt ./
xsel:SUZAKU > filter time file evt_bgd.gti
xsel:SUZAKU >  set bin 64
xsel:SUZAKU > extract event
xsel:SUZAKU > save event pin_event_gti_fltrd.evt
> Use filtered events as input data file ? >[yes] yes
xsel:SUZAKU > extract curve
xsel:SUZAKU > save curve pin_event.lc
xsel:SUZAKU > exit
(same procedure for background event file will be needed)

Note that the background event is produced based on the model calculation and the countrate is amplified by 10 times than the actual value so that the statistical errors can be ignored. (assume the created event and background lightcurve filenames to be "pin_event.lc" and "pin_bgd.lc" respectively)

3:Extract LC of pseudo events using the merged GTI The pseudo events can be obtained from "unfiltered event file" by running hxddtcor command with "save_pseudo=yes" option(see Section.5 of "Seven Steps to the Suzaku HXD analysis"). The unfiltered event file is stored in hxd/event_uf/ directory of your observation data. Extract the pseudo lightcurve from the pseudo event file using XSELECT or fselect. The same GTI file as above should be applied to the lightcurve also here.

user@machine % hxddtcor event_fname="aeXXXXXXXXXhxd_1_wel_uf.evt" \
                           pi_fname="../products/aeXXXXXXXXX_0_pin.pi" \
                           save_pseudo=yes chatter=2

Note that original purpose of hxddtcor program is to correct the exposure of spectrum file, so we need to set dummy pulse height invariant(PI) file in the command above to obtain the pseudo event file. Running the command, you will have the "raw" pseudo event file such as "aeXXXXXXXXXhxd_1_wel_pseudo.evt". Then change the file name and filter the events to get "pure" pseudo events, which has no coincidental trigger flags from the real detectors.

user@machine % mv aeXXXXXXXXXhxd_1_wel_pseudo.evt pseudo_raw.evt
user@machine % fselect infile=pseudo_raw.evt+1 outfile=pseudo_pure.evt \
                 expr ="GRADE_HITPAT<=1&&GRADE_QUALTY==0" histkw=yes

Extract lightcurve from this "pure" pseudo event file and save it as "pin_pseudo.lc" for example. 4:Create deadtime corrected event lightcurve Devide the pseudo countrate stored in the pseudo lightcurve by 4 and put the result value to new "DTCOR" column. As described the begining of this document, the calculated values mean fraction of livetime in the exposure of each bin, so always less than or equal to 1.0.

user@machine % fcalc pin_pseudo.lc+1 pin_pseudo_div4.lc DTCOR  "RATE/4"

Then copy the pseudo lightcurve's DTCOR column to the event lightcurve.

user@machine % faddcol pin_event.lc+1 pin_pseudo_div4.lc+1 DTCOR

Divide the event count rate by DTCOR column value to correct the deadtime.

user@machine % fcalc pin_event.lc+1 pin_event_dtcor.lc RATE "RATE/DTCOR"
user@machine % fcalc pin_event_dtcor.lc+1 pin_event_dtcor.lc ERROR "ERROR/DTCOR" clobber=yes

You will have obtained deadtime-corrected event lightcurve namely "pin_event_dtcor.lc" 5:Reduce background countrate to the actual value Devide the background countrate by 10(for the reason, see Section 1).

user@machine % fcalc pin_bgd.lc+1 pin_bgd_div10.lc RATE "RATE/10"
user@machine % fcalc pin_bgd_div10.lc+1 pin_bgd_div10.lc ERROR "ERROR/10" clobber=yes

6:Create deadtime-corrected and background-subtracted lightcurve Subtract the reduced background from the event countrate using lcmath command. Note that several error calculation methods can be used by switching the lcmath option.

user@machine % lcmath pin_event_dtcor.lc pin_bgd_div10.lc pin_event_sub_bgd.lc

7:Plot the lightcurve Plotting the lightcurve can be done with lcurve command as below.

user@machine % lcurve nser=1 cfile1=pin_event_sub_bgd.lc window="-" plot=yes plotdev="/xw"

[an error occurred while processing this directive] [an error occurred while processing this directive]