- Jan 13, 2023
-
-
Jakob Blomer authored
-
Jakob Blomer authored
-
Jakob Blomer authored
This reverts commit d1aab1956bc56d2d050b59b5ccaf6576f4ff5dc9.
-
Jakob Blomer authored
-
Jakob Blomer authored
-
Jakob Blomer authored
-
Jakob Blomer authored
-
Jakob Blomer authored
-
Jakob Blomer authored
-
Jakob Blomer authored
-
Florine de Geus authored
-
Florine de Geus authored
-
Florine de Geus authored
-
Florine de Geus authored
-
Florine de Geus authored
-
Florine de Geus authored
-
Florine de Geus authored
-
Florine de Geus authored
-
Florine de Geus authored
-
Florine de Geus authored
-
Florine de Geus authored
-
- Jan 12, 2023
-
-
will buttinger authored
-
will buttinger authored
-
Bertrand Bellenot authored
-
Jonas Rembser authored
The `RooRealIntegral` class is smart enough to figure out which variables the function the integrated function doesn't depend on and trivially integrates them itself by multiplying with the variable definition range. However, if the integration range is a subrange of the variable range, this was not considered. This resulted in wrong results. for integrals like `pdf.createIntegral(x, "subrange")`, where the pdf doesn't depend on x. These kind of integrals can occur in the projections that the RooAddPdf does, so it's important that they work, and fixing this partially addresses #11486. This change also fixes a so-far unknown bug in the `RooXYChi2Var`, which also used these kind of integrals. Without this fix, the `Integrate()` feature for `chi2FitTo()` was completely broken, which can be seen in the output of the `rf609` tutorial with any previous ROOT version. The tutorial looks okay by chance, because the function is dominted by the quadratic term in `x` that is constant in the fit. But if one makes this a floating parameter, the problem gets obvious. Probably that was the reason why the main model parameter was set constant to begin with, to sweep the bug under the rug. Now, the tutorials are updated to have the quadratic coefficient floating too. And also `stressRooFit`, since the reference file has to be updated anyway. To demonstrate that things work correctly now, a new unit test was implemented that does the closure check of the `integrate()` feature of the `RooXYChi2Var` with a linear fit function.
-
- Jan 11, 2023
-
-
Bertrand Bellenot authored
Disable several tests who are using hist2workspace, which requires xml, when `ROOT_xml_FOUND` is not set
-
Jonas Rembser authored
The idea of the RooGenProdProj is that we divide two integral objects each created with this makeIntgral() function to get the normalized integral of a product. Therefore, we don't need to normalize the numerater and denominator integrals themselves. Doing the normalization would be expensive and it would cancel out anyway. However, if we don't specify an explicit normalization integral in createIntegral(), the last-used normalization set might be used to normalize the pdf, resulting in redundant computations. For this reason, the normalization set of the integrated pdfs is fixed to an empty set in this case. Note that in RooFit, a nullptr normalization set and an empty normalization set is not equivalent. The former implies taking the last-used normalization set, and the latter means explicitly no normalization. This fixes the performance regression reported in #11814, and a new unit test is implemented to make sure no new numeric integrals pop up in the reproducer code to that issue. Unfortunately, this change means that there will be again warnings about missing `RooAddPdf` normalization sets, but this is not a regression because these warnings only got fixed in the 6.28 development cycle in 290b4787.
-
Jonas Rembser authored
In `RooAbsArg::redirectServers()`, we don't need to do anything if there are no new servers or if the only new server is this RooAbsArg itself. And by returning early, we avoid potentially annoying side effects of the redirectServersHook.
-
Jonas Rembser authored
Since the change to Asimov datasets in `testTestStatistics`, there are warnings that tell you to explicitly set `SumW2Error()` because you are fitting to weighted data. That's what is done in this commit. This means the message level threshold can we changed also to not silence warnings anymore.
-
Jonas Hahnfeld authored
Apparently this is ill-formed with C++17 and fails to compile with Clang version 14.
-
Javier Lopez-Gomez authored
-
Javier Lopez-Gomez authored
Co-authored-by:
Jakob Blomer <jblomer@cern.ch>
-
Javier Lopez-Gomez authored
-
Javier Lopez-Gomez authored
-
Javier Lopez-Gomez authored
-
Javier Lopez-Gomez authored
Co-authored-by:
Jakob Blomer <jblomer@cern.ch>
-
Javier Lopez-Gomez authored
-
Javier Lopez-Gomez authored
-
Javier Lopez-Gomez authored
- Oftentimes, read callback registration depends on information that is only available after the field is connected to a page source, e.g. the on-disk C++ type version. Therefore, this commit introduces `RFieldBase::RegisterReadCallbacks()` that is called at the end of `ConnectPageSource()` to register post-read callbacks as appropriate. The function can be overridden by derived classes. - Update `RNTupleView` constructor: check if field has callbacks after the `ConnectPageSource()` call.
-
Javier Lopez-Gomez authored
-