DOI: 10.7910/dvn/pzno2t
title: IceCube HESE 12-year data release

description: &lt;p&gt;This data release describes a revisited analysis of the IceCube high-energy starting events (HESE) sample with an additional 4.5 years of data that employs a full-resimulation reconstruction approach, &lt;a href="https://arxiv.org/abs/1309.7010"&gt;DirectFit&lt;/a&gt;, which exactly incorporates recent updates in glacial ice modeling. These updates include a microscopic description of the observed ice anisotropy due to &lt;a href="http://doi.org/10.5194/tc-2022-174"&gt;birefringence&lt;/a&gt; and a full description of ice layer undulations in three dimensions. Each event is reconstructed with the Approximate Bayesian Computation method, with the posterior sample points then fitted to an asymmetric directional probability density function.
&lt;/p&gt;
&lt;p&gt;For further details, refer to the IceCube publication &lt;a href="https://pos.sissa.it/444/1030/pdf"&gt;PoS-ICRC23-1030&lt;/a&gt; / &lt;a href="https://arxiv.org/abs/2307.13878"&gt;arXiv:2307.13878&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Note on interpretation&lt;/h3&gt;
&lt;p&gt;
Reconstructed quantities for subsets of these events have been published previously. IceCube utilizes several event reconstructions, each with different strengths and employed in different contexts. DirectFit, the reconstruction in this data release, performs accurate event reconstruction, but is too computationally expensive to run on large scale Monte Carlo (MC). &lt;b&gt;Therefore this data release should not be employed in a forward-folding likelihood fit for MC-based spectral analyses&lt;/b&gt;. Instead, as the reconstruction utilizes a complete description of the ice, the dataset is meant to provide accurate directional constraints for HESE events and for use in neutrino source searches. We highlight the differences between the reconstructions listed here, and those available elsewhere for subsets of this sample, below.
&lt;/p&gt;

&lt;p&gt;
For overlapping events already present in the previous &lt;a href="https://doi.org/10.1103/PhysRevD.104.022002"&gt; 7.5 year dataset&lt;/a&gt; (arxiv:2011.03545), the reconstructions provided here may be compared to those in Appendix J. The reconstructions in Appendix J were obtained with DirectFit, but using an older ice model. Differences primarily arise from the updates to ice optical modeling and/or changes in the reconstruction routine (shower vs track) applied for select events. As the new ice model leads to a generally improved data-MC agreement in both calibration and physics data, the resulting fits are as a result preferred. The per-event differences between the fits may allow to conservatively gauge the impact of systematic detector uncertainties.
&lt;/p&gt;

&lt;p&gt;
For overlapping events already present in the previous &lt;a href="https://doi.org/10.1103/PhysRevD.104.022002"&gt; 7.5 year dataset&lt;/a&gt; (arxiv:2011.03545), the reconstructions provided here utilize a different algorithm from those in Appendix F and listed as part of that &lt;a href="https://doi.org/10.21234/4EQJ-BB17"&gt;data release&lt;/a&gt;. Specifically, &lt;b&gt; the energies and directions published here should not be combined with the spectral fitting tools accompanying the 7.5 year dataset&lt;/b&gt;. Diffuse spectral analysis rely on likelihood-based reconstructions (arXiv:1311.4767) that leverage tabulated light yield approximations. Such algorithms are substantially more computationally efficient than DirectFit and are fast enough to be applied to large scale Monte Carlo, as required for forward-folding fits, at a cost of reduced accuracy.
&lt;/p&gt;

&lt;p&gt;
For overlapping events already present in the &lt;a href="https://arxiv.org/abs/2304.01174"&gt;IceCat-1 catalog of alert tracks&lt;/a&gt; and released in real time via &lt;a href="https://gcn.nasa.gov/missions/icecube"&gt;GCN/AMON&lt;/a&gt;, the visible energy reported here should not be compared to arxiv:2304.01174 (Tab. 3) and published in the accompanying &lt;a href="https://doi.org/10.7910/DVN/SCRUCD"&gt;data release &lt;/a&gt;. The IceCat-1 data release reports the most likely neutrino energy assuming a power-law spectral index of -2.19 at a given declination. The energies reported here correspond to the visible energy detected by IceCube.
&lt;/p&gt;

&lt;h3&gt;Note on event times&lt;/h3&gt;
The Modified Julian Date (MJD) is provided here for each event. In previously published HESE datasets that include the MJD, events that occurred between 2012-06-30 and 2015-05-17 were one second behind UTC time due to a master clock firmware issue. This offset has been corrected for in this data release; the overlapping events that fall within those dates will have a one second difference when compared to previous data releases. For those cases the MJDs provided here should be preferred.

&lt;h3&gt;Data release&lt;/h3&gt;
Provided in this release is &lt;code&gt;data.npy&lt;/code&gt;, which is a numpy structured array that contains the 164 reconstructed events that pass the HESE selection. The structured array contains the following fields:
&lt;pre&gt;
&lt;code&gt;
('id', '&lt; i4')
('mjd', '&lt; f8')
('ra', '&lt; f4')
('dec', '&lt; f4')
('params', [('f0', '&lt; f8'), ('f1', '&lt; f8'), ('f2', '&lt; f8'), ('f3', '&lt; f8'), ('f4', '&lt; f8'), ('f5', '&lt; f8'), ('f6', '&lt; f8'), ('f7', '&lt; f8')])
('reconstruction', 'S10')
('energy', '&lt; f4')
('drlogl', '&lt; f4')
&lt;/code&gt;
&lt;/pre&gt;
For each event, &lt;code&gt;id&lt;/code&gt; corresponds to the event-ID consistent with prior HESE data releases, &lt;code&gt;mjd&lt;/code&gt; is the Modified Julian Date when the event was observed, &lt;code&gt;ra&lt;/code&gt; and &lt;code&gt;dec&lt;/code&gt; correspond to the most-probable arrival direction, &lt;code&gt;params&lt;/code&gt; corresponds to the eight parameters that describe the directional probability density function (PDF) using a generalized Fisher-Bingham distribution, &lt;code&gt;reconstruction&lt;/code&gt; corresponds to the algorithm used by DirectFit, and &lt;code&gt;energy&lt;/code&gt; the most-probable visible energy. For more details on the directional PDF construction see this &lt;a href="https://doi.org/10.1007/s00180-020-01023-w"&gt;paper&lt;/a&gt;. For &lt;code&gt;reconstruction&lt;/code&gt; a Shower (Track) hypothesis indicates that the parameters of interest for the event were obtained with the corresponding algorithm in DirectFit. A few event reconstructions have changed from previous iterations of the analysis due to an updated classification scheme. The indicator for this new classifier is given by &lt;code&gt;drlogl&lt;/code&gt;, which is the difference in the reduced log-likelihood between the track and shower hypothesis obtained from a fast, approximative model. More negative values in &lt;code&gt;drlogl&lt;/code&gt; correspond to a higher degree of confidence that the event is track-like. In reference to the distinction between reconstruction routines, the terminology is the same as used historically.
&lt;/p&gt;

&lt;p&gt;In addition, pre-generated full-sky probability density maps in FITS format are included and collected under &lt;code&gt;fits.[01].tar&lt;/code&gt;. Each FITS file contains a event skymap discretized from the PDF described in &lt;code&gt;data.npy&lt;/code&gt;. It is included to provide additional flexibility and ease of use at the expense of a slight information loss.
&lt;/p&gt;

&lt;h3&gt;Example Python usage&lt;/h3&gt;
It's easy to generate directional PDFs from &lt;code&gt;data.npy&lt;/code&gt;. First get the dependencies with &lt;code&gt;pip install fb8 healpy&lt;/code&gt;. Then a minimum working example to produce probability HEALPix maps with nside=256 is:
&lt;pre&gt;
&lt;code&gt;
import numpy as np
import healpy
from sphere.distribution import fb8
import logging
logger = logging.getLogger()
logger.setLevel(level=logging.ERROR)

nside=256
scan_theta, scan_ra = healpy.pix2ang(nside, np.r_[:healpy.nside2npix(nside)])
scan_dec = np.pi/2 - scan_theta

def fb8_to_pdf(f, i):
 print('\rprocessing event {} ...'.format(i), end='')
 return f.pdf(f.spherical_coordinates_to_nu(scan_theta, scan_ra))

arr = np.load('data.npy')
fb8s = [fb8(*_) for _ in arr['params']]

# healpix probability maps
maps = np.array([fb8_to_pdf(f, i) for (i, f) in enumerate(fb8s)])
&lt;/code&gt;
&lt;/pre&gt;

An example script to create FITS files and, optionally, plot skymaps for each event is included in &lt;code&gt;create_fits.py&lt;/code&gt;. Plotting relies additionally on the matplotlib library, which can be installed with &lt;code&gt;pip install matplotlib&lt;/code&gt;. For usage examples &lt;code&gt;python create_fits.py -h&lt;/code&gt;
&lt;h3&gt;Contact&lt;/h3&gt;
&lt;p&gt;analysis@icecube.wisc.edu&lt;/p&gt;