swh:1:snp:af87cd67498ef4fe47c76ed3e7caffe5b61facaf

sort by:
Revision Author Date Message Commit Date
f725f78 "Update ROOT version files to v6.26/08." 18 October 2022, 06:52:45 UTC
5f7de51 [RelNotes] v6.26/08. 18 October 2022, 06:50:18 UTC
9e7933c Fix datasource_arrow.cxx test Explicitly include `arrow/testing/builder.h` to make sure ArrayFromVector is available. Probably it was being included implicitly before. (cherry picked from commit 97802b9066ca98c17527949b76b9f070ce676738) 15 October 2022, 20:44:57 UTC
cad4eba gcc12's regex header file relies on a std::vector<int> instance, export it. The C++ modules marks the std::vector<int> instantiation as not visible because it came from the `regex` header file which we did not explicitly include. root-project/root@a785402 introduces checks if certain declaration is visible in dictionary generation time which was intending to semantically improve the coherence by what the user "allowed" (or requested) rootcling to see vs what it can see globally. While this model works well it seems to not work for template instantiations as they won't be re-instantiated with visible modifier. This patch works around the current issue seen with libstdc++ 12 but a better solution would be to implement a finer grained control over the implicit template instatiations when generating a dictionary. Fixes root-project/root#11329 15 October 2022, 20:35:10 UTC
4aafbc6 [backport][tmva][sofie] Backport fixes for SOFIE for PCH - backport fix from #PR 11481 - backport fix from #PR 11545 and also backport fix from the tests #11529 15 October 2022, 17:46:28 UTC
5183004 [tmva][pymva] Fix warning when compiling the tests due to numpy headers 15 October 2022, 17:46:28 UTC
ccdde72 Fix TMVA tutorial using internally pyton for MacOS 12.3 With the new MacOS update python (and python2) is not existing anymore, only python3. Add then a new function TMVA::Python_executable() using ROOT config to determine if ROOT is using python version 2 or 3. In case of 3 returns as executable "python3". Fix also the correct location of the input ONNX file for TMVA_SOFIE_ONNX.C (copying the file at configure time) 14 October 2022, 16:33:36 UTC
d8e254c Fix ROOT-7462 with libstdc++ >= 10 The test autoloads an 'Outer' class that has 'Inner<int>' as a member. Because we suspend autoloading, the 'Inner<int>' specialization may not be complete at all times, which triggers a static_assert in newer versions of libstdc++. Backport of D86765, commit bf890dcb0f; original commit message: --- [clang] Don't emit "no member" diagnostic if the lookup fails on an invalid record decl. The "no member" diagnostic is likely bogus. --- (cherry picked from commit 06fd8e9e798919fdc29d8d6ec65d13d55ea30aa7) 14 October 2022, 09:47:38 UTC
5fe3459 fix display of items in TBrowser that have checkbox against them on mac (with cocoa) 12 October 2022, 12:58:12 UTC
f385b3c Add support for Bulk I/O with SetClusterPrefetch This fixes #8962 The code pattern is similar to 0987896c2d8d49a0e5723ee2ac792eb33fa3ee34 Add infrastructure for sharing memory in a TBuffer. 11 October 2022, 20:16:46 UTC
593719a [RF][PyROOT] Skip out-of-range events in `RooDataSet.from_numpy()` The recently-introduced `RooDataSet.from_numpy()` function was clipping out-of-range events to the variable boundaries instead of clipping them. This behavior was misleading and confusing to the users, because the import of a TTree just skips out out-of-range events. This commit implements the skipping for `RooDataSet.from_numpy()` as well, logging also the same warnings when that happens. A unit test that checks the skipping works correctly for categories and real-valued variables is also implemented. Closes #10447. 11 October 2022, 14:21:15 UTC
0985e6f [RF] Fix invalid `static_cast` in RooTreeDataStore::loadValues In the logging for out-of-range values in `RooTreeDataStore::loadValues`, there was `static_cast<RooAbsReal*>(arg)->getVal()` called also for categories, which is invalid. This led to garbage numbers as here in the tutorial outputs: https://root.cern/doc/v624/rf401__importttreethx_8C.html (see the lines with `Skipping event #2 because i cannot accommodate the value`) 11 October 2022, 14:21:15 UTC
dfdbe42 [RF] Fix corruption of input pdf after using RooStats::SPlots In SPlots, `RooAbsArg::attachDataSet()` is called on the input pdf, redirecting the parameters of the pdf to the RooRealVars in the dataset. This is not reversed, leaving the pdf in a corrupt state when the dataset gets deleted. This can happen in particular if the SPlots object created an owning clone of the dataset, attaches the pdf, and then goes out of scope. This commit suggests to not attach the pdf to the dataset, as it is not necessary. When looping over the dataset and evaluating the pdf later, the pdf variables get synced with the dataset variables anyway. This was done via `RooStats::SetParameters`, which is just a wrapper around `RooAbsCollection::assign()`. I suggest to use `assign()` directly to make more explicit to the reader what happens. Closes Jira issue [ROOT-8018](https://sft.its.cern.ch/jira/browse/ROOT-8018). A simpler reproducer of the problem based on the notebook in the Jira issue is this one: ```Python import ROOT bdt = ROOT.RooRealVar("BDT", "some awesome BDT", 0.0, 1.0) mass = ROOT.RooRealVar("mass", "invariant mass", 5100.0, 5300, "MeV/c^{2}") sigyield = ROOT.RooRealVar("sigyield", "signal yield", 100, 0, 100000) bkgyield = ROOT.RooRealVar("bkgyield", "background yield", 900, 0, 100000) bmassPDF = ROOT.RooGaussian( "bmass", "B mass shape", mass, ROOT.RooFit.RooConst(5200.0), ROOT.RooFit.RooConst(20.0), ) bkgmPDF = ROOT.RooExponential( "bkgmass", "bkg mass shape", mass, ROOT.RooFit.RooConst(-1.0 / 200.0) ) combmPDF = ROOT.RooAddPdf( "fullmasspdf", "full mass pdf", ROOT.RooArgList(bmassPDF, bkgmPDF), ROOT.RooArgList(sigyield, bkgyield), ) toydata = combmPDF.generate(ROOT.RooArgSet(bdt, mass), 10000) ROOT.SetOwnership(toydata, True) set1 = ROOT.RooArgList(sigyield, bkgyield) set2 = ROOT.RooArgList() def make_splot(toydata): smalldata = toydata.reduce(ROOT.RooFit.Cut("BDT>0.0")) ROOT.SetOwnership(smalldata, True) splot = ROOT.RooStats.SPlot( "splot", "splot", smalldata, combmPDF, set1, set2, True, True ) make_splot(toydata) make_splot(toydata) ``` 11 October 2022, 14:21:15 UTC
5568f61 [RF] Fix copy-paste error in RooDataSet::binnedClone The branch when newTitle is `nullptr` should modify the title of the new `RooDataHist` and not its name 11 October 2022, 14:21:15 UTC
d8395fc [DF] Number of rows to display is size_t 10 October 2022, 09:26:56 UTC
8746f75 [DF] Respect the user-provided number of entries to be displayed Fixes #11390 Improves the workflow of `DisplayHelper::Exec` as follows: * The number of entries left to be displayed is now a data member of the action helper, not of RDisplay. * Early exit from the method if there are no more entries to process. * Otherwise, add one row to the display table and decrement by one the data member of the helper. * When there are no more entries to process for the first time, send a signal upstream that work is done for this node of the graph. Co-authored-by: Enrico Guiraud <enrico.guiraud@cern.ch> 10 October 2022, 09:26:56 UTC
7f96bba [DF] Fix event selection in case of Range with stride This fixes #11508. 08 October 2022, 19:53:43 UTC
76d5d84 [DF] Add test for #11508 The previous version of the test did not trigger the issue because of an unfortunate mathematical coincidence. 08 October 2022, 19:53:43 UTC
4b00f30 [RF] Pythonize RooSimultaneous constructor to take Python dictionary The constructor that takes a map of categories to PDFs should be able to accept a Python dictionary directly. The RooFit Python tutorials are covering this constructor, and there is also a dedicated unit test implemented. 07 October 2022, 07:06:03 UTC
c714535 [RF] Fix copy-paste error in `RooFit::Link()` pythonization Obviously the `Link` pythonization should call the original `_Link` function. A unit test that covers the former mistake is also implemented. Closes #11496. 07 October 2022, 07:06:03 UTC
4c8efff Force storing of StreamerInfo for nested non-split but memberwise streamed collection. This fix #11436 04 October 2022, 15:48:32 UTC
33490c1 [cmake] Correct typo in REFLEX_GENERATE_DICTIONARY. This corrects the content of 6efc1684a62d37ccfa582cbbe3605995201ea7cb [cmake] Protect against empty COMPILE_DEFINITIONS in genreflex command 29 September 2022, 12:09:47 UTC
22678b9 [DF][NFC] Update minimum dask version found with cmake The minimum dask version in requirements.txt was updated to 2022.02 by https://github.com/root-project/root/pull/11371. Also update it when looking for a dask installation in the cmake configuration. 28 September 2022, 12:53:12 UTC
9ef5caa [hist] Add protection in case histogram to add does not have fTsumwx and fTsumwx2 arrays with correct size 28 September 2022, 07:10:04 UTC
129cc5a [hist] Resize array of sumwx and sumwx2 in THnBase::Init In THnBase::Init the dimension of the THnBase histogram was changed but the size of the contained arrays needs to be changed as well. 28 September 2022, 07:10:04 UTC
abc67b3 [hist] Fix in THnBase::Add the computation of the running sum The sum of weight, weight square and weigth * x used for statistics computation where not update when adding/merging THnBase classes. This fixes #11333 28 September 2022, 07:10:04 UTC
5f31927 [hist] Fix I/O rule definition for TNDArray's. It should be used 'version` and not `versions`. Also improve the rule to use `vector.reserve` for being more efficient when reading old files. 28 September 2022, 07:10:04 UTC
abe248b [hist] Apply patch for Peter Hristov to fix I/O for older version of TNDArray objects This fixes #10382 28 September 2022, 07:10:04 UTC
d2c8372 [hist] Fix label merge when one axis is numerical and extendable Create a new type of merging, a special case when histogram has an axis with label and one axis can be merge numerically but are compatible. A new test is added also in stressHIstogram for this new case This should fix ROOT-10828 28 September 2022, 07:10:04 UTC
1e81da7 [hist] Fix correct handling of fitting option WW This PR fixes for #11304 The code handling the fitting option is improved separting better options for graphs and for histograms 28 September 2022, 07:10:04 UTC
2d7acfd core: Disable test for already deleted object. On some platform operator delete taints the memory, so even right after the deletion the information stored by ~TObject is already erased. On those platform we no longer rely on the kNotDelete bit hack and rely on the system (which has tainted the memory assumingly for a reason) to detect the use-after-delete problems. Introduce 2 new functions. TObject::IsDestructed (used by TClonesArray) that detects that the destructor has been run and is active in all configuration. This should be used if the code knows that the memory has not been freed/deleted. ROOT::Detail::HasBeenDeleted(TObject*) with returns true if the platform does not taint the memory and if the kNotDeleted is not set (in all other case, it returns false) This fixes #11330 28 September 2022, 00:59:53 UTC
b58e57a [proof] use proper string type to store object name in TProofDraw 27 September 2022, 06:48:28 UTC
4d4c701 [math] Avoid warnings about deleting unallocated objects in `TDecompLU` The logic in `TDecompLU` where a separate `bool` was tracking if a given pointer should be "deleted" caused some compiler errors warnings like: ``` root/math/matrix/src/TDecompLU.cxx: In static member function ‘static Bool_t TDecompLU::InvertLU(TMatrixD&, Double_t, Double_t*)’: root/math/matrix/src/TDecompLU.cxx:883:17: warning: ‘void operator delete [](void*)’ called on unallocated object ‘workd’ [-Wfree-nonheap-object] 883 | delete [] pWorkd; | ^~~~~~ root/src/root/math/matrix/src/TDecompLU.cxx:847:13: note: declared here 847 | Double_t workd[kWorkMax]; ``` This commit proposes to rewrite the logic that there is always a well-defined owning pointer that has to be "deleted" if it's not `nullptr`. 27 September 2022, 06:48:28 UTC
a3c94ea [core] fix nostring warning in TUnixSystem.cxx char ut_host[UT_HOSTSIZE] is marker as __attribute_nonstring__ and therefore cannot be used in operation like strchr or strcat. Therefore copy value into TString first. 27 September 2022, 06:48:28 UTC
4162738 [cmake] Protect against empty COMPILE_DEFINITIONS in genreflex command This applies the change made to ROOT_GENERATE_DICTIONARY in the main branch commit 08ab7e0306 to GENREFLEX_GENERATE_DICTIONARY. This commit in conjunction with 08ab7e0306 fixes #11312. See commit 08ab7e0306 and issue #11312 for more details on the issue and solution. 26 September 2022, 18:41:36 UTC
5bec0c3 [RF] [HS3] Solve HistFactory exporter crashes Fixes crashes is hs3 histfactory by delaying writing to node. The HistFactory exporter tends to crash with "edited" HistFactory pdfs that look like genuine HistFactory upon first inspection but turn out not to be. This PR delays the writing to the node of the JSON structure until after all components have been found and identified, such that the exporter can cleanly abort in case an export with the HistFactory template is not possible. 24 September 2022, 20:46:06 UTC
ac139f0 [RF] Consider all curves for `RooPlot::pullHist` in multi-range fits When plotting a pdf in 2 separate ranges, 2 RooCurve objects are created with the same name . When using pullHist or whatever function of RooPlot accessing the RooCurve by its name, only the last of the two curve can be retrieved. Since RooPlot has no way to access its list of containing objects, apart than given the name, only the RooCurve with the upper range will be used. Code to reproduce the problem: ```Python import ROOT as r ws = r.RooWorkspace("workspace") x = ws.factory("x[-10, 10]") x.setRange("lo", -10, -5) x.setRange("hi", 5, 10) pdf = ws.factory("Gaussian::pdf(x, m1[0], s1[3])") ds = pdf.generate(r.RooArgSet(x), 1000) fr = x.frame() ds.plotOn(fr) pdf.plotOn(fr, r.RooFit.Range("lo,hi")) pull = fr.pullHist() c = r.TCanvas() fr2 = x.frame() fr2.addPlotable(pull, "P") fr2.Draw() ``` This commit suggests to fix the issue by also considering the ranges of all the other curves that have the same name as the first curve that was found. Closes #9741. 24 September 2022, 20:46:06 UTC
638c6b0 [RF] Correctly override `SetName` in RooDataHist and RooDataSet When overriding `SetName` in RooDataHist and RooDataSet, we need to use the function from the direct base class RooAbsData, because this one is already overriding the TNamed function to deal with the RooNameReg correctly. Closes #11414. 24 September 2022, 20:46:06 UTC
e75d553 [RF] Support global observables from data in BatchMode The new BatchMode is adjusted such that the `testGlobalObservables` unit test is passing when always using the BatchMode for fitting. This also means the following adjustments had to be made: 1. Implement resetting of data for the RooFitDriver 2. Always clone the created constraint term, also in the new BatchMode, because the new BatchMode mutates the computation graph and it's not good if the original model is changed 3. Implement the correct treatment of taking global observables from the dataset in the BatchMode 24 September 2022, 20:46:06 UTC
6ed5a4c [RF] Remove low-level RooFitDriver unit test `testRooFitDriver` The `testRooFitDriver` unit test was testing the RooFitDriver at a low level. It became annoying because the RooFitDriver is an implementation detail that is changed quite often, and the test often has changed with it. This commit therefore suggests to remove this unit test, because the RooFitDriver is tested already very widely by all the unit tests that use the new BatchMode. 24 September 2022, 20:46:06 UTC
443267e [RF] Always clone the PDF in RooFit BatchMode `RooAbsPdf::createNLL` Unlike in the old RooFit, the PDF was not cloned in the BatchMode when a likelihood object was created with `RooAbsPdf::createNLL`. This caused trouble in a few places, because changing the state of the NLL changed the state of the original model. Actually, the model was already cloned when a RooSimultaneous was used, and because the cloning is only expensive for large simultaneous models, this change is not expected to have a negative performance impact for realistic workflows. 22 September 2022, 14:07:44 UTC
21d6372 [RF] Consider the `SplitRange` in overlap checks for simultaneous PDFs When the `SplitRange` command arguemnt is used in `RooAbsPdf::createNLL`, the actual range names used for the fit depend on the channel, with the range names suffixed by the category name. This should be considered correctly in the overlap checks. Closes #11396. 22 September 2022, 14:07:44 UTC
18b5673 Fix long long error in findBuiltinType 20 September 2022, 20:00:49 UTC
fdb7f9d Fix #11383 (deadlock at initialization) (#11384) Previously if a message (for example warning of duplicate dictionary) happened during intialization, it would trigger the initialization of gROOT and could trigger a nested Warning. for example due to the duplicate rootmap file entry and would cause a dead lock (recursiverly taking the non recursive lock GetErrorMutex(). 20 September 2022, 16:42:52 UTC
6f07fd4 [RF] Consider `depsAreCond` parameter for conditional fits in BatchMode If a RooProdPdf is created with the `Conditional` command argument to do a conditional fit, there is a flag `depsAreCond` to the command argument that specifies if the passed variable set corresponds to the normalization set of the conditional PDF (default), or the conditional observables. In the new BatchMode, this flag was not considered, which is fixed by this PR. A new unit test that checks that the `depsAreCond` parameter is correctly considered in both the BatchMode and the old RooFit is also implemented, based on the issue reproducer code that was kindly provided by @elusian in #11332. This commit also merges the `testRooProductPdf` and `testRooProdPdf` files, because they are both testing the RooProdPdf. Closes #11332. 20 September 2022, 16:05:52 UTC
63b4421 [RF] Bring back accidentally removed RooEffProd default constructor In ROOT 6.26, the default constructor of the RooEffProd was accidentally removed. This commit is bringing it back, and it also needs to be backported to the 6.26 development branch. Thanks to this forum post for noticing the problem: https://root-forum.cern.ch/t/trouble-with-rooworkspace-since-rooeffprod-default-constructor-is-deleted-in-v6-26/50577 20 September 2022, 16:05:52 UTC
77cbd72 [RF] Fix invalid memory access in RooFitDriver destructor In the `RooFitDriver::NodeInfo` destructor, the data tokens for all nodes are reset. However, if this happens after the destruction of the normalization integrals in the computation graph, it tries to reset the data token for nodes that don't exist anymore. Hence, the data token resetting is better done at the beginning of the RooFitDriver destructor. 20 September 2022, 16:05:52 UTC
bee6b22 [RF] Use less manual memory management in BatchModeHelpers This is not a fix to any issue, just a refactoring to avoid manual memory management in the BatchModeHelpers. 20 September 2022, 16:05:52 UTC
be79d7a [RF] Fix RooSimultaneous parameter redirection in BatchModeHelpers In the BatchModeHelpers that are used to create the NLL object with the BatchMode, the PDF is cloned if it is a RooSimultaneous. After cloning, the cloned parameters are reattached to the original model. However, it should be the other way around because otherwise the original model points to invalid parameter args when the fit is done. 20 September 2022, 16:05:52 UTC
5dae884 [RF] Ensure norm set args are part of the graph in NormalizationHelpers Add the arg from the actual node list in the computation graph. Like this, we don't accidentally add internal variable clones that the client args returned. Looking this up is fast because of the name pointer hash map optimization. This is done because it will prevent crashes in future RooFit developments that yet have to be commited. 20 September 2022, 16:05:52 UTC
8bfc19a [RF] Don't skip zero-weight events by default in new BatchMode The new RooFit batchMode skipped zero-weight events to optimize the likelihood calculation. However, this should not be done in general, because it is unexpected to users is the output of batched computations is not aligned with the original dataset. 20 September 2022, 16:05:52 UTC
4da2a18 [RF] Register function as value server in pass-through RooRealIntegrals In pass through mode, the RooRealIntegral should have registered the function as a value server, because we directly depend on its value. As it is only determined later in the constructor if a given integral is in pass through mode, we also have to delay the construction of the function proxy object now. It's important to do this correctly, because the new BatchMode uses the value server interface to analyze the computation graph. 20 September 2022, 16:05:52 UTC
354ca9e [RF] Make `RooArgProxy::isValueServer()` and `isShapeServer()` public There is no reason to hide these member functions from the user, which are `const` getters to values that the user was setting themselves to begin with. 20 September 2022, 16:05:52 UTC
7f16c31 [RF] Forbid integration of a `RooAbsRealLValue` Integrating a RooAbsRealLValue like a RooRealVar doesn't work in RooFit, which one can check with this code: ```C++ RooRealVar x{"x", "x", 2.0, -5.0, 5.0}; std::unique_ptr<RooAbsReal> xint{x.createIntegral(x)}; xint->Print(); ``` The integral of x from -5 to 5 should be zero, but the integral object only returns the current value of the variable. Some users expect the integral to work, and give the same result as this, which correctly prints out zero: ```C++ RooRealVar x{"x", "x", 2.0, -5.0, 5.0}; RooProduct xId{"xId", "xId", RooArgList{x}}; std::unique_ptr<RooAbsReal> xint{xId.createIntegral(x)}; xint->Print(); ``` This is assumed in two RooFit unit tests: * [testRooWrapperPdf](https://github.com/root-project/root/blob/master/roofit/roofitcore/test/testRooWrapperPdf.cxx#L27) * [testNestedPDFs](https://github.com/guitargeek/roottest/blob/master/root/roofitstats/vectorisedPDFs/testNestedPDFs.cxx#L45) in roottest Both tests **work only by chance** because the stored x value is the same as its integral! As soon as the x value or limits would change, the results don't make sense anymore. As the integration of RooAbsRealLValues never worked correctly and was not used anywhere outside artificial unit tests, this commit suggests so prohibit the integration of RooAbsRealLValues by throwing an exception if `RooAbsRealLValue::createIntegral()` is called. 20 September 2022, 16:05:52 UTC
2dc9bc7 [RF] Small fixups to RooFit BatchModeHelpers * correctly initialize `RooAbsRealWrapper::_ownsDriver` * remove observables from output parameters in `RooAbsRealWrapper::getParameters()` 20 September 2022, 16:05:52 UTC
f2f3f6e [RF] Fix tons of memory leaks in RooLagrangianMorphFunc The RooLagrangianMorphFunc was a desaster concerning memory safety. This commit fixes almost all of the memory leaks that were easy to spot because of the usage of `new`. One leak that still remains are the `RooDataHist`s that underlies the `RooHistFunc`s. But to fix that, it would be important to first come up with an elegant way to have the RooHistFunc own their underlying RooDataHist. 20 September 2022, 16:05:52 UTC
66cf649 [RF] Syncronize RooLagrangianMorphFunc with commit 46fa0292 in master This is done to easier cherry-pick any commits that come after it. 20 September 2022, 16:05:52 UTC
d0683cc [geom] Putting in sync the materials implementation file with the master. 19 September 2022, 15:23:05 UTC
ef62da7 [cmake] Update XRootD to v5.5.0 * Update XRootD builtin from v5.4.3 to v5.5.0 - c.f. https://github.com/xrootd/xrootd/releases/tag/v5.5.0 * Follow up to https://github.com/root-project/root PR 10725 15 September 2022, 15:33:29 UTC
3b1b9fb [DF] Bump minimum Dask version to 2022.2 To fix the timeouts seen in our CI runs of the distributed RDataFrame with Dask suite. In particular, the Dask version used was 2021.10.0. Version 2021.11.2 fixes a couple of deadlock bugs which were most probably responsible for the timeouts (see https://distributed.dask.org/en/stable/changelog.html#v2021-11-2). We bump the minimum Dask version to 2022.02.0 ( https://distributed.dask.org/en/stable/changelog.html#v2022-02-0) because it is the last version with support for Python 3.7 (the current minimum Python version for distributed RDataFrame). The test suite was run with Dask 2021.10.0 on both Ubuntu and Fedora, showing the timeout. Version 2021.11.2 doesn't timeout. 15 September 2022, 11:36:19 UTC
b2d24a8 PR44540: Prefer an inherited default constructor over an initializer list constructor when initializing from {}. Backport of commit 1b5404aff3. Original commit message: --- We would previously pick between calling an initializer list constructor and calling a default constructor unstably in this situation, depending on whether the inherited default constructor had already been used elsewhere in the program. --- This commit first appeared in LLVM 10 and fixes some problems with modules when building with GCC 12, for example ODRHash asserts in roottest-root-io-uniquePointer. (cherry picked from commit cf32d2bc738367fe0d5c8ccbc0856d345f824228) 15 September 2022, 05:43:46 UTC
6247d9c [DF][NFC] Add header guard for MakeDataFrameFromSpec 13 September 2022, 15:23:18 UTC
df03600 [tmva] Backport in 6.26 to fix Keras and PyTorch tutorials (#11325) * [tmva] Fix Keras and PyTorch tutorials (#11110). Backport in 6.26 * [cmake] Fix dependency of some TMVA_SOFIE tutorials * [tmva] Set unique model file names for tutorials The tutorials were using the same model file name and this was causing a problem when running the tutorials in parallel as in the CI builds. Fix also some deprectations happening when using now the new Keras version based on tensorflow.keras Fix dependency also for Python Keras tutorials Disable also Regression Keras tutorials in CI builds since they are too slow for the regression evaluation on single events * [tmva][sofie] Backport new version of TMVA_SOFIE_ONNX.C tutorial Set correct location for input ONNX file 09 September 2022, 16:10:37 UTC
9212c74 [IO] Honor READ_WITHOUT_GLOBALREGISTRATION in TNetXNGFile ...as well as in TNetFile, TDavixFile and TWebFile. This fixes #10742. 08 September 2022, 13:29:48 UTC
d3ed0d9 Disable gdml tutorial when gdml is off 06 September 2022, 18:30:00 UTC
573ef9f cling: Improve support for expression in template re-substitution. This addresses the issue described in #11259. In particular it handles the case where the template parameter is a value. i.e. in the inner template of ``` __and_<is_constructible<_Rb_tree_iterator<pair<const unsigned int,string> >,const _Rb_tree_iterator<pair<const unsigned int,string> >&>,is_constructible<bool,const bool&> > ``` 06 September 2022, 18:30:00 UTC
2cef314 [RF] Fix verbose printing of proxies in 6.26 Fix a crash when printing RooFit models with RooListProxy instances. 06 September 2022, 14:08:50 UTC
59451f9 TTreeReaderArray: add support for Double32_t and Float16_t 02 September 2022, 03:23:21 UTC
ee92b04 TDataType: add builtins for Double32_t and Float16_t 02 September 2022, 03:23:21 UTC
4af6706 [DF] Fix jitted expressions with sub-branches of aliases Given a string expression such as "alias.subbranch" (where `subbranch` is _not_ also the name of a valid data member of the type of the "alias" top-level branch), we used to transform the expression to `[](T &var0) { return var0.subbranch; }`, which does not compile. Now aliases in jitted expressions are resolved in a first step and only then we try to match the expression against known branch names, fixing the problem. This fixes https://github.com/root-project/root/issues/11207 . 01 September 2022, 11:54:33 UTC
c43ca08 Avoid using deprecated std::iterator in RTensor.hxx and RAxis.hxx 01 September 2022, 08:34:48 UTC
0d09601 [core] Remove obsolete (related to `std::iterator`) defines 01 September 2022, 08:34:48 UTC
4a9b99f [core] Fix type definitions inside `RIndexIter` 01 September 2022, 08:34:48 UTC
85ba6c5 [core] Avoid deprecated `std::iterator` Deprecated `std::iterator` since C++17 is substituted in: * `TViewPubFunctionsIter` * `TBtreeIter` * `TListIter` * `TMapIter` * `TObjArrayIter` * `TOrdCollectionIter` * `TRefArrayIter` * `RIndexIter` 01 September 2022, 08:34:48 UTC
7268c7f [DF] Avoid using deprecated `std::iterator` in `TTreeReaderFast` * `std::iterator` was deprecated in C++17; manually declare the member types. * Fix a typo in the iterator's difference_type. 01 September 2022, 08:34:48 UTC
eacb59d [DF] Avoid using deprecated std::iterator in TTreeReader class 01 September 2022, 08:34:48 UTC
8fe606b [core] Avoid using deprecated std::iterator in TSeq class 01 September 2022, 08:34:48 UTC
4d20d4e [DF] Fix potential use-after-delete in sample callbacks Before this commit, if an action with a sample callback (currently only Snapshot) or a DefinePerSample went out of scope, we did not deregister the corresponding callbacks from the RLoopManager, which would try to run them anyway during the following event loop. As callbacks typically perform a call on the original action or define objects, this could cause a use-after-delete. With this patch, we now associate each callback to the address of the corresponding node of the computation graph and remove callbacks when the nodes go out of scope. This fixes #11222. 01 September 2022, 08:17:57 UTC
37cd598 [DF] Adapt test reference to changes in RDF The look of the output graph is the same, but the text representation slightly changed. 01 September 2022, 08:17:57 UTC
098e9e3 [DF] Simplify reg-/deregistration with RLoopManager Before this commit, whenever a function was constructing a node of the computation graph it had to "remember" to also register that node with the RLoopManager, which needs to know which nodes are around so it can tell them e.g. to execute task initialization and task finalization logic. Deregistration happened in the node's destructors. With this patch, registration happen in the constructor and deregistration in the destructor of a node, i.e. this logic is where a reader might expect it to be and new code does not have to "remember" to register objects with the RLoopManager. Jitted nodes of the computation graph (e.g. RJittedAction, RJittedDefine) don't need to register themselves with the RLoopManager: the _concrete_ nodes will be registered right before the event loop, at jitting time, and that is good enough. RJittedFilter is an exception: RLoopManager needs to know what filters have been booked even before the event loop (i.e. before concrete filters are instantiated by jitted code) in order to return a correct list from RLoopManager::GetFiltersNames(). So RJittedFilters register themselves with RLoopManager at construction time and deregister themselves in RJittedFilter::SetFilter, i.e. when they can be sure that the concrete filter has been instantiated in jitted code and it has been registered with RLoopManager, making the RJittedFilter registration redundant. 01 September 2022, 08:17:57 UTC
c4521b7 [DF][NFC] Add modules to py_compile sources 30 August 2022, 14:52:01 UTC
b9760d4 Disable brotli support feature in Freetype (not only on Apple) (#11242) (#11247) * Disable brotli support feature in Freetype (not only on Apple) Should fix #11239 * Remove code instead of commenting it out 24 August 2022, 13:49:49 UTC
064ef26 [cmake] Add POLICY CMP0135 and set it to NEW (#11246) Fixes the following warning with CMake 3.24: ``` CMake Warning (dev) at /usr/share/cmake/Modules/ExternalProject.cmake:3071 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. ``` 24 August 2022, 13:03:00 UTC
26247b6 [cmake] Check for json_fwd.hpp in versions > 3.11 Our forward declaration in REveElement.hxx breaks with the versioned namespaces in 3.11, so we require the json_fwd.hpp header. (cherry picked from commit ee52a8b016375ef8acde6c2df7a68c70a1b10699) 19 August 2022, 14:57:01 UTC
53177d9 [eve7] Include json_fwd.hpp if available Version 3.11 of nlohmann/json introduced "versioned, ABI-tagged inline namespace"s, which breaks our forward declaration. Fortunately, we can assume the json_fwd.hpp header to be present starting from that same version because the JSON_MultipleHeaders option now defaults to ON and even if not, json_fwd.hpp is installed since patch version 3.11.2. For earlier versions, both methods work but json_fwd.hpp isn't guaranteed to be installed. Still use it if available. Fixes #11130 (cherry picked from commit ed56a35f395a7fe36fb0a1cc08b59f562cf6f91a) 19 August 2022, 14:57:01 UTC
d255a24 [eve7] Add missing includes to REveElement.hxx (cherry picked from commit a927c57326ba2c28e9cd1ef37201f33049c05a77) 19 August 2022, 14:57:01 UTC
2fc5a84 Fix potential crash with RBrowser on Windows Fix potential crash when quitting ROOT from RBrowser on Windows and simplify the code used to close the TBrowser main Window 19 August 2022, 09:55:52 UTC
1dd0002 [tmva] Fix pytorch sofie parser for new pytorch version (#11189) This is a backport in 6.26 of PR #10233 16 August 2022, 10:07:05 UTC
f9681d0 [cling] Try to avoid crashes in llvm::identify_magic The overload taking a path opens the file and then mmap its contents. This can cause bus errors when another process truncates the file while we are trying to read it. Instead just read the first 1024 bytes, which should be enough for identify_magic to do its work. (cherry picked from commit 588e13c4da4a63427ef156f2624f5a5a15bfd298) 15 August 2022, 15:25:54 UTC
7b9f152 [io] Make case values constant expressions Current clang-16 from main complains: "case value is not a constant expression". Even if that error is probably relaxed before Clang 16 is released early next year, there is really no point in converting an integer into an enum just to get a numeric value back. This is (intentionally) a partial revert of commit ac36d879629f. An alternative solution appears to be replacing EProperty (which refers to the enum type in TVirtualCollectionProxy) with ::EProperty from TDictionary.h. However, since the enum values are used as a bit mask and fCase is defined as UInt_t anyhow, it makes more sense to compare integer constants from the start. Closes #11128 (cherry picked from commit cc28da57f0b8e2878a2c047504a49762d7d8dfb5) 12 August 2022, 11:09:42 UTC
9ee0304 [v6-26] Revert "[cmake] Update xrootd hash after a new version of the xrootd tar file (#11106)" This reverts commit 0c9a4e605b48f355461065f9292dd905ec209f31. 10 August 2022, 10:37:52 UTC
b1d6c06 [VecOps] Add missing #include <limits> to RVec.hxx The file uses std::numeric_limits, defined in <limits>. That header is transitively included in most configurations, but for example not when building with a recent libstdc++ (with less transitive includes) and configuring with cxx14 and without VDT. (cherry picked from commit d2e56f982e303d83784f28e1524bc24c39b350c4) 09 August 2022, 14:31:45 UTC
19f8fd6 Fix to compute radiation length on call TGeoMixture::ComputeDerivedQu… (#11115) * Fix to compute radiation length on call TGeoMixture::ComputeDerivedQuantities() * Fix test to check material radiation length and interaction length when changing units * Fix clang formatting errors (cherry picked from commit cd992545ae18f0d036e382408d4acfccfa16db48) 08 August 2022, 15:34:18 UTC
fb285a8 [DF] Preserve ordering of snapshotted columns Before this patch (and since a2156969b4), Snapshot was enforcing alphabetical ordering of the output branches. The ordering specified as argument, however, could carry meaning: it might make sense to have branches carrying related physics information close together in the TTree so that they appear close to each other e.g. in TTree::Print or in TBrowser. With this patch we keep the original column ordering (the one explicitly specified by the user or the one coming from TTree) when creating output branches. One exception are branches from the input TTree that are Redefine'd in case of auto-generated lists of output columns: Define'd and Redefine'd columns appear before TTree branches, which might move the position of branches that have been Redefine'd with respect to others that have not. 07 August 2022, 17:09:31 UTC
7430097 [cmake] Protect against empty `COMPILE_DEFINITIONS` in rootcint command In the `rootcint` command defined in `RootMacros.cmake`, the `COMPILE_DEFINITIONS` from the target are forwarded as compiler flags. The `COMPILE_DEFINITIONS` are stored in the `module_defs` variable with a generator expression: ``` set(module_defs $<TARGET_PROPERTY:${ARG_MODULE},COMPILE_DEFINITIONS>) ``` Then, the definitions are added to the rootcint command with this expression: ``` "$<$<BOOL:${module_defs}>:-D$<JOIN:${module_defs},;-D>>" ``` This code was almost copied exactly from the CMake documentation example: https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html In particular, the `BOOL` check makes sure that the if the target property is empty, we will not get a bare `-D` with nothing after it, corrupting the rootcint command. However, there is no protextion against the case where the `COMPILE_DEFINITIONS` target property is not empty, but its elements are empty strings! This happened to me in my recent build. Instead of trying to figure out where the empty strings are added to the `COMPILE_DEFINITIONS`, it is better to also protect against empty target property elements in the CMake generator expressions, which is implemented in this commit. 07 August 2022, 15:29:49 UTC
14e66c2 Fix computation of the radiation length and nuclear interaction lengt… (#11060) (#11104) * Fix computation of the radiation length and nuclear interaction length when ROOT uses G4 units * Fix computation of the radiation length and nuclear interaction length when ROOT uses G4 units (cherry picked from commit 103bb7e4d930b4921debceec6ad7d418bacae4fc) Co-authored-by: MarkusFrankATcernch <MarkusFrankATcernch@users.noreply.github.com> 04 August 2022, 12:51:47 UTC
0c9a4e6 [cmake] Update xrootd hash after a new version of the xrootd tar file (#11106) 04 August 2022, 07:23:51 UTC
1af31cd [DF] Remove false sharing from BufferedFillHelper In a synthetic benchmark that only fills a single histogram for which no binning was provided (i.e. the case in which BufferedFillHelper gets used), these are sample runtimes on my laptop before this patch: 0 3735 1 3742 2 3534 4 3191 8 2733 16 1725 and after: 0 3552 1 3876 2 2466 4 1696 8 1202 16 1038 where over 8 threads hyper-threading kicks in and 0 threads means no `EnableImplicitMT()` at all. 03 August 2022, 16:05:32 UTC
c139416 "Update ROOT version files to v6.26/07." 28 July 2022, 18:26:45 UTC
e846415 "Update ROOT version files to v6.26/06." 28 July 2022, 18:04:51 UTC
back to top