Instruction
C++17
To allow use of new features and make move to more modern versions of ROOT package in the future MaCh3 now requires minimum C++17, while in the past it was C++14.
Renaming
GetParInit->GetParPreFit
cleanMemory-> CleanMemory
setSplinePointers -> SetSplinePointers
ThrowSinlgeParams-> ThrowSingleParams
New way of handling functional parameters
We introduced improved way of defying functional parameters. There are several advantages, but the main one is ability to have shift as result of multiple parameters.
This require changes on experiment specific, for example
RegisterIndividualFunctionalParameter("EResLep",
kEResLep,
[this](const M3::float_t* par, std::size_t iEvent) { this->EResLep(par, iEvent); });
Now will look like:
RegisterIndividualFunctionalParameter(
TutorialSamples, "EResLep", [](double const &pval, TutorialMCInfo &ev) {
ev.RecoEnu_shifted += pval * ev.ELep;
});
main difference it need to pass experiment specific event info here called TutorialSamples.
GetFromManager Syntax
Orignally GetFromManger had syntax
GetFromManager(const YAML::Node& node, const Type defval, const std::string& File, const int Line)
however this didn’t allow to have helpful errors so it was changed to
GetFromManager(const YAML::Node& node, const Type defval, const std::string& File = “”, const int Line = 1)
Default argument were left for backward compatibility, nevertheless in this release we break backward compatibility and default (not helpful) arguments are no longer used.
Wildcards
MaCh3 analysis are becoming increasingly more complex.
Wildcards helps to remove desired parameters from plotting etc more easily.
This add wildcard support to
• LLH Skip vector
• Adaptive Skip
• Process MCMC skip
This means one may need to adjust configs to ensure same results are obtained.
Unified MaCh3 CLI
We plan to move all executables to cli, this means that instead of calling ProcessMCMC one would use mach3 process. For the time being we issued deprecation warning.
What's Changed
- feat: posterior to Chi2 conversion by @KSkwarczynski in #911
- tidy: cmake improvments by @KSkwarczynski in #907
- tidy: Remove legacy xsec in SplineStucts and const correcntess by @KSkwarczynski in #910
- breaking: Rename GetParInit by @KSkwarczynski in #914
- feat: Sanitizer for adaption and flipping by @KSkwarczynski in #909
- bugfix: use mach3 double formatter to round according to sig figs in make covariance matrix by @Charlotte-Knight in #920
- tidy: Sanize DiagMCMC for hadded chains by @KSkwarczynski in #916
- breaking: Remove Toggle Fix from public API by @KSkwarczynski in #915
- breaking: C++17 by @KSkwarczynski in #918
- feat: cmake support for build type by @KSkwarczynski in #924
- feat: Update CUDA containers by @KSkwarczynski in #922
- tidy: Update ICPX container by @KSkwarczynski in #923
- feat: implement map for spline index by @Charlotte-Knight in #928
- tidy: Update README.md regarding BibTex author abbreviation by @yash-quark in #930
- tidy: Add AI policy to contributing by @KSkwarczynski in #925
- tidy: Robbins-Monore Delayed sanitzer by @KSkwarczynski in #926
- breaking: Multi-parameter functional shifts by @luketpickering in #824
- tidy: Pass Spline Index isntead of magical numbers by @KSkwarczynski in #919
- tidy: Add support for .txx file extension in Doxyfile by @KSkwarczynski in #932
- tidy: add sanitizers to likelihood fit and minor tidy by @KSkwarczynski in #931
- tidy: Tweak syntax of GetFromManager for more helpfull messages by @KSkwarczynski in #934
- feat: Safer Bots [using commit hash] by @KSkwarczynski in #936
- tidy: Remove a few todo by using c++17 features by @KSkwarczynski in #935
- feat: Allow Plotting Lib to try figure out on it's own param names by @KSkwarczynski in #929
- tidy: Updates comments in sample handler by @KSkwarczynski in #939
- tidy: bump actions/checkout from 6.0.2 to 7.0.0 in /.github/workflows by @dependabot[bot] in #942
- tidy: bump actions/stale from 10.2.0 to 10.3.0 in /.github/workflows by @dependabot[bot] in #944
- tidy: bump actions/labeler from 6.0.1 to 6.1.0 in /.github/workflows by @dependabot[bot] in #946
- tidy: bump abirismyname/create-discussion from 1.2.0 to 2.1.0 in /.github/workflows by @dependabot[bot] in #945
- tidy: Less hacky meta data for reweight by @KSkwarczynski in #938
- breaking: More Wildcards by @KSkwarczynski in #940
- tidy: Less getmin/max by @KSkwarczynski in #947
- bugfix: Reweight MCMC to use branch name than param name by @KSkwarczynski in #948
- breaking: More fleshed out doc about interface by @KSkwarczynski in #949
- tidy: Move 1D reweighting from MCMC processor to ReweitghtMCMC by @KSkwarczynski in #950
- feat: Poisson errors in post pred code by @KSkwarczynski in #937
- tidy: remove unused variables for gcc16 compatibility by @Charlotte-Knight in #954
- feat: NuMCMC Tools CI but using low memory by @KSkwarczynski in #955
- tidy: bump super-linter/super-linter from 7.4.0 to 8.7.0 in /.github/workflows by @dependabot[bot] in #957
- bugfix: Change from GetDiagonalError to GetError in python by @henry-wallace-phys in #961
- bugfix: Stop double load of stepStart in start from previous fit by @KSkwarczynski in #959
- bugfix: Matrix shift now scales with parameters original value by @henry-wallace-phys in #962
- feat: LLHMap improvements by @nosektom in #964
- bugfix: add special linking for older gcc to make it work with file system by @KSkwarczynski in #966
- feat: Allow for 1d+2d combination by @KSkwarczynski in #952
- tidy: Reduce hardcoding in binned splines by @KSkwarczynski in #953
- feat: Umbrella Sampling by @DavidRiley12345 in #960
- feat: Tiny change to error when overwriting yaml settings by @DomLangridge in #969
- feat: Add Multi Canonical Validations CI by @KSkwarczynski in #968
- tidy: Bump CPM 0.42.3 -> 0.43.1 by @KSkwarczynski in #967
- Feat: Acceptance Rate sanitizer by @henry-wallace-phys in #972
- tidy: MaCh3 logger and other common tools to multicanonical solver by @KSkwarczynski in #970
- feat: Unified binary (CLI) by @Charlotte-Knight in #917
- breaking: More vebose yaml getter by @KSkwarczynski in #973
- bugfix: wpedantic compilation by @KSkwarczynski in #971
- tidy: Add description to CLI modules by @KSkwarczynski in #977
- tidy: Update Doxygen after recent CLI updates by @KSkwarczynski in #974
- tidy: More pedantic/strict Umbrella Solver by @KSkwarczynski in #975
- breaking: Fix typo by @KSkwarczynski in #978
Full Changelog: v2.5.1...v2.6.0