EDM4hep Discussion

→ Europe/Zurich
Zoom

Zoom

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

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

Date: July 16, 2024
Indico: https://indico.cern.ch/event/1438375/ 

Connected: Swathi, Juraj, Tao, Mateusz, Jacopo, Leonhard, Juan, Thomas, Frank, Gerri, Benedikt

Apologies: Andre

## Introduction and General Points

### Upcoming workshops / conferences
https://github.com/orgs/key4hep/projects/4/views/1
    
## Progress and discussion
    
## Podio
* https://github.com/AIDASoft/podio/pulls
* https://github.com/AIDASoft/podio/issues
* https://github.com/orgs/AIDASoft/projects/2/views/1

### Merged PRs
* Few minor usability and bug fixes
    * Improve error message with incompatible ROOT c++ version https://github.com/AIDASoft/podio/pull/635
    * Load dict libraries independent of shared lib suffix https://github.com/AIDASoft/podio/pull/638
    * Improve readability of dumped `ObjectID`s (`xxxxxxxxi` -> `xxxxxxxx|i`)
    https://github.com/AIDASoft/podio/pull/639
    * Cleanup a few includes https://github.com/AIDASoft/podio/pull/641

### RDataSource for podio
* https://github.com/AIDASoft/podio/pull/593
* Possible to have a generice `RDataSource` for all generated EDMs
* Some comments to be addressed

### Make subset collection JSON dumping not duplicate information
* https://github.com/AIDASoft/podio/pull/640
* Currently dumped *as if* it was a full collection
* PR would make it dump the `ObjectID`s of the referenced objects instead
* [ ] Implement a mode for full dumping still

### Make collection iterators fulfill `LegacyInputIterator` and `input_iterator` concept (wip)
* https://github.com/AIDASoft/podio/pull/626
* Documentation + usability upgrade for algorithms

### `podio-dump` implementation in c++ (wip)
* https://github.com/AIDASoft/podio/pull/620
* Complaints here: https://github.com/key4hep/EDM4hep/issues/312
* ~10 times faster than python implementation
* Needs `fmt`-lib for formatting (or gcc > 13 / clang > 16)
* dumping of datamodels stored in files not easy to implement in c++
    * Would require to implement an in-memory conversion from JSON to YAML
    * Keep that functionality in python in new tool
        
### 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

### Leak in SIO Frame reading
* https://github.com/AIDASoft/podio/issues/594

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

### Merged PRs
* Make Vertex have a `type` bitfield instead of a mistype `primary` member
    * https://github.com/key4hep/EDM4hep/pull/329
* Remove `radiusOfInnermostHit` from `Track`
    * https://github.com/key4hep/EDM4hep/pull/326
* Make dictionary loading work independent of shared lib suffix
    * https://github.com/key4hep/EDM4hep/pull/339
    
### Remove the dQ/dx related information from the Track
* https://github.com/key4hep/EDM4hep/pull/311
* Intra datamodel consistency for information
* [ ] Downstream PRs still need to be prepared
    * FCCAnalyses pending
    
### Overhaul the relations between Vertex and ReconstructedParticle
* https://github.com/key4hep/EDM4hep/pull/332
* [ ] Downstream PRs still need to be prepared
    * converter almost done (but test logic is not yet clear to me)
    * merge converter PR even with potential logic bugs in the conversion and fix them over the summer
    
### Handling of associations
* PR in podio for templated associations https://github.com/AIDASoft/podio/pull/257
    * [ ] Check how much effort it is to revive this
* [ ] Need to check if this can be made almost transparent for once podio supports this
* [ ] Naming for members of association?
    * Currently `from` and `to`; but associations are not really directed
    * ~~`left` / `right`? `first` / `second`?~~
    * Doesn't matter too much because we have `get<T>` so we can get by type? Only the branch names would have the "labels"
    * [ ] If templated associations are too much work for now, consider renaming members in edm4hep.yaml for (almost) transparent move later

## Converter & MarlinWrapper

* Several PRs to keep nightly builds running in converter, MarlinWrapper and FWCore, see links in EDM4hep PRs
    
## AoB

## Next meeting:
* July 30, 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