Skip to content

RooFit::MultiProcess & TestStatistics part 3: Minuit2::NumericalDerivator#8567

Merged
guitargeek merged 7 commits into
root-project:masterfrom
roofit-dev:RooFit_MultiProcess_PR_3_NumericalDerivator
Jul 16, 2021
Merged

RooFit::MultiProcess & TestStatistics part 3: Minuit2::NumericalDerivator#8567
guitargeek merged 7 commits into
root-project:masterfrom
roofit-dev:RooFit_MultiProcess_PR_3_NumericalDerivator

Conversation

@egpbos

@egpbos egpbos commented Jun 29, 2021

Copy link
Copy Markdown
Contributor

This PR introduces the NumericalDerivatorMinuit2 class, based on original code by @lmoneta (https://github.com/lmoneta/root/blob/lvmini/math/mathcore/src/NumericalDerivator.cxx). It replicates the Minuit2 numerical derivator calculations, but in a a stand alone class. This allows it to be used from RooFit to manually calculate gradients outside of Minuit2, e.g. in a parallelized way.

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

This class, based on original code by @lmoneta (https://github.com/lmoneta/root/blob/lvmini/math/mathcore/src/NumericalDerivator.cxx), replicates the Minuit2 numerical derivator calculations. Because it is a stand alone class, it can be used in RooFit to manually calculate gradients outside of Minuit2, e.g. in a parallelized way.
@egpbos
egpbos requested a review from lmoneta June 29, 2021 12:12
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-ubuntu16/nortcxxmod.
Running on sft-ubuntu-1604-1.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-29T12:17:51.252Z] FAILED: /usr/bin/ccache /usr/bin/c++ -DVECCORE_ENABLE_VC -I/mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/unix/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/clingutils/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/textinput/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/thread/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/zip/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/rint/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/clib/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/meta/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/gui/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/cont/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/foundation/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/base/inc -Iginclude -I/mnt/build/workspace/root-pullrequests-build/root/hist/hist/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/mathcore/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/mathcore/v7/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/imt/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/multiproc/inc -Iexternals/mnt/build/workspace/root-pullrequests-build/install/include -I/mnt/build/workspace/root-pullrequests-build/root/math/matrix/inc -I/mnt/build/workspace/root-pullrequests-build/root/graf2d/graf/inc -I/mnt/build/workspace/root-pullrequests-build/root/io/io/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/clib/res -I/mnt/build/workspace/root-pullrequests-build/root/builtins -I/usr/include/freetype2 -I/usr/include/x86_64-linux-gnu/freetype2 -I/mnt/build/workspace/root-pullrequests-build/root/tree/tree/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/minuit/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/foam/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/smatrix/inc -I/mnt/build/workspace/root-pullrequests-build/root/roofit/batchcompute/inc -I/mnt/build/workspace/root-pullrequests-build/root/net/net/inc -fdiagnostics-color=always -std=c++11 -pipe -Wshadow -Wall -W -Woverloaded-virtual -fsigned-char -pthread -O3 -fPIC -fno-math-errno -std=c++11 -MD -MT roofit/roofitcore/CMakeFiles/RooFitCore.dir/src/NumericalDerivatorMinuit2.cxx.o -MF roofit/roofitcore/CMakeFiles/RooFitCore.dir/src/NumericalDerivatorMinuit2.cxx.o.d -o roofit/roofitcore/CMakeFiles/RooFitCore.dir/src/NumericalDerivatorMinuit2.cxx.o -c /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx
  • [2021-06-29T12:17:51.252Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/inc/NumericalDerivatorMinuit2.h:27:48: fatal error: Minuit2/SinParameterTransformation.h: No such file or directory

@phsft-bot

Copy link
Copy Markdown

Build failed on mac1014/python3.
Running on macphsft17.dyndns.cern.ch:/build/jenkins/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-29T12:20:45.442Z] FAILED: roofit/roofitcore/CMakeFiles/RooFitCore.dir/src/NumericalDerivatorMinuit2.cxx.o
  • [2021-06-29T12:20:46.006Z] /build/jenkins/workspace/root-pullrequests-build/root/roofit/roofitcore/inc/NumericalDerivatorMinuit2.h:27:10: fatal error: 'Minuit2/SinParameterTransformation.h' file not found

@phsft-bot

Copy link
Copy Markdown

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

Errors:

  • [2021-06-29T12:22:04.937Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/inc/NumericalDerivatorMinuit2.h:27:10: fatal error: Minuit2/SinParameterTransformation.h: No such file or directory

@phsft-bot

Copy link
Copy Markdown

Build failed on mac11.0/cxx17.
Running on macphsft23.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-29T12:36:36.087Z] FAILED: roofit/roofitcore/CMakeFiles/RooFitCore.dir/src/NumericalDerivatorMinuit2.cxx.o
  • [2021-06-29T12:36:37.023Z] /Users/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/inc/NumericalDerivatorMinuit2.h:27:10: fatal error: 'Minuit2/SinParameterTransformation.h' file not found

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-29T12:38:13.752Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/inc/NumericalDerivatorMinuit2.h:27:10: fatal error: Minuit2/SinParameterTransformation.h: No such file or directory

@phsft-bot

Copy link
Copy Markdown

Build failed on windows10/cxx14.
Running on null:C:\build\workspace\root-pullrequests-build
See console output.

Errors:

  • [2021-06-29T13:12:28.251Z] C:\build\workspace\root-pullrequests-build\root\roofit\roofitcore\inc\NumericalDerivatorMinuit2.h(27,10): fatal error C1083: Cannot open include file: 'Minuit2/SinParameterTransformation.h': No such file or directory [C:\build\workspace\root-pullrequests-build\build\roofit\roofitcore\RooFitCore.vcxproj]

@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-ubuntu16/nortcxxmod.
Running on sft-ubuntu-1604-2.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-07-02T07:11:17.460Z] FAILED: /usr/bin/ccache /usr/bin/c++ -DVECCORE_ENABLE_VC -I/mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/unix/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/clingutils/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/textinput/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/thread/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/zip/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/rint/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/clib/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/meta/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/gui/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/cont/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/foundation/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/base/inc -Iginclude -I/mnt/build/workspace/root-pullrequests-build/root/hist/hist/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/mathcore/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/mathcore/v7/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/imt/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/multiproc/inc -Iexternals/mnt/build/workspace/root-pullrequests-build/install/include -I/mnt/build/workspace/root-pullrequests-build/root/math/matrix/inc -I/mnt/build/workspace/root-pullrequests-build/root/graf2d/graf/inc -I/mnt/build/workspace/root-pullrequests-build/root/io/io/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/clib/res -I/mnt/build/workspace/root-pullrequests-build/root/builtins -I/usr/include/freetype2 -I/usr/include/x86_64-linux-gnu/freetype2 -I/mnt/build/workspace/root-pullrequests-build/root/tree/tree/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/minuit/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/minuit2/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/foam/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/smatrix/inc -I/mnt/build/workspace/root-pullrequests-build/root/roofit/batchcompute/inc -I/mnt/build/workspace/root-pullrequests-build/root/net/net/inc -fdiagnostics-color=always -std=c++11 -pipe -Wshadow -Wall -W -Woverloaded-virtual -fsigned-char -pthread -O3 -fPIC -fno-math-errno -std=c++11 -MD -MT roofit/roofitcore/CMakeFiles/RooFitCore.dir/src/NumericalDerivatorMinuit2.cxx.o -MF roofit/roofitcore/CMakeFiles/RooFitCore.dir/src/NumericalDerivatorMinuit2.cxx.o.d -o roofit/roofitcore/CMakeFiles/RooFitCore.dir/src/NumericalDerivatorMinuit2.cxx.o -c /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx
  • [2021-07-02T07:11:17.460Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:91:14: error: ‘chrono’ is not a member of ‘std’
  • [2021-07-02T07:11:17.460Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:91:19: error: ‘std::chrono’ has not been declared
  • [2021-07-02T07:11:17.460Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:91:46: error: ‘std::chrono’ has not been declared
  • [2021-07-02T07:11:17.460Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:92:22: error: ‘std::chrono’ has not been declared
  • [2021-07-02T07:11:17.460Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:25: error: variable or field ‘t1’ declared void
  • [2021-07-02T07:11:17.460Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:29: error: variable or field ‘t2’ declared void
  • [2021-07-02T07:11:17.460Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:33: error: variable or field ‘t3’ declared void
  • [2021-07-02T07:11:17.460Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:37: error: variable or field ‘t4’ declared void
  • [2021-07-02T07:11:17.460Z] /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:41: error: variable or field ‘t5’ declared void

And 19 more

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft11.dyndns.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-07-02T07:14:34.663Z] FAILED: roofit/roofitcore/CMakeFiles/RooFitCore.dir/src/NumericalDerivatorMinuit2.cxx.o
  • [2021-07-02T07:14:35.598Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:91:19: error: ‘std::chrono’ has not been declared
  • [2021-07-02T07:14:35.598Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:91:46: error: ‘std::chrono’ has not been declared
  • [2021-07-02T07:14:35.599Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:92:22: error: ‘std::chrono’ has not been declared
  • [2021-07-02T07:14:35.599Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:25: error: variable or field ‘t1’ declared void
  • [2021-07-02T07:14:35.599Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:29: error: variable or field ‘t2’ declared void
  • [2021-07-02T07:14:35.599Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:33: error: variable or field ‘t3’ declared void
  • [2021-07-02T07:14:35.599Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:37: error: variable or field ‘t4’ declared void
  • [2021-07-02T07:14:35.599Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:41: error: variable or field ‘t5’ declared void
  • [2021-07-02T07:14:35.599Z] /home/sftnight/build/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:45: error: variable or field ‘t6’ declared void

And 17 more

@phsft-bot

Copy link
Copy Markdown

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

Errors:

  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:91:19: error: ‘std::chrono’ has not been declared
  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:91:46: error: ‘std::chrono’ has not been declared
  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:92:22: error: ‘std::chrono’ has not been declared
  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:25: error: variable or field ‘t1’ declared void
  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:29: error: variable or field ‘t2’ declared void
  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:33: error: variable or field ‘t3’ declared void
  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:37: error: variable or field ‘t4’ declared void
  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:41: error: variable or field ‘t5’ declared void
  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:45: error: variable or field ‘t6’ declared void
  • [2021-07-02T07:31:04.453Z] /data/sftnight/workspace/root-pullrequests-build/root/roofit/roofitcore/src/NumericalDerivatorMinuit2.cxx:95:49: error: variable or field ‘t7’ declared void

And 16 more

@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@egpbos egpbos changed the title RooFit::MultiProcess & TestStatistics part 3: NumericalDerivatorMinuit2 RooFit::MultiProcess & TestStatistics part 3: Minuit2::NumericalDerivator Jul 7, 2021
@egpbos

egpbos commented Jul 7, 2021

Copy link
Copy Markdown
Contributor Author

Update: I have moved NumericalDerivatorMinuit2 from roofitcore into Minuit2 and, of course, renamed it into Minuit2::NumericalDerivator.

Originally, @lmoneta's NumericalDerivator was in mathcore. However, I think it fits well in Minuit2 as well, since the algorithms exactly try to mimic Minuit2's. Also, I have added some depedencies to Minuit2 parameter transformations that I think make it an even more logical fit in Minuit2 than to have to make mathcore depend on Minuit2. I guess in the end it's an arbitrary choice.

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@lmoneta

lmoneta commented Jul 9, 2021

Copy link
Copy Markdown
Member

@phsft-bot build

@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

lmoneta
lmoneta previously requested changes Jul 9, 2021

@lmoneta lmoneta left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks to good to me. For clarity of the code, it would be nice to follow the ROOT coding convention for member function names and data member names, which are different than the RooFit ones.
It would be nice also to add a direct unit test of the class, but this could be eventually a separate PR

Comment thread math/minuit2/inc/Minuit2/NumericalDerivator.h Outdated
Comment thread math/minuit2/inc/Minuit2/NumericalDerivator.h Outdated
Comment thread math/minuit2/inc/Minuit2/NumericalDerivator.h Outdated
Comment thread math/minuit2/inc/Minuit2/NumericalDerivator.h Outdated
Comment thread math/minuit2/inc/Minuit2/NumericalDerivator.h Outdated
Comment thread math/minuit2/inc/Minuit2/NumericalDerivator.h Outdated
@bellenot
bellenot removed their request for review July 15, 2021 13:19
@phsft-bot

Copy link
Copy Markdown

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

Warnings:

  • [2021-07-15T13:07:36.240Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/inc/Minuit2/NumericalDerivator.h:102:28: warning: ‘ROOT::Minuit2::NumericalDerivator::fNCycles’ will be initialized after [-Wreorder]
  • [2021-07-15T13:07:36.240Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/inc/Minuit2/NumericalDerivator.h:85:17: warning: ‘double ROOT::Minuit2::NumericalDerivator::fUp’ [-Wreorder]
  • [2021-07-15T13:07:36.240Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/src/NumericalDerivator.cxx:45:1: warning: when initialized here [-Wreorder]
  • [2021-07-15T13:07:36.240Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/inc/Minuit2/NumericalDerivator.h:102:28: warning: ‘ROOT::Minuit2::NumericalDerivator::fNCycles’ will be initialized after [-Wreorder]
  • [2021-07-15T13:07:36.240Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/inc/Minuit2/NumericalDerivator.h:85:17: warning: ‘double ROOT::Minuit2::NumericalDerivator::fUp’ [-Wreorder]
  • [2021-07-15T13:07:36.240Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/src/NumericalDerivator.cxx:53:1: warning: when initialized here [-Wreorder]
  • [2021-07-15T13:07:36.240Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/inc/Minuit2/NumericalDerivator.h:103:9: warning: ‘ROOT::Minuit2::NumericalDerivator::fAlwaysExactlyMimicMinuit2’ will be initialized after [-Wreorder]
  • [2021-07-15T13:07:36.240Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/inc/Minuit2/NumericalDerivator.h:90:24: warning: ‘std::vector<double> ROOT::Minuit2::NumericalDerivator::fVxFValCache’ [-Wreorder]
  • [2021-07-15T13:07:36.240Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/src/NumericalDerivator.cxx:53:1: warning: when initialized here [-Wreorder]

Co-authored-by: Jonas Rembser <jonas.rembser@cern.ch>
Co-authored-by: Stephan Hageboeck <stephan.hageboeck@cern.ch>
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

egpbos added a commit to roofit-dev/root that referenced this pull request Jul 15, 2021
From comments by @guitargeek and @hageboeck on PR root-project#8567 (root-project#8567):

- Simplify copy constructor.
- Inline simple getter/setters.
- Replace fabs with std::abs.
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@egpbos

egpbos commented Jul 15, 2021

Copy link
Copy Markdown
Contributor Author

I have applied all suggestions, thanks again for the reviews @hageboeck and @guitargeek. If you agree with delaying the pointer -> reference refactoring (#8567 (comment)), mostly because it would be a lot easier and faster to check once #8596 and the PR after that are merged, then I think this is ready to merge.

@phsft-bot

Copy link
Copy Markdown

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

Warnings:

  • [2021-07-15T13:43:34.175Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/inc/Minuit2/NumericalDerivator.h:100:28: warning: ‘ROOT::Minuit2::NumericalDerivator::fNCycles’ will be initialized after [-Wreorder]
  • [2021-07-15T13:43:34.175Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/inc/Minuit2/NumericalDerivator.h:83:17: warning: ‘double ROOT::Minuit2::NumericalDerivator::fUp’ [-Wreorder]
  • [2021-07-15T13:43:34.175Z] /data/sftnight/workspace/root-pullrequests-build/root/math/minuit2/src/NumericalDerivator.cxx:45:1: warning: when initialized here [-Wreorder]

egpbos added a commit to roofit-dev/root that referenced this pull request Jul 15, 2021
From comments by @guitargeek and @hageboeck on PR root-project#8567 (root-project#8567):

- Simplify copy constructor.
- Inline simple getter/setters.
- Replace fabs with std::abs.
- Fix warning due to changed member ordering.
@egpbos
egpbos force-pushed the RooFit_MultiProcess_PR_3_NumericalDerivator branch from cfe1cad to 79170ea Compare July 15, 2021 14:00
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-ubuntu16/nortcxxmod.
Running on sft-ubuntu-1604-1.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Warnings:

  • [2021-07-15T14:05:50.398Z] /mnt/build/workspace/root-pullrequests-build/root/math/minuit2/src/NumericalDerivator.cxx:52:66: warning: unused parameter ‘other’ [-Wunused-parameter]

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-07-15T14:04:12.052Z] stderr: error: could not read '.git/rebase-apply/head-name': No such file or directory

Failing tests:

egpbos added a commit to roofit-dev/root that referenced this pull request Jul 15, 2021
From comments by @guitargeek and @hageboeck on PR root-project#8567 (root-project#8567):

- Simplify copy constructor.
- Inline simple getter/setters.
- Replace fabs with std::abs.
- Fix warning due to changed member ordering.
@egpbos
egpbos force-pushed the RooFit_MultiProcess_PR_3_NumericalDerivator branch from 79170ea to 948788e Compare July 15, 2021 14:59
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

From comments by @guitargeek and @hageboeck on PR root-project#8567 (root-project#8567):

- Simplify copy constructor.
- Inline simple getter/setters.
- Replace fabs with std::abs.
- Fix warning due to changed member ordering.
@egpbos
egpbos force-pushed the RooFit_MultiProcess_PR_3_NumericalDerivator branch from 948788e to 435fe8f Compare July 15, 2021 15:00
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-07-15T15:00:48.974Z] stderr: error: could not read '.git/rebase-apply/head-name': No such file or directory

Failing tests:

@guitargeek guitargeek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for the development of the Numericalderivator class for Minuit2 and addressing the comments by @lmoneta, @hageboeck, and me! The unaddressed comment with the references instead of pointers can be indeed addressed later. This PR is ready to be merged once the Jenkins tests pass.

@egpbos

egpbos commented Jul 15, 2021

Copy link
Copy Markdown
Contributor Author

The two failing Jenkins tests are not related to this PR, correct?

@guitargeek
guitargeek requested a review from lmoneta July 16, 2021 07:08
@guitargeek
guitargeek dismissed lmoneta’s stale review July 16, 2021 07:10

The requested changes have been implemented by @egpbos

@guitargeek
guitargeek merged commit 2b27273 into root-project:master Jul 16, 2021
@guitargeek

Copy link
Copy Markdown
Contributor

No, the Jenkins failures are fortunately not related to this PR.

@hahnjo

hahnjo commented Jul 16, 2021

Copy link
Copy Markdown
Member

FYI @guitargeek @egpbos this seems to break the default configuration because minuit2 is off by default...

@egpbos

egpbos commented Jul 16, 2021

Copy link
Copy Markdown
Contributor Author

@hahnjo indeed, this is fixed in #8689. There could still be weird cases where RooFit is set to ON but Minuit2 set OFF manually, so that should be checked. We discussed this, but I forgot to implement it in this PR, sorry for that.

pzhristov pushed a commit to alisw/root that referenced this pull request Aug 27, 2021
From comments by @guitargeek and @hageboeck on PR root-project#8567 (root-project#8567):

- Simplify copy constructor.
- Inline simple getter/setters.
- Replace fabs with std::abs.
- Fix warning due to changed member ordering.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants