e846415 | Axel Naumann | 28 July 2022, 18:04:51 UTC | "Update ROOT version files to v6.26/06." | 28 July 2022, 18:04:51 UTC |
73093ce | Axel Naumann | 28 July 2022, 18:02:08 UTC | [relnotes] Release v6.26/06. | 28 July 2022, 18:02:08 UTC |
97f311c | Vincenzo Eduardo Padulano | 26 July 2022, 21:09:02 UTC | [DF][NFC] Adapt tests to new logic | 27 July 2022, 10:47:40 UTC |
23a2b30 | Vincenzo Eduardo Padulano | 26 July 2022, 21:06:20 UTC | [DF] Fix reading wrong entries of friend trees in distributed mode Change creation of the dataset in each distributed task from TChain+TentryList to RDatasetSpec. Fix friend alignment issues by constructing the dataset specification with a range of entries that is global w.r.t. the full list of files specified by the user. This is only needed in case there are actually friend trees. Fixes https://github.com/root-project/root/issues/10872 for v6.26 | 27 July 2022, 10:47:40 UTC |
256c7b2 | Jonas Rembser | 22 July 2022, 11:45:36 UTC | [RF] Correctly set plot titles in the RooLagrangianMorphFunc tutorials The title for the x-axis of the first plot should be `"p_{T}^{V}"` and not `"c_{Hq^{(3)}}"`. Also, the title for the observable is changed to `"p_{T}^{V}"` to get the right axis label for the x-axes of the plots. | 27 July 2022, 09:29:02 UTC |
aa7be2a | Jonas Rembser | 22 July 2022, 11:38:25 UTC | [RF] Create dictionaries for RooLagrangianMorphFunc::Config This is to enable IO for the RooLagrangianMorphFunc. | 27 July 2022, 09:29:02 UTC |
28efa05 | Jonas Rembser | 22 July 2022, 11:34:40 UTC | [RF] Remove unnecessary data members from RooLagrangianMorphFunc This commit removes the `_curNormSet` and `_ownParameters` member variables from the RooLagrangianMorphFunc. The `_ownParameters` was simply unused, and the `_curNormSet` was redundant because there is already `RooAbsReal::_lastNSet` that also points to the current normalization set. Now, the `RooLagrangianMorphFunc::getValV()` can also be removed because the sole purpose was to set `_curNormSet`, and also the private `RooLagrangianMorphFunc::getCache()` interface can be changed to take no normSet parameter (as it was unused anyway). The `RooLagrangianMorphFunc::_cacheMgr` declaration is also moved to the bottom of the file together with the other member variables. | 27 July 2022, 09:29:02 UTC |
af4ff8e | Jonas Rembser | 21 July 2022, 17:26:52 UTC | [RF] Skip out-of-range events in RDataFrame to RooDataSet Helper The RDataFrameHelper should be consistent with creating a RooDataSet from a TTree, meaning out-of-range events should be skipped. This is implemented in this commit, borrowing the logic from `RooTreeDataStore::loadValues()`. A unit test is also implemented. The previous logic of just taking just all values to fill the dataset was very dangerous, because these values then clipped to the RooRealVar limits and biased the number of events observed at the boundaries. Closes #11017. | 27 July 2022, 09:29:02 UTC |
977a368 | Jonas Rembser | 15 July 2022, 11:55:54 UTC | [RF] Fixup to parameter index calculation in ParamHistFunc Last year, with commit 3657e7c, the parameter index calculation was changed to be on the fly instead of using a look-up map, which is much faster. However, the implemented formula was not correct for two or three dimensions, which is fixed by this commit. To make sure that the index computation is correct this time, the new code was tested in this code snippet with various inputs: ```C++ void runTest(int nx = 42, int ny = 42, int nz = 42) { const int nxy = nx * ny; const int nyz = ny * nz; for (int i = 0; i < nx; ++i) { for (int j = 0; j < ny; ++j) { for (int k = 0; k < nz; ++k) { const int index = k + j * nz + i * ny * nz; const int gammaIndex = i + j * nx + k * nx * ny; const int i2 = index / nyz; const int tmp = index % nyz; const int j2 = tmp / nz; const int k2 = tmp % nz; const int gammaIndex2 = i2 + j2 * nx + k2 * nxy; if (gammaIndex2 != gammaIndex) { std::cout << "The unraveled indices were not correct!" << std::endl; return; } } } } } ``` Needs to be backported to the 6.26 branch to get into the 6.26.06 patch release. This commit the following problem reported on the forum: https://root-forum.cern.ch/t/cpycppyy-segfault-on-mac-m1/50822 | 27 July 2022, 09:29:02 UTC |
f1f2fd5 | Rahul Balasubramanian | 16 February 2022, 21:04:57 UTC | [RF] Cleanup RooLagrangianMorphFunc | 27 July 2022, 09:29:02 UTC |
c897197 | Ivan Kabadzhov | 26 July 2022, 08:40:27 UTC | [skip-ci][DF] Hide the RDatasetSpec (v6-26-06) Co-authored-by: Vincenzo Eduardo Padulano <v.e.padulano@gmail.com> | 26 July 2022, 21:11:26 UTC |
ab6464b | Ivan Kabadzhov | 25 July 2022, 16:29:47 UTC | [DF] Introduce the RDatasetSpec as internal in v6-26-06 | 26 July 2022, 21:11:26 UTC |
4a841d4 | Ivan Kabadzhov | 29 June 2022, 15:21:27 UTC | [tree] Fix a typo in RFriendInfo::AddFriend | 26 July 2022, 21:11:26 UTC |
8321fcf | Vincenzo Eduardo Padulano | 28 June 2022, 11:21:12 UTC | [tree] Add interface to add a friend in RFriendInfo | 26 July 2022, 21:11:26 UTC |
69e8dc5 | Vincenzo Eduardo Padulano | 22 July 2022, 13:46:38 UTC | [tree] Fix integer overflow in TEntryList Change signature of methods in TEntryList and derived class that expect an entry index. Usually this is stored as Long64_t, but in `GetEntry` and `GetEntryAndTree` methods this was passed as `Int_t` leading to integer overflows. Fixes https://github.com/root-project/root/issues/11026 | 25 July 2022, 15:15:52 UTC |
c0cd77f | Enrico Guiraud | 22 July 2022, 21:01:19 UTC | [DF] Avoid processing the same vector element twice Co-authored-by: Axel Naumann <Axel.Naumann@cern.ch> | 24 July 2022, 03:23:08 UTC |
54952f6 | Enrico Guiraud | 22 July 2022, 20:53:19 UTC | [NFC][DF] Add a comment Co-authored-by: Axel Naumann <Axel.Naumann@cern.ch> | 24 July 2022, 03:23:08 UTC |
b479f25 | Enrico Guiraud | 20 July 2022, 09:41:44 UTC | [DF] Add missing size branches for array branches in jitted Snapshot Even when users do not specify them explicitly, we now add size branches required by array branches to the list of branches that will be written out by a Snapshot. | 24 July 2022, 03:23:08 UTC |
f476931 | Enrico Guiraud | 11 July 2022, 10:25:48 UTC | [NFC][DF] Improve some comments | 24 July 2022, 03:23:08 UTC |
a17d60e | Enrico Guiraud | 08 July 2022, 13:16:36 UTC | [DF] Assert that all size branches required are being written out Sometimes, when users specify an explicit list of columns to be written out by a Snapshot, they might forget to list the names of branches the store the sizes of array branches (e.g. `sz` for a branch `x` with leaflist `x[sz]/F`). We now explicitly check for this case and provide a (hopefully) helpful error message. | 24 July 2022, 03:23:08 UTC |
4b32635 | Enrico Guiraud | 07 July 2022, 16:53:06 UTC | [DF] Fix snapshot of array branch with out-of-order size branch This commit fixes #10920 and #6932. | 24 July 2022, 03:23:08 UTC |
b3ac21d | Enrico Guiraud | 07 July 2022, 16:51:18 UTC | [DF] Test Snapshot of array branches with missing size branches See also https://github.com/root-project/root/issues/10920 and https://github.com/root-project/root/issues/6932. | 24 July 2022, 03:23:08 UTC |
b2068ec | Enrico Guiraud | 29 March 2022, 12:05:55 UTC | [DF] Warn in case of broken leaflist in Snapshot | 24 July 2022, 03:23:08 UTC |
e5e00d0 | Enrico Guiraud | 29 March 2022, 12:02:52 UTC | [DF] Only construct leaflist when needed Avoid doing useless work. | 24 July 2022, 03:23:08 UTC |
fe4985b | Ivan Kabadzhov | 20 July 2022, 16:03:08 UTC | [DF] Add a unit test to check jitted filters | 21 July 2022, 13:56:00 UTC |
1d8125c | Ivan Kabadzhov | 20 July 2022, 15:49:07 UTC | [DF] Fix regex substitution in code to jit | 21 July 2022, 13:56:00 UTC |
2b97cc3 | Bertrand Bellenot | 20 July 2022, 08:03:04 UTC | [v6-26][backport] Use quotes around PATHs. Should fix #10759 | 20 July 2022, 12:40:56 UTC |
611815f | Sergey Linev | 20 July 2022, 06:42:54 UTC | Require nlohmann_json 3.9 version also for fail-on-missing build | 20 July 2022, 12:36:01 UTC |
3a70cd5 | Jonas Rembser | 06 July 2022, 14:30:32 UTC | [RF] Register the RooFitDriver's topNode as a server to driver wrapper The top node evaluated by the RooFitDriver is now registered as the single value server of the RooAbsArg that wraps the driver. Like this, the compiled computation graph used by the RooFitDriver is not hidden anymore and can be visualized and analyzed by users. | 19 July 2022, 09:19:47 UTC |
b8e09a1 | Jonas Rembser | 06 July 2022, 14:23:00 UTC | [RF] Replace constrained ProdPdfs with unconstrained pdf in BatchMode When the computation graph is reversibly compiled for the RooFitDriver, any RooProdPdf that was used to combine an actual pdf with some constraint terms is replaced with the actual pdf. This can be done because the constraints were extracted and put in the RooConstraintSum that is added to the likelihood. The advantage of doing this is twofold: * More accurate visualization for likelihood computation graphs, as the constraints are now only connected to the RooConstraintSum and not the ProdPdfs that actually don't use them in the likelihood context. * Some speedup for models with constraints (like HistFactory), because there is one less dummy computation graph node per channel (no RooProdPdf that only multiplies one element) | 19 July 2022, 09:19:47 UTC |
a0259dc | Jonas Rembser | 06 July 2022, 14:17:44 UTC | [RF] Remove old RooAbsArg::_allBatchesDirty and RooAbsPdf::getNormSet These protected members were used some time ago for the implementation of the old batch mode, but they are not used anymore and should be removed. In particular, it was dangerous to still have `RooAbsPdf::getNormSet()` around, because it returns the `_normSet` member, for which it is hard to predict what it actually points to and it should not be used outside of the `RooAbsPdf::getValV()` implementation. | 19 July 2022, 09:19:47 UTC |
18d5e19 | Jonas Rembser | 06 July 2022, 14:10:42 UTC | [RF] Don't register constraints norm. set as proxy for RooConstraintSum The normalization set for the constraints should not registered as a value server for RooConstraintSum. This is wrong, because if the value of a variable in the normalization set changes, it doesn't change it's integral. In particular, it is confusing when visualizing and analyzing the computation graph of a likelihood: there should be no direct connection between the RooConstraintSum and the global observables (which are used as norm. set for the RooConstraintSum). A schema evolution rule to convert old RooConstraintSums is also implemented, however this will probably not be used a lot because RooConstraintSum is an implementation detail for likelihood objects, which usually don't get stored in RooWorkspaces. | 19 July 2022, 09:19:47 UTC |
857e0bd | Jonas Rembser | 06 July 2022, 14:07:20 UTC | [RF] Set prefixed observables in RooNLLVarNew to constant In simultaneous fits, each channels RooNLLVarNew has a different observable variable, prefixed with the channel name. As the observables with prefix didn't appear in the original dataset, they were thought to be parameters by the minimizer. Setting these variables constant fixes that problem. This commit also applies the code formatting to `RooNLLVarNew.cxx` that was missed when likelihood offsetting was implemented. | 19 July 2022, 09:19:47 UTC |
4ce421b | MichelDC | 08 July 2022, 16:47:41 UTC | [RF] RooBarlowBeestonLL: avoid removing RooArgSet elements in iteration Avoid removing elements of `RooArgSet` in `RooBarlowBeestonLL` while looping over them. This was broken since ROOT v6.18, after `RooAbsCollection` was moved to `std::vector` . This (re)enables the analytical treatment of statistical uncertainties in bins with the Barlow-Beeston-Lite procedure. Related forum post: https://root-forum.cern.ch/t/problems-with-histfactory-and-beeston-barlow-light-statistical-uncertainty | 19 July 2022, 09:19:47 UTC |
595da97 | zewolffs | 27 June 2022, 08:44:03 UTC | fix: select only subset of observables relevant for pdf | 19 July 2022, 09:19:47 UTC |
d79644e | Zeff020 | 01 June 2022, 08:41:26 UTC | Cache-and-tracking in teststatistics likelihoods Co-authored-by: Jonas Rembser <jonas.rembser@cern.ch> Co-authored-by: Patrick Bos <egpbos@gmail.com> | 19 July 2022, 09:19:47 UTC |
56df9b2 | Jonas Rembser | 03 July 2022, 00:49:22 UTC | [RF] Correctly sync proxy normalization sets in `RooAddPdf::getValV()` When getValV() was directly implemented in RooAddPdf, it was missed to copy-paste the part from RooAbsPdf::getValV() where the normalization sets for the proxies was synced. A unit test with the reproducer for an issue caused by missing the syncing is also introduced with this commit, involving the SPlot from RooStats. Fixes #10869. | 19 July 2022, 09:19:47 UTC |
4eb276b | Jonas Rembser | 26 June 2022, 12:31:14 UTC | [RF] Improve RooStats::HistFactory::PreprocessFunction class Some improvements are made to the `PreprocessFunction` class: * add `const` to all the relevant member functions * remove the `fCommand` member, because it can be inferred from the other 3 members and it should not be set independently * use `std::string` by const-reference when possible * follow the RooFit coding style of using lower-case vor function argument names Furthermore, a bugfix is also done: * in `PreprocessFunction::PrintXML`, replace the XML special characters which almost always appear in any formula with the XML escape codes The bugfix addresses a problem where it was not possible to read an XML generated by `Measurement::PrintXML` because the special characters in the formula expression were not properly escaped. With all these changes applied, the source files for this class changed almost completely, and this opportunity was taken to reformat the code with the ROOT `clang-format` style. Closes #10840. | 19 July 2022, 09:19:47 UTC |
1fe8bf2 | Sergey Linev | 07 July 2022, 07:47:06 UTC | Fix bug in TLatex::Copy method TAttLine::Copy was using wrong cast for target object. As a result, line attributes were overwriting some base TObject members | 08 July 2022, 06:02:10 UTC |
ff66bf2 | Bertrand Bellenot | 07 July 2022, 13:09:24 UTC | [skip-ci][win] Fix thisroot.bat Fix correct substring length when setting ROOTSYS | 07 July 2022, 14:26:39 UTC |
e34333b | Bertrand Bellenot | 07 July 2022, 12:06:16 UTC | [skip-ci] Fix an issue with `root-config --has-whatever` (#10922) (#10923) * Fix an issue with `root-config --has-whatever` Fix an issue with `root-config --has-whatever` as described on the forum: https://root-forum.cern.ch/t/tpythia8-h-file-not-found/50682 The `all_features` list in the `root-config` script was empty when installing it (but was OK in the build directory) * [skip-ci] Fix the comment | 07 July 2022, 12:06:16 UTC |
842a5a0 | Bertrand Bellenot | 06 July 2022, 08:11:14 UTC | Fix generation of G__NetxNG.cxx in paths with special characters (#10900) * Fix generation of G__NetxNG.cxx in paths with special characters Fix generation of `G__NetxNG.cxx` in paths with special characters, as described on the forum: https://root-forum.cern.ch/t/6-26-04-build-error-in-debian-bullseye/50412 * Update cmake/modules/RootMacros.cmake Co-authored-by: Axel Naumann <Axel.Naumann@cern.ch> Co-authored-by: Axel Naumann <Axel.Naumann@cern.ch> | 06 July 2022, 10:40:11 UTC |
f39ce31 | Bertrand Bellenot | 08 June 2022, 09:30:57 UTC | Update the freetype library from 2.6.1 to 2.12.1 This fixes the graphics with the latest Visual Studio 2022 (17.2) | 01 July 2022, 12:47:52 UTC |
e49d03c | Sergey Linev | 29 June 2022, 10:48:20 UTC | [civetweb] use EVP_Digest only for OPENSSL 3.0 Keep old code for Windows and older SSL versions | 30 June 2022, 06:02:35 UTC |
9bf584b | Jonas Rembser | 11 April 2022, 16:13:32 UTC | Using higher-level wrapper of OpenSSL SHA1 hash function in civetweb This is to get rid of deprecation warninigs when building on Ubuntu 22.04. Should cause no backwards compatibility poblems, as the functions that are used now are around at least since OpenSSL 1.0.2: https://www.openssl.org/docs/man1.0.2/man3/EVP_DigestInit_ex.html This patch was already applied to upstream civet: https://github.com/civetweb/civetweb/pull/1072 | 30 June 2022, 06:02:35 UTC |
02b2af7 | Sergey Linev | 23 June 2022, 11:03:22 UTC | [cmake] set minimal nlohmann/json version to 3.9 Avoid potential problems with other older nlohmann version like 3.6 | 28 June 2022, 13:38:09 UTC |
0e14a10 | Jonas Rembser | 10 June 2022, 19:25:35 UTC | [RF] Implement likelihood offsetting in new RooFit BatchMode This is necessary to make the more complicated fits converge, like the ATLAS Higgs combination fits. | 23 June 2022, 12:14:11 UTC |
394be33 | Jonas Rembser | 21 June 2022, 20:14:41 UTC | [RF] Initialize new `std::size_t` members in RooAbsArg and RooRealVar | 23 June 2022, 12:14:11 UTC |
ecb87db | Jonas Rembser | 20 June 2022, 13:40:07 UTC | [RF] Check for empty span in `roofit/batchcompute` Batches constructor | 23 June 2022, 12:14:11 UTC |
37d7838 | Jonas Rembser | 14 June 2022, 18:31:58 UTC | [RF] Fix segmentation fault in BatchMode with multithreading There was a segmentation fault in the RooFit batch mode with multithreading that happened when there were too many threads for the number of events to be calculated. This caused a `std::size_t` underflow in this line: ```C++ // roofit/batchcompute/src/RooBatchCompute.cxx batches.setNEvents(nEvents - idx * batches.getNEvents()); ``` And then the computation tried to access entries that were out of bounds. This commit adds one more line to reset the number of threads to how many are needed. Like this we avoid the underflow and also spawing unnecessary threads. | 23 June 2022, 12:14:11 UTC |
c93087d | Jonas Rembser | 14 June 2022, 14:22:35 UTC | [RF] Change which stressRooFit tests are declared as `longtest` Before, the interpreted tests were not declared as longtests, and the compiled versions were not. This is now flipped, such that the compiled BatchMode CPU and CUDA tests are also run without `longtest`. | 23 June 2022, 12:14:11 UTC |
e1d5682 | Jonas Rembser | 13 June 2022, 11:01:12 UTC | [RF] Avoid operator `delete` in HistoToWorkspaceFactoryFast Some code modernization of HistoToWorkspaceFactoryFast with smart pointers. | 23 June 2022, 12:14:11 UTC |
a45b08f | Jonas Rembser | 12 June 2022, 08:12:06 UTC | [RF] Fix wrong deletion of arg in workspace when using `AddShapeFactor` After iterating over the shape factors and filling a temporary vector of `ParamHistFunc` pointers that all point to args in the proto workspace, there was another iteration over this vector, importing the objects again into the workspace that are already in it. The problem was that the original objects were then deleted, but since they were already in the workspace the workspace contents were deleted, which caused segfaults down the line. | 23 June 2022, 12:14:11 UTC |
dfeeae5 | Jonas Rembser | 10 June 2022, 15:45:19 UTC | [RF] Change buffer management in BatchMode such that queues get cleared Change the buffer management in the new RooFit BatchMode such that queues get cleared when the RooFitDriver gets destructed. Like this one avoids the steady increase in memory that one would get when doing different fits in one go with different numbers of events, such as in test suites or MC studies with extended models. | 23 June 2022, 12:14:11 UTC |
269428e | Jonas Rembser | 01 June 2022, 23:29:34 UTC | [RF] Some batch mode performance optimizations | 23 June 2022, 12:14:11 UTC |
6855137 | Jonas Rembser | 30 May 2022, 19:31:54 UTC | [RF] Move the RunContext again out of `batchcompute` and use it less | 23 June 2022, 12:14:11 UTC |
ce9ed6c | Jonas Rembser | 21 May 2022, 00:43:16 UTC | [RF] Completely avoid `std::map` data members in RoFitDriver | 23 June 2022, 12:14:11 UTC |
94bb2ec | Jonas Rembser | 20 May 2022, 23:00:56 UTC | [RF] Use a standard vector based data map in the BatchMode | 23 June 2022, 12:14:11 UTC |
65c4bbd | Jonas Rembser | 18 May 2022, 00:21:45 UTC | [RF] Make less use of the nodeInfos map also in RooFitDriver CUDA mode | 23 June 2022, 12:14:11 UTC |
b58c2f6 | Jonas Rembser | 17 May 2022, 19:43:07 UTC | [RF] Various more BatchMode optimizations | 23 June 2022, 12:14:11 UTC |
7f57a7d | Jonas Rembser | 10 May 2022, 13:06:11 UTC | [RF] Avoid expensive `dynamic_casts` in RooFit driver | 23 June 2022, 12:14:11 UTC |
faf7bdc | Jonas Rembser | 03 May 2022, 23:19:32 UTC | [RF] Don't reevaluate nodes unnessesarily in RooFitDriver (CPU mode) This is achieved by adding a new `RooRealVar` member to track how often its value was reset. | 23 June 2022, 12:14:11 UTC |
a3591a3 | Jonas Rembser | 03 May 2022, 02:43:04 UTC | [RF] Speed up `fillNormSetForServer` and optimize NormalizationHelper This change is necessary to avoid unreasonable overhead for large computation graphs. | 23 June 2022, 12:14:11 UTC |
ca4fb65 | Jonas Rembser | 10 May 2022, 11:38:07 UTC | [RF] Implement binned fit optimization in the RooFit batch mode | 23 June 2022, 12:14:11 UTC |
798bc11 | Sergey Linev | 22 June 2022, 06:18:38 UTC | [webgui] increase startup time of ping test On some platforms first start of web browser takes longer than 15 s. Make it now 70 s. | 22 June 2022, 10:40:50 UTC |
1e90bfc | Fons Rademakers | 21 June 2022, 08:28:03 UTC | Disable brotli support feature in Freetype for macOS. (#10770) | 21 June 2022, 13:22:46 UTC |
2cdd617 | Matthew Feickert | 09 June 2022, 16:15:59 UTC | [cmake] Update XRootD to v5.4.3 * Update XRootD builtin from v5.4.2 to v5.4.3 - c.f. https://github.com/xrootd/xrootd/releases/tag/v5.4.3 * Follow up to https://github.com/root-project/root PR 10025 | 21 June 2022, 05:58:01 UTC |
d63023f | Olivier Couet | 20 June 2022, 08:35:37 UTC | qch file is built only for master. (#10782) | 20 June 2022, 08:35:37 UTC |
cbe71e9 | Bertrand Bellenot | 17 June 2022, 10:15:13 UTC | Replace __x86_64__ by R__x86_64__ on Win64 Replace `__x86_64__` by `R__x86_64__` on Win64 to prevent possible conflicts, as [reported on the forum](https://root-forum.cern.ch/t/preprocessor-macro-x86-64-problem-with-clhep-on-windows/50431) | 17 June 2022, 13:10:51 UTC |
835cc45 | Bertrand Bellenot | 15 June 2022, 11:57:02 UTC | [win] Fix installation of root-config.bat and thisroot.ps1 | 17 June 2022, 06:32:16 UTC |
3f6957d | moneta | 07 June 2022, 10:28:44 UTC | [TMVA] Fix printout message in MethodCategory::GetMvaValue | 13 June 2022, 12:45:51 UTC |
297af71 | Axel Naumann | 07 June 2022, 16:09:23 UTC | [relnotes] Bump date. | 07 June 2022, 16:09:23 UTC |
01c4cfd | Axel Naumann | 07 June 2022, 16:06:06 UTC | "Update ROOT version files to v6.26/05." | 07 June 2022, 16:06:06 UTC |
82fc2dc | Axel Naumann | 07 June 2022, 15:59:39 UTC | "Update ROOT version files to v6.26/04." | 07 June 2022, 15:59:39 UTC |
8256d5d | Axel Naumann | 07 June 2022, 15:56:57 UTC | [relnotes] Update for 6.26/04. | 07 June 2022, 15:56:57 UTC |
bc9afb3 | Enrico Guiraud | 04 June 2022, 10:15:31 UTC | [DF] Fix invalid reads in Vary with many variations and multiple columns When varying multiple columns simultaneously, RVariation was destroying and re-creating the per-column RVecs of varied values at every entry, which resulted in a change in the address of the varied values between entries, which caused invalid reads on the part of the RVariationReader (which assumes the addresses of varied values are stable). The issue was hidden by RVec's small buffer optimization, which was keeping addresses stable as long as the number of variations fit the small buffer. A regression test has been added. | 04 June 2022, 13:16:26 UTC |
6b11c23 | Enrico Guiraud | 03 June 2022, 15:33:57 UTC | [DF] Fix potential invalid memory access when using Vary Users can vary a single column or multiple columns simultaneously. In the latter case, RVariation::fLastResults contains, for each processing slot, an RVec of RVecs of results where the outer dimension runs over the different columns and the inner one over the varied values of each column. Before this commit, RVariation was initializing fLastResults to the wrong size in the case of multiple columns varied simultaneously, which ended up causing invalid memory accesses during the event loop in some cases. This patch fixes the problem and adds a regression test. | 04 June 2022, 13:16:26 UTC |
dfa7cc3 | Enrico Guiraud | 03 June 2022, 13:20:48 UTC | [DF] Fix crash with jitted Define and non-jitted Vary Sanity checks for a non-jitted Vary asked the nominal Define'd columns static type information that a jitted Define did not have. With this patch RJittedDefine should also have that type information in most if not all cases. | 04 June 2022, 13:16:26 UTC |
15eceb4 | Enrico Guiraud | 03 June 2022, 12:32:42 UTC | [DF] Add test for jitted Define+non-jitted Vary type checking | 04 June 2022, 13:16:26 UTC |
296857d | Axel Naumann | 16 May 2022, 11:49:40 UTC | [cmake] Use lcgpackages@cern, rather than unstable github: hashes are not stable when downloading release sources from github, see https://security.stackexchange.com/a/240209 https://github.com/root-project/root/issues/10503 (cherry picked from commit 8f05559cb9d74e5bc6c65bbd39a0dce82b18a3eb) | 02 June 2022, 20:12:00 UTC |
1f4dc01 | Axel Naumann | 20 May 2022, 14:27:25 UTC | [cmake] Bump Vc to 1.4.3; fixes macOS warnings: the patch is now included in the release; remove it. (cherry picked from commit 8e6f7236bc02d28cd5d767fc3d1462b1da211c64) | 02 June 2022, 20:09:53 UTC |
6d33f1e | Enrico Guiraud | 01 June 2022, 09:21:30 UTC | [DF] Do not create a RVariedAction if there are no variations Before this commit, if users requested `VariationsFor(result)` but `result` did not depend on any variation, we constructed a (no-op) RVariedAction anyway and added it to the computation graph. With this patch we do not add this no-op node to the computation graph if it's not needed. RResultMap had to be taught how to deal with this case. | 01 June 2022, 22:31:42 UTC |
925f8ae | Chris Burr | 10 May 2022, 06:48:13 UTC | Fix running with macOS 12.0+ SDK after building with an older SDK When building with a macOS SDK before 12.0 and running with 12.0+ the validation of private modulemaps fails due to a change in layout. This change disables the check when DisablePCHValidation is active. (cherry picked from commit 85c757ad962e609779dcf8171e37cf70f611d238) | 31 May 2022, 06:21:57 UTC |
9debd9a | Jonas Rembser | 22 May 2022, 00:35:06 UTC | [RF] Implement extended fits in subrange in new BatchMode Extended fits in a subrange didn't work so far in the new BatchMode, because the term that scales down the number of expected events to the subrange was missing. This is implemented with this commit. To make that happen, the interface of `RooAbsPdf::extendedTerm()` was extended by an overload that accepts the number of expected events directly, so they can be scaled down by the caller before. The `testSumW2Error` unit test was extended to cover also extended fits in subranges, also with the SumW2 correction enabled. | 31 May 2022, 01:51:47 UTC |
f49d822 | Jonas Rembser | 21 May 2022, 17:15:24 UTC | [RF] Use BatchMode also in RooMCStudy tests in `stressRooFit_tests` With some recent updates to the RooFit BatchMode, it can now also be activated for the RooMCStudies in `stressRooFit_tests` as the fit results are the same. | 31 May 2022, 01:51:47 UTC |
2dee0a7 | Jonas Rembser | 20 May 2022, 11:21:35 UTC | [RF] Synchronize NLL computation in BatchMode with the scalar mode NLL The BatchMode gave different results and went throught different minimization paths when the recovery from undefined regions was involved, because it was implemented a bit differently. This commit updates the RooNLLVarNew to do exactly the same computations as the original RooNLLVar in scalar mode to avoid any differences caused by this. | 31 May 2022, 01:51:47 UTC |
dd04c48 | Jonas Rembser | 21 May 2022, 17:04:56 UTC | [RF] Drop zero-weight entries when filling data map in BatchMode The RooFit BatchMode had a bug in case of zero-weight events. The scalar mode doesn't evaluate the pdf for zero-weight entries, so if the pdf is undefined at this point it doesn't matter and no error is logged to force the minimizer out of that region. In the batch mode, these zero weight entried need to be skipped when filling the data map, such that they don't get evaluated and cause false errors. | 31 May 2022, 01:51:47 UTC |
45f34e2 | Jonas Rembser | 18 May 2022, 15:34:26 UTC | [RF] Correctly implement additional dataset feature in HistFactory In HistFactory, the presence of a `Channel::GetAdditionalDatas` function hinted to the possibility of defining additional datases for a HistFactory model, besides the nominal observations dataset named `"obsData"`. When reading a user-generated HistFactory XML, the additional datasets were in fact read into the `Channel::fAdditionalData` member, and corresponding RooDataSets were created in the per-channel proto workspaces. However, when defining the Measurement object in C++ and dumping the XML via `PrintXML`, the additional datasets were not considered. They were also not considered when merging the datasets in the per-channel proto workspaces into the simultaneous dataset. This commit suggests to implement this correctly. Now, one can define additional datasets as follows in the XML: ```xml <Data HistoName="data" InputFile="data/example.root" HistoPath="" Name="addData"/> ``` If there is no `Name` tag, the RooDataSet in the workspace will use the `HistoName` as its name. Closes #10538. | 31 May 2022, 01:51:47 UTC |
a7b3e15 | Jonas Rembser | 09 May 2022, 22:35:42 UTC | [RF] Some code cleaning and modernization in HistFactory | 31 May 2022, 01:51:47 UTC |
8e96b52 | Enrico Guiraud | 26 May 2022, 18:29:51 UTC | [DF] Do not duplicate work for nominal case when variations are present With this patch, RResultMap points to the one and only nominal result and we do not duplicate work for the nominal value (i.e. we don't handle the nominal case in RVariedAction anymore). | 30 May 2022, 19:35:49 UTC |
0f9b172 | moneta | 17 May 2022, 14:45:12 UTC | [TMVA][SOFIE] Add header guards to the include file generated by SOFIE This fixes #10586 | 25 May 2022, 07:54:40 UTC |
aeabc14 | Sergey Linev | 24 May 2022, 12:20:28 UTC | Add missing TClass.h include in NormalizationHelpers.cxx | 25 May 2022, 07:15:00 UTC |
7615aed | moneta | 27 January 2022, 15:09:42 UTC | Disable a warning compiling unuran code. The warning was observed on fedora32 with gcc 10.3.1 Warning: root/src/methods/mvtdr_init.ch:886:17: warning: argument 1 value ‘18446744073709551608’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=] 886 | GEN->etable = malloc( size * sizeof(E_TABLE*) ); It can be fixed by casting to an int the input to malloc or checking if it is not larger than 2^63-1 This warning could be probably disabled in the code by casting from size_t to int the input to malloc | 24 May 2022, 17:57:38 UTC |
d10fd75 | Chris Jones | 24 May 2022, 15:05:36 UTC | Minor Geometry optimization [v6-26] (#10642) * Return node created in AddNode call * Allow skipping of voxelization in CloseGeometry call | 24 May 2022, 15:05:36 UTC |
9230e5a | Sergey Linev | 24 May 2022, 10:42:34 UTC | [jsroot] correctly cleanup canvas painter Also add TGraph point index to tooltip | 24 May 2022, 12:06:05 UTC |
c4a2c9e | Enrico Guiraud | 19 May 2022, 22:21:44 UTC | [DF] Reuse nominal Defines whenever possible Due to faulty logic, we were using different RDefine objects for each systematic variation even if the define itself did not depend on the systematic variation under consideration. | 20 May 2022, 16:47:11 UTC |
23a1523 | Enrico Guiraud | 18 May 2022, 08:53:19 UTC | [DF] Do not ask cling a typeid if it does not know the type Before this patch, in order to assert that the column type returned by a Vary expression matched the type of the column we always asked cling to provide a type id for the existing column via TypeName2TypeID(GetColumnType(colName)). That failed if the column had a type not known to the interpreter, e.g. because it was Define'd and the expression returned a user-defined type. With this patch we use the typeid information coming from the RDefine node if it is available, otherwise we try with cling. | 20 May 2022, 16:47:11 UTC |
261a58a | Enrico Guiraud | 09 May 2022, 08:52:26 UTC | [DF] Fix wrong downcast in {RRange,RFilter}::GetVariedFilter When previous node of a RRange or RFilter node was a RJittedFilter, we were wrongly downcasting _varied_ filters to the RJittedFilter type, but varied filters are _not_ jitted filters, they are copies of the actual concrete filter. With this patch, if the type of the previous node is RJittedFilter, we treat it everywhere as the generic base class RFilterBase, which fixes the problem and it is consistent with what we already do in RVariedAction. | 20 May 2022, 16:47:11 UTC |
2c3b2d4 | Enrico Guiraud | 09 May 2022, 12:41:33 UTC | [DF] Better error message for Vary+Fill+no Reset method | 20 May 2022, 16:47:11 UTC |
24dab14 | Enrico Guiraud | 09 May 2022, 09:46:48 UTC | [DF] Throw if a varied column is redefined ...because we'd only redefine the _nominal_ value, which would be extremely confusing. | 20 May 2022, 16:47:11 UTC |