Commit 9ab4de1
committed
[RF] Don't use
This follows up on 232a619, where a unused server was removed when
the RooAbsAnaConvPdf is compiled for a given normalization set.
Unfortunately, servers can't be meaningfully removed because it
**always** results in a server-proxy-desync problem. If a server is
removed, the corresponding `RooArgProxy` stays around as a data member
of the RooAbsAnaConvPdf. When you then copy the RooAbsAnaConvPdf, the
seemingly removed server is resurrected implicitly in the copy
constructor of the the proxy, which leads to the confusing situation
that a copy has a different server structure from the original.
This will then confuse the server redirection when deep-cloning
RooAbsArgs, manifesting in a problem reported on the forum, which is
fixed by this commit:
https://root-forum.cern.ch/t/redirectservers-server-not-redirected/64612/4
All other use of `RooAbsArg::removeServer()` outside the RooAbsArg
destructor should also be reviewed to make sure that similar problems
don't hide in other parts of the code. We should also consider
deprecating that function from the public user interface, together with
`RooAbsArg::replaceServer()`, which has the same problem.
(cherry picked from commit 478ad2b)removeServer to clean RooAbsAnaConvPdf compute graph1 parent b9b5063 commit 9ab4de1
1 file changed
Lines changed: 0 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
697 | 697 | | |
698 | 698 | | |
699 | 699 | | |
700 | | - | |
701 | | - | |
702 | | - | |
703 | | - | |
704 | | - | |
705 | 700 | | |
706 | 701 | | |
707 | 702 | | |
| |||
0 commit comments