v2.7.0
Instruction
Known Problems
This release introduced bug to binned splines resulting in even rate mismatch. Please use 2.7.1 instead.
Stepscale
Originally we though we might have different step scale for different algorithms. Hence current structure.
However we haven't used this and based on discussion most likely will never use it.
This results in config being longer than needed.
One need to modify accordingly
[StepScale][MCMC]->[StepScale]
Osc Params
Order of Osc Params was hardcoded. Which worked fine for short list but as we go more into BSM territory this became unwieldy. New approaches matches NuOsc params with MaCh3 using string.
This means now each Osc params requires field NuOscName, which has to match name in NuOsc. If name is wrong NuOsc will print all names so it should be easy to match without having to go into the code.
CHIC
CHIC Engine in NuOsc now supports ATM hence name change from CHICLinear -> CHIC. This means one need to modify cmake and CHIC config option accordingly.
Spline tokens no assume dimensionality
We are aiming to stop hardcoding spline dimensionality.
One of very few places which are still hardcoded to be 3 dimensions are spline enum tokens:
enum TokenOrdering{kSystToken,kModeToken,kVar1BinToken,kVar2BinToken,kVar3BinToken,kNTokens};
We moved away from kVar1BinToken.
so instead of
int Var1Bin = std::stoi(Tokens[kVar1BinToken]);
int Var2Bin = std::stoi(Tokens[kVar2BinToken]);
int Var3Bin = std::stoi(Tokens[kVar3BinToken]);
Now assumes kVarBinToken starts kinematic enumaration rather than have token for each
enum TokenOrdering{kSystToken,kModeToken,kVarBinToken};
int Var1Bin = std::stoi(Tokens[kVarBinToken + 0]);
int Var2Bin = std::stoi(Tokens[kVarBinToken + 1]);
int Var3Bin = std::stoi(Tokens[kVarBinToken + 2]);
This means one need to slightly modify experiment specific spline inherited classes.
Splines GPU
Now both binned and unbinned have access to GPU acceleration. However we no longer have simple binary use GPU for all or not all. As we might see that GPU give larger boos to some samples, and RAM resources are limited. We now allow to turn off GPU acceleration for given SplineHandler even if overall code was compiled with GPU.
It should be noted that by default if compiled with GPU we do use GPU. And this is expert level setting.
What's Changed
- feat: add parameter flip groups by @Charlotte-Knight in #1023
- feat: Improve non MP covariance calculations by @KSkwarczynski in #1024
- breaking: remove unused option with step scale by @KSkwarczynski in #1020
- breaking: Remove Sample Summary by @KSkwarczynski in #1019
- tidy: Make Valgrind bot montlhy by @KSkwarczynski in #1027
- tidy: Tweaks to spline by @KSkwarczynski in #1028
- bugfix: Safer TCanvas by @KSkwarczynski in #1029
- breaking: Spline tokens no assume dimensionality by @KSkwarczynski in #1026
- feat: Add ability to set histogram range via style config by @KSkwarczynski in #1030
- breaking: Better param handling to NuOsc, NuOsc v1.5.0->v2.1.0 by @KSkwarczynski in #1021
- tidy: Supress developer warning and add MaCh3CompilerOptions.cmake by @KSkwarczynski in #1031
- Feat: Update NuDock GIT_TAG to v0.0.2-mach3 by @hank-hua in #1035
- tidy: Use TH1 inheritance when grabbing TAxis in Spline Code by @KSkwarczynski in #1032
- feat: more CI checks for NuOsc by @KSkwarczynski in #1033
- tidy: bump pybind11 version to 2.13.6 by @KSkwarczynski in #1041
- feat: add Wcast-align by @KSkwarczynski in #1042
- bugfix: Add a Start condition for RM by @henry-wallace-phys in #1043
- tidy: Simpler GetPenaltyTerm by @KSkwarczynski in #1038
- tidy: Increase usage of maybe unused by @KSkwarczynski in #1040
- tidy: Unify fill array between MP and non MP code by @KSkwarczynski in #1039
- bugfix: Improved matching parameters used by predictive by @KSkwarczynski in #1044
- feat: Smearing sanitizer for circualr prior by @KSkwarczynski in #1045
- tidy: bump github/codeql-action/analyze from 4.37.3 to 4.37.9 in /.github/workflows by @dependabot[bot] in #1049
- tidy: bump github/codeql-action/init from 4.37.3 to 4.37.9 in /.github/workflows by @dependabot[bot] in #1048
- breaking: Unified Random Number Generator by @KSkwarczynski in #1025
- feat: GPU Binned spline calclaution by @KSkwarczynski in #1034
- feat: Fancy Algorithm name by @KSkwarczynski in #1052
- breaking: Break down Fitters folder by @KSkwarczynski in #1036
- feat: Bump NuOsc to v2.1.1 by @KSkwarczynski in #1053
- bugfix: better casting on older GCC by @KSkwarczynski in #1054
- feat: Ability to specify for which SplineHandler to use GPU by @KSkwarczynski in #1051
- tidy: Better fitting algorithms documentation by @KSkwarczynski in #1058
- feat: Llh Step Scale Optimisation updates by @menailj in #1056
- feat: functional flip by @DavidRiley12345 in #1060
- tidy: Update Contributing by @KSkwarczynski in #1059
- feat: Adding shell tab completion by @alexanderrichards in #1013
- feat: Table Printing class by @KSkwarczynski in #1050
- tidy: Further reduce legacy use of xsec keyword by @KSkwarczynski in #1062
Full Changelog: v2.6.1...v2.7.0