EDM4hep Discussion

Europe/Zurich
Vidyo

Vidyo

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

Date: November 10, 2020
Indico: https://indico.cern.ch/event/973996/

This is a document for taking notes during EDM4hep meetings.

Connected: Jiaheng, Andre, Thomas, Graeme, Valentin, Frank, Placido, Benedikt, Tao Lin

Apologies: Clement et al.

## Introduction and General Points


## Progress and Discussion

### HSF podio Presentation

* Thomas will prepare slides and distribute via the mailing list

## Podio

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


### Using SIO as backend

* Frank and Thomas looking into it
    * Approved

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

### Meta Data

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

### Issues following MetaData Developments

* cannot write out event data previously read from file
    * Issue: https://github.com/AIDASoft/podio/issues/103
    * Test: https://github.com/AIDASoft/podio/pull/102
    * TM: have fix, but break framework core handling of collections

* there seems to be a fix in the Gaudi ROOTWriter in FCC-EDM !?
    * historical reason, fixes and developments should be back ported to PODIO
    * ...

#### Writing second file with another tree

* https://github.com/key4hep/K4FWCore/issues/10
* this problem only happens in the GAUDI framework
    * if user tries to write an additional ROOT file
    * to be addressed

### EventStore

### Schema Evolution

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

### Features

* Subset collections?

## LCIOConverters

* Conversion from LCIO to EDM4HEP is almost completed, but we need more testing for the three associations:
    * MCRecoParticleAssociation
    * MCRecoCaloAssociation
    * MCRecoTrackerAssociation
* LCIOInput, an algorithm wrapper in Gaudi/K4FWCore
    * https://github.com/ihep-sft-group/LCIOInput
* K4LCIOReader:
    * https://github.com/ihep-sft-group/K4LCIOReader
* Used to reconstruct clusters with Pandora
    * Publish Pandora Interface on github

* working on spack recipe for CEPC software. Using `spack install cepcsw` to install CEPCSW.
    * https://github.com/key4hep/k4-spack/pull/73


* Move K4LCIOReader code to key4hep project
    * Rename to k4LCIOReader

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

### Tracker Hit

* Q: Tracker hit input to tracking algorithms?
* A: In LCIO different traker hits: Planar and Cylindrical using inheritance. Still needs to be adressed how to do this in EDM4hep.
* Q: Is inheritance needed?
* Q: What to use for Driftchambers?
* Open issue:


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

#### Reworking output handling

- TM: better address edge cases
- TM + CH: FCC cases, not sure if delphes or output

### DD4hep output plugin

--> Moving to DD4hep

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


### Release 1.0

* Need:
    * ~~Plugin~~
    * ~~Eventheader~~
    * ~~Meta Data (Event / Run Parameters)~~

## AOB

### Framework integration of k4SimDelphes

* On hold until delphes output reworked
* Started with updating the Gaudi documentation
    * New cmake in Gaudi v35

### Dual Read-out calorimeter for FCC

* Special data structure used for that simulation
* Tried to use edm4hep, some issues
* Present in a future meeting

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

### Feedback from FCC tutorial for snowmass

* Common question: What are the different branches in the root file?
* ``uproot`` was also used to access the root file
    * Basically re-implemented event store
        * Associations
    * Try to get this into the, e.g., podio repository

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:25 10:00
      Discussion 35m
      Speaker: Dr All