open-gamma-ray-astro / gamma-astro-data-formats

Data formats for gamma-ray astronomy
https://gamma-astro-data-formats.readthedocs.io
Creative Commons Attribution 4.0 International
29 stars 27 forks source link

Require that events are ordered in time? #107

Open cdeil opened 6 years ago

cdeil commented 6 years ago

Should we require that IACT DL3 FITS events are ordered in time?

In Gammapy, there's a few things now using event times (e.g. exptest or an adaptive light curve binning method), and we need to either assume they arrive ordered in the DL3 files, or need to sort in those cases on input.

As far as I can see, the GUIDELINES FOR DEFINING FITS FORMATS FOR EVENT LISTS don't require events to be ordered chronologically, they just say this:

The detailed format of a given Event Lists is considered instrument-specific, and the order in which the events are listed application-specific.

@registerrier or anyone - do you know if any missions release EVENTS that are not ordered chronologically?

@woodmd - what does Fermi-LAT do? Are events always ordered chronologically or are files in use where this is not the case?

@jknodlseder - do you assume time ordered in ctools or sort on input if this is needed by some method?

@kosack or @cboisson - are there any thoughts / requirements on this in CTA already?


I would suggest we gather this information here, and everyone says what they prefer, and then we improve the spec to either add the requirement or a comment that time ordering is not required and why cases are allowed where events aren't sorted chronologically.

cdeil commented 5 years ago

I've added a sentence in #127 that it's recommended to order EVENTs chronologically in DL3 event lists.

@cboisson or @contrera or @kosack or @jknodlseder - Is there a requirement in CTA for DL3 EVENTS that they must be ordered chronologically?

I think that would be very useful.

It's easy to fulfill by DL3 producers, at very low cost. Usually EVENTS will arrive sorted already and processing steps preserve time order. In the rare cases where this is not the case, one can sort once before writing, instead of making all users have to sort on read. Note that as soon as GTIs are used, e.g. for event selection, having a TIME-sorted EVENTS table is needed.