EDM4hep Discussion
Zoom
EDM4hep Live Notes
==================
Date: July 18, 2023
Indico: https://indico.cern.ch/event/1308421/
Connected: Frank, Wenxing, Andre, Erica, Leonhard, Thomas, Juraj, Sanghyun, Brieuc, Juan
Apologies: Benedikt
## Introduction and General Points
### Upcoming workshops / conferences
https://github.com/orgs/key4hep/projects/4/views/1
## Progress and discussion
### ECFA reconstruction workshop follow-up
* Re-occuring topic: Usage of FCCAnalyses causes issues for code availability in Key4hep
* Not using "proper" EDM4hep as interface
* Plan to have at least some of the functionality more easily available outside FCCAnalyses
* Some high level reco (particle ID, vertexing, flavor tagging, ...) should potentially live in the (Gaudi) framework (using the full EDM4hep)?
* Perceived as having too long turnaround for quick development
* Going from RDataFrame implementation to Gaudi is more work than starting with EDM4hep interface
* Topic for tutorial?
### Frame integration into FW
* https://github.com/key4hep/k4FWCore/pull/100
* Plus linked PRs in there
* "immediately usable metadata" (Juan will have a look this week)
* [ ] Many things are still broken after this
* Make ddsim populate CellIDEncoding again:
* [x] https://github.com/AIDASoft/DD4hep/pull/1140
* [ ] Switch over MarlinWrapper to use new components
* https://github.com/key4hep/k4MarlinWrapper/pull/120
* Includes many other PRs
* [ ] Needs testing
* Fix things for the summer and **properly fix them in fall**
### LCIO to EDM4hep conversion
* https://github.com/key4hep/k4MarlinWrapper/pull/114
* [x] Needs: https://github.com/key4hep/k4FWCore/pull/117
* [ ] Needs: https://github.com/key4hep/k4MarlinWrapper/pull/118
* [ ] Needs a fix for the remaining issue of "trying to persistify an untracked object"
* Working for Leonhard since quite some time (on older stack)
* [ ] Try it on newer stack and see if things still work
* Started to work on shared mapping
* https://github.com/key4hep/k4EDM4hep2LcioConv/pull/21
* How general does it need to be?
* How much time do we spend in these map lookups?
* [x] Profile
* Really depends on the event contents
### Schema evolution code generation
* https://github.com/AIDASoft/podio/pull/441
* `genreflex` does not support what we had in mind for ROOT
## Podio
* https://github.com/AIDASoft/podio/pulls
* https://github.com/AIDASoft/podio/issues
* https://github.com/orgs/AIDASoft/projects/2/views/1
### New "beyond v1.0" project
* https://github.com/orgs/AIDASoft/projects/3
* Everything we de-prioritized for after v1.0
### Inconsistent setting of `PODIO_JSON_OUTPUT` in dictionaries (fixed)
* https://github.com/AIDASoft/podio/issues/435
* Fixed by https://github.com/AIDASoft/podio/pull/453
### Support for RNTuple (merged)
* https://github.com/AIDASoft/podio/pull/395
### Call `finish` in `Writer` destructors (merged)
* https://github.com/AIDASoft/podio/pull/442
* https://github.com/AIDASoft/podio/pull/446
### Descrption and Author for components (merged)
* https://github.com/AIDASoft/podio/pull/450
### More idiomatic use of `PROJECT_{SOURCE,BINARY}_DIR`
* https://github.com/AIDASoft/podio/pull/454
* [ ] https://github.com/AIDASoft/podio/pull/455
* Makes it possible to use e.g. `podio` as a subproject in other CMake project
* Currently experimenting with some builds that use this
### new tag v00-16-06
* Backported a few fixes
* https://github.com/AIDASoft/podio/pull/451
* https://github.com/AIDASoft/podio/pull/453
### Allow to specify units (PR)
* https://github.com/AIDASoft/podio/pull/445
### Better python bindings for Frame writing
* https://github.com/AIDASoft/podio/pull/447
### RNTuple reading multiple files might not be working
* To be confirmed and put into an issue
## EDM4hep
* https://github.com/key4hep/EDM4hep/pulls
* https://github.com/key4hep/EDM4hep/issues
### New github project to keep track of issues for v1.0
* https://github.com/orgs/key4hep/projects/5
* Please open an issue for discussion and link it to this project if you think something needs to be in v1.0
* We can still move it out of this project after discussion
* Discuss this in more detail after the "summer break"
* We have to address some of these rather soon
* e.g. https://github.com/key4hep/EDM4hep/issues/217
* Probably hard (to impossible) to make this in a backward compatible manner
### Add a OneToMany relation from TrackerHit to RecIonizationCluster
* https://github.com/key4hep/EDM4hep/pull/211
* When in the reconstrcution chain is the `RecIonizationCluster` produced?
* Related do discussion in https://github.com/key4hep/EDM4hep/issues/217
* In CEPC track fitting and cluster counting are separated
* Can be/should be possible created at the same time as the `TrackerHit`
* [ ] Check how this would work conceptually
* Ties in to a general discussion on which TrackerHit types we want and how they should work together
* https://github.com/key4hep/EDM4hep/issues/218
### MCTree visualization from JSON EDM4hep output
* [x] New repository (outside of EDM4hep)
* https://github.com/kjvbrt/dmx -> move to key4hep organisation (mark experimental)
* [x] Document `edm4hep2json` tool
### Content of `MCParticle`
* https://github.com/key4hep/EDM4hep/issues/208
* [ ] Talk to original implementors in LCIO
* Original reason still valid?
* [ ] Talk to HepMC3 authors
* Organize common meeting (after we have done our part)
* Mikael Bergren
* Juergen Reuter (Whizard)
* Andrew Buckley
## AoB
## Next meeting:
* Aug 29 (TBC), 09:00