e28dfbc | moneta | 19 December 2022, 15:31:14 UTC | [math] Include suggestions from Jonas | 19 December 2022, 15:31:14 UTC |
8c6da4e | moneta | 16 December 2022, 23:17:53 UTC | [math] Fix unbin test using TFumili since it minimizes 2 * NLL | 16 December 2022, 23:17:53 UTC |
16edf93 | moneta | 16 December 2022, 16:59:14 UTC | [hist] Return direct a zero Hessian for linear functions 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) | 16 December 2022, 23:05:18 UTC |
033a7b7 | moneta | 16 December 2022, 13:39:45 UTC | [math][fit] Add also interface for checking if Hessian can be computed Add in the Model funciton and in the FitMethodFunction teh interface to check if the Hessian can be computed and provided for fitting Fix also few compilation errors when using VecCore | 16 December 2022, 16:03:54 UTC |
5b9a8b9 | moneta | 15 December 2022, 17:00:51 UTC | [math] Add interface to compute Hessian in Parameteric Model function and FitMethof functions Add possibility to compute directly Hessian (e.g. from AD in TFormula) to the interfaces used in Fitting. Propagate the computation in the Fitter class so the Hessian computation can then be brought to Minuit. Improve also the DataElement computations in the FitMethod functions that are used by the Fumili algorithm. Ther eone can compute either the approximated Hessian (using only the gradients of the model function) or the full one. Adapt corresponding interfaces also in GSL MultiFit and in TFumili | 15 December 2022, 18:23:21 UTC |
dc6a46a | moneta | 15 December 2022, 16:53:28 UTC | [math][minuit2] Various improvements for Analytical Hessian and in Fumili Improve computation of the correct Hessian approximation in Fumili for binned likelihood. We assume now that the approximated Hessian is computed from the FitMethodFunction, since some extra information (function bin value and bin contents) are needed. | 15 December 2022, 16:53:28 UTC |
830a7da | moneta | 15 December 2022, 16:50:19 UTC | [math][minuit2] Improve printing of vector and matrices Improve in MnPrint the printing of the vector and the matrices. Use a default static parameter, MnPrint::MaxNP to stop printing parameter vector and matrices over a given values. Use 10 as default max. | 15 December 2022, 16:50:19 UTC |
18bd5ee | moneta | 23 November 2022, 14:13:24 UTC | [math][minuit2] Fix some compiler errors due to a missing include | 23 November 2022, 14:13:24 UTC |
b1a8beb | moneta | 22 November 2022, 17:50:07 UTC | [math][minuit2] Implement SeedGenerator using Analytical (external) Hessian Update SeedGenerator to use the AnalyticalCalculator with G2 or Hessian compiutation. If G2 is not available, compute Hessian and use only its diagonal. Using the full Hessian is reserved for strategy 2, since it would require to check also if it is positive defined. Apply also same small improvements and cleanup in other Minuit classes | 22 November 2022, 17:50:07 UTC |
fcf57e7 | moneta | 18 November 2022, 09:38:21 UTC | [math] Improve GradFunctor with a new constructor. Add a new constructor in GradFunctor from a std::function implmenting the gradient calculation instead of partial derivatives. | 18 November 2022, 09:38:21 UTC |
2bd2e8d | moneta | 10 November 2022, 15:54:22 UTC | [math][minuit2] Improve test for external gradients (AD) | 10 November 2022, 15:54:22 UTC |
ded9c50 | moneta | 10 November 2022, 15:53:16 UTC | [hist][tformula] Use TMath::Sq instead of TMath::Power for ^2 in TTFormula expressions | 10 November 2022, 15:53:16 UTC |
9572a2b | moneta | 09 November 2022, 09:07:59 UTC | [math][minuit2] First implelmentation in Minuit2 of mNHesse using external Hessian calculator | 09 November 2022, 09:07:59 UTC |
8be3a00 | Ahmat | 27 October 2022, 10:04:41 UTC | Register the operators in the constructor of RModelParser_ONNX | 08 November 2022, 18:01:15 UTC |
af3b64a | Jonas Rembser | 08 November 2022, 10:50:14 UTC | [RF] Always clone constraint term in `createNLL` Even though cloning the constraint term is technically only required when the computation graph is changed because global observables are taken from data, it is safer to clone the constraint model in general to reset the normalization integral caches and avoid ASAN build failures (the PDF of the main measurement is cloned too anyway, so not much overhead). This can be reconsidered after the caching of normalization sets by pointer is changed to a more memory-safe solution. | 08 November 2022, 17:55:28 UTC |
25619a4 | Ahmat | 18 October 2022, 11:12:29 UTC | Add LayerNormalization operator | 08 November 2022, 15:12:19 UTC |
0e86080 | Olivier Couet | 08 November 2022, 13:09:58 UTC | [skip-ci] wrong variable was tested in Makefile | 08 November 2022, 13:29:13 UTC |
0bff81e | Jonas Rembser | 28 October 2022, 08:17:34 UTC | [RF] Remove unused includes of RooNLLVar.h | 08 November 2022, 09:24:27 UTC |
352842c | Jonas Rembser | 27 October 2022, 20:48:59 UTC | [RF] Restrict sigma parameters in `testFitPerf` to positive values This is to suppress RooFits warnings. | 08 November 2022, 09:24:27 UTC |
1adfe6e | Jonas Rembser | 27 October 2022, 19:13:48 UTC | [RF] Correctly support `enableOffsetting()` in new BatchMode The old test statistic classes also supported enabling the offset feature after their construction via the `RooAbsReal::enableOffsetting` hook. This function is now also correctly overloaded in the `RooNLLVarNew` for the BatchMode. Furthermore, the implementation of `RooAddition::enableOffsetting` is now moved to the base class `RooAbsReal`. This implementation was only recursively calling `enableOffsetting` for the servers, which did the job for the old test statistics, which were only combined with `RooAdditions`. The new BatchMode also adds the NLLs with RooAdditions, but on top of them sits another wrapper class, the `RooFitDriverWrapper`. It should also forward the `enableOffsetting` calls correctly. The most general solution to this problem is probably to forward the `enableOffsetting` call for all `RooAbsReal`-derived classed, up to the point where the recursion ends either at an old or a new test statistic object. | 08 November 2022, 09:24:27 UTC |
43016f0 | Axel Naumann | 23 September 2022, 10:51:32 UTC | [ACLiC] For macOS, make sure the syslib exists: macOS 13 again moves many libraries into the binary blob: these files do not exist anymore on disk, but the linker "knows what to do". Linking against them would fail ("file not found"), so rely on the non-system libraries to pull them in. An exception are /usr/lib/system/libsystem_... which *do* exist on disk but must not be linked against. (cherry picked from commit 00232a0ca4fdfea2b813158f2406a33ef3e2512b) | 07 November 2022, 13:54:39 UTC |
916a1cf | Jonas Rembser | 04 November 2022, 17:41:56 UTC | [RF] Update `RooRealIntegral::_funcNormSet` member to unique_ptr Changing a raw pointer to `std::unique_ptr` is handled by automatic schema evolution, but the class version still needs to be incremented. | 07 November 2022, 11:31:22 UTC |
faa42a1 | Jonas Rembser | 04 November 2022, 17:23:14 UTC | [RF] Ensure that using variable clones also works to specify integrals Recently, in commit 47c250898f, the algorithm to figure out the value and shape servers of integrals was rewritten. However, the new implementation analyzed the computation graph by pointer, which caused a wrong list of servers if one passed clones of the integration variables to the integral constructor. This commit fixes that, and also implements a unit test for this case. Closes #11637, as the issue was caused by the integration variable wrongly being registered as a value server of the integral. This made the reproducer code in the issue thread very slow, because the integral was reevaluated for each event. | 07 November 2022, 11:31:22 UTC |
b485048 | Mattias Ellert | 07 November 2022, 09:43:08 UTC | DTD files are not in XML format and should not claim to be (#11646) The bogus XML designation causes the file to fail XML diagnostic tests. Test description: Check that XML files included in the RPM payload are well-formed. ======================================== Test Output ======================================== xml: ---- Result: VERIFY 1) /usr/share/doc/root/tutorials/xml/person.dtd is not a well-formed XML file in root-tutorial on noarch Waiver Authorization: Anyone Details: Extra content at the end of the document Suggested Remedy: Correct the reported errors in the XML document | 07 November 2022, 09:43:08 UTC |
25e425f | Olivier Couet | 04 November 2022, 12:11:37 UTC | [ski-ci] fix typo (#11661) | 04 November 2022, 12:11:37 UTC |
c1c95e3 | moneta | 03 November 2022, 09:29:44 UTC | [tmva][sofie] Fix broadcasting of bias tensor in ConvTranspose When fusing from ConvTranspose + Add the bias tensor has the same dimension of the ConvTranspose output but different legth (with 1's for batch and input sizes). We need to support this case in broadcasting it. - Fix also Gemm when input shape is of dim=1 This is the case when the input has no batch size, i.e. has dim=1. e.g from a model received from ALICE - Add also some fixes in the Fuse MatMul+Add and ConvTrans+Add in case the input of Add is reversed, i.e. bias input tensor is the first one instead of being the second one | 04 November 2022, 11:58:43 UTC |
f7674ab | moneta | 21 October 2022, 09:51:36 UTC | [tmva][sofie] Fix Transpose convolution using col2im - fix computing output dimension with padding - fix trans convolution by adding a function col2im in SOFIE_Common - do convolution as an inverse, first a Gemm and then col2im - disable 3d conv transpose since it is not supported yet - disable 3D convtranspose tests - Fix Parsing Fuse MatMul and Add operators - Add the bias inside the loop - Fix the BLAS in Transpose convolution when using col2im - Do correctly the BLAS operation. The returne dmatrix after BLAS needs to be transposed to what was done before. Fixes also for input/output channels. All tests now pass in all configuration apart from group and dilated convolution that still needs to be tested. 3D conv transpose needs also to be fixed using the correct 3d col2im | 04 November 2022, 11:58:43 UTC |
d7da036 | moneta | 19 October 2022, 10:45:03 UTC | [tmva][sofie] Add new test for ConvTranspose in TestSofieModels | 04 November 2022, 11:58:43 UTC |
cfe9f4c | moneta | 28 September 2022, 14:29:21 UTC | [tmva][sofie] Fix ConvTranspose for multiple channels We need to multiply by the number of input channels one of the input dimension for the matrices used for the convolution. | 04 November 2022, 11:58:43 UTC |
cac8cc1 | Olivier Couet | 04 November 2022, 11:52:13 UTC | [slip-ci] Improve the graph figures (add titles) (#11659) | 04 November 2022, 11:52:13 UTC |
b04580f | 2xB | 04 November 2022, 11:06:44 UTC | Minuit2: Explained delgam warning messages in info (#11652) The previous warning messages only helped if one already knows how Minuit works. Also they warned, without adding insight as to what exactly the issue is. This commit adds explanatory text printed in loglevel "Info", and a short discovery note in the old warnings. Also adding a link to the "Tutorial" that is referenced for documentation, since otherwise it is very non-trivial for unexperienced people to find it. Co-authored-by: 2xB <2xB@users.noreply.github.com> | 04 November 2022, 11:06:44 UTC |
f77e199 | YuryYury | 04 November 2022, 10:19:35 UTC | Fixing a dead link to minuit.pdf in TMinuit.cxx (#11658) Fixing a dead link to `minuit.pdf` in `TMinuit.cxx` | 04 November 2022, 10:19:35 UTC |
260c662 | Guilherme Amadio | 02 November 2022, 16:21:20 UTC | [PyROOT] Replace assertEquals (removed in Python 3.12) with assertEqual The deprecated alias assertEquals has been removed in Python 3.12: https://docs.python.org/3.12/whatsnew/3.12.html#removed The removal causes tests to fail with errors like the one below: Traceback (most recent call last): File "root/bindings/pyroot/pythonizations/test/tclass_dynamiccast.py", line 22, in test_dynamiccast self.assertEquals(type(o_upcast), TObject) ^^^^^^^^^^^^^^^^^ AttributeError: 'TClassDynamicCast' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? | 03 November 2022, 19:54:29 UTC |
dcd54d6 | Olivier Couet | 03 November 2022, 12:32:09 UTC | Arrow on axis (#11645) | 03 November 2022, 12:32:09 UTC |
9d95f44 | Sergey Linev | 02 November 2022, 13:42:15 UTC | [rbrowser] automatically create info widget when typing ".g" | 03 November 2022, 10:26:42 UTC |
4468023 | Sergey Linev | 02 November 2022, 13:01:44 UTC | [rbrowser] use TreeTable to display cling info Let expand dedicated items | 03 November 2022, 10:26:42 UTC |
51e2467 | Sergey Linev | 02 November 2022, 10:19:25 UTC | [rbrowser] introduce cling info widget It shows parsed output of '.g' command in TextArea | 03 November 2022, 10:26:42 UTC |
a438cf0 | Sanjiban Sengupta | 03 November 2022, 10:24:17 UTC | [TMVA][SOFIE] Fix infer function input tensors order (#11625) * fix: infer function should take input in correct order * fix: ordering of input tensors in tests of Pow, Sub, Div and Pow_Broadcast * fix: correct order for input tensors in tests for AddBroadcast * fix: added default case to avoid warnings | 03 November 2022, 10:24:17 UTC |
c090147 | Vassil Vassilev | 03 November 2022, 09:42:54 UTC | [cling][docs] Change the theme with a better looking one. | 03 November 2022, 09:51:21 UTC |
088d524 | Sanjiban Sengupta | 02 November 2022, 15:41:01 UTC | [TMVA][SOFIE] Fix concat operator (#11594) * fix: Concat op for 0th dimension concat * feat: inference for tensors with contigous memory * fix: for loop condition for checking contigous memory | 02 November 2022, 15:41:01 UTC |
80b20c8 | Olivier Couet | 01 November 2022, 16:25:32 UTC | [skip-ci] clarify which methods are not implemented in TH2Poly (#11648) | 01 November 2022, 16:25:32 UTC |
8cc176c | Mattias Ellert | 28 October 2022, 04:27:10 UTC | Avoid race condition between tutorial/roofit/rf512_wsfactory_oper.C and tutorial/roofit/rf512_wsfactory_oper.py When run in parallel they delete eachother's files: cc1plus: fatal error: /builddir/build/BUILD/root-6.26.08/redhat-linux-build/runtutorials/RooCFAuto000Pdf_cxx_ACLiC_dict.cxx: No such file or directory compilation terminated. /usr/bin/ld: cannot find /builddir/build/BUILD/root-6.26.08/redhat-linux-build/runtutorials/RooCFAuto000Pdf_cxx_ACLiC_dict.o: No such file or directory collect2: error: ld returned 1 exit status | 31 October 2022, 08:41:30 UTC |
04a77df | Bertrand Bellenot | 27 October 2022, 07:08:56 UTC | [windows][cmake] Replace all CMAKE_GENERATOR_PLATFORM by CMAKE_SIZEOF_VOID_P to test x86/x64 | 27 October 2022, 10:36:59 UTC |
233019e | Olivier Couet | 26 October 2022, 14:05:31 UTC | The line color for "COL POL" can be changed (#11638) * The line color for "COL POL" can be changed * Add the others line attributes | 26 October 2022, 14:05:31 UTC |
36d6a97 | Jonas Rembser | 25 October 2022, 10:47:42 UTC | [RF] Only subtract NLL offset when not hidden in new BatchMode The old test statistics did not apply the offset subtraction if `RooAbsReal::hideOffset()` was `true`, and the new BatchMode should do the same. | 26 October 2022, 10:16:44 UTC |
1d68411 | Jonas Rembser | 25 October 2022, 08:32:09 UTC | [RF] Don't ignore empty bins for binned PDF in BatchMode To be consistent with the old test statistics classes, empty bins should not be skipped if the binned likelihood optimization is enabled. | 26 October 2022, 10:16:44 UTC |
4b99787 | Jonas Rembser | 24 October 2022, 16:20:19 UTC | [RF] Avoid arg name collision in simultaneous components in BatchMode The new BatchMode always had some trouble in simultaneous fits when the same argument was reused in different components, because intermediate values are stored by argument name and there are different results for each component. To solve this problem, the names of all arguments in a given component are now prefixed by the category label surrounded by underscores. Furthermore, the `getParameters` function for objects created with the new BatchMode is improved such that observables renamed with this prefixing are not confused with parameters. Closes #10991. | 26 October 2022, 10:16:44 UTC |
7bbe688 | Jonas Rembser | 23 October 2022, 11:42:11 UTC | [RF] Add printing to RooFitDriver to inspect current state It is very useful for debugging to inspect the state of the `RooFitDriver`. For this, a new function is added that prints a nice table like this: ``` --- RooFit BatchMode evaluation --- -----------------------------------------------------------------------------| | Idx | Name | Class | Size | From Data | 1st value | -----------------------------------------------------------------------------| | 0 | _weight_sumW2 | RooRealVar | 1 | 1 | 1 | | 1 | _weight | RooRealVar | 1 | 1 | 1 | | 2 | b | RooRealVar | 1 | 0 | -0.5 | | 3 | x | RooRealVar | 1000 | 1 | 0.437143 | | 4 | c2 | RooGenericPdf | 1000 | 0 | 0.803666 | | 5 | c2_Int[x] | RooRealIntegral | 1 | 0 | 1.83583 | | 6 | c2_over_c2_Int[x] | RooAbsPdf | 1000 | 0 | 0.437767 | | 7 | a | RooRealVar | 1 | 0 | -0.2 | | 8 | c1 | RooGenericPdf | 1000 | 0 | 0.916284 | | 9 | c1_Int[x] | RooRealIntegral | 1 | 0 | 3.1606 | | 10 | c1_over_c1_Int[x] | RooAbsPdf | 1000 | 0 | 0.289908 | | 11 | mypdf | RooProdPdf | 1000 | 0 | 0.126912 | | 12 | RooNLLVarNew | RooAbsReal | 1 | 0 | 2633.6 | | 13 | nll_mypdf_mypdfData | RooAddition | 1 | 0 | 2633.6 | -----------------------------------------------------------------------------| ``` For any likelihood that is created with the new BatchMode, just call `Print("v")` on it and you will get this. This is meant for debugging and doesn't change any functionality. | 26 October 2022, 10:16:44 UTC |
d8ae8a0 | Jonas Rembser | 22 October 2022, 13:45:34 UTC | [RF] Correctly normalize simultaneous PDFs in BatchMode In simultaneous fits, the combined PDF should be correctly normalized over the union of the components, weighted by the component data weight. This was not implemented in the new BatchMode so far and is added in this commit. | 26 October 2022, 10:16:44 UTC |
34e736c | Jonas Rembser | 22 October 2022, 13:34:06 UTC | [RF] Support `SplitRange()` in new BatchMode The RooAbsPdf::fitTo() function has a `SplitRange()` command argument that was so far ignored by the new BatchMode. The effect is that for each component, the fit range is suffixed by the category label. Testing this functionality is covered by the `MultiRangeFitWithSplitRange` test in `testRooSimultaneous`, which is changed in this commit to also validate the new BatchMode. | 26 October 2022, 10:16:44 UTC |
54dcd9e | Jonas Rembser | 22 October 2022, 13:45:18 UTC | [RF] Add new helper function to adapt fit range name for component When `SplitRange()` is used, each subrange in a ranged fit needs to be suffixed with the category label. For example, `r1,r2` becomes `r1_cat0,r1_cat0`. Since this has also to be done in the new test statistics and the new BatchMode, the logic to do so is factored out into a helper function that will also be used by the BatchMode in the next commit. | 26 October 2022, 10:16:44 UTC |
09b50b4 | Jonas Rembser | 22 October 2022, 12:24:26 UTC | [RF] Fix inconsistency in `NumCPU()` that was there at least since 5.34 For some reason, the `nCPU` configuration argument for the test statistics was propagated differently to the component test statistics for ranged and non-ranged fits. In the range case, there was a sign flip if `_mpinterl` was `true`, but there is not reason to have this different multiprocessing logic for ranged fits. It only adds a further code branching that is not convenient to consider in code refactoring. Therefore, this commit suggests to treat the `nCPU` argument the same for ranged and non-ranged fits. | 26 October 2022, 10:16:44 UTC |
e384fce | Jonas Rembser | 22 October 2022, 00:03:47 UTC | [RF] Force BatchMode `off` in test that covers legacy test statistics There is one unit test that covers a problem that is specific to the old `RooNLLVar`, so when creating the NLL in that test the BatchMode should be explicitely switched off. Like this, the test would still work if the default backend would be changed to the BatchMode. | 26 October 2022, 10:16:44 UTC |
b7a5d89 | Jonas Rembser | 21 October 2022, 23:52:41 UTC | [RF] Add support for `RooCompositeDataStore` in new BatchMode The `BatchMode()` so far did not support fitting to datasets that used the `RooCompositeDataStore`, which is commonly used for simultaneous datasets. To support this, the new BatchMode now also used `RooAbsData::split()` to split the data accorting to the category in simultaneous fits, because the datasets that are resulting from the split are using the `RooVectorDataStore` again. | 26 October 2022, 10:16:44 UTC |
28f5553 | Jonas Rembser | 21 October 2022, 12:54:43 UTC | [RF] Reduce code duplication in `RooAbsData::split()` The `RooAbsData::split()` methods had two overloads. One for general categories, and one for splitting according to the components of a RooSimultaneous. The code in these two functions was largely duplicated. This commit factors out common parts to anonymous functions, such that no code is duplicated. This improvement is done now, as I plan to use the same `split()` function also in the new BatchMode. | 26 October 2022, 10:16:44 UTC |
e5c82a8 | Ahmat | 26 October 2022, 09:57:40 UTC | Fix Shape operator (#11635) | 26 October 2022, 09:57:40 UTC |
6565c95 | Duncan Ogilvie | 25 October 2022, 10:05:55 UTC | Fix ClingTargets.cmake not being installed The property CLING_HAS_EXPORTS seems to be a leftover, there are no references to it in the codebase. | 25 October 2022, 13:16:52 UTC |
b5353ac | Duncan Ogilvie | 24 October 2022, 23:22:15 UTC | Fix the build on MSVC Closes https://github.com/root-project/cling/issues/454 | 25 October 2022, 13:16:52 UTC |
8b5c4d6 | pamputt | 25 October 2022, 06:21:38 UTC | Typo (#11324) | 25 October 2022, 06:21:38 UTC |
d63eef9 | ferdymercury | 24 October 2022, 15:22:54 UTC | clarify that TGaxis func is inverted (#11281) * clarify that TGaxis func is inverted Fixes https://sft.its.cern.ch/jira/browse/ROOT-8498 * clarify also in constructor | 24 October 2022, 15:22:54 UTC |
a5cbb5d | Bertrand Bellenot | 18 October 2022, 08:56:23 UTC | [win] Add manifest file for UTF-8 code pages This should fix the issue #11519. Thanks to shangjiaxuan for providing the solution! | 24 October 2022, 13:39:26 UTC |
fc8df76 | Jonas Hahnfeld | 20 October 2022, 07:00:20 UTC | [PyROOT] Filter out ASan related libraries They need to be preloaded into the Python process, but must not be propagated into instrumented executables such as root or rootcling. | 24 October 2022, 11:04:26 UTC |
26ff57e | Jonas Hahnfeld | 20 October 2022, 06:44:58 UTC | Whitelist AddressSanitizer runtime and ROOT configuration | 24 October 2022, 11:04:26 UTC |
84e0700 | Sergey Linev | 21 October 2022, 06:39:16 UTC | [rbrowser] fix gcc warning about missing override specifier | 21 October 2022, 11:38:40 UTC |
b70423a | Sergey Linev | 21 October 2022, 06:38:41 UTC | [jsroot] fix lgtm warning concerning unused import | 21 October 2022, 11:38:40 UTC |
ba4dab1 | Sergey Linev | 20 October 2022, 12:25:23 UTC | [jsroot] dev 20/10/2022 - Improve ui5 loading inside TCanvasPainter - provide JSROOT functions from JSROOT code - Fix tiny update problem of online canvas - Fix multipart http message handling | 21 October 2022, 11:38:40 UTC |
0c5db16 | Sergey Linev | 20 October 2022, 12:21:04 UTC | [rbrowser] adjust JS syntax in controller.js Also let enter plain regex when filtering items | 21 October 2022, 11:38:40 UTC |
0271bce | Sergey Linev | 20 October 2022, 12:20:18 UTC | [web tree viewer] better format histogram title Some special symbols may not be displayed with MathJax | 21 October 2022, 11:38:40 UTC |
e191937 | Sergey Linev | 20 October 2022, 11:02:53 UTC | [web tree viewer] better handling of branch/leaf clicks Use expression which are used for TTree::Draw Let reassign TTree | 21 October 2022, 11:38:40 UTC |
ff2c5ed | Sergey Linev | 20 October 2022, 11:01:46 UTC | [rbrowser] improve branches/leafs handling in browsables Correctly handle elements like @size, show tree when branch cannot be drawn directly | 21 October 2022, 11:38:40 UTC |
1c50efc | Sergey Linev | 20 October 2022, 07:05:42 UTC | [rbrowser] let disable browsing of some objects Even when object returns IsFolder() kTRUE, one can now disable browsing of that object. This done now TClass instances. | 21 October 2022, 11:38:40 UTC |
8e893cb | Sergey Linev | 19 October 2022, 16:24:34 UTC | [rbrowser] correctly handle TObject with complex inheritance One should correctly handle classes offsets when TObject is not very first parent in inheritance | 21 October 2022, 11:38:40 UTC |
79ca076 | Sergey Linev | 19 October 2022, 14:51:09 UTC | [rbrowser] set default edit action for TColor element | 21 October 2022, 11:38:40 UTC |
f543f9c | Sergey Linev | 19 October 2022, 12:57:51 UTC | [rbrowser] use TObjectElement as base class for dir/keys elements While they holding TObject with class, size (optional), modification time (optional) | 21 October 2022, 11:38:40 UTC |
0cdb7b4 | Sergey Linev | 19 October 2022, 09:16:51 UTC | [rbrowser] create RItem via RElement Item is send to client to describe entry in hierarchical structure. It has name, title, size, modification time. Before item was created only via iterator - faster but not flexible Now item created by element - which has all kind of custom information Add size and modification time for TFile and TKey | 21 October 2022, 11:38:40 UTC |
10dd7d5 | Sergey Linev | 18 October 2022, 12:44:55 UTC | [rbrowser] provide size and time info for TFile and TKey classes | 21 October 2022, 11:38:40 UTC |
6873899 | Sergey Linev | 18 October 2022, 11:53:10 UTC | [web fitpanel] avoid double deletion of TF1 Can happen when function drawn on the canvas. | 21 October 2022, 11:38:40 UTC |
b06a0bf | Sergey Linev | 18 October 2022, 11:41:19 UTC | [webcanvas] change method to initialize ui5 panels inside canvas After JSROOT v7 code managed absolutely different and therefore selecting some special methods is not trivial from outside JSROOT. Therefore now canvas painter will provide special method to resolve such problem. Requires latest JSROOT code. | 21 October 2022, 11:38:40 UTC |
ced2f1d | Sergey Linev | 18 October 2022, 07:53:51 UTC | [webgui] adjust ping.html Do not use deprecated methods, use single quotes | 21 October 2022, 11:38:40 UTC |
40aa68d | Jonas Hahnfeld | 21 October 2022, 06:40:04 UTC | [cxxmodules] Avoid lookup from system headers (#11514) Avoid loading ROOT modules while Clang is instantiating a template class from STL, leading to ODR checks with an incomplete class. | 21 October 2022, 06:40:04 UTC |
e4e870a | Jonas Rembser | 20 October 2022, 13:43:06 UTC | [RF] Optimize new algo to figure out RooRealIntegral servers This is a followup to commit 47c250898f3. The new algorithm to figure out the servers of a RooRealIntegral could get very expensive for large computation graphs, as seen with the ATLAS Higgs combinaiton. The problem was that there was a loop over an arguments clients for each argument in the computation graph. In this commit, loop is replaced by another loop over the computation graph in which one iterates only over the servers of the arguments that depend on the integration variables. I think this logic is even more intuitive to understand as well. I learned also that iterating over clients is never a good idea, because while the number of servers is well defined, there can be arbitrary many clients, making the performance very unpredictable. It was verified with flamegraphs that the performance of the likelihood creation for the ATLAS Higgs combinaiton model is now again identical to the state before commit 47c250898f3 | 20 October 2022, 15:02:04 UTC |
803aada | Jonas Rembser | 19 October 2022, 18:24:25 UTC | [RF] Make `createConstraintsTerm()` a private implementation detail In ROOT 6.26, the `createConstraintsTerm()` function was introduced as a public static member of RooConstraintSum. But it's better if this stays private such that the interface can be changed more freely. This should be no problem, because as it was only in one release so far and never advertised anywhere. | 20 October 2022, 15:01:53 UTC |
08c4265 | Jonas Rembser | 20 October 2022, 09:27:07 UTC | [RF] Get rid of caching of constraints in RooWorkspace With the performance optimizations in #11015, the cost of `createConstraintTerm` became negligible even for the biggest computation graphs (full ATLAS Higgs combination models). See also the flamegraphs in the description of that PR>. It is therefore not necessary to implement the caching of constraints in the workspace anymore, which is better because with caching things go often wrong. | 20 October 2022, 15:01:53 UTC |
2c97c6f | Jonas Rembser | 19 October 2022, 22:19:23 UTC | [RF] Check that all params passed to `Constrain()` are RooRealVars It only makes sense to constraint parameters, not functions or PDFs. This commit suggests to error out if one passes arguments that are not RooRealVars to `Constrain()`. This check was motivated by the `testRooSimultaneous` unit test, which used the `Constrain()` command argument wrong. This is also fixed in this commit. | 20 October 2022, 15:01:53 UTC |
ac7aedf | Jonas Rembser | 19 October 2022, 17:56:01 UTC | [RF] Remove `RooProdPdf::computeBatch` hack meant to ignore constraints | 20 October 2022, 15:01:53 UTC |
611216b | Jonas Rembser | 19 October 2022, 16:09:44 UTC | [RF] Remove obsolete checks for constraints in NormalizationHelpers Now that in the BatchMode NLLs the constraints are removed from their original `RooProdPdfs`, we don't need no code in the BatchMode implementation details to account for this. | 20 October 2022, 15:01:53 UTC |
c797cfa | Jonas Rembser | 19 October 2022, 15:47:50 UTC | [RF] Implement removing constraints from `RooProdPdf` when getting them This is the central commit of the PR that this commit belongs to. A new optional flag is added to `RooAbsPdf::getConstraints()` to remove the constraints from the PDF that they were extracted from. This means that it is technically impossible to double count constraints, and misleading connections between the constraints and the `RooProdPdfs` that they shipped with in the final NLL computation graph are avoided. The new BatchMode is using this constraint removal, resulting in it having to do no special treatment of RooProdPdfs with constraints later on. | 20 October 2022, 15:01:53 UTC |
5e50446 | Jonas Rembser | 19 October 2022, 15:06:52 UTC | [RF] Don't clone constraint term separately for new BatchMode We can just take the PDF that is already cloned and extract the constraints. This makes it possible to not bother about changing the computation graph when extracting the constraints, which is the plan for the next commit: the constraints will be removed from the original PDF. | 20 October 2022, 15:01:53 UTC |
d0b0aac | Jonas Rembser | 19 October 2022, 00:43:29 UTC | [RF] Avoid duplicating PDF massaging code in BatchMode and old RooFit * The reoccuring pattern of cloning a PDF recursively and then reattaching parameters is put in a new `RooHelper` function for use in multiple places of the NLL creation * The logic to set the `"fitrange"` attribute that was so far duplicated in the old test statistics classes and the BatchModeHelper is not put in a single function that is called before the NLL creation no matter what the backend is | 20 October 2022, 15:01:53 UTC |
c83afdd | Jonas Rembser | 19 October 2022, 13:47:23 UTC | [RF] Fix AddPdf normalization sets for BatchMode test statistics test The new test statistics classes are still using the old BatchMode, which has a problem with the RooAddPdf normalization if the coefficient normalization is not fixed in advance, or the PDF is evaluated already before such that the last normalization set is used. | 20 October 2022, 15:01:53 UTC |
e7c7170 | Matthew Feickert | 19 October 2022, 16:07:14 UTC | [cmake] Update XRootD to v5.5.1 * Update XRootD builtin from v5.5.0 to v5.5.1 - c.f. https://github.com/xrootd/xrootd/releases/tag/v5.5.1 * Follow up to https://github.com/root-project/root PR 11328 | 20 October 2022, 07:03:32 UTC |
5f5fdc2 | ferdymercury | 11 October 2022, 20:49:58 UTC | reorder | 19 October 2022, 16:39:58 UTC |
de61706 | ferdymercury | 11 October 2022, 20:48:51 UTC | reorder | 19 October 2022, 16:39:58 UTC |
9f64446 | ferdymercury | 11 October 2022, 20:46:20 UTC | reorder Co-authored-by: Philippe Canal <pcanal@fnal.gov> | 19 October 2022, 16:39:58 UTC |
80bde6d | ferdymercury | 10 October 2022, 15:58:05 UTC | unify two lines docu returning same value | 19 October 2022, 16:39:58 UTC |
f38015b | ferdymercury | 10 October 2022, 15:55:51 UTC | fix sign of comparison | 19 October 2022, 16:39:58 UTC |
d7cdd50 | ferdymercury | 10 October 2022, 15:52:46 UTC | more precise wording Co-authored-by: Javier Lopez-Gomez <javier.lopez.gomez@cern.ch> | 19 October 2022, 16:39:58 UTC |
7b286ec | ferdymercury | 04 October 2022, 15:56:56 UTC | fix typo and clarify when unreachable | 19 October 2022, 16:39:58 UTC |
9a1aa12 | ferdymercury | 04 October 2022, 15:52:59 UTC | add noreturn also to abort function. use throw to circumvent the fact that compiler does know whether abstractMethod is noreturn | 19 October 2022, 16:39:58 UTC |
d095aa1 | ferdymercury | 04 October 2022, 13:02:30 UTC | clarify in doc that terminate sometimes returns if SetReturnFromRun was called | 19 October 2022, 16:39:58 UTC |