Action #3548
Implement TOF flux correction factors
Status: | Closed | Start date: | 02/19/2021 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assigned To: | Knödlseder Jürgen | % Done: | 100% | |
Category: | - | |||
Target version: | 2.0.0 | |||
Duration: |
Description
According to a study of Rob van Dijk the TOF selection implies flux dependent correction factors. These are given in the following document:
com-rp-rol-drg-057.pdf
The correction should be implemented at the GCOMResponse
level so that a joint-fit with COMPTEL data can be performed.
Recurrence
No recurrence.
History
#1 Updated by Knödlseder Jürgen over 3 years ago
The ToF correction factor should be implemented as function of the ToF selection criteria. The correction should be implemented at the level of the GCOMResponse
class so that the correction will be directly applied in the response computation.
- the DRE is energy dependent, hence a single ToF applies to a given DRE
- the ToF selection criteria are available when computing the DRE
The ToF correction factor should therefore be computed when GCOMDri::compute_dre()
is called. The factor should also be written in a DRE FITS file and read back from that file for reference. Selection parameters and minimum Earth horizon angle should also be written into the FITS file and read back. For that purpose, methods GCOMSelection::write(GFitsHDU& hdu)
and GCOMSelection::read(const GFitsHDU& hdu)
should be implemented that write and read the selection keywords from an HDU. These methods should then be called by the GCOMDri::write_attributes()
and GCOMDri::read_attributes()
methods. In that way the selection parameters will also be available (this is not strictly needed, yet is desirable).
A method GCOMDri::tof_correction()
needs to be added to access the pre-computed ToF correction by reference. If no pre-computation was done the value should be 1.0.
GCOMEventBin
needs to store a pointer to the ToF correction value that will be set in GCOMEventCube::init_bin()
. In that way the ToF correction is also available for an individual event. A GCOMEventBin::tof_correction()
method needs to be added so that the value can be access in the response computation and multiplied to the IRF.
Specifically, this needs to be done in GCOMResponse::irf_ptsrc()
(best by changing the IAQ normalisation iaq_norm
) and in GCOMResponse::irf()
(best as additional multiplier after deadtime correction).
#2 Updated by Knödlseder Jürgen over 3 years ago
- Status changed from New to Pull request
- % Done changed from 0 to 90
I implemented the formula from table 1 of COM-RP-ROL-DRG-057.
#3 Updated by Knödlseder Jürgen over 3 years ago
- File spectrum-by-vp.png added
- File spectrum-by-vp-multby1.07.png added
Here a comparison of the resulting Crab spectra for all Crab viewing periods. The SRCLIX
method was used, where the data were fitted in the four standard energy bins using a power law spectrum. The resulting background models were then used for a spectral analysis. The source position was left free. Five SRCLIX
iterations were performed. For comparison, the Crab spectrum obtained by van der Meulen et al. (1998) is shown.
Overall the results are close to the ones of van der Meulen et al. (1998), yet there seems still to be a small underestimation of the published results. Note that Rob van Dijk mentioned in his thesis an underestimation of SRCLIX
fluxes by 7%, which goes in the same direction as the differences shown. Multiplying the results by 1.07 brings the data in relatively good agreement. The left plot shows the uncorrected spectrum, the right one the spectrum that was multipled by 1.07.
#4 Updated by Knödlseder Jürgen over 3 years ago
- Status changed from Pull request to Closed
- % Done changed from 90 to 100