-
Notifications
You must be signed in to change notification settings - Fork 26
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
add new frame based podio interface #100
Conversation
prepare compatibility for new frame based Podio interface drop old features of storing simple types automatically in ROOT temporarily remove feature for access to collection metadata
This PR requires the latest PODIO v00-16-03 for proper linking. There has been a problem with non-inlined functions in previous versions, |
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.
I have had a first look and assuming that all the Legacy
things are simple copy & pastes of the previous versions focused on the non legacy ones. I think this is in a pretty good state already, there are just a few smaller issues to be sorted out potentially, but nothing that changes the architecture overall. Some of my comments could also be pushed to follow up PRs.
For storing non podio types we could potentially use the Frame parameters under the hood (for the supported types, and for single elements per event). But we can also leave this for now, and see if there is a need for this.
Actually there is on sort of architecture/design question that I would have. Currently the k4FWCore/test/k4FWCoreTest/options/readExampleEventData.py Lines 3 to 9 in 22af6ca
|
Co-authored-by: Thomas Madlener <[email protected]>
Thanks Thomas for having a look. I think we can get most of the things resolved quickly. I would as well very much like DataSvc and Input to be split in a better way. Then however we need to change the interface of the Frames a bit so that a frame can be updated rather than created in the reading chain. So we could make it an issue in both Podio and here. And then we take it from there. |
Updating would in this case basically mean to (re)set the |
no. we would start with an empty Frame. And then insert things via the FrameReader / new FrameData |
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.
I again mainly have minor comments and I think one bug. Shall we do the collection metadata handling still in this one, or do we do that in a separate PR?
OK. Addressed all points. the metadata comes in a separate PR as we may need a few iterations. |
OK. I think this is good as it is. Just to make sure that we are not missing anything obvious due to the failing CI, could we also make the minimum version for podio explicit in the CMakeLists, here? k4FWCore/k4FWCore/CMakeLists.txt Line 5 in 22af6ca
Than CI would fail already at that stage and not during linking or when trying to compile, and it would be more obvious why it fails and whether |
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.
Are #include "TFile.h"
and #include "rootUtils.h"
still needed?
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.
Good catch, they should be obsolete now.
Hello all, Running one of our tests from k4RecCalorimeter: link I get the following error:
The test gets the input data from particle gun. |
Thanks @kjvbrt for trying to run this already. I think for that to work you have to use the |
Well, one needs to replace
|
Ah alright. It looks like we are missing an actual gaudi component to get the @hegner this should be fairly straight forward to add, but looking at the code I am not entirely sure we need the |
As in the previous incarnation it is still known as
as done in the tests. Maybe an install step is missing? |
Ah, I completely missed that the |
IMHO we can simply remove the indirection. We however should discuss that in a meeting. Since that has an impact on all configs |
I have done some further tests with this, including trying to read the output of I have put together a simple test case that exhibits the problem, shall I just push it to this branch, so that it will also be directly included in the test suite in the future? |
yes. please add the test and I will investigate |
Found the reason for the event skipping. The Need to put some functionality into (please note: |
static std::string metaDataHandleDescriptor(const std::string& collectionName, const std::string& key) { | ||
return collectionName + "__" + key; | ||
} |
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.
Maybe we should enclose this inside a k4FWCore
namespace to avoid (unlikely) collisions?
@jmcarcell - can you have another look? thanks |
I don't think I have any more comments other than style ones ( |
BEGINRELEASENOTES
ENDRELEASENOTES