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 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

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:45 → 09:46
      Discussion 1m
      Speaker: Dr All