- Jan 12, 2023
-
-
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 09, 2023
-
-
Jonas Rembser authored
In the `rf205` tutorial and the associated stressRooFit test, the `bkg` RooAddPdf was created using the `sig1frac`, while it is clearly the idea to use the `bkg1frac` parameter. This is fixed in this commit, also fixing the name of the `bkg1frac` parameter, which was accidentally set to `sig1frac` (probably a copy-paste error). However, to not change the output of the tutorial and the stressRooFit test, the value of `bkg1frac` was set to the same value as `sig1frac`, such that this commit only fixes the model but doesn't change the tutorial and test output.
-
- Jan 02, 2023
-
-
Jonas Rembser authored
The `rf901_numintconfig` tutorials and related stressRooFit test use the RooLandau class to demonstrate numeric integration, because it didn't support analytic integration. Now that it does, the analytic integration needs to be disabled with `forceNumInt`.
-
- Dec 19, 2022
-
-
Lorenzo Moneta authored
In the WrappedMultiTF1 when trying to compute the Hessian for linear functions via TFormula::HessianPar , the code asserts in CLAD since there is no Hessian to compute. Return then by default a zero value [math][minuit2] Fix some warning message in Minuit2 [math][fit] Enable External Hessian computation only for Minuit2 to avoid Hessian check in case of linear fitting Fix also an issue with TFumiliMinimizer (divide correctly by 2 in chi2) and fix a bug in computing Chi2 hessian element that is used by fumili In stressHistoFit uses Fumili2 for test without analytical gradients (w/o option G)
-
- Dec 09, 2022
-
-
Bertrand Bellenot authored
-
- Dec 05, 2022
-
-
Jonas Rembser authored
In the implementation of `RooHistPdf::plotSamplingHint`, some of the returned values can be outside the variable definition range. This might lead to invalid evaluations when the sampling hints are also used to evaluate other PDF components of a composite PDF, as reported in #11482. This commit suggests an improved algorithm for the sampling hint: consider only bin boundaries that are strictly between the plot limits within some epsilon, and for the limits just sample two additional points left and light that are some epsilon aways from the plot limits. The `stressRooFit_ref.root` reference file needs to be updated with this change, because the sampling changes the RooPlots that are used as reference objects. Closes #11482.
-
- Dec 01, 2022
-
-
Jonas Rembser authored
The `stressRooStats` tests are now run also with the different BatchMode backends as unit tests. Furthermore, the backend for the default tests is explicitly set to BatchMode "off", such that we still keep testing the legacy RooFit should the BatchMde become the default one day.
-
Jonas Rembser authored
This is already done in `stressRooFit`, and it's useful because it gives more flexibility in executing the test. The problem was that the previous `$ROOTSYS/test/*_ref.root` path required ROOT to be installed, which is not always wanted for developers that just like to run the tests.
-
Jonas Rembser authored
-
Jonas Rembser authored
-
- Nov 14, 2022
-
-
Axel Naumann authored
-
Axel Naumann authored
-
Axel Naumann authored
The test currently fails with -12823.35859557967 -12823.35859557937 -12823.35859557937 Test DeltaR failed !!
-
- Nov 08, 2022
-
-
Jonas Rembser authored
This is to suppress RooFits warnings.
-
- Oct 27, 2022
-
-
Bertrand Bellenot authored
-
- Sep 29, 2022
-
-
Jonas Rembser authored
This commit contains automatic changes done by `clang-tidy`.
-
- Sep 23, 2022
-
-
Lorenzo Moneta authored
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
-
- Sep 22, 2022
-
-
Jonas Rembser authored
There still was a constructor of `RooDataSet` that was hardcoded to use the TreeDataStore. This needs to be changed, because the RooVectorDataStore is more performant and compatible with the new BatchMode.
-
- Sep 21, 2022
-
-
Jonas Rembser authored
-
- Sep 15, 2022
-
-
Sergey Linev authored
-
- Aug 24, 2022
-
-
Jonas Rembser authored
-
- Aug 17, 2022
-
-
Jonas Rembser authored
In the `foldIntegrals()` function that reverses the unfolting of normalization integrals in the computation graph, some custom logic was used to redirect the servers. However, it caused some failures in the ASAN builds because it accessed invalid memory. This commit suggests to fix that by using the already existing `RooAbsArg::recursiveRedirectServers()` function for the same logic. Furthermore, in `unfoldIntegrals()`, clients outside the computation graph are not considered for the server redirection, which also fixes ASAN build failures.
-
- Aug 16, 2022
-
-
Jonas Rembser authored
-
Jonas Hahnfeld authored
All found by Clang's -Wunused-but-set-variable.
-
- Aug 05, 2022
-
-
Jonas Rembser authored
In stressRooFit, you could already globally select the BatchMode for `fitTo` calls. With this commit, the selection is also considered for `createNLL` calls, widening the test coverage of the new BatchMode. In particular, this tests the plotting of likelihood functions, which is much faster when using the new BatchMode backend (up to a factor of 10 in the first profile NLL tuutorial).
-
- Jul 25, 2022
-
-
Axel Naumann authored
It is available less and less often, and we do not actually benefit a lot from printing the distro (stress) or we can get the same info from /etc/os-release (cmake).
-
- Jul 20, 2022
-
-
Jonas Rembser authored
This is to suppress the warnings we see now in the nightlies on the macbeta nodes: https://lcgapp-services.cern.ch/root-jenkins/view/ROOT%20Nightly/job/root-nightly-master/LABEL=macbeta,SPEC=cxx17,V=master/lastBuild/parsed_console/ After this PR, there will only be a final PR necessacy to fix these warnings in TMVA.
-
- Jun 29, 2022
-
-
Sergey Linev authored
-
Sergey Linev authored
-
- Jun 21, 2022
-
-
Jonas Rembser authored
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`.
-
- Jun 09, 2022
-
-
Jonas Rembser authored
-
- May 30, 2022
-
-
Jonas Rembser authored
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.
-
- May 19, 2022
-
-
Jonas Rembser authored
The direct creation of RooFit test statistics instances is discouraged because the more configurable `createNLL` and `createChi2` should be prefered.
-
- May 18, 2022
-
-
Jonas Rembser authored
In the RooChi2Var, there was another case of inconsistency between constructors that seemingly do the same but actually don't. A RooChi2Var should be created with the constructors that take RooFit command arguments. However, there were also other constructors used by the RooFit test statistic implementation details (i.e. in `RooAbsOptTestStatistic::create`) that when used with default aruments behave inconsistently with the command arg constructors: the default error type is different, and errors will be estimated from the pdf and not from the data. This lead to the confusing situation that when creates a `RooChi2Var` without any command arguments, the default error mode is suddenly different. This inconsistency should be removed by having only the command argument constructors part of the public interface. Making these constructors private should not be a problem. There were already considered implementaiton details before, and their interface was already changed anyway to use the configuration structs in 6.26. Nobody has complained about that so far. Closes #10557.
-
- May 06, 2022
-
-
Sergey Linev authored
-
- May 03, 2022
-
-
Jonas Rembser authored
-
Jonas Rembser authored
-
- Mar 17, 2022
-
-
Jonas Rembser authored
Part of the RooFit code modernization, avoiding the use of unnecessary wrapper classes and using a simple templated struct instead.
-
- Mar 15, 2022
-
-
Bertrand Bellenot authored
The test fails (access violation) on Windows 64 built in RelWithDebInfo mode when running with `ctest` (i.e. it runs fine from the command prompt). So let's disable it on win64 for the time being.
-
- Feb 24, 2022
-
-
Bertrand Bellenot authored
-