-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[RF] Remove some more classes from the public RooFit interface #12800
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
Conversation
3a9c0db to
a86169d
Compare
a86169d to
54d21c2
Compare
The `RooCatType` got deprcated in ROOT 6.22 with commit `560f59fbc0c`.
54d21c2 to
b2d9fe7
Compare
|
Starting build on |
lmoneta
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Thank you Jonas for this clean-up!
Only comment is if we are sure that removing the RooFormula will not be a problem for some users
|
Weill, one can never be 100 % sure, but from searching through GitHub and CERN GitLab and googling, it looks like no user is using the |
With PR root-project#12800, the `RooFormula` was taken out of the public user interface, because it is an implementation detail of the RooFormulaVar and RooGenericPdf. However, there are cases where people used the RooFormula interface to access some information that was otherwise unavailable, like the set of actual variables that the formula depends on. There is some code in RooFormulaVar and RooGenericPdf that makes it seem like these classes provide an interface to the actual variables themselves: ```c++ const RooArgList& dependents() const { return _actualVars; } ... RooListProxy _actualVars ; ///< Actual parameters used by formula engine ``` However, `_actualVars` is containing **all** variables, not the actual variables as the name suggests! Fixing this removes the need to access the actual vars via the `RooFormula`. This connects to a discussion that was held on GitHub: root-project@a470a3d#commitcomment-113514331
With PR root-project#12800, the `RooFormula` was taken out of the public user interface, because it is an implementation detail of the RooFormulaVar and RooGenericPdf. However, there are cases where people used the RooFormula interface to access some information that was otherwise unavailable, like the set of actual variables that the formula depends on. There is some code in RooFormulaVar and RooGenericPdf that makes it seem like these classes provide an interface to the actual variables themselves: ```c++ const RooArgList& dependents() const { return _actualVars; } ... RooListProxy _actualVars ; ///< Actual parameters used by formula engine ``` However, `_actualVars` is containing **all** variables, not the actual variables as the name suggests! Fixing this removes the need to access the actual vars via the `RooFormula`. This connects to a discussion that was held on GitHub: root-project@a470a3d#commitcomment-113514331
With PR root-project#12800, the `RooFormula` was taken out of the public user interface, because it is an implementation detail of the RooFormulaVar and RooGenericPdf. However, there are cases where people used the RooFormula interface to access some information that was otherwise unavailable, like the set of actual variables that the formula depends on. There is some code in RooFormulaVar and RooGenericPdf that makes it seem like these classes provide an interface to the actual variables themselves: ```c++ const RooArgList& dependents() const { return _actualVars; } ... RooListProxy _actualVars ; ///< Actual parameters used by formula engine ``` However, `_actualVars` is containing **all** variables, not the actual variables as the name suggests! Fixing this removes the need to access the actual vars via the `RooFormula`. This connects to a discussion that was held on GitHub: root-project@a470a3d#commitcomment-113514331
With PR #12800, the `RooFormula` was taken out of the public user interface, because it is an implementation detail of the RooFormulaVar and RooGenericPdf. However, there are cases where people used the RooFormula interface to access some information that was otherwise unavailable, like the set of actual variables that the formula depends on. There is some code in RooFormulaVar and RooGenericPdf that makes it seem like these classes provide an interface to the actual variables themselves: ```c++ const RooArgList& dependents() const { return _actualVars; } ... RooListProxy _actualVars ; ///< Actual parameters used by formula engine ``` However, `_actualVars` is containing **all** variables, not the actual variables as the name suggests! Fixing this removes the need to access the actual vars via the `RooFormula`. This connects to a discussion that was held on GitHub: a470a3d#commitcomment-113514331
With PR root-project#12800, the `RooFormula` was taken out of the public user interface, because it is an implementation detail of the RooFormulaVar and RooGenericPdf. However, there are cases where people used the RooFormula interface to access some information that was otherwise unavailable, like the set of actual variables that the formula depends on. There is some code in RooFormulaVar and RooGenericPdf that makes it seem like these classes provide an interface to the actual variables themselves: ```c++ const RooArgList& dependents() const { return _actualVars; } ... RooListProxy _actualVars ; ///< Actual parameters used by formula engine ``` However, `_actualVars` is containing **all** variables, not the actual variables as the name suggests! Fixing this removes the need to access the actual vars via the `RooFormula`. This connects to a discussion that was held on GitHub: root-project@a470a3d#commitcomment-113514331
With PR root-project#12800, the `RooFormula` was taken out of the public user interface, because it is an implementation detail of the RooFormulaVar and RooGenericPdf. However, there are cases where people used the RooFormula interface to access some information that was otherwise unavailable, like the set of actual variables that the formula depends on. There is some code in RooFormulaVar and RooGenericPdf that makes it seem like these classes provide an interface to the actual variables themselves: ```c++ const RooArgList& dependents() const { return _actualVars; } ... RooListProxy _actualVars ; ///< Actual parameters used by formula engine ``` However, `_actualVars` is containing **all** variables, not the actual variables as the name suggests! Fixing this removes the need to access the actual vars via the `RooFormula`. This connects to a discussion that was held on GitHub: root-project@a470a3d#commitcomment-113514331
This is the continuation of the campaign to slim down the public RooFit interface:
RooCatTypeRooGenProdProjprivateRooScaledFunc.RooFormulafrom public RooFit interface