Release Notes

main

Oct. 24, 2024 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.12.0

  • clean up a small handful of typos

  • give I3DOMStatus::fePedestal an initial value (#3621)

  • [dataclasses / gcdserver / tpx / icetop_Level3_scripts] IceTopSLCCal implementation (#3571)

  • Compile cleanly with -Wall -Werror (#3540)

  • Cosmetic improvements to stubs (#3494)

  • Non-spherical OMs data structures for clsim (#3520)

June 18, 2024 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.11.0

  • Ensure that extension modules import cleanly (#3493)

  • Run mypy in CI (#3480)

  • mypy cleanup for core projects (#3414)

  • Branch restructuring iceact dataclasses and adding tableio converter for iceact classes (#2987)

  • SPDX tags for infrastructure files. (#3454)

  • Add stubs for even more pybindings (#3413)

  • Fix doxygen comments. (#3459)

  • dataclasses - clean up typos (#3444)

  • [dataclasses] Add SPDX tags (#3433)

March 14, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.10.0

  • Explicitly import tableio converters (#3412)

  • Small bugfix to the pybindings of the MapOMKeyI3IceTopSLCCalibration (#3361)

Feb. 20, 2024 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.9.2

  • add some boost headers which presumably were implicit in the past

  • Delete mailinglist files (#3357)

  • Add upgrade rules to ruff (#3316)

  • Remove all tab characters used for indentation from python files (#3300)

Dec. 14, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.9.0

  • Remove Uber Header (I3.h) (#3151)

  • Update radcube (#3308)

  • Remove naive datetime() objects (#3304)

  • fix E703 useless-semicolon (#3266)

  • general python cleanups (ruff/B018) (#3264)

  • python ruff cleanup fix EXE001 (#3289)

  • Pass an integer to randint in leap_second_test

  • remove I3Test.ENSURE* family of convenience functions (#3192)

  • added I3MapAntennaKeyAntennaKey

Sep. 28, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.8.0

  • replace deprecated unittest asserts with modern equivalents (#3168)

June 22, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.7.0

  • Documentation cleanups

  • Make I3Tray.I3Tray and icecube.icetray.I3Tray the same thing. (#3102)

  • Remove all references to load_pybindings (#3086)

  • remove python 2.4 forward compatibility (#3080)

  • Modify the “icetop_pulse_extract.py” part of filterscripts_v2, to incorporate plans for new SLCcal procedures. (#3069)

  • update tree.hh to avoid deprecated std::allocator (#3067)

  • Add “SnowHeightProvenance” enum to I3Geometry (#3018)

  • Updates to TriggerKey for the trigger-sim re-write (#2997)

Apr. 12, 2023 don la dieu (nega AT icecube.umd.edu)

IceTray Release v1.6.0

  • Restore use of BUILD_${PROJECT}=OFF (#3058)

  • Cleanup temporary file use in tests

  • Add I3IceTopSLCCalibration map to the “calibration family” of objects, which can be alongside the I3Calibration in a C-frame (#3003)

  • Fix issues with corsika-ehist and compatibility with new corsika versions (#3004)

  • Set ATWD flag based on pulse width in SuperDST (#3017)

Dec. 12, 2022 don la dieu (nega AT icecube.umd.edu)

IceTray Release v1.5.0

  • Documentation cleanups

  • Add __repr__ functions for I3ParticleID and I3ShowerBias

  • Add the ability to calculate distribution variance to the SPEChargeDistribution for use in DOMLauncher

  • Teach python how to call SPEChargeDistribution

Jul. 27, 2022 don la dieu (nega AT icecube.umd.edu)

IceTray Release v1.4.0

  • Drop support for Python 2

  • Clean up python bindings / modules

  • Clean up warnings

  • Fix buffer overflow

  • Updates for C++17

  • Add subsurface array updates

  • Reflect relicensing agreements received from authors of core IceTray modules.

  • Clean up documentation

Feb. 21, 2022 Tianlu Yuan

IceTray Release v1.3.0

  • update test_I3DOMFunctions to actually test the new SPECharge distribution

  • Compute the mean of the complete charge distribution. As this calculation can be more expensive than the analytic treatment, the result is computed lazily and cached. To aid this caching, some unnecessary copies of SPEChargeDistributions are eliminated. To speed up both the numerical integration and other uses of the charge distribution, the linear search in the tabulated residual values is replaced with a binary search.

  • Add Enums for Gen2 sensors

  • Avoid undefined behavior in bitshift

  • Added ‘GetTankGeo’ functions to I3Geometry, to identify and access the StationGeo tanks correctly regardless of their ordering in the list.

  • Removed cached members of I3Position. Non-cartesian coords are calculated on the fly. A tradeoff of CPU for a reduced memory footprint, which we believe is worth it. (r179215)

  • Implemented pybinding for I3Particle::Clone (r179198)

  • Extended the I3Geometry class to include new members for scintillators and radio antennas (I3IceActGeo,`I3ScintGeo` and I3AntennaGeo). Indexed by their respective keys IceActKey,`ScintKey` and AntennaKey.

  • I3Geometry bumped to version 2.

  • Included fft package that uses FFTW to perform Fourier transforms for the analysis of radio emission. New class, FFTDataContainer and helper tools for the caluation of Hilbert envelopes and interfacing with FFTW.

  • New classes and maps for holding antenna waveforms, electric fields, and their respective FFTs. I3AntennaWaveform, I3AntennaChannel, and I3AntennaDataMap.

  • New class, I3ComplexVector which closely follows that of I3Position but has complex amplitudes.

  • New classes and maps for holding IceAct data I3IceActWaveformMap, I3IceActRecoPulseMap and I3IceActTriggerMap,

Feb. 5, 2020 Alex Olivas (aolivas@umd.edu)

Combo Release V00-00-01

  • Added binwidth to I3Waveform python bindings.

  • Bug fix attempt for ticket #2387. I3MCTree copy ctor issue.

Dec. 20, 2019 Alex Olivas (aolivas@umd.edu)

Combo Release V00-00-00

  • fix bugs in I3Time get and set for unix time

  • add __bool__ operateor to I3Double, I3UInt32, I3MCTree and I3FilterResult in addition to __nonzero__. python2 uses __nonzero__ but python3 uses __bool__.

  • Logic on bool was changed for I3MCTree to call false on an empty tree and true on a non-empty tree. It had mistakenly been set to the opposite.

  • Add calibration, R&D devices to OMGeo/ModuleGeo

December 11, 2018, Alex Olivas (olivas@icecube.umd.edu)

Release V18-12-00

  • Support of double expontential SPE fits.

  • Bug fix for sDST.

  • New I3RecoPulseSeriesMapCombineByModule.

  • Add equality operators for I3SuperDST and I3FilterResult.

June 13, 2018, Alex Olivas (olivas@icecube.umd.edu)

Release V18-06-00

  • Add Gen2 R&D modules

  • I3LinearizedMCTree bug fix for reading old data

  • I3TimeWindow gets an intersection operator

  • add get_heads to I3MCTree pybindings

November 15, 2017, Alex Olivas (olivas@icecube.umd.edu)

Release V17-11-00

  • Fix a memory leak in new I3MCTree serialization.

  • Add GetModJulianMicroSec() to I3Time which avoids using floats so that conversion to python datetime can occur without any floating point arithmetic.

  • Add I3SuperDSTTrigger pybinidngs.

  • Expose both I3ParticleID constructors.

  • Fix nasty quadratic behavior in I3LinearizedMCTree serialization.

  • Add the SMP particle for exotic physics.

  • Deprecate I3MCList.

  • Add support for storing flasher configurations in the D-frame.

  • Truncate I3Time pybindings to nearest microsecond.

  • Add pretty print for I3TimeWindow. Also, add fractional seconds to the I3EventHeader pretty print.

  • Add __repr__ to TriggerKey pybinding.

March 23, 2017, Alex Olivas (olivas@icecube.umd.edu)

Release V17-03-01

  • Added support for flasher data in the D-frame.

March 23, 2017, Alex Olivas (olivas@icecube.umd.edu)

Release V17-03-00

  • Don’t populate the cache until we have a good map. Allows the errors to keep appearing in dataio-pyshovel.

  • Added I3Particle::CascadeSegment shape to address ticket #1763.

  • I3Time::GetModJulianDateDouble now always divides the date by 86400 seconds even on days with leapseconds

  • Added I3OMGeo OMType for Scintillators and IceACT. Resolved #1698 (jan.oertlin@icecube.wisc.edu)

  • Issue #1491 resolved: moved TriggerKey python scope from dataclasses.I3Trigger to dataclasses

May 2, 2016, Alex Olivas (olivas@icecube.umd.edu)

Release V16-04-01

  • Protect against zero width pulses in sDST for tpx.

April 29, 2016, Alex Olivas (olivas@icecube.umd.edu)

Release V16-04-00

  • Add contained-type introspection (r144128)

March 18, 2016, don la dieu (nega@icecube.umd.edu)

Release V16-03-00

  • documentation updates

  • TankKey updates

  • implement __nonzero__ for I3Double

  • use std::isnan and std::isinf

  • Pybindings for TriggerHierarchy moved out of I3Trigger.cxx to a separate file (tickets 1476/1478)

  • Pybindings for TriggerKey moved out of I3Trigger.cxx to a separate file (ticket 1405).

    Still to do: change scope for TriggerKey’s enumerates (ticket 1491)

December 14, 2015, don la dieu (nega@icecube.umd.edu)

Release V15-12-00

  • pybindings and debugging support for frame_object_diff

  • remove deprecated cint dictionary generation

  • increase test coverage for I3SuperDSTTrigger

  • added tests for I3RecoHit

  • added tests for I3SuperDSTTrigger constructors

  • add test to I3Orientation

  • update I3MCTreeUtils tests

  • increase test coverage of I3String to 100%

  • update QuadraticFit pybindings

  • update I3DOMCalibration tests

  • update I3Trigger tests

  • add TriggerKey test

  • updated test for I3ModuleGeo, I3Waveform equal operators

  • pretty repr for I3Position

  • dependency updates

  • (r138288) - Make loading old trees with lots of primaries faster.

  • pybinding updates

  • (r137642) - add tests for I3Particle == operator

  • (r137375) - remove test dependence on the examples project

August 31, 2015, Alex Olivas (olivas@icecube.umd.edu)

  • (r137088, r137087) - The equality operator was broken for the following classes in python on boost1.38 systems. This is fixed now.

    • I3VEMCalibration

    • I3TriggerReadoutConfig

    • LinearFit

    • QuadraticFit

    • SPEChargeDistribution

    • TauParam

  • (r137069) - Added pybindings for I3DOMCalibrationMap and I3VEMCalibrationMap.

  • I3MCTreePhysicsLibrary::GetMostEnergeticPrimary now returns the correct primary even if the shape is not set to Primary. If now depends only on the position in the tree. Closes ticket #958. — Alex Olivas (olivas@icecube.umd.edu)

  • Speed up ShiftXXXTrack functions and added functionality:

    • Added ShiftTimeTrack function returning the position of a track at a given time relative to vertex time

    • scraped cascading function calls in ShiftAlongTrack and just go through properties with less conversions

    • made arguments const as they are

    • added documentation to both functions in C and python

    • added unit tests for both functions

    — Marcel Zoll (marcel.zoll@fysik.su.se)

  • Reimplemented I3MCTree’s copy ctor to avoid O(n^2) performance on large trees — Jakob van Santen (jakob.van.santen@desy.de)

  • Added Angle function for I3Direction for convenience — Marcel (marcel.zoll@fysik.su.se)

April 17, 2015, don la dieu (nega@icecube.umd.edu)

V15-04-01

Interface Changes :

  • Updated python bindings

  • SPEChargeDistribution : public members of data aggregates don’t get the trailing underscore. Those denote private members of classes.

  • SPEChargeDistribution gets python bindings

  • I3DOMCalibration the following methods are exposed to python :

    • Get/SetMeanFADCCharge

    • Get/SetMeanATWDCharge

    • Get/SetCombinedSPEChargeDistribution

    • IsMeanATWD/FADCChargeValid

New Features :

Bug Fixes :

  • The new I3MCTree sets the type of old ‘Dark’ particles correctly now.

  • SPEChargeDistribution::IsValid - This has the correct logic now. (isnan(x) || isnan(y)) == (false || false) == false when x and y are non-NaN. IsValid should return true in this case. The method has been changed to the equivalent of (!isnan(x) && !isnan(y)). Tests have been added as well.

  • IsMeanATWD/FADCChargeValid - Logic was reversed. It’s correct now (with tests) and returns true if std::isfinite(charge) and charge > 0.

April 2, 2015, don la dieu (nega@icecube.umd.edu)

V15-03-00

  • better operator support

  • add equality for I3RecoPulseSeriesMap masks/unions

March 15, 2015, Alex Olivas (olivas@icecube.umd.edu)

V15-03-00

  • AMANDA classes are no longer visible.

  • Give wavedeform the ability to apply per digitizer s.p.e. corrections. Add necessary calibration constants to I3DOMCalibration. Remove unused old constants from I3DOMCalibration.

  • I3MCHit.weight is no longer accessible from python

  • New MJD for the leap second test. Go Navy!

  • I3Particle::Clone returns a copy of the particle, but with a new ID.

  • new I3MCTree, I3MCTreePhysicsLibrary, and revamped I3MCTreeUtils

November 20, 2014, Alex Olivas (olivas@icecube.umd.edu)

V14-11-00 - Minor release

  • I3Particles now have mass. Welcome to the Standard Model.

  • Added support for I3_TESTDATA

  • I3MCTree::GetParent is exposed.

September 30, 2014, Alex Olivas (olivas@icecube.umd.edu)

V14-10-00 - Bugfix release

  • I3PODHolder added. This cleans up the frame-level POD classes and, with the new operator suite, fixes object comparison, e.g. I3Double comparisons to double work as expected.