New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RF] Plots of nested RooSimultaneous
ignore ProjWData
#12652
Comments
Just as with the generation of datasets from a RooSimultaneous, the right way to iterate over the index category components is not to call `servers()`, but to use `RooSimultaneous::flattenedCatList()`. Closes root-project#12652.
Thanks! Yes, the solution was exactly the same, and thanks to your reproducer I also found some other problem with nested RooSimultaneous pdfs that I fixed in the linked PR 👍 |
Just as with the generation of datasets from a RooSimultaneous, the right way to iterate over the index category components is not to call `servers()`, but to use `RooSimultaneous::flattenedCatList()`. Closes #12652.
I forgot to mention, in your reproducer code there is also a small problem. You are only specifying how c1 and c2 are projected, not that they are projected. For this, you also need to add the frame = x.frame()
s2.plotOn(frame, Project={c1, c2}, ProjWData = ({c1, c2}, proto), LineColor="r") # only gauss
c1.setIndex(0)
s2.plotOn(frame, Project={c1, c2}, ProjWData = ({c1, c2}, proto)) # only uniform
frame.Draw() |
Thanks you for all the fixes! You are of course correct about the reproducer bug. I am used to plotting the dataset too, since that sets the projection variables and categories for the frame. The example was too minimal in this case. |
Just as with the generation of datasets from a RooSimultaneous, the right way to iterate over the index category components is not to call `servers()`, but to use `RooSimultaneous::flattenedCatList()`. Closes root-project#12652.
Just as with the generation of datasets from a RooSimultaneous, the right way to iterate over the index category components is not to call `servers()`, but to use `RooSimultaneous::flattenedCatList()`. Closes root-project#12652.
Just as with the generation of datasets from a RooSimultaneous, the right way to iterate over the index category components is not to call `servers()`, but to use `RooSimultaneous::flattenedCatList()`. Closes #12652.
Just as with the generation of datasets from a RooSimultaneous, the right way to iterate over the index category components is not to call `servers()`, but to use `RooSimultaneous::flattenedCatList()`. Closes root-project#12652.
Describe the bug
Nested
RooSimultaneous
are flattened into a singleRooSimultaneous
with aRooSuperCategory
as index.When plotting a
RooSimultaneous
, if the index category is derived its servers are searched inside theProjWData
set, and if not found the plot becomes a slice in the categories.However, the only server of a
RooSuperCategory
is the internalRooMultiCategory
, so in case of a nestedRooSimultaneous
the plot is always a slice.This is basically #12020, except during plots and not generation. The solution is probably the same.
Expected behavior
Categories are summed over and not sliced
To Reproduce
Setup
ROOT master from LCG dev3
Additional context
The text was updated successfully, but these errors were encountered: