EDM4hep Discussion

Europe/Zurich
Zoom

Zoom

Zoom Meeting ID
98484040528
Host
Andre Sailer
Useful links
Join via phone
Zoom URL

EDM4hep Live Notes
==================

Date: Dec 9, 2025
Indico: https://indico.cern.ch/event/1620240/

Connected:

Apologies:


### Upcoming workshops / conferences
https://github.com/orgs/key4hep/projects/4/views/1


## Progress and discussion


## Podio
* https://github.com/AIDASoft/podio/issues
* https://github.com/AIDASoft/podio/pulls
* https://github.com/orgs/AIDASoft/projects/2/views/1

 
### Merged PRs

- Fix rpaths in podio, not set correctly because ${LIBDIR} is empty [#896](https://github.com/AIDASoft/podio/pull/896)
- **Do not read `ExtraCode` for old schemas when doing schema evolution [#890](https://github.com/AIDASoft/podio/pull/890)**
- Bump urllib3 from 2.5.0 to 2.6.0 in /doc [#899](https://github.com/AIDASoft/podio/pull/899)
- Update documentation requirements and make doc building run on pull requests [#898](https://github.com/AIDASoft/podio/pull/898)
- Fix warnings in the generation of documentation [#895](https://github.com/AIDASoft/podio/pull/895)
- **Make it possible to pass multiple old datamodel definitions to the generator script [#828](https://github.com/AIDASoft/podio/pull/828)**
- Make sure to generate Collection headers to beginning [#894](https://github.com/AIDASoft/podio/pull/894)
- Add a --gdb switch to the podio-dump wrapper script [#893](https://github.com/AIDASoft/podio/pull/893)
- **Change the grammar of the schema evolution files [#845](https://github.com/AIDASoft/podio/pull/845)**
- Add some documentation about subset collections [#885](https://github.com/AIDASoft/podio/pull/885)
- **Fix code gen for old versions of array members [#886](https://github.com/AIDASoft/podio/pull/886)**
- Fix misleading warning in schema evolution detection for unrelated changes [#888](https://github.com/AIDASoft/podio/pull/888)
- Make test for renaming member variables more comprehensive [#887](https://github.com/AIDASoft/podio/pull/887)
- **Fix memory leak in the TTree Reader [#882](https://github.com/AIDASoft/podio/pull/882)**

### Make the python writers have the same behavior as the C++ writers
* https://github.com/AIDASoft/podio/pull/897
* Make it possible to read empty frames in python
* [ ] Tests

### Add the possibility to extract collections from a Frame
* https://github.com/AIDASoft/podio/pull/856
* Feature request from Acts (Paul)
    * Not sure if the actual problem they have is not better solved with an appropriate DD4hep ParticleHandler
    * Aware of the existing functionality in podio to do the remapping (e.g. `clone`-ing collections and manually re-setting relations)?
    * could also use the type lists that we generate to do some variadic template things?
* Might still be useful as an "expert feature"?
    * Could be useful for RDataFrame for mutating a collection(?)
* **How does this interact with the policies above?**
    
## EDM4hep
* https://github.com/key4hep/EDM4hep/pulls
* https://github.com/key4hep/EDM4hep/issues
* https://github.com/orgs/key4hep/projects/5 

### Merged PRs
- **Change type to use 32 bit integer in Quantity instead of 16 bit [#468](https://github.com/key4hep/EDM4hep/pull/468)**
- Add more files for checking backwards compatibility [#467](https://github.com/key4hep/EDM4hep/pull/467)
- Read all readable collections by default in the backwards compatibility tests [#466](https://github.com/key4hep/EDM4hep/pull/466)


### Consistently name intrinsic Cluster angles
* https://github.com/key4hep/EDM4hep/pull/465
* Test case for schema evolution for renaming of variables
* [x] Check usage

### Store old schema version YAML files explicitly
* https://github.com/key4hep/EDM4hep/pull/464
* Necessary in the future for schema evolution (podio needs to have access to all versions from which schema evolution should be possible)
* Switched to use schema version in naming, i.e. `v2`, `v3`, etc. (instead of EDM4hep versions)

### EDM4eic Jet proposal 
* https://github.com/eic/EDM4eic/pull/118
* [slides at ePIC S&C meeting](https://indico.bnl.gov/event/30539/contributions/116587/attachments/66199/113656/JetDatatypeProposal_epicWeeklySCMeeting.d12m11y2025.v0.pdf)
* Asked for slot at next Key4hep meeting with US friendly time slot for discussion
    * TBC first US friendly meeting in January
    

## Converter & MarlinWrapper

### Created list of Marlin processors that are available from Key4hep and their migration status to Key4hep
* https://github.com/key4hep/k4MarlinWrapper/issues/469
* Also record if / why we do not port a processor

## AoB

### HepMC3 -> EDM4hep writing in the process of being upstreamed to HepMC3
* https://gitlab.cern.ch/hepmc/HepMC3/-/merge_requests/399
    
### Next podio tag will break the DD4hep EDM4hep reader
* https://github.com/AIDASoft/DD4hep/issues/1529
* Originally caused by https://github.com/AIDASoft/podio/pull/868
* Main question: How far back should we support EDM4hep and podio in DD4hep?
    * E.g. drop everything pre 1.0
* Older versions of DD4hep will not be able to read EDM4hep files when built with EDM4hep >= 1.0 (technically podio > 1.6)

## Next meeting:
* Jan 20, 09:00

There are minutes attached to this event. Show them.
    • 09:00 09:05
      Introduction 5m
      Speakers: Andre Sailer (CERN), Frank-Dieter Gaede (Deutsches Elektronen-Synchrotron (DE)), Thomas Madlener (Deutsches Elektronen-Synchrotron (DESY))
    • 09:50 09:51
      Discussion 1m
      Speaker: Dr All