-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[PyROOT] Do __getattr__
pythonization of TTree in Python
#14441
Conversation
ccc9aea
to
4bf0ad6
Compare
@smuzaffar Could you check if this break any CMSSW code? Actually more interesting is: #14444 |
4bf0ad6
to
91c0a57
Compare
It doesn't matter which one you test, they both contain the commit with the |
Test Results 12 files 12 suites 2d 19h 41m 44s ⏱️ For more details on these failures, see this check. Results for commit ed7d772. ♻️ This comment has been updated with latest results. |
@pcanal , cmssw tests are running via cms-sw#196 |
mostly looks good for cmssw. Only one unit test failed with error [a]
|
Thank you very much for catching these errors, @smuzaffar. It appears our CI doesn't cover all code branches... Anyway, given that the pythonization implemented in C++ still works fine even after the CPyCppyy upgrade in my other PR, this translation to Python is not necessary at this moment, and I will close this PR. |
1990713
to
ed7d772
Compare
So far, the `TBranch::GetAddress` method returned a `char *`. This causes incompatibility with PyROOT, because `char *` is automatically converted to a Python string, which is the wrong thing to for an address. This made the return value unusable in PyROOT. That's a bug that currently prevents us from reimplementing some pythonizations in native Python. Therefore, the return type of `TBranch::GetAddress()` was changed to `void *` in this release. Even if this change is not backwards compatible for typing reasons, the returned value is the same. With this change, the code is also more consistent because `GetAddress()` and `SetBranchAddress()` use the same type for the address.
There is no need to do this on the C++ size.
ed7d772
to
c77e073
Compare
There is no need to do this on the C++ size.