-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[RF] sPlot does not work with RooAddPdf in 6.26/04 #10869
Description
What's wrong?
The signal yield is different before and after calling the RooStats::SPlot method. This happens if the signal model is a RooAddPdf.
Expected behavior
The signal yield should stay the same after calling the sPlot method.
To Reproduce
I have prepared a fairly minimal reproducer based on the rs301_splot example.
https://cernbox.cern.ch/index.php/s/2jCaTgG1I2kKakU
how to run: root testsplot.C
With ROOT 6.24/00:
the signal yield before and after sPlot is roughly the same✅:
Signal yield before doing an sPlot: 285.981
Signal yield after doing an sPlot: 286.012
With ROOT 6.26/04:
the signal yield after sPlot is reset to zero❌.
Signal yield before doing an sPlot: 285.981
Signal yield after doing an sPlot: 9.19709e-08
This leads to nonsense behavior of the sWeights, as well as in subsequent plotting, etc.
Some investigation shows that the problem is visible when the signal model is a RooAddPdf, but the issue does not seem to be present if a single PDF is used for the signal.
Setup
- ROOT version: 6.26/04
- Operating system: CentOS 7
- How you obtained ROOT: from conda