Skip to content

GUNDAM v1.8.6 Patch Release

Latest
Compare
Choose a tag to compare
@ClarkMcGrew ClarkMcGrew released this 31 Oct 18:49
· 3 commits to LTS/1.8.x since this release
10fcba3

This patch release marks the state of GUNDAM after the completion of T2K validation against previous near detector fits.

Fixes relative to 1.8.5

Fix (Merge #681): Handle over sized graphs and splines. The number of points that can be handled in a spline/graph has been increased, but that needs to be used carefully since large splines and graphs will make fits run more slowly. Note: Using linear interpolation with more than two knots is explicitly forbidden by MINUIT since it introduces a discontinuous derivative. MINUIT may still run, but the results are undefined (that means the answer could be useful, or could start a thermonuclear war. Both outcomes are formally correct).

Fix (Merge #676 and #665): Make usage of GTest unit testing optional. The full testing suite can be disabled by setting the CMake option ENABLE_TESTS to OFF. Just the unit tests can be disabled by setting SKIP_GOOGLE_TESTS to ON. Warning messages during the CMake build are now actual warnings that should be noticed by the users.

Issue #674: Change termination behavior when DialInputBuffer finds an invalid parameter. Previously it would throw, and it has been changed to print a descriptive message and the exit with failure. This is because the most common way that there will be a bad parameter value in DialInputBuffer is from a bad user configuration file (or other user inputs).

Issue #673: Fix linear interpolation when there are more than two knots. Interpolation for two knots was working correctly.

Issue #615: Fix discontinuities in the JointProbability for the MC and data in a histogram bin. The joint probability calculation has to be correct over ~620 powers of ten, so there is a lot of room for numeric issues. The probability is cleaned up so that it has all of the right limits, and "never" fails numerically (never means we haven't found anymore corner cases). The new implementation numerically matches the OA2021 when the OA2021 implementation is valid, and is smooth outside of that domain. Options are added to reproduce the old bugs.

Fix (Merge #620): Fix an infinite loop when parameters are being drawn from a global convariance.

Issue #621: GPU normalization weight was not being checked for validity before being applied to the event weight. This only caused problems in corner cases, but when it caused trouble, you could end up with negative expectations. It was found while torture testing the detector systematics. The normalization now handles invalid inputs.

Full Changelog: 1.8.5...1.8.6