EDM4hep Discussion

Europe/Zurich
Zoom

Zoom

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

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

Date: April 11, 2023
Indico: https://indico.cern.ch/event/1274721/

Connected: Juan, Tao, Wenxing, Swathi, Brieuc, Joseph, Sang Hyun, Thomas, Frank, Benedikt, Juraj

Apologies:

## Introduction and General Points

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

#### LCWS abstract submission deadline: March 31
* https://indico.slac.stanford.edu/event/7467/overview

#### Upcoming FCC US workshop
* https://indico.cern.ch/event/1244371/timetable/ 
* FCCSW tutorials will be given

#### Snowmass follow up discussion
* Mid April (before FCC workshop)
* Internal discussion, no action from us (still follow activities)
   
## Progress and discussion

## Dual Readout with small data model extension
* Migrate to `RawTimeSeries` after CEPC DriftChamber PR is merged

## Framework `PodioOutput` writes broken files when dropping collections
* https://github.com/key4hep/k4FWCore/issues/95
* Definitely solved with `Frame` based I/O, soon enough?
* Check `PodioOutput` if it can be made to write "proper" files. (Juraj will take a look)

## `ddsim` stores its output in `Frames` now (DD4hep >= 1.24)
* https://github.com/AIDASoft/DD4hep/pull/1041
* [ ] Need updates to k4FWCore to be able to read these files
   * Need to identify the Gaudi interface to fulfill
   * See https://github.com/key4hep/k4FWCore/issues/94
   * Need to divide work. Will discuss offline (Benedikt, Thomas)
   * Benedikt at testing stage, should be ready this week

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

### Decouple buffer creation from collection interface
* https://github.com/AIDASoft/podio/pull/394
* Introduces `CollectionBufferFactory`
* Necessary for templated associations
* Plan to hook schema evolution into this as well

### Templated (arbitrary) associations 
* https://github.com/AIDASoft/podio/pull/257
* [Preliminary documentation](https://github.com/AIDASoft/podio/blob/c648ced0d83ffd0d393c99dc962492cb2948254a/doc/associations.md)
* Can association "meta data" (to/from types) be inferred from files?
   * Yes though not extremely easily at the moment
   * For EDMs put the most required ones into the shared library
   * How often do users want associations that are not yet declared? Have to find out.

### RNTuple support
* https://github.com/AIDASoft/podio/pull/395
* Restarted by Juan
* RNTuple interface change in ROOT v6.28 (minimum required ROOT then)
* Hitting a ROOT issue(?) https://github.com/AIDASoft/podio/issues/385

### `constexpr const char*` names in generated types
* https://github.com/AIDASoft/podio/pull/402
* Has been requested
* using `string_view` in interfaces is a **breaking change**
   * Deprecate `string` versions first and see where warnings pop up in the stack.
* Would make it slightly cheaper to carry around type information at run time

### Removal of deprecated EventStore
* When do we want to do that? After `Frame` is in framework
* Have to make sure to update examples accordingly

### Writing unreadable files
* https://github.com/AIDASoft/podio/issues/382
* in framework probably handled by framework
* real issue for multithreading (order of insertion)
   * related: https://github.com/AIDASoft/podio/issues/381
   * having 1:1 relation of `name` -> `id` would solve insertion order
* Different contents of frames are a backend constraint from ROOT
   * Might be enforced better (i.e. with an actual crash) with RNTuple

### collection iterator dereferences not working as "expected"
* https://github.com/AIDASoft/podio/issues/281
* Arguably work as intended. Handles are just handles, they can't know whether they handle something from a collection or a free standing object. 
       * Replace the `bug` label
* Document current behavior properly
* Real fix would require quite some design work
* Have to figure out how to make this work with ranges

## EDM4hep
* https://github.com/key4hep/EDM4hep/pulls
* https://github.com/key4hep/EDM4hep/issues

## AoB
* Big picture presentation for Key4hep / podio / EDM4hep with goals for this year
   * Help get everyone on the same page
   * Schedule for one of the next meetings

## Next meeting:
* April 25, 2023; 09:00

There are minutes attached to this event. Show them.