EDM4hep Discussion

Europe/Zurich
Zoom

Zoom

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

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

Date: February 23, 2021
Indico: https://indico.cern.ch/event/1010944/
This is a document for taking notes during EDM4hep meetings.

Connected: Weidong, Andre, Jiaheng, Teng, Benedikt, Frank, Sanghyun, Thomas, Clement, Birgit, Placido, Wenxing, Gerri, Tao, Xingtao, Pere,

Apologies: Valentin

## Introduction and General Points

### Virtual Chep

* **First Drafts last week, Tuesday**
* papers(!) due February 28, 2021
    * Submissions should consist of a paper of 6-10 pages, following the instructions for authors. Paper submission is open until 28 February 2021.
    * https://indico.cern.ch/event/948465/page/21562-instructions-to-submitters

* Contribution:
    * Key4hep overview
        * https://www.overleaf.com/read/trthzxscrvtp
    * Benedikt: What is missing: what are the next steps; How to join the project; where to get more information, how to approach the developers. Couple phrases, intro, conclusion or its own section
    * Clement: Minimum requirements for software to be added to Key4hep? Based on k4FWCore or EDM4hep?
        * Frank/Benedikt: should stay open, will be a long discussion otherwise
    * Authors
        * Opt-in, editors check that no-one is forgotten
        * Andre will send an email for people to opt-in
    * podio+edm4hep!
        * https://www.overleaf.com/project/6006bcda6d620e14455b642b

* Submission:
    * Final version Thursday night
    * Proofreading until Friday afternoon and then submission
    * Final editing session Friday 15:00 CET (Key4hep), ~16:00 CET (Podio)

## Progress and Discussion

## Podio

### New tool to draw EDM as defined in yaml


### Benchmarking
[Thomas] Added some scripts and tools to have almost automatic benchmarking and some results using k4SimDelphes to "generate" data for I/O. Could be made fully automatic with a bit more work and if we want it to be fully automatic.
* https://github.com/tmadlener/podio_benchmarking
* Example results: https://github.com/tmadlener/podio_benchmarking/tree/master/results/k4SimDelphes/ee_Z_bbbar

* https://root-forum.cern.ch/t/serious-degradation-of-i-o-performance-from-6-20-04-to-6-22-06/43584


### Issues/PRs

#### Heap-use-after-free

* https://github.com/AIDASoft/podio/issues/174
* Not a problem in frameworks, but if collections used outside of them
* Deep inside the memory management of podio, so not easy to fix
* Happens more often with clang than with gcc, but could be compiler options.
    * Flagged by address-sanitizer
* Compare with the DD4hep "Handle"s
    * LINK:


#### more fixes to unsigned and shadowed variables
* https://github.com/AIDASoft/podio/issues/170
* https://github.com/AIDASoft/podio/pull/171
* Make a tag after all the warnings are fixed
    * sign vs unsigned
    * using negative values for some special cases (invalid, untracked), could use largest unsigned, or cast to signed when comparing with vectors
    * Maybe better to leave it signed to avoid possible issues with   `max<unsigned> - 1`
    * Use a typedef for the "podIDType"?
    *

#### c++ concepts
* BH: add compile time checks for class behaviours: e.g., movable

#### issue w/ ROOT and (vectors of) non-copyable collections
* happens in ROOT 6.22
* PM: there is a patch available in LCG repository
    * ROOT team is working on a general solution

#### What are the different branches in the root file?

* Related to use in RDataFrame
* Encode more information in the _relation_ branch names?

#### Multi-Threading

See minutes of https://indico.cern.ch/event/969468/
--> Open issue(s) for further discussion

* Thomas and Benedikt discussing and started to work, nothing to report yet

#### "event class" in podio

* Currently being perceived

### PRs
* https://github.com/AIDASoft/podio/pulls

### Meta Data

#### Usage of "metadata" for user defined data
* need to check if current implementation addresses all use cases
* need test use-cases

### EventStore

### Schema Evolution

- Version for object descriptions, etc.
- Open issue: https://github.com/AIDASoft/podio/issues/86

### Features

* Subset collections?

## LCIOConverters
* https://github.com/key4hep/k4LCIOReader

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

### Make tag to propagate doxygen
Merged: https://github.com/key4hep/EDM4hep/pull/110


### EDM4hep documentation page moved

### EDM4hep tools
https://github.com/key4hep/EDM4hep-utils

### Issues

### Need review of EDM4hepDelphes output

* Output is not stored if no tracks or towers created (?)
    * Allow also other types to be part of the list
    * Allow construction in a more general way (VV)
* Need to assume there is a complete list of reconstructed particles?

* Relations:
    * FCCSW: Issue with more than one RecoParticle pointing to one MCParticle
    * In LCIO to Delphes, conversion happens later than in edm4hep, maybe delphes does de-duplication?
    * TODO: open issue in edm4hep with reproducer (VV)

--> Moving to separate repository


### PRs
https://github.com/key4hep/EDM4hep/pulls/


### Release 1.0

## AOB

### Conditions handling in Belle2
* Benedikt, or Martin Ritter

### Next meeting:

* March 8, 2021

 

### TODO

### New tags for k4SimDelphes
* Updated podio
* Updated Delphes version
    * Update spack fork and main spack


### Key4hep presentation IAS

* Also add a link to the FCC presentation https://indico.cern.ch/event/934666/contributions/4154228/ from Epiphany

There are minutes attached to this event. Show them.