forked from root-project/root
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[RF] Replace multi-range fit logic in RooAbsPdf
Multi-range fits in RooFit are more complicated than they should be. In principle, all that is required is to change the normalization range of the PDF to the union of the ranges. There is a RooAbdPdf interface to suggest that this could be done easily like this: ```C++ pdf.setNormRange("range1,range2") ``` But this didn't wor for RooAddPdfs, which is probably why it was chosen to implement mulit-range fits as a sum of separate RooNLLVars. In the old test statistics framework. But in this case, the PDFs are normalized separately, and extra terms need to be introduced to correct for that. This resulted in lots of complicated code, and still there are issues like root-project#11447, i.e. is still doesn't work for simultaneous fits. Now that in the previous commits the `RooAddPdf` behavior for `setNormRange()` was fixed, one can actually use comma-separated normalization ranges for a single PDF in a multi-range fit. With this commit, this is done in the old RooFit test statistics classes. This has sevaral advantages: 1. Fixes issues with multi-range simultaneous fits 2. It's now in harmony with the logic in the new BatchMode 3. Some speedup because there are less nodes in the computation graph 4. Less code required 5. Logic is easier to understand Maybe there are also new bugs now, but they can be fixed later. I am sure that already now the commit fixes more issues that it creates.
- Loading branch information
1 parent
82b21cd
commit 9e61bfd
Showing
3 changed files
with
33 additions
and
120 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters