db1e838 | Axel Naumann | 03 February 2023, 14:34:27 UTC | "Update ROOT version files to v6.28/00." | 03 February 2023, 14:34:27 UTC |
dc908a0 | Axel Naumann | 03 February 2023, 14:05:54 UTC | [relnotes] Add Jira items for v6.28/00 | 03 February 2023, 14:05:54 UTC |
342084d | Axel Naumann | 03 February 2023, 12:05:09 UTC | [relnotes] Add GitHub issues. | 03 February 2023, 12:05:09 UTC |
e4d191d | Axel Naumann | 03 February 2023, 11:24:24 UTC | [relnotes] Add REve. | 03 February 2023, 11:24:24 UTC |
fdd68fa | Jonas Hahnfeld | 13 January 2023, 16:27:10 UTC | [DF] Removing failing test with shorter friends (#12025) According to https://github.com/root-project/root/issues/9137, we get bogus data if a friend is shorter than the main tree. The datasetspec test acknowledges this, but still checks the results in the MT case. This miraculously seems to work most of the time, but we sometimes see failures in the nightlies, especially on macOS, so remove it. | 02 February 2023, 20:18:24 UTC |
d46b997 | Omar Zapata | 01 February 2023, 21:34:51 UTC | PYMVA: removed deprecated code | 02 February 2023, 19:01:47 UTC |
8b0281c | moneta | 02 February 2023, 16:42:08 UTC | [pymva] Use tensorflow.keras for building the test models | 02 February 2023, 19:01:47 UTC |
a840717 | moneta | 02 February 2023, 16:40:50 UTC | [pymva] Turn off printing of Keras log when predicting a model This fixes the larg output observed when running some Keras tests (e.g. testPyKerasRegression) | 02 February 2023, 19:01:47 UTC |
9c9e8c4 | moneta | 02 February 2023, 14:31:40 UTC | [tmva] Fix dependency for tutorials and tests Avoid that tutorials and some pymva test download at the same time the input data file. Fix also an issue with the RSofieReader tutorial | 02 February 2023, 19:01:47 UTC |
5344cdf | moneta | 02 February 2023, 13:10:43 UTC | [tmva][sofie] Small fixes in the parser when running in verbose mode | 02 February 2023, 19:01:47 UTC |
80eddd2 | Axel Naumann | 02 February 2023, 14:09:00 UTC | [RelNotes] Typos. | 02 February 2023, 14:09:00 UTC |
5ffba22 | Axel Naumann | 02 February 2023, 09:25:18 UTC | [relnotes] Remove stray sentence. | 02 February 2023, 09:25:18 UTC |
61f7588 | Axel Naumann | 02 February 2023, 09:23:05 UTC | [relnotes] Wording. | 02 February 2023, 09:23:05 UTC |
2b83ff5 | Axel Naumann | 02 February 2023, 09:19:19 UTC | [relmotes] Formatting, remove empty sections, small additions. | 02 February 2023, 09:19:19 UTC |
10ef719 | Axel Naumann | 01 February 2023, 22:54:14 UTC | [relnotes] Add llvm upgrade, builtin package upgrades, Python 3.11 support. (#12204) | 01 February 2023, 22:54:14 UTC |
813f445 | Axel Naumann | 01 February 2023, 22:53:50 UTC | [cmake] Remove deprecated alien option, deprecate gfal gsl_shared jemalloc monalisa pyroot_legacy tcmalloc xproofd. (#12203) * [cmake] Remove deprecated `alien` option. * cmake] Deprecate gfal gsl_shared jemalloc monalisa pyroot_legacy tcmalloc xproofd They seem to be unused by the LHC experiments; please complain if you rely on them. * [relnotes] Add build option deprecations. | 01 February 2023, 22:53:50 UTC |
a953141 | moneta | 01 February 2023, 12:25:58 UTC | [tmva][sofie] Fix Gather operator for handling indices tensor The Gather operator was wrongly emitting an error when the index tensor was an initialized tensor In addition it was not correctly using Clean_name for the index tensor name This fixes the Recurrent tests in Sofie models where the Gather operator was kept when using latest versions of onnxsim. Fixes also the Squeeze operator (handles as a Reshape) when the axes are passed as an inputs and not as an attribute Fixes an issue in ROperator_Reshape when getting removing `1` from the output shape (cherry picked from commit 7b35edbbd2a2a07ca54a8b4411d32cb37814888e) | 01 February 2023, 15:31:23 UTC |
186fb50 | lmoneta | 31 January 2023, 15:57:02 UTC | [tmva][sofie] Fix some valgrind issues in COnvTranspose (cherry picked from commit 821083f1263e73fdc16b5060c10b3a3380564657) | 01 February 2023, 15:31:18 UTC |
25939cd | Vincenzo Eduardo Padulano | 31 January 2023, 18:18:16 UTC | [PyROOT] Use non-deprecated API to initialize Python interpreter Taken from part of https://github.com/wlav/CPyCppyy/commit/64fd89050a66bf8cb119f236cadd365efa07b005 | 01 February 2023, 11:55:24 UTC |
0af02d7 | Enrico Guiraud | 30 January 2023, 23:10:20 UTC | [DF] Avoid call to ctor/dtor of helper TChain object when possible (cherry picked from commit 1daa72d26588abc853ceb09e35f6daaa2899264b) | 01 February 2023, 10:13:00 UTC |
722c10c | Enrico Guiraud | 30 January 2023, 23:08:23 UTC | [DF] Make dataset group an optional data member of RSampleInfo There are cases in which an RSampleInfo is constructed but we don't have dataset group information available (e.g. for "empty source" loops, or in any case an RDatasetSpec was not provided). In this cases we now skip the (expensive) creation of the RDatasetGroup data member of RSampleInfo and we make it a hard error to request dataset group information. (cherry picked from commit 9db9815627bb98b1eb70dec15b0a0789c55f8076) | 01 February 2023, 10:13:00 UTC |
a854d11 | Enrico Guiraud | 30 January 2023, 23:07:49 UTC | [DF] Move vector instead of copying in RLoopManager construction (cherry picked from commit 33a43899226b2a9328c1791fb2716f9c4039ea44) | 01 February 2023, 10:13:00 UTC |
cfc26cd | Vincenzo Eduardo Padulano | 30 January 2023, 09:31:29 UTC | [DF][PyROOT] Avoid deprecated numpy.object | 01 February 2023, 09:39:17 UTC |
d60bdfb | moneta | 30 January 2023, 13:58:50 UTC | [tmva][pymva] Use correct python executable for the tests (cherry picked from commit 3487278bb6e7516fbd062e0980b55066b97cf6e8) | 01 February 2023, 08:35:55 UTC |
40f4d04 | Axel Naumann | 31 January 2023, 14:31:27 UTC | [cling] Keep private symbols private: llvm IR naming of private constants (CodeGenModule::createUnnamedGlobalFrom(), line 1136) will name private symbols without caring about possible name clashes. We will create these name clashes by marking such private symbols as weak ones, re-using previously emitted symbols (e.g. in JITDylib::defineImpl() where they get added to MUDefsOverridden and thus re-used instead of re-emitted). Let me see what happens when we keep private symbols private. In principle, the interpreter should have no means fo accessing them from another transaction - private symbols seem to be function-local ones. Fixes https://github.com/root-project/root/pull/12183 (cherry picked from commit 2d9a09b9623b3195a93dceafa08a5fe222fcc614) | 31 January 2023, 21:48:27 UTC |
73556b6 | Axel Naumann | 31 January 2023, 11:36:23 UTC | [llvm] Override llvm-visibility-default: We really need these symbols to be hidden. Solves https://github.com/root-project/root/issues/12170 ``` Unable to find target for this triple (no targets are registered) *** Break *** abort ``` where the llvm of PyTorch ends up using the RegisterTarget function of the llvm of cling. (cherry picked from commit 0363aedc30038df86b3723b0722216beb7626f4a) | 31 January 2023, 20:28:09 UTC |
0d621df | Axel Naumann | 31 January 2023, 07:25:34 UTC | [cmake] Use lcgpackages for libzmq.tar.gz: GitHub repacks archives from time to time, which changes the hash. (cherry picked from commit 43003424171111fb2d8ec6fd182001c57ed6901a) | 31 January 2023, 10:57:14 UTC |
61758c4 | Axel Naumann | 30 January 2023, 13:37:46 UTC | [foundation] Silence macOS / Xcode / clang warning on use of sprintf: There is no safe way if doing this, which is why the interface is now deprecated. Until it is removed, lie to the compiler that the buffer is large enough (which is no worse than what happened before this commit). | 31 January 2023, 07:53:23 UTC |
ebf7256 | Axel Naumann | 30 January 2023, 13:36:20 UTC | [base] Deprecate TDirectory::EncodeNameCycle(): It is broken by design, there is no way that this interface can be used in a safe way. Just get rid of it. | 31 January 2023, 07:53:23 UTC |
53e8fa0 | Axel Naumann | 17 January 2023, 11:56:34 UTC | [cling] For MSVC weak symbols, re-use even small funcs: Without, the JIT fails to compile roottest/root/aclic/misc/assertROOT7027.C correctly. (cherry picked from commit 5df5440cfe11afac9e62921a1589b476074e77bb) | 31 January 2023, 07:52:54 UTC |
792b4b2 | Axel Naumann | 12 January 2023, 15:20:40 UTC | [cling] JIT: find existing weak symbol without materializer: m_JIT.getSymbolAddress() invokes the symbol materializers, which compile (which is sort of okay) but also try autoloading (which totally is not okay). Instead, implement a function to search existing JIT symbols. This can be accelerated by looking up the whole set of symbols, instead of doing it symbol by symbol. I leave that refactoring for later... (cherry picked from commit bf75c61eac69db877c1de27059da4dc89d72006f) | 31 January 2023, 07:52:54 UTC |
fc74197 | Axel Naumann | 12 January 2023, 14:35:04 UTC | [cling] JIT: separate re-use of weak sym vars, funcs (NFCI). (cherry picked from commit e2b9a3d0e2a0bf86b3a0cf54e8d063cc49e71fd3) | 31 January 2023, 07:52:54 UTC |
3455465 | Axel Naumann | 12 January 2023, 13:01:20 UTC | [cling] JIT: only re-use *large* existing weak functions: Small functions might get inlined, and hiding their definition prevents the inliner from doing its job. (cherry picked from commit da267435763601112f64ae02f6e81306723c4858) | 31 January 2023, 07:52:54 UTC |
1598e3f | Axel Naumann | 12 January 2023, 12:54:23 UTC | [cling] Reuse existing weak symbols, also from JIT: With the upgrade to llvm-13, the JIT lost the ability to re-use existing weak symbols that the JIT had already emitted, instead only looking at dlsym. This causes a significant increase in JITted symbols, and thus a significant slow-down of cling / its JIT. This restores the old behavior, with an identical set of symbols that jet jitted. (cherry picked from commit 23ca9fe52d295ea2557884710714b13fd9715a36) | 31 January 2023, 07:52:54 UTC |
967341a | Jonas Rembser | 27 January 2023, 11:08:13 UTC | [RF] Fix `HistFactoryNavigation::ReplaceNode` The implementation of `HistFactoryNavigation::ReplaceNode` was wrong, which I spotted because it was the remaining place in RooFit where the dangerous `RooAbsArg::replaceServer()` was used. It didn't update the proxies accordingly, resulting in proxy-server-desync, and it also didn't set the correct value and shape server properties (it just hardcoded them both to `false` for the new server instead of taking them over from the old server). | 31 January 2023, 07:52:13 UTC |
474d59d | Jonas Rembser | 26 January 2023, 22:10:15 UTC | [RF] Do `redirectServers` and not `replaceServer` in RooAbsAnaConvPdf Since commit 52ff06a2f31, the usage of `replaceServer()` is discouraged because it's too easy to forget to replace the proxy arguments as well, resulting in de-syncing of proxies and servers. To avoid the warning that is now printed when using `replaceServer` in regular RooFit code, the usage of `replaceServer` in combination with `RooRealProxy::setArg()` in RooAbsAnaConvPdf is replaced with `redirectServers()`. | 31 January 2023, 07:52:13 UTC |
f6f30e5 | Jonas Rembser | 26 January 2023, 16:38:23 UTC | [RF] Add missing `override` keywords to RooFit with clang-tidy | 31 January 2023, 07:52:13 UTC |
2699e2e | Jonas Rembser | 30 January 2023, 11:15:20 UTC | [RF] Code format `RooBatchCompute.h` As this file will be changed several times in the coming days, it is now a good time to do this. | 31 January 2023, 07:52:13 UTC |
bee5736 | Jonas Rembser | 30 January 2023, 11:12:54 UTC | [RF] Implement RooBMixDecay in `RooBatchCompute` for GPU support It was validated with the unbinned benchmarks in `rootbench` that the implementation is correct. | 31 January 2023, 07:52:13 UTC |
7714d99 | Jonas Rembser | 29 January 2023, 11:04:38 UTC | [RF] Don't use small `int` types in RooBatchCompute One doesn't need to use `uint8_t` and `uint16_t` for index types, because it is not giving performance improvements. It's better to use `std::size_t`, which means in particular that the library will support an arbitrary number of input arguments now. This fixes running the ATLAS Higgs combination fit with the BatchMode. | 31 January 2023, 07:52:13 UTC |
c92233c | Jonas Rembser | 29 January 2023, 11:03:59 UTC | [RF] Parametrize `testRooBinSamplingPdf` to cover BatchMode on and off | 31 January 2023, 07:52:13 UTC |
0684bf1 | Jonas Rembser | 29 January 2023, 11:03:07 UTC | [RF] Implement `computeBatch()` in RooBinSamplingPdf This makes the ATLAS benchmark fits with the RooBinSamplingPdf work. | 31 January 2023, 07:52:13 UTC |
5a69c84 | Jonas Rembser | 30 January 2023, 10:49:26 UTC | [RF] Fix duplicate ownership problem in RooMomentMorph(Func)ND The commit 4c9c5d6b49 fixed the memory leaking of the `RooMomentMorph(Func)ND::Grid2::_grid` member by deleting it in the constructor, but it didn't consider that the copy constructor didn't make a clone of the `_grid`, ending up with double ownership. Now, the copy constructor is also cloning the binnings, just like the regular constructor, and the double ownership is avoided. Closes #12155. | 31 January 2023, 07:52:13 UTC |
30d9e83 | Axel Naumann | 30 January 2023, 14:37:09 UTC | [relnotes] Add Guilherme! | 30 January 2023, 14:37:09 UTC |
c5cddcb | ferdymercury | 04 January 2023, 14:31:30 UTC | unused variable Fixes https://github.com/root-project/root/issues/11971 leftover from https://github.com/root-project/root/commit/b1257ba27a7139e0c927693fded3b243b3f94b33 (cherry picked from commit 4ef94f4432a39ef5542cc4f00d46f079115b263d) | 30 January 2023, 13:14:42 UTC |
3a3269f | Andrei Gheata | 19 January 2023, 12:54:19 UTC | Plot markers using their actual size which is greater than 1 on scaled displays. (#12055) (cherry picked from commit 9c2ea4309e24540518a1690387c2915e045418a5) | 30 January 2023, 13:01:18 UTC |
72e47b1 | Enrico Guiraud | 26 January 2023, 19:16:39 UTC | [NFC][VecOps] Fix example code snipptes in doxygen (cherry picked from commit c1d07a4f45a4d7f9f82b366615562c0fe75d845e) | 30 January 2023, 12:59:29 UTC |
06ce56f | Sergey Linev | 20 January 2023, 16:04:10 UTC | Add missing include to llvm Signals.h Same as https://github.com/llvm/llvm-project/commit/ff1681d (cherry picked from commit cae006fc3785381f74c7ebf237fd33439edbe454) | 30 January 2023, 12:55:51 UTC |
862a644 | Sergey Linev | 20 January 2023, 16:09:05 UTC | Fix gcc13 error in TCling.cxx Detect failure - possibly dangling reference to a temporary (cherry picked from commit ff73987f87c9c492bedbf7b438d803b30cc3b050) | 30 January 2023, 12:55:46 UTC |
95fadbb | scott snyder | 30 November 2022, 03:05:39 UTC | Fix compilation with gcc13. Missing #include <cstdint>. (cherry picked from commit 37ac6654194f90db625e760dcb2d48fd7938ba6d) | 30 January 2023, 12:52:52 UTC |
4efd8d5 | Axel Naumann | 27 January 2023, 17:29:24 UTC | [cmake] There is no CMAKE_EXE_FLAGS, use CMAKE_EXE_LINKER_FLAGS: This might fix e.g. `-mmacosx-version-min=12.6` not being passed to ACLiC, causing linker warnings about incompatible deployment targets. (cherry picked from commit 35d621dd1181dc17a7edd39d1e9774dfe4142130) | 30 January 2023, 09:38:18 UTC |
9ff1d02 | Stephan Lachnit | 30 January 2023, 07:45:04 UTC | CMake: fix incorrect version for finding llvm-config (#12150) Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org> (cherry picked from commit 37b25218301d31ff54ed90e25aaf70db58cca1a1) | 30 January 2023, 07:51:17 UTC |
a85ad46 | Vassil Vassilev | 28 January 2023, 19:42:29 UTC | Add Baidyanath | 29 January 2023, 15:01:50 UTC |
3289b76 | Axel Naumann | 29 January 2023, 14:49:12 UTC | [RelNotes] Update name, affiliation of Yueh-Shun Li [6.28]. | 29 January 2023, 14:49:12 UTC |
21ed81f | Philippe Canal | 27 January 2023, 16:54:23 UTC | TTreeReader: error out for STL within TClonesArray. Currently this nesting is not supported and was previously silently returning incorrect information | 27 January 2023, 20:26:49 UTC |
58d1418 | Axel Naumann | 27 January 2023, 17:52:38 UTC | [RelNotes] Update name, affiliation of Yueh-Shun Li. | 27 January 2023, 17:52:38 UTC |
07823c7 | Enrico Guiraud | 26 January 2023, 19:17:54 UTC | [NFC] Update release notes for RVec (cherry picked from commit fa65b6d5c84e562e2f9a8c8262fe9cfff99c7c8e) | 27 January 2023, 15:39:31 UTC |
da69f4c | Axel Naumann | 27 January 2023, 12:16:57 UTC | [RelNotes] Add all known contributors with >1 commit (NFC). | 27 January 2023, 15:36:56 UTC |
39995a6 | Axel Naumann | 21 December 2022, 07:45:57 UTC | [cling] Re-enable CodeGen-OptLevel after llvm13 upgrade: With the upgrade, BackendPasses was modifying a TargetMachine that was not used by SimpleCompiler. Change that by - using a SimpleCompiler that uses IncrementalJIT::TM; - moving the TM creation to IncrementalJIT, and giving access to it This reduces the runtime of https://github.com/root-project/root/issues/11927 to - before llvm upgrade: 2.69s - llvm13, without this commit: ??? - llvm13, with this commit: 2.89s i.e, a slow-down of 7% (that is likely caused by the different emission mechanism of Orc-v2; to be confirmed...) (cherry picked from commit d3793f2bb8c5948f4c64947c7f76fb0b0e1a3567) | 27 January 2023, 15:35:47 UTC |
a6c611d | Axel Naumann | 20 January 2023, 08:06:05 UTC | [dictgen] Do not complain about headers in byproducts: During ROOT's build of Core.pcm, byproduct modules are built. rootcling was complaining about some headers not appearing in Core.pcm, despite them ending up in the byproduct pcms. Simply don't complain about headers not in the pcm if these headers are actually in a byproduct. In the same vein, do not forcefully include them in teh pcm, as they are already included in the byproduct which should be sufficient. This circumvents the warnings: ``` [2751/6001] Generating G__Core.cxx, ../lib/Core.pcm Warning in <CheckModuleValid>: after creating module "Core" the following headers are not part of that module: strlcpy.h (already part of top-level module "ROOT_Foundation_C") snprintf.h (already part of top-level module "ROOT_Foundation_C") ESTLType.h (already part of top-level module "ROOT_Foundation_Stage1_NoRTTI") TClassEdit.h (already part of top-level module "ROOT_Foundation_Stage1_NoRTTI") ThreadLocalStorage.h (already part of top-level module "ROOT_Foundation_C") ROOT/RStringView.hxx (already part of top-level module "ROOT_Foundation_Stage1_NoRTTI") TIsAProxy.h (already part of top-level module "ROOT_Foundation_Stage1_NoRTTI") TVirtualIsAProxy.h (already part of top-level module "ROOT_Foundation_Stage1_NoRTTI") ``` (cherry picked from commit a12ef5cf047445a952108763adc66908a17649ba) | 27 January 2023, 15:35:34 UTC |
a33cd99 | Vincenzo Eduardo Padulano | 26 January 2023, 17:37:41 UTC | [relnotes] Add various contributions from Vincenzo, Ivan, Enrico for v6.28 | 27 January 2023, 15:21:11 UTC |
6cfdc07 | Axel Naumann | 08 December 2022, 15:46:26 UTC | [rmkdepend] Use snprintf against warning (GCC 12.2): ``` build/rmkdepend/include.c:306:28: warning: ‘%s’ directive writing up to 8190 bytes into a region of size between 1 and 8191 [-Wformat-overflow=] 306 | sprintf(path, "%s/%s", *pp, include); | ^~ ``` Apple needs to be told to expose snprintf... (cherry picked from commit 19909eb71a5ce5a066ca4588e62ff012dec0bb7c) | 27 January 2023, 13:52:21 UTC |
23e406f | Axel Naumann | 17 January 2023, 16:29:40 UTC | [cmake] Silence macOS linker warnings on -undefined dynamic_lookup: See https://github.com/root-project/root/issues/11937 for why that is currently needed. `flat_namespace` is not a solution. (cherry picked from commit 5ad4ab94d07b3b6a9b262f7c6746a2c1608d3a86) | 27 January 2023, 13:31:12 UTC |
a567664 | Axel Naumann | 17 January 2023, 16:24:11 UTC | Revert "[cmake] Xcode 14 warns about `-undefined dynamic_lookup`; simply suppress:" See https://github.com/root-project/root/issues/11937 for why `-flat_namespace` is bad. This reverts commit a05d4beded1481a86a65e450826352eb528b03e7. (cherry picked from commit 0e03b6afabf98089a0bff454490a4d7d6b3c8e7a) | 27 January 2023, 13:31:12 UTC |
09995ce | Axel Naumann | 09 January 2023, 14:47:20 UTC | [cmake] Disable llvm-assertions for ROOT=RelWithDebInfo: `verifyPreservedAnalysis()` is super slow these days. It gets run when assertions are one (!NDEBUG). Turn this off unless told to build a Debug build of ROOT (where time does not matter, and is expected to not be representative for reality) or where LLVM_BUILD_TYPE is turning asserts on. (cherry picked from commit 92c90e8deff323fd2eab700e384dd3944b754471) | 27 January 2023, 13:30:50 UTC |
5d0849d | Vassil Vassilev | 23 January 2023, 20:12:31 UTC | Check if a callfunc returns void before setting the return result. This fixes root-project/root#11930 | 27 January 2023, 06:48:08 UTC |
856c933 | will-cern | 26 January 2023, 14:53:48 UTC | [RF] xroofit improvements This gets rid of the define private public etc "hacks" that we previously present. There are a number of other improvements made in recent weeks too, these are all detailed in commits in the main xroofit repo. | 26 January 2023, 16:27:12 UTC |
7c5ef22 | Jonas Rembser | 18 January 2023, 13:22:58 UTC | [RF] New tutorial about bias and numeric issues in binned fits A new `rf614_binned_fit_problems` tutorial is added in both C++ and Python. | 26 January 2023, 16:27:12 UTC |
52a60f4 | Jonas Rembser | 18 January 2023, 11:01:41 UTC | Update `rf613_global_observables` | 26 January 2023, 16:27:12 UTC |
92abe00 | Jonas Rembser | 21 January 2023, 10:36:36 UTC | [RF] Fix signature of `RooWorkspace::getSnapshots()` For ROOT 6.26, the `RooWorkspace::getSnapshots()` method was introduced in commit 460a58cb28. However, the signature was not what it should have been: it returned a copy of the snaphot list instead of a `const` reference. This is fixed now, which also uncovered a bug in some RooStats code where the snapshots are supposed to be transferred from one workspace to another, but they were just appended to the new list that was returned by `getSnapshots()`, so whe whole code had no effect. This is fixed now by correctly using `RooWorkspace::saveSnapshot()`. | 26 January 2023, 16:27:12 UTC |
7c498f3 | moneta | 26 January 2023, 11:29:59 UTC | [math] Add release notes for Math (Fitter classes and Minuit2) for 6.28 | 26 January 2023, 16:13:15 UTC |
ab71e77 | moneta | 26 January 2023, 10:37:22 UTC | [tmva] Add release notes for new TMVA developments in 6.28 | 26 January 2023, 16:13:15 UTC |
1aef2bf | moneta | 24 January 2023, 11:31:05 UTC | [tmva] Fix code generation in RSofieReader Create a separate scope for the parsing code to avoid creating objects in global ROOT interprter space. Handle better also errors when jitting the code by throwing run-time exceptions Improve debug messages in verbose mode | 26 January 2023, 16:13:15 UTC |
a118482 | moneta | 20 January 2023, 19:16:20 UTC | [tmva] Add a new tutorial for TMVA RSofieReader class Add also the correct dependency on the TMVA_Higgs_Classification tutorial for creating the input file | 26 January 2023, 16:13:15 UTC |
7df097e | moneta | 20 January 2023, 10:23:58 UTC | [tmva][sofie] Speed up SOFIE tests configuration Use a single executable to parse all ONNX input files and generate the appropriate headers. This speed up the parsing especially in the case of using ROOT files, since we avoid the initialization/loading of libraries for every file The CMakeFile is modified to generate automatically the C++ code to parse all input files Move also all input files in the same directory and not having a separcate onnx directory. This required adding support for serialization of some different types (e.g. int) than float in SOFIE_Common | 26 January 2023, 16:13:15 UTC |
c992f42 | Sanjiban Sengupta | 20 January 2023, 18:09:41 UTC | [tmva][sofie] Backport of fixes for supporting Dropout layer in Keras parser PR #12076 fix: ignore dropout layer in SOFIE Keras Parser fix: mimic dropout by identity operator fix: add function definition, map error, and if condition feat: add support for identity layer in SOFIE Keras Parser fix: identity operator should assign values in vector Revert "fix: identity operator should assign values in vector" This reverts commit f190789e97ca1b1e2342da328066067626c8d67b. | 26 January 2023, 16:13:15 UTC |
86754c0 | moneta | 16 January 2023, 17:08:55 UTC | [tmva] Fix the parallel running in ctest of some TMVA tutorial [tmva] More fixes to avoid timeout in TMVA tutorials commits from PR #12038 and #12041 | 26 January 2023, 16:13:15 UTC |
b20d1fd | moneta | 06 January 2023, 15:56:32 UTC | [math] Do correctly the setting of initial variables in TLinearMinimizer The function TLinearMInimizer::SetVariable needs to return true otherwise the variable counting is not correct. Also fix the number of free variables of the Linear Minimizer | 26 January 2023, 16:13:15 UTC |
324f8e3 | moneta | 21 December 2022, 14:24:15 UTC | [tmva][sofie] Exclude parsing from Keras for Conv layer when using Python2 A function in the Python C API used when parsing Conv layer is available only in Python3 versions. Exclude running that code when using Python2. Also fix the test for the case the COnv parsing is notg available feat: GetValueFromDict method for handling dictionary access (commits from PR #11950) | 26 January 2023, 16:13:15 UTC |
63e1caf | Shamrock Lee | 21 December 2022, 09:22:58 UTC | [hist] TH1::GetCumulative: fix error setting Assign the cumulative error to the newly generated histogram instead of the original one. | 26 January 2023, 16:13:15 UTC |
776667b | Zeff020 | 10 January 2023, 12:56:51 UTC | [RF] Offsetting in `RooAbsPdf::fitTo()` for new test statistic classes The offsetting named argument to `RooAbsPdf::fitTo()`, is now also considered when using the new modular test statistics. | 26 January 2023, 11:44:08 UTC |
6596bc2 | will buttinger | 18 January 2023, 11:28:29 UTC | [graf] Additional options for `TPad::PlaceBox()` method This is needed so that the new RooBrowser doesn't need to access the private collision grid of the TPad. These additional options allow the placement of the box with choice of priority over directions as well as option to place within the margins of the pad. Wanted for 6.28 release too! | 26 January 2023, 11:44:08 UTC |
3accc81 | Jonas Rembser | 25 January 2023, 14:16:05 UTC | [RF] Increase version number of `RooRealVar` In ecd98632, the class version of the `RooAbsArg` class was incremented. As explained in #8791, there are sometimes warnings in the IO of derived classes if their version number is not increased as well. Increasing the class version of RooRealVar indeed fixes this warning that one gets right now when reading old workspaces: ``` Warning in <TStreamerInfo::BuildCheck>: The StreamerInfo of class RooRealVar read from file toyws/WS-VHbb-STXS_mu_toy_new.root has the same version (=8) as the active class but a different checksum. You should update the version to ClassDef(RooRealVar,9). Do not try to write objects with the current class definition, the files will not be readable. Warning in <TStreamerInfo::CompareContent>: The following data member of the on-file layout version 8 of class 'RooRealVar' differs from the in-memory layout version 8: RooAbsBinning _binning; // vs unique_ptr<RooAbsBinning,default_delete<RooAbsBinning> > _binning; ``` | 26 January 2023, 11:44:08 UTC |
5b71171 | Jonas Hahnfeld | 24 January 2023, 11:13:38 UTC | Reset function sections before JITting (#12105) This makes all functions end up in the same text section, which is important for TCling on macOS to catch exceptions from constructors: Stack unwinding requires information about program addresses to find out which objects to destroy and what code should be called to handle the exception. These addresses are relocated against a single __text section when loading the produced MachO binary, which breaks if the call sites of global constructors end up in a separate init section. Fixes ROOT-10703 and ROOT-10962 (cherry picked from commit 028fcca0fa76111877751df876cf13968be602f9) | 24 January 2023, 11:13:38 UTC |
4e805fa | Sergey Linev | 23 January 2023, 14:54:49 UTC | Add ROOT files selection in RFileDialog tutorial | 24 January 2023, 07:38:06 UTC |
904a642 | Sergey Linev | 23 January 2023, 14:53:36 UTC | Provide ROOT file name in RFileDialog Fix issue reported in: https://root-forum.cern.ch/t/53224/ | 24 January 2023, 07:38:06 UTC |
6ab1508 | Jonas Rembser | 17 January 2023, 07:52:20 UTC | [RF] Remove useless server clearing in `RooGenProdProj` It doesn't make sense to clear the servers in the beginning of the constructor when no servers were adeed yet. | 24 January 2023, 07:00:19 UTC |
5c1f498 | Jonas Rembser | 17 January 2023, 00:05:42 UTC | [RF] Improve implementation of `RooAbsArg::redirectServers()` The `RooAbsArg::replaceServer()` function is quite dangerous to use, because it leaves your RooFit objects in an invalid state. See for example this code: ``` RooRealVar x("x", "x", -10, 10); RooRealVar mean("mean", "mean of gaussian", 1, -10, 10); RooRealVar sigma("sigma", "width of gaussian", 1, 0.1, 10); RooGaussian gauss("gauss", "gaussian PDF", x, mean, sigma); RooRealVar mean2(mean); gauss.replaceServer(mean, mean2, true, false); gauss.Print("v"); std::cout << "x : " << &gauss.getX() << std::endl; std::cout << "mean : " << &gauss.getMean() << std::endl; std::cout << "sigma: " << &gauss.getSigma() << std::endl; ``` Here, the proxy for `mean` will still point to the original `mean`, but the server was redirected to the copy `mean2`. This is dangerous, and desyncing of the proxy and server list are actually the underlying reason for a set of RooFit problems. The safter `RooAbsArg::redirectServers()` should always be used, becauese that one is also updating the proxies. Therefore, the `replaceServer()` interface is now marked as dangerous everywhere possible: in a printout when you use it, in the docs, and with the `R__SUGGEST_ALTERNATIVE` macro. Internally, the `replaceServer()` was also used in `redirectServers()`. But this was also causing problems: `replaceServer()` always adds the new server at the end of the server list, which means the list gets reordered. This can confuse usercode that rely on the server list being ordered (yes, that's not a good idea anyway, but there are many codes that do this). This reordering can also be seein in the example code above. Therefore, the `redirectServers()` function is now rewritten to replace the server without changing its position in the server list. This also means that the original server list doesn't need to be copied, as not iterators are invalidated. Furthermore, the `redirectServers()` is more optimized now. Before, it redundantly figured out whether a server was a value and/or shape server. Now, this is figured out only once when removing the original server from the client. In summary: this PR makes RooFit code safer and faster by changing `RooAbsArg::redirectServers()`. | 24 January 2023, 07:00:19 UTC |
d14bdde | will buttinger | 19 January 2023, 16:34:17 UTC | Extra public accessor methods | 24 January 2023, 07:00:19 UTC |
8928ee2 | Jonas Rembser | 20 January 2023, 12:00:20 UTC | [RF] New way to fix compute graph with `RooAbsArg::compileForNormSet()` For the new RooFit BatchMode, the model pdf had to be "compiled" for a fixed normalization set before being evaluated by the RooFit driver. This step was implemented in a rather hacky way, because it only became clear gradually how important this step is, as many changes need to be done to the computation graph before it can be used by the BatchMode. It started by "unrolling" the normalization integrals such that they are separate nodes that can be evaluated by the RooFit driver. Then, it also covered the transformation of every RooProdPdf into a new object that exposes the full intenal computation graph that is cached by the RooProdPdf for a given norm set. These two changes where done in separate passes through the compute graph, and there was also a third pass to figure out dependencies and normalization sets in the graph, and some more recursive passes the attach new servers. This all became very compilcated and hard to debug, as the separate passes through the graph interfered with each other as well. With all the lessons learned, this commit suggests a new more general way to compile a model for a given normalization set. It is now done in a **single recursive pass through the graph** via the newly-proposed function `RooAbsArg::compileForNormSet(RooAbsArg const& normSet, context)`. It's job is to make a clone of the RooAbsArg where the normalization set is fixed to `normSet`, given some context. Now, the details of unrolling the integrals of a RooAbsPdf and replacing the RooProdPdfs can be implemented in the overload for this function of the specific class. There is even an overload for the RooSimultaneous now, which contains all the logic of making the RooSimultaenous ready for the NLL creation. There are still some rough edges in the new interface, but it is already a big step forward that will make debugging much easier because it's now much less compilcated to understand how the computation graph is set up by the BatchMode. Also, this makes the speed of NLL creation with the BatchMode on par with the speed of `createNLL()` without BatchMode. Finally, this is also the groundwork for some future RooFit developments, like the analytical convolution support for the GPU. To implement this, it will also be beneficial to compile the analytical convolution classes for a given normalization set, which can now be done in an easy modular way. | 24 January 2023, 07:00:19 UTC |
a51b693 | Jonas Rembser | 22 January 2023, 22:05:51 UTC | [RF] Explicit `BatchMode("off")` in testRooSimultaneous if needed There was an obvious place in a unit test where `BatchMode("off")` was required in createNLL, because the created NLL was compared to another one with `BatchMode("cpu")`. | 24 January 2023, 07:00:19 UTC |
766af81 | Jonas Rembser | 12 January 2023, 18:30:15 UTC | [RF] Refactor genContext generation in RooSimultaneous In the `RooSimultaneous::genContext` function, the logic that figures out which `RooAbsGenContext` implementation to instantiate needs to know the list of all category components. The way to figure this out depends on the type of the index category, and this logic is also reused in the `RooAbsGenContext` implementations for the RooSimultaneous. That's why it is now factored out into a protected function called `RooSimultaneous::flattenCatList()`. | 24 January 2023, 07:00:19 UTC |
6940e41 | Jonas Rembser | 12 January 2023, 17:41:10 UTC | [RF] Make genContext functions of RooSimultaneous public Plus some code modernization of the gen context implementations | 24 January 2023, 07:00:19 UTC |
26fb84a | E. G. Patrick Bos | 19 January 2023, 19:18:15 UTC | [math] KahanSum release notes | 24 January 2023, 07:00:19 UTC |
66484a4 | E. G. Patrick Bos | 18 January 2023, 16:28:35 UTC | [math] KahanSum: add operator== and !=, add += doxygen note | 24 January 2023, 07:00:19 UTC |
89c8b32 | Philippe Canal | 20 January 2023, 15:46:10 UTC | [NFC] Extend TDirectoryAtomicAdapter comments | 23 January 2023, 12:44:31 UTC |
b84cef7 | Alja Mrak Tadel | 06 January 2023, 19:23:56 UTC | Check empty pointset in REvePointSetProjected::UpdateProjection | 23 January 2023, 07:13:37 UTC |
9ce042f | Alja Mrak Tadel | 06 January 2023, 19:26:54 UTC | Correction in BuildRenderData: Use local TGeoManger when create TGeo shape | 23 January 2023, 07:13:37 UTC |
ec8798a | will buttinger | 20 January 2023, 11:48:07 UTC | [RF] RooProduct schema-evolved i/o bug fix Handle case where p0 or p1 are null -> ensure not null by time expectProxyIs is called. | 22 January 2023, 20:01:50 UTC |
6045df2 | Jonas Rembser | 19 January 2023, 17:31:33 UTC | [math] Delete copying of `TFoamCell` The docs said explicitly to not use the copy constructor and the copy assignment, so these operators should be deleted, as well as moving. | 22 January 2023, 20:01:50 UTC |