Skip to content

[RF] sPlot does not work with RooAddPdf in 6.26/04 #10869

@vlisovsk

Description

@vlisovsk

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

  1. ROOT version: 6.26/04
  2. Operating system: CentOS 7
  3. How you obtained ROOT: from conda

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions