EDM4hep Discussion
Zoom
EDM4hep Live Notes
==================
Date: March 23, 2021
Indico: https://indico.cern.ch/event/1020958/
This is a document for taking notes during EDM4hep meetings.
Connected: Joseph, Tao, Andre, Wenxing, Teng, Thomas, Placido, Clement, Frank, Valentin, Gerri
Apologies:
## Introduction and General Points
* Presentations at LCWS last week
## Progress and Discussion
## Podio
### Benchmarking
* Discuss how to integrate with validation in Key4hep
### Issues/PRs
* GitIgnore:
* https://github.com/AIDASoft/podio/pull/185
* MERGED
* AsciiWriter
* https://github.com/AIDASoft/podio/pull/184
* MERGED
* SIO::sio targets in cmake
* https://github.com/AIDASoft/podio/pull/183
* MERGED
* github action based CI
* https://github.com/AIDASoft/podio/pull/182
* Add key4hep spack-based build
* Root performance fixes
* https://github.com/AIDASoft/podio/pull/180
* Ready for Review
* Number of fixes [WIP]:
* https://github.com/AIDASoft/podio/pull/177
* Not working with ROOT 6.20/04 and older
* New (stable) pyroot in 6.22 (to be confirmed?)
* Drop support for older root?
#### Make a tag after all the warnings are fixed
#### Heap-use-after-free
* https://github.com/AIDASoft/podio/issues/174
* Not a problem in frameworks, but if collections used outside of them
* Deep inside the memory management of podio, so not easy to fix
* Happens more often with clang than with gcc, but could be compiler options.
* Flagged by address-sanitizer
* Maybe requires deep changes. Change for reference counting of object classes.
#### c++ concepts
* BH: add compile time checks for class behaviours: e.g., movable
#### issue w/ ROOT and (vectors of) non-copyable collections
* happens in ROOT 6.22
* PM: there is a patch available in LCG repository
* ROOT team is working on a general solution
#### What are the different branches in the root file?
* https://github.com/AIDASoft/podio/issues/169
* Encode more information in the _relation_ branch names?
* Related to use in RDataFrame/RNTupe, directly looking at root file content
* Are branch names an implementation detail?
* backward compatibility "Impossible" (?)
#### Schema Evolution
- Version for object descriptions, etc.
- Open issue: https://github.com/AIDASoft/podio/issues/86
- Dedicate a meeting for this.
- Discuss some conceptual proposals
- April 20
#### Multi-Threading
See minutes of https://indico.cern.ch/event/969468/
--> Open issue(s) for further discussion
* Thomas and Benedikt discussing and started to work, nothing to report yet
#### "event class" in podio
* Currently being perceived
### PRs
* https://github.com/AIDASoft/podio/pulls
### Meta Data
#### Usage of "metadata" for user defined data
* need to check if current implementation addresses all use cases
* need test use-cases
### EventStore
### Features
* Subset collections?
## LCIOConverters
* https://github.com/key4hep/k4LCIOReader
## EDM4hep
https://github.com/key4hep/EDM4hep/pulls
### EDM4hep tools
https://github.com/key4hep/EDM4hep-utils
### Issues
### Need review of EDM4hepDelphes output
* Output is not stored if no tracks or towers created (?)
* Allow also other types to be part of the list
* Allow construction in a more general way (VV)
* Need to assume there is a complete list of reconstructed particles?
* Relations:
* FCCSW: Issue with more than one RecoParticle pointing to one MCParticle
* In LCIO to Delphes, conversion happens later than in edm4hep, maybe delphes does de-duplication?
* TODO: open issue in edm4hep with reproducer (VV)
--> Moved to separate repository
## AOB
### Next meeting:
* April 6, 2021
### TODO
### New tags for k4SimDelphes
* Updated podio
* Updated Delphes version
* Update spack fork and main spack