- Feb 18, 2021
-
-
Emmanouil authored
-
- Feb 17, 2021
-
-
Jonas Rembser authored
Fixes issue #7115. Some characters need to be escaped before using variable names in std::regex expressions formed in RooFormula::processForumla. Both [ and ] were already considered; this commit adds { and } to the list.
-
- Feb 09, 2021
-
-
Jonas Rembser authored
Co-authored-by:
will buttinger <will@cern.ch>
-
- Oct 07, 2020
-
-
Stephan Hageboeck authored
If an object inside a workspace is cloned, its pointer to the expensive object cache inside the original workspace is copied. This creates a dangling pointer when the original workspace is deleted. This excludes the pointer from cloning, so clones will store their objects in RooFit's global cache or (after they have been assigned to a new workspace) in their new workspace. Fixes root-project/root#6529 (cherry picked from commit b4008a13853b9a341a779f73f9aa4c966719d5c1)
-
- Oct 01, 2020
-
-
Stephan Hageboeck authored
(cherry picked from commit 7c5da08cf7392f9feda60da55645b64216ccf599)
-
- Sep 30, 2020
-
-
Stephan Hageboeck authored
Due to a change on Mac, [ and ] in the names of RooFit objects had to be replaced by \\[ and \\] to be used in regexes. This kind of regexes is auto-generated when RooFit checks for objects in user-provided formulae. Since auto-generated integrals have [...] in their names, regexes with a lot of [] may be generated. They were accepted by all OSs until a recent change in OS X. (cherry picked from commit e0550db0059c17919dc91ad64f5d9d302999f6cc)
-
Stephan Hageboeck authored
(cherry picked from commit 63fe627ff68c95cbf973901dc0110b4dfc3018f1)
-
Stephan Hageboeck authored
(cherry picked from commit 8db58b3a800c8f268cb0e45d81a9548d69f4f0fd)
-
- Sep 23, 2020
-
-
Stephan Hageboeck authored
(cherry picked from commit 5a6e3340ef3aa4299a668bf1654add753af0728c)
-
Stephan Hageboeck authored
After modernising categories, they couldn't be read from a text file if the category states were designated as integers. That's because they were interpreted as labels, and the `setLabel` method really sets labels now instead of using a hack to silently set an index. (cherry picked from commit f117695ec7fac861104345be1d4c95a0b39b0538)
-
- Aug 31, 2020
-
-
Stephan Hageboeck authored
In ROOT 6.20, the visibility of this function was reduced, since using it could leave the formulaVar in an unsafe state. A const reference, however, would be fine to expose to the outside world. In order to do that, the non-const original was renamed, and a const version added to the public interface. (cherry picked from commit 77e2e1049c689f3aa0b224587c9211c82eb53ee7)
-
Stephan Hageboeck authored
(cherry picked from commit 2e6113c2231c8bd7fcbf8f92f6d5c97816b7daab)
-
- Aug 14, 2020
-
-
Stephan Hageboeck authored
[ROOT-10987] When a PDF doesn't implement the faster batch interface, RooFit's old, single-value computations have to be used as a fallback. If RooFit, however, tries to precalculate those values, the nodes of the computation graph will always yield the same wrong value, since they are switched to "always clean". This happens e.g. when a node of the graph doesn't depend on parameters, but only on observables. To fix this, the global static that inihibits "always clean" has to be set while the computation is running. (cherry picked from commit 47da6c180b7edd69dcb309fe06197cc50ffc538f)
-
- Jul 21, 2020
-
-
Lorenzo Moneta authored
Avoid cloning the nuisance pdf single component. Make always a RooProdPdf of nuisances (constraints) also when there is a single term. (#6048) This avoid cloning the real pdf components and will fix the noRounding bug in the Poisson constraints happening in the AsymptoticCalculator (ROOT-10920)
-
- Jul 20, 2020
-
-
Stephan Hageboeck authored
[ROOT-10931] Due to an unstable sorting algorithm, polygons sometimes won't close, since the order of the outermost points is not preserved. By moving those points by 1/1000 of the distance between points, they now always close.
-
- Jul 10, 2020
-
-
Stephan Hageboeck authored
Makes life easier on windows. (cherry picked from commit ffc7c588ac91aca30e75d356ea971129ee6a836a)
-
Stephan Hageboeck authored
[ROOT-10913] When the current label was requested, the category ignored whether the state has to be recomputed or not. (cherry picked from commit cb30caa51e4449895875f492411e3ea8cdee609f)
-
Stephan Hageboeck authored
If users overwrite state numbers, RooCategory must fall back to a valid state instead of keeping the invalid state number. (cherry picked from commit 7f7aa5e1e9fc0b37ee582960040f6e15f5aa052c)
-
- Jul 06, 2020
-
-
Stephan Hageboeck authored
RooFit proxies act similar to a smart pointer. It was, however, not possible to mutate the pointed-to object if the owning proxy was const. That's counter-intuitive. A proxy to a const object can still be achieved by choosing the template parameter const, e.g. RooTemplateProxy<const RooAbsPdf> (cherry picked from commit 976f1273b4fcd257f96fcf77c367b2704aba7fa5)
-
- Jun 15, 2020
-
-
Stephan Hageboeck authored
Since RooDataSet and RooArgSet use their own operator new, IsOnHeap was returning false. Now, memory is allocated using TStorage, which correctly sets the kIsOnHeap bit if necessary.
-
- Jun 04, 2020
-
-
Stephan Hageboeck authored
[ROOT-10810] When RooTreeDataStore is streamed without a TFile (happens when pickling), there's no parent directory. It was assumed, however, that such a parent always exists. Here, this assumption is removed, and the default streaming behaviour is restored if the parent is not a TDirectory. (cherry picked from commit ff14b62014507f7bd944ef57ca52f4cad486a17f)
-
- May 29, 2020
-
-
Stephan Hageboeck authored
Switch on hash-assisted finding in workspaces with 50 or more datasets.
-
Stephan Hageboeck authored
(cherry picked from commit 1895f753a1b7d55f89f3a1ed148f0526125970ce)
-
Stephan Hageboeck authored
RooFFTConvPdf was double-deleting an element. This never caused any problems so far, but after implementing hash lookup in RooAbsCollection, the double delete started showing. (cherry picked from commit 7739053625e6c780ea5f344d27f85276ce876e89)
-
Stephan Hageboeck authored
RooWorkspace, RooCustomizer and RooSimPdfBuilder now automatically switch on hash-map assisted finding in RooAbsCollection, as they regularly have to find elements instead of iterate. (cherry picked from commit 06702a73b21188f0c35c2e2bd66591a3adc068a1)
-
Stephan Hageboeck authored
Some old RooFit objects add themselves to ROOT's "/" directory. They are not associated to files, but RecursiveRemove still takes considerable time when large workspaces are created. Now, adding to a directory only has an effect when objects are added to directories *other than* "/". (cherry picked from commit 6cd628ff9dda875d0f97e2ed3504626705e7a409)
-
Stephan Hageboeck authored
Mostly replace old-style loops by range-based for loops, since this function is critical for building very large workspaces. (cherry picked from commit ee665884cd4feac472fa987277a568128d385d18)
-
Stephan Hageboeck authored
When very large expression trees are imported into a RooWorkspace, long vectors of elements have to be searched for names of objects. That's a blocker for things like Higgs combination. So in case heavy finds are necessary, an unordered_map is created to side-track the linear find. This doesn't impact normal workflows that onlye iterate, since the hash-assisted finding is only active when find() is called on larger collections. (cherry picked from commit f10d93160b1c6a429418704d81e6a6e42874aa8c)
-
Stephan Hageboeck authored
(cherry picked from commit 604518c99bb83eba4dd120cd7305ca8ce52abb36)
-
Stephan Hageboeck authored
(cherry picked from commit f49d3b20114a6ea27a5406afba6253b6eb7227c9)
-
Stephan Hageboeck authored
(cherry picked from commit 30deb9e7bc90df9fcae95e41cba54a4785ec2784)
-
Stephan Hageboeck authored
(cherry picked from commit 25e07f612c2553d57ea57950321b4416b925d29b)
-
- May 26, 2020
-
-
Stephan Hageboeck authored
Also of HijackMessageStream.
-
Stephan Hageboeck authored
-
- May 24, 2020
-
-
Stefan Wunsch authored
Starting with gcc10 stdexcept is not anymore implicitly included by other STL headers
-
- May 23, 2020
-
-
Stephan Hageboeck authored
RooTreeDataStore::loadValues was creating unnecessary copies of data to ship around a supposed bug in TTree / TChain. This couldn't be reproduced. The copying has been removed, a test for importing data from trees added, and it has been verified that the example from ROOT-3579 works. (cherry picked from commit 1980d176fdd9e724525af91440559b25c2fab978)
-
Stephan Hageboeck authored
Although 35105feb3d7cb fixes a problem in HistFactory, it has the disadvantage that the assignment operator of Channel gets deactivated. By passing the list of open TFiles as argument instead of making it a member, the class can stay as it was. (cherry picked from commit 31f55ff0c1fbae1a0573a1c8bf136be4d77fc06b)
-
- May 20, 2020
-
-
Stephan Hageboeck authored
[ROOT-10784] The set() functions of RDH all had copy-pasted documentation that was completely wrong.
-
Stephan Hageboeck authored
When writing a histfactory model to a file and retrieving it, histograms are deserialised. If in the mean time new instances of those histograms have been written to the file, the new instances cannot be picked up. This is because Channel::GetHistogram() was `Get()`-ting histograms from the directory. This may return a memory-resident histograms. Since histograms are always read when deserialising, there is always a memory-resident histograms. The problem has been fixed by reading from file using TKey. Co-authored-by:
Philippe Canal <pcanal@fnal.gov> (cherry picked from commit 35105feb3d7cbfefa8bf29178b2b9d42851ede6f)
-
- May 14, 2020
-
-
Bertrand Bellenot authored
-