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 6, 2021
Indico: https://indico.cern.ch/event/1025595/
This is a document for taking notes during EDM4hep meetings.

Connected: Tao, Lia, Weidong, Wenxing, Andre, Sanghyun, Thomas, Gianfranco, Jiaheng, Clement, Placido, Benedikt, Gerri, Valentin,

Apologies: Frank,

## Introduction and General Points

### Schema Evolution discussion in the meeting on April 20
- Version for object descriptions, etc.
- Open issue: https://github.com/AIDASoft/podio/issues/86

## Progress and Discussion

### Translation of IDEA hits / tracks into EDM4Hep

* See slides
* fGlobalTime: Creation time of the particle that caused the hit
    * Not clear if MCParticle information suitable to obtain this information
    * Might be possible to create a temporary hit with the pile-up time
* Reconstructed Hit Information for the tracks?
    * Store in SubDetectorHitNumbers, vector of 2*(Number of Detectors), all hits in detector, Good hits in Detector
    * E.g: https://github.com/iLCSoft/MarlinTrkProcessors/blob/363e01c9c1f4f98fd62d3c81f648abe72c00756a/source/Refitting/src/SiliconTracking_MarlinTrk.cc#L3323-L3325
* fProcessCode: use `int quality` to store bitflag for processID
* ACTS or ConformalTracking might not work out of the box with DriftChamber type hits
    *
* dN/dX measurement, how to store?
    * Stored in addition or instead of dE/dX?

## Podio

### Benchmarking

* Discuss how to integrate with validation in Key4hep

### Issues/PRs

* Fixed width integer types
    * https://github.com/key4hep/EDM4hep/issues/112
    * Needs a bit of adaptation for code generation

* Root performance fixes
    * https://github.com/AIDASoft/podio/pull/180
    * Ready for Review

* Number of fixes [WIP]:
    * https://github.com/AIDASoft/podio/pull/177
    * Not working with ROOT 6.20/04 and older
    * New (stable) pyroot in 6.22 (to be confirmed?)
    * Drop support for older root?

#### Make a tag after all the warnings are fixed

#### 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
* Maybe requires deep changes. Change for reference counting of object classes.

#### 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?
* https://github.com/AIDASoft/podio/issues/169
* Encode more information in the _relation_ branch names?
* Related to use in RDataFrame/RNTupe, directly looking at root file content
* Are branch names an implementation detail?
* backward compatibility "Impossible" (?)

#### Schema Evolution

- Version for object descriptions, etc.
- Open issue: https://github.com/AIDASoft/podio/issues/86
- Dedicate a meeting for this.
    - Discuss some conceptual proposals
    - April 20

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

 

### Features

* Subset collections?

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

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

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

--> Moved to separate repository


## AOB

### Next meeting:

* April 20, 2021

### TODO

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

 

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))
    • 09:05 → 09:25
      Translation of IDEA hits / tracks into EDM4Hep 20m
      Speaker: Lia Lavezzi (Universita e INFN Torino (IT))
    • 09:25 → 10:00
      Discussion 35m
      Speaker: Dr All