EDM4hep Discussion

→ Europe/Zurich
Zoom

Zoom

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

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

Date: October 8, 2024
Indico: https://indico.cern.ch/event/1465224/

Connected: Andre, Tao, Juan, Mateusz, Birgit, Brieuc, Juraj, 

Apologies: Thomas, Frank, Leonhard

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

* Templated links between arbitrary datatypes ([#257](https://github.com/AIDASoft/podio/pull/257]))
* Use `enable_if` ot allow using containters of interfaces with object wrappers ([#683](https://github.com/AIDASoft/podio/pull/683))
* Use unique_ptr to manage one-to-one-relations in the Obj classes ([#689]( https://github.com/AIDASoft/podio/pull/689))
* GenericParameters.h: add missing clear and empty check for double map ([#692](https://github.com/AIDASoft/podio/pull/692))

* Some changes in the CI and testing

### Add a tool to merge several podio files into a single one ([#681](https://github.com/AIDASoft/podio/pull/681))
* [ ] Add metadata about which files were merged

### Make accessing single elements in empty parameter vectors return an empty optional [#694](https://github.com/AIDASoft/podio/pull/694)
* What is the desired behavior here?
    * Empty value?
    * Empty optional?


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

### Zenodo Batch, Author / Contributor list
https://github.com/key4hep/EDM4hep/pull/375


### New tag `v00-99-01`
* [release on github](https://github.com/key4hep/k4FWCore/issues/238)

### Merged PRs
  
#### Add read tests to ensure backwards compatibility
* https://github.com/key4hep/EDM4hep/pull/358
* Similar to what we do in podio to ensure we can truly read files written with older versions
* Pre-requisite for switching out links with templated links
* Test files for EDM4hep v00-99-01 + podio v01-01

#### add formatting and linting python in pre-commit 
* https://github.com/key4hep/EDM4hep/pull/370 
* Discussion about which parts of the configuration of different tools should be centralized and which parts should be package specific
    * `ruff` configuration can be layered, i.e. can have different config files with different priority
    * Major issue for linting: Gaudi is dynamically loaded
    * Make formatting centralized and apply to all repos
* [ ] Need to have a dedicated discussion for python style (e.g. type annotations, etc.)

    
### [WIP] Switch to templated links and remove explicit declarations from yaml file
* https://github.com/key4hep/EDM4hep/pull/373
* Transparent reading of old (generated) link collections
    * Some "schema evolution" code necessary
* Example of how adding a new link looks like at the moment
    * Create a header with typedef
    * Use `PODIO_DECLARE_LINK` to instantiate the necessary buffer creation code for a given type
* Make a new dedicated `links`(?) category in the YAML file?
    * Yes, keeps EDM4hep self-contained
    * [ ] Make a separate PR that introduces that
* Do we need schema evolution from non-templated links? 
    * Yes, we had a tagged version (`v00-99`) of EDM4hep with the non-templated links
    
    
## Converter & MarlinWrapper

* `IOSvc` support for MarlinWrapper?
    * https://github.com/key4hep/k4MarlinWrapper/issues/202
    * Do we need it? `IOSvc` is mainly for multithreading, but most processors are not threadsafe
    * [ ] Can we change the segmentatoin fault to an error message?

## New Key4hep Release

* Release ready to be deployed, expected today
* Checking that spack builds latest tag for each package in Key4hep and FCC

## AoB

* Pick up putting repositories on zenodo

## Next meeting:
* ~~Oct 22, 2024, 09:00 ? During CHEP?~~
* November 5, 9:00 CET(!)

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