Skip to content

v2.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Jul 12:01
a74989c

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

Full Changelog: v2.5.1...v2.6.0