{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# TTE Data\n", "\n", "TTE (Time-Tagged Event) data is basically a time-series of \"counts\" where each count is mapped to an energy channel. It is basically the temporally unbinned representation of CSPEC data (128 energy channels). We can read a TTE file much the same way we can read a CTIME or CSPEC file." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "glg_tte_n9_bn090131090_v00.fit\n" ] } ], "source": [ "from gbm import test_data_dir\n", "# import the TTE data class\n", "from gbm.data import TTE\n", "\n", "# read a tte file\n", "tte = TTE.open(test_data_dir+'/glg_tte_n9_bn090131090_v00.fit')\n", "print(tte)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similar to the other datatypes, TTE data are stored in FITS files, and so all the metadata in the headers can be accessed:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "odict_keys(['PRIMARY', 'EBOUNDS', 'EVENTS', 'GTI'])" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# list the headers in the file\n", "tte.headers.keys()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SIMPLE = T / file does conform to FITS standard \n", "BITPIX = 8 / number of bits per data pixel \n", "NAXIS = 0 / number of data axes \n", "EXTEND = T / FITS dataset may contain extensions \n", "COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy\n", "COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H \n", "CREATOR = 'GBM_TTE_Reader.pl v2.8' / Software and version creating file \n", "FILETYPE= 'GBM PHOTON LIST' / Name for this type of FITS file \n", "FILE-VER= '1.0.0 ' / Version of the format for this filetype \n", "TELESCOP= 'GLAST ' / Name of mission/satellite \n", "INSTRUME= 'GBM ' / Specific instrument used for observation \n", "DETNAM = 'NAI_09 ' / Individual detector name \n", "OBSERVER= 'Meegan ' / GLAST Burst Monitor P.I. \n", "ORIGIN = 'GIOC ' / Name of organization making file \n", "DATE = '2009-01-31T04:55:38' / file creation date (YYYY-MM-DDThh:mm:ss UT) \n", "DATE-OBS= '2009-01-31T02:08:57' / Date of start of observation \n", "DATE-END= '2009-01-31T02:14:23' / Date of end of observation \n", "TIMESYS = 'TT ' / Time system used in time keywords \n", "TIMEUNIT= 's ' / Time since MJDREF, used in TSTART and TSTOP \n", "MJDREFI = 51910 / MJD of GLAST reference epoch, integer part \n", "MJDREFF = 7.428703703703703D-4 / MJD of GLAST reference epoch, fractional part \n", "TSTART = 255060537.657974 / [GLAST MET] Observation start time \n", "TSTOP = 255060863.884596 / [GLAST MET] Observation stop time \n", "FILENAME= 'glg_tte_n9_bn090131090_v00.fit' / Name of this file \n", "DATATYPE= 'TTE ' / GBM datatype used for this file \n", "TRIGTIME= 255060563.149072 / Trigger time relative to MJDREF, double precisi\n", "OBJECT = 'GRB090131090' / Burst name in standard format, yymmddfff \n", "RADECSYS= 'FK5 ' / Stellar reference frame \n", "EQUINOX = 2000.0 / Equinox for RA and Dec \n", "RA_OBJ = 30.0000 / Calculated RA of burst \n", "DEC_OBJ = -15.000 / Calculated Dec of burst \n", "ERR_RAD = 3.000 / Calculated Location Error Radius \n", "INFILE01= 'glg_lutcs_nai_090122805_v00.fit' / Level 1 input lookup table file \n", "INFILE02= 'GLAST_2009031_042300_VC09_GBTTE.0.00' / Level 0 input data file \n", "CHECKSUM= 'MePaNZNUMbNZMZNZ' / HDU checksum updated 2009-01-31T04:55:40 \n", "DATASUM = ' 0' / data unit checksum updated 2009-01-31T04:55:38 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# print the metadata in the PRIMARY header\n", "tte.headers['PRIMARY']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is also easy access for certain important properties:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "GTI: [[-25.49109798669815, 300.73552399873734]]\n", "Trigger time: 255060563.149072\n", "Time Range: (-25.49109798669815, 300.73552399873734)\n", "Energy Range: (4.3897295, 2000.0)\n", "# of Energy Channels: 128\n" ] } ], "source": [ "# certain useful properties are easily accessible\n", "print(\"GTI: {}\".format(tte.gti))\n", "print(\"Trigger time: {}\".format(tte.trigtime))\n", "print(\"Time Range: {}\".format(tte.time_range))\n", "print(\"Energy Range: {}\".format(tte.energy_range))\n", "print('# of Energy Channels: {}'.format(tte.numchans))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The TTE data class is modeled as a wrapper around the ```EventList``` [Data Primitive](./DataPrimitives.ipynb) in ```gbm.data.primitives```, and the underlying data can be accessed via the ```.data``` attribute:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tte.data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Most casual users need not directly worry about the ```EventList``` data primitive, though. The TTE data objects contain the high-level functionality to perform a lot of common data reduction. For example, if we only want to work with a short time segment of TTE data in the file, we can take a slice of the data and return a new fully-functional data object with the time-sliced data:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(-9.999035984277725, 9.998922020196915)\n" ] } ], "source": [ "# slice from -10 to +10 s\n", "time_sliced_tte = tte.slice_time([-10.0, 10.0])\n", "print(time_sliced_tte.time_range)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And you can slice in energy:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(48.08033, 304.68533)\n" ] } ], "source": [ "# slice from ~50 keV to ~300 keV\n", "energy_sliced_tte = tte.slice_energy((50.0, 300.0))\n", "print(energy_sliced_tte.energy_range)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Making a lightcurve using TTE data is slightly more complicated than it is for the pre-binned data because the TTE is temporally unbinned. So first the data has to be binned, and then it can be displayed. On the [CTIME/CSPEC](./PhaiiData.ipynb) page, we were briefly introduced to the capability of *rebinning* pre-binned data. Here, we want to *bin* unbinned data. In the ```gbm.binning``` module, there are two sub-modules containing various binning algorithms, one for pre-binned data, the other for unbinned data. We should choose the sub-module that is appropriate for the data that we are using." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# import the bin_by_time algorithm for unbinned data\n", "# This function is the unbinned equivalent of gbm.binning.binned.rebin_by_time\n", "from gbm.binning.unbinned import bin_by_time" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once we've identified the binning algorithm we want to use, then we can *convert* our TTE data object to a PHAII object similar to CTIME/CSPEC:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "gbm.data.phaii.Cspec" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# bin TTE to 1.024 s resolution. \n", "# time_ref is the reference time for binning;\n", "# if not set, it will bin starting at the beginning of the data\n", "phaii = tte.to_phaii(bin_by_time, 1.024, time_ref=0.0)\n", "type(phaii)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Well that's cool, but why is it a ``Cspec`` object now? It's Cspec because TTE has 128 energy channels, just like CSPEC. We'll see what the spectrum looks like in a sec. But first, let's look at the lightcurve. Since it's a PHAII object, we can make a lightcurve plot the same way we would make one using pre-binned data:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "from gbm.plot import Lightcurve\n", "\n", "lcplot = Lightcurve(data=phaii.to_lightcurve())\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A nice looking GRB! Now if you wanted to rebin the data, you could certainly rebin the PHAII object, but if you want to leverage the full power and flexibility of TTE, it would be good to (re)bin the TTE data using the algorithm and settings of your choice.\n", "\n", "To plot the spectrum, we don't have to worry about binning the data, since the TTE is already necessarily pre-binned in energy. So we can make a spectrum plot the same way we make one for CTIME/CSPEC without any extra steps:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from gbm.plot import Spectrum\n", "\n", "# integrate over time from 0-10 s\n", "spectrum = tte.to_spectrum(time_range=(0.0, 10.0))\n", "\n", "specplot = Spectrum(data=spectrum)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A very nice count spectrum, certainly much prettier than the CTIME spectrum! Note that this is integrated over the full time range of the data. Perhaps the spectral resolution is a little bit higher than you care for (i.e. studying a weak source). You can rebin the count spectrum, but remember that the energy is pre-binned, so you need to use the appropriate class of algorithms:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from gbm.binning.binned import combine_by_factor\n", "\n", "# rebin the count spectrum by a factor of 4\n", "rebinned_energy = tte.rebin_energy(combine_by_factor, 4)\n", "\n", "rebinned_spectrum = rebinned_energy.to_spectrum(time_range=(0.0, 10.0))\n", "specplot = Spectrum(data=rebinned_spectrum)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As with the pre-binned types, we can convert one or more time selections to a single spectrum PHA object. You can do this from TTE without having to bin in time:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# create a PHA object by integrating over 0-10 s and 30-50 s\n", "pha = tte.to_pha(time_ranges=[(0.0, 10.0), (30.0, 50.0)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sometimes, you might want to save snippets of TTE, or even merge your TTE snippets into one file and write it to file for later. Guess what? You can do that, too:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-9.999035984277725, 49.99965399503708)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "time_sliced_tte2 = tte.slice_time([30.0, 50.0])\n", "\n", "# merge our new time slice with the time slice we made earlier\n", "tte_slices_merged = TTE.merge([time_sliced_tte, time_sliced_tte2])\n", "tte_slices_merged.time_range" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then you can write it as a fully-qualified TTE FITS file using\n", "```python\n", "tte_slices_merged.write('./', filename='my_first_custom_tte.fit')\n", "```\n", "\n", "You've just learned all about the primary GBM Science Data! Follow on to learn about the GBM detector [response files](./Responses.ipynb)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.9" } }, "nbformat": 4, "nbformat_minor": 2 }