MaCh3  2.4.2
Reference Guide
Release Notes

image

Legend:

  • Bold - indicate breaking change.
Version Features Release Date
v2.5.1 * Major:
* Minor:
XX-XX-2026
v2.5.0 * Major:
* Minor:
XX-XX-2026
v2.4.2 * Major: Documentation overhaul, Support of unbinned splines
* Minor: Composite CI jobs, PostPred improved workflow with ND to FD propagation, improved efficiency of sampling from previous step
XX-XX-2026
v2.4.1 * Major: Remove SigmaVarLegacy
* Minor: YAML 0.8.0->0.9.0, ParameterHandler performance tracker, introduced FunctionalShifter struct
13-02-2026
v2.4.0 * Major: Flexible Binning, Overhaul GetMCHist and AddData, N-Dimensional LLH Map
* Minor: Bump CPM v0.42.0→v0.42.1, tidy Triangle Plot maker, Chain format change (xsec_ -> param_), Unify Capitalisation of Classes and minor renaming, Rename SigmaVarFD -> SigmaVar, Plot sigma var of event rates, StyleManage pretiffy kinematics name
04-02-2026
v2.3.2 * Major: LLH around central value which may not be prior, Y-binning migration
* Minor: gcc15 and c++23 compatibility, faster CombineMaCh3Chain, MacOS compatibility, PiePlot (Clock Plot) for Delta CP, introduction of Definitions.dox, Ability to Set SubThrowMatrix, Bump spdlog 1.11.0→1.12.0
16-01-2026
v2.3.1 * Major: Predictive to support 2D histograms, ability to non adapt specified parameters
* Minor: Fixed Osc channel bug, ability to overwrite pointer to osc weight, Refactor MCMCProcessor GPU utilities into a proper class, Print Data Rates functionality, Prior Predictive no longer require passing chain as input, improved and expanded predictive plotting, beta parameter study to predictive code
12-12-2025
v2.3.0 * Major: Multiple samples in one SampleHandler, SetupWeight pointers being handled in core, Robbins-Monro to adaptive MCMC
* Minor: Fixes for loading throw matrix from file, LTO compiler option, bump NuOscillator 1.4.3->1.4.4, Sigma var works with more than 1 dimension, bugfixes to MaCh3 Plotting, samples with multiple osc channels in Tutorial, refined treatment of how we fix or free parameters
13-11-2025
v2.2.3 * Major: Delayed Rejection MCMC and MCMCBase, Fast Spline Info for Binned Splines, Chain Smearing, tagging of Doxygen documentation and version control, 2D Chain reweighting
* Minor: bump NuOscillator 1.4.1->1.4.3, increased spline verbosity, Corr matrix plotted with parameter group, bump CPM 0.40.2->0.42.0, Kochanek Bartels interpolation, MCMCProcessor Matrix Conversion to Yaml, GetPostFitParam to support 2D plots, custom (speedy) Cholesky decomposition, Sigma Variation plotting application, Predictive Plotting application
14-10-2025
v2.2.2 * Major: Use of global bin number during reweighting
* Minor: Spline interpolation plotting, Savage-Dickey for Jarlskog, inclusion of SampleInfo struct
06-08-2025
v2.2.1 * Major: Chain Reweighting meta-data, Prior/Posterior Predictive Distributions and p-value
* Minor: Sigma Var for FD, more checks are being done at CombineChains, improved plotting options for CredibleIntervals, intel icpx bot and cmake changes
14-07-2025
v2.2.0 * Major: Merge ParameterHandlerOsc into Generic, ability to specify doing circular bounds and flipping via config, Improved treatment of LLH calculation for low Data and MC
* Minor: Improve Histogram getters, Fix to not reset W2 if not updating W2, Sub-Event (for example particle) level plotting, Norm parameters working with discrete cuts, binning struct, port Jarlskog Plotting from T2K, Return Kinematic Binning now use yaml instead of experiment specific hard-coding, bump NuOscillator 1.3.3->1.4.1
26-06-2025
v2.1.0 * Major: Osc Channel removal, ability to use Tunes, event class format
* Minor: Introduction of OscillationHandler, improve treatment of fixed parameters in Adaptive MCMC, Doxygen graphs are now SVG, improved interface for PCA Handler, Faster Caching of steps in MCMCProcessor, mean autocorrelation plotting, Throwing parameters in PCA base
05-06-2025
v2.0.0 * Major: More long term planned development with wider comunication
* Minor: Classes renaming, Fixed starting from previous chain when using adaption, tools to pass tune or covariance matrix into Yaml, optional individual spline parameter knot capping
14-05-2025
v1.5.0 * Major: NuOscillator 1.2.2->1.3.1, improvement to functional parameters, improve selection of test statistics, shared NuOscillator object
* Minor: Faster spline loading, DetId name modification..., More settings for adaptive MCMC, Valgrind bot, ability to specify empty bounds, improved config override settings, kinematic cut struct.
01-05-2025
v1.4.8 * Major: Fix to circular prior
* Minor: .
07-03-2025
v1.4.7 * Major:
* Minor: Fix for problem with duplicate spline mode.
27-02-2025
v1.4.6 * Major:
* Minor: Stop spammy messages, NuOscillator 1.2.1->1.2.2.
24-02-2025
v1.4.5 * Major:
* Minor: Sigma Var CI.
24-02-2025
v1.4.4 * Major:
* Minor: Fixed SplineFD initialisation, plotting kinematic distributions to tutorial, PrintIntegral work 1D and 2D
21-02-2025
v1.4.3 * Major: MaCh3 mode usage in SplineFD base
* Minor: Add configurable special parameter bounds in LLH scan
20-02-2025
v1.4.2 * Major: Now MaCh3 mode is used for each sample, this allows to introduce plenty of plotting from T2K code
* Minor: Unify FindSplineSegment between both spline classes, change user can disable GPU via CMake, bump NuOscillator to 1.2.1
19-02-2025
v1.4.1 * Major:
* Minor: Introduce OscProcessor, support for Clang compiler
12-02-2025
v1.4.0 * Major: Overhaul of detector ID handling, linking detector ID to oscillation parameters to make Beam + ATM easier, Maps between kinematic enum and string, detachment of struct and const (Core.h), heavily expanded PCA handler.
* Minor: Added MaCh3 safe include, minor speed-up to BinnedSpline, Covariance factory now uses smart pointers, more protection to Yaml loading, compilation with -march=native, UNITY et all to namespace.
10-02-2025
v1.3.6 * Major: Unified binning for every osc channel for oscillation calculations, bump NuOscillator 1.1.1->1.2.0
* Minor: Fixes to start from the previous chain.
07-02-2025
v1.3.5 * Major:
* Minor: Move throw to within expected if statement in splineFDBase dimension checking
24-01-2025
v1.3.4 * Major: Fix signal definition treatment, bump NuOscillator 1.1.0->1.1.1
* Minor: Manager factory, StatisticalUtils no longer header only, FFT build protection
22-01-2025
v1.3.3 * Major: .
* Minor: Bump NuOscillator 1.0.3->1.1.0, tweaks to ROOT includes, safety logger functions
13-01-2025
v1.3.2 * Major: Tidy of Cov Osc.
* Minor: More helpful YAML error messages, more detector ID and YAML helpers in CI, parameter group added to MCMC processor, ROOT dictionary for spline classes, benchmark and telemetry CI, fix compilation with logger turned off, Diag MCMC Plotting, Circular prior, binned splines CI.
10-01-2025
v1.3.1 * Major: Fixed, getting norm parameters from detector ID.
* Minor: Flexible violin plotter, more verbose norm parameters, fixed adaptive MCMC settings, more step scale verbosity, LLH scan and step proposal CI.
21-12-2024
v1.3.0 * Major: -Werror, CMake changes, C++ casting, SamplePDF factory, MCMC thinning, restructured pyMaCh3 for better maintainability, pyMaCh3 CI, FFT autocorrelations and improvements to RHat, sample summary CI, separate CPU and GPU compiler flags, updated NuOscillator version, CI PR title checker.
* Minor: WAIC.
16-12-2024
v1.2.0 * Major: NuOscillator, FD constructor clean-up, stored config for covariances, covariance factory, improved pyMaCh3 interface, ended special treatment of covariance oscillations, stopped hardcoded fixing of baseline, sample PDF CI.
* Minor: start from previous chain, removed deprecated functions.
20-11-2024
v1.1.8 * Major:
* Minor: Updates to MCMC processor.
07-10-2024
v1.1.7 * Major:
* Minor: CMake fix for version, further expanded CI, 1D and 2D MCMC posteriors added to plotting, no longer stores a copy of CPM.
06-10-2024
v1.1.6 * Major:
* Minor: Debug mode added to CI, updates to saving monolith to ROOT file, fleshed out PCA and adaptive handlers, updated CUDAProb to stop warnings.
20-09-2024
v1.1.5 * Major: Removed hardcoded flux handling, introduced parameter group treatment, refactored GPU spline utilities into a class.
* Minor: SIMD for FD splines.
19-09-2024
v1.1.4 * Major:
* Minor: Fixed debug compilation, bug fix with YAML covariance oscillation initialisation.
14-09-2024
v1.1.3 * Major: Covariance oscillations from YAML.
* Minor: plotting, diagnostics now properly installed, Drag Race no longer breaks LLH scans.
12-09-2024
v1.1.2 * Major: Flexible TF1 for SplineMonolith event-by-event.
* Minor:
11-09-2024
v1.1.1 * Major:
* Minor: Expanded CI validations, removed ThrowParms, no longer throws xsec in initializer, GIF evolution, Doxygen wiki.
09-09-2024
v1.1.0 * Major: Fixed PCA, MaCh3 modes from config, adaptation handler, PCA handler, Python binding.
* Minor: MCMC diagnostics, improved GPU CMake, custom error handling, added power spectra, updated adaptive MCMC, MaCh3 factory, violin plot update, Drag Race, flexible plotting, flexible sample binning for the FD, run FD with no splines loaded, CI/CD improvements.
03-09-2024
v1.0.0 * Major: FitterBase class, which MCMC inherits from, a logger, different test statistics available, embedded configs in the chain output.
* Minor: improved CMake and MCMC diagnostic tools.
09-04-2024
v0.0.0 * Major: Initial release
* Minor:
10-06-2022