root icon indicating copy to clipboard operation
root copied to clipboard

[Minuit2] make the MnHesse implementation easily replaceable

Open egpbos opened this issue 3 years ago • 5 comments

This Pull request:

Changes or fixes:

The actual calculation of the Hessian / covariance matrix done by MnHesse was contained to a single function. Since the only needed internal state was the MnStrategy object, it was easy to turn this calculation function into a static member function.

The implementation of the "internal interface" (previously the calculation function) now forwards its call to a static class member std::function object. By default, this object is set to be the now-static calculation function. However, this std::function object is public, so users can easily replace it with any Hessian calculator function they prefer.

Checklist:

  • [x] tested changes locally
  • [ ] updated the docs (if necessary)

egpbos avatar Aug 04 '22 15:08 egpbos

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14 How to customize builds

phsft-bot avatar Aug 04 '22 15:08 phsft-bot

Build failed on ROOT-performance-centos8-multicore/cxx17. Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build See console output.

Failing tests:

phsft-bot avatar Aug 04 '22 15:08 phsft-bot

@phsft-bot build just on ROOT-performance-centos8-multicore/cxx17

egpbos avatar Aug 05 '22 11:08 egpbos

Starting build on ROOT-performance-centos8-multicore/cxx17 How to customize builds

phsft-bot avatar Aug 05 '22 11:08 phsft-bot

Seems like the failing test was just a fluke. I also don't see that failure on my machine and I don't think it's related at all anyway.

egpbos avatar Aug 05 '22 21:08 egpbos

Superseded by:

  • https://github.com/root-project/root/pull/11755

guitargeek avatar Nov 13 '23 14:11 guitargeek