EDM4hep Discussion
Zoom
EDM4hep Live Notes
==================
Date: Apr 23, 2024
Indico: https://indico.cern.ch/event/1409361/
Connected: Andre, Brieuc, Graeme, Jacopo, Joseph, Juan, Juraj, Leonhard, Mateusz, Pere, Swathi, Tao, Thomas, Frank, Gerri, Sanghyun, Sung Won
Apologies:
## Introduction and General Points
### Upcoming workshops / conferences
https://github.com/orgs/key4hep/projects/4/views/1
## Progress and discussion
### ParticleID & related utilities
* See presentation
* ParticleID utils in https://github.com/key4hep/EDM4hep/pull/268
* Used in converter: https://github.com/key4hep/k4EDM4hep2LcioConv/pull/51
* Used in wrapper: https://github.com/key4hep/k4MarlinWrapper/pull/181
* Restriction for having all ParticleIDs into one ReconstructedParticle collection only there for LCIO (and also for).
* Where does the metadata go? Into the `metadata` Frame
* Make the assignment of `algorithmTypes` less error prone. E.g. a hash
## Podio
* https://github.com/AIDASoft/podio/pulls
* https://github.com/AIDASoft/podio/issues
* https://github.com/orgs/AIDASoft/projects/2/views/1
### Merged PRs
* Fix OneToManyRelations and VectorMembers in cloned objects
- https://github.com/AIDASoft/podio/pull/583
- These were not working properly when trying to add new elements to cloned objects
* Fix leak in the buffer vectorMembers when reading SIO frames
- https://github.com/AIDASoft/podio/pull/589
- Potentially a left over from refactorings during the introduction of the CollectionBuffer factory
* Make it possible to get the name from a collectionID
- Useful and necessary for the ParticleID (metadata) conversion
- https://github.com/AIDASoft/podio/pull/586
* Improves in error / exception messages and general checks
- https://github.com/AIDASoft/podio/pull/578
- https://github.com/AIDASoft/podio/pull/577
- https://github.com/AIDASoft/podio/pull/588
* Cleanup, documentation improvements, ...
- https://github.com/AIDASoft/podio/pull/573
- https://github.com/AIDASoft/podio/pull/574
- https://github.com/AIDASoft/podio/pull/584
- https://github.com/AIDASoft/podio/pull/587
- https://github.com/AIDASoft/podio/pull/585
- https://github.com/AIDASoft/podio/pull/585
### Pythonizations for collections
- Python collections can be accessed out of bounds without an `IndexError`
- https://github.com/AIDASoft/podio/issues/458
- Use `cppyy` call back to implement it via `Collection::at`
- https://github.com/AIDASoft/podio/pull/570
- Needs a rebase
### Change of return types for GenericParamters (and Frame parameters)
* Currently no way of distinguishing between empty (default valued) and unet parameters
* https://github.com/AIDASoft/podio/pull/580
* Make `getParameter` return a `std::optional<T>` and have a way to differentiate.
* Do the same for collections?
* Not completely straight forward using a `std::optional`, because we return by `const&`
* Use references in `optional`? E.g. `boost::optional` would support this
* Could also use vectors that can be checked for emptyness
### Store GenericParameters as pairs of vectors
* [ ] Open issue
### Frame serialization / deserialization
* https://github.com/AIDASoft/podio/issues/565
* Not part of v1.0
* Proposal from D. Lawrence: https://github.com/AIDASoft/podio/pull/579
## EDM4hep
* https://github.com/key4hep/EDM4hep/pulls
* https://github.com/key4hep/EDM4hep/issues
* https://github.com/orgs/key4hep/projects/5
### Merged PRs
* Improve Doxygen configuration
- Include only what is necessary and keep dependencies out
- https://github.com/key4hep/EDM4hep/pull/289
* Make sure to give the `EDM4hep::utils` target a more discernible library name
* https://github.com/key4hep/EDM4hep/pull/295
### Covariance matrix components
- https://github.com/key4hep/EDM4hep/pull/284
- https://github.com/key4hep/EDM4hep/pull/287
- Introduce helper functionality to hide storage details and make access using enums
- Some downstream breakages
- Now with common functionality in separate `ipp` file that is included in `ExtraCode`
- How does this interact with `RDataFrame` and the `std::array` handling?
- [ ] Need to check
- Are the "indices" interchangeable? Yes, the symmetry of the covariance is handled correctly.
### Reversal of direction of some relations
- https://github.com/key4hep/EDM4hep/pull/268
- See above and presentation
## Converter & MarlinWrapper
## AoB
## Next meeting:
* May 07, 09:00