-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[RF] Clean up RooFit after modernising RooFit's categories. #5514
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
|
Starting build on |
This comment has been minimized.
This comment has been minimized.
addda31 to
6b55e31
Compare
|
Starting build on |
This comment has been minimized.
This comment has been minimized.
6b55e31 to
ca36c00
Compare
|
Starting build on |
ca36c00 to
b60341f
Compare
|
Starting build on |
b60341f to
ad20740
Compare
|
Starting build on |
|
Build failed on ROOT-debian10-i386/cxx14. Failing tests: |
ad20740 to
7367bb0
Compare
|
Starting build on |
Provide overloads for setting category states from integers, const char* and std::string, as well as from other category states.
Remove explicit uses of the deprecated RooCatType inside roofit. When setting R__LESS_INCLUDES, RooAbsCategory.h stops to automatically include the deprectated RooCatType.h. Here, all explicit uses of this class and header are removed. Only a few classes that weren't easy to update still use it, but these include it directly as `RooFitLegacy/RooCatTypeLegacy.h`.
Make use of the fact that the new category interface also accepts std::string.
Put updated category interface demos in tutorials. Also extend rf404 with instructions on how to query, iterate and set states.
The deprecated RooAbsCategory::lookupType() is sometimes used to check if a string label refers to a valid category state. It returns a pointer to the deprecated RooCatType, but often, the pointer was only checked if it's nullptr. These instances have been replaced with RooAbsCategory::hasLabel().
7367bb0 to
6c66dd6
Compare
|
Starting build on |
eguiraud
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, many nice small improvements.
IIUC RooAbsCollection offers some STL compatibility support, namely begin, end, rbegin and rend. At this point it might be good to decide if it should satisfy all of the STL container requirements or not. It's a bit misleading to only offer part of the interface expected from an STL container.
Point taken. This is now: |
Amended to not revert the changes to be commit in PR root-project#5514.
Amended to not revert the changes to be commit in PR root-project#5514.
Amended to not revert the changes to be added in PR root-project#5514.
|
Build failed on ROOT-fedora29/python3. Failing tests: |
Amended to not revert the changes to be added in PR root-project#5514.
Amended to not revert the changes to be added in PR #5514.
Amended to not revert the changes to be added in PR root-project#5514.
After giving RooFit's categories a new interface, a lot of legacy code was left in place - the new categories support both the old and new interface.
The PR was split in two parts partly for testing that old code would still work, partly to make #5502 smaller.
Here, the big cleanup happens: