EDM4hep Discussion

Europe/Zurich
Zoom

Zoom

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

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

Date: Jun 4, 2024
Indico: https://indico.cern.ch/event/1428754/

Connected: Andre, Benedikt, Jacopo, Juan, Leonhard, Mateusz, Pere, Swathi, Tao, Frank, Sanghyun, Thomas, Joseph

Apologies: Brieuc

## 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
* Make schema evolution detect changes of component members
    * https://github.com/AIDASoft/podio/pull/622
* Refactoring of RNTupleWriter / Reader internals
    * https://github.com/AIDASoft/podio/pull/614
* Minor fixes for Reader and Writer interfaces
    * https://github.com/AIDASoft/podio/pull/618
* change of return type for GenericParameers (and Frame parameters)
    * https://github.com/AIDASoft/podio/pull/580
* Fix param type determination for python bindings on macOS
    * https://github.com/AIDASoft/podio/pull/602
* Proper install prefix for python bindings
    * https://github.com/AIDASoft/podio/pull/599
* Improve generated interface function name to obtain the actual type
    * https://github.com/AIDASoft/podio/pull/595
* Add a parameter `cloneRelations` for `clone` to be able to clone without relations
    * https://github.com/AIDASoft/podio/pull/609
* Generate a header file including all collections of an EDM (i.e. the complete datamodel)
    * https://github.com/AIDASoft/podio/pull/606
* Python bindings for `Frame::getName` to get collection names
    * https://github.com/AIDASoft/podio/pull/608
* Documentation for cmake macros
    * https://github.com/AIDASoft/podio/pull/607
* Document `Collection` comparison with `Container` named requirement
    * https://github.com/AIDASoft/podio/pull/598
    
### Store GenericParameters as pairs of vectors
* https://github.com/AIDASoft/podio/issues/590
* https://github.com/AIDASoft/podio/pull/625
* Now using the same format for TTree and RNTuple
* [ ] Documentation of output format
* Last missing PR before v1.0

### `podio-dump` implementation in c++
* https://github.com/AIDASoft/podio/pull/620
* Complaints here: https://github.com/key4hep/EDM4hep/issues/312
* ~10 times faster than python implementation
* Needs `fmt`-lib for formatting (or gcc > 13 / clang > 16)
* dumping of datamodels stored in files not easy to implement in c++
    * Would require to implement an in-memory conversion from JSON to YAML
    * Keep that functionality in python in new tool

### RDataSource for podio
* https://github.com/AIDASoft/podio/pull/593
* Possible to have a generice `RDataSource` for all generated EDMs
* Some comments to be addressed
        
### Frame serialization / deserialization
* https://github.com/AIDASoft/podio/issues/565
* Not part of v1.0
* Proposal from D. Lawrence: https://github.com/AIDASoft/podio/pull/579

### Leak in SIO Frame reading
* https://github.com/AIDASoft/podio/issues/594

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

### Merged PRs
* Add GeneratorInfo (meta)data storage classes and utilities
    * https://github.com/key4hep/EDM4hep/pull/310
* Introduce `labels` namespace for string constants
    * https://github.com/key4hep/EDM4hep/pull/315
* Use MurmurHash3 to hash the algorithm name for the algorithm type in ParticleIDMeta
    * https://github.com/key4hep/EDM4hep/pull/307
* Update schema diagram to reflect the new ParticleID to ReconstructedParticle relation
    * https://github.com/key4hep/EDM4hep/pull/303
* Proper python install prefix (according to python conventions)
    * https://github.com/key4hep/EDM4hep/pull/314
* Add metadata name for event filter statistics
    * https://github.com/key4hep/EDM4hep/pull/283
    
### Remove the dQ/dx related information from the Track
* https://github.com/key4hep/EDM4hep/pull/311
* Intra datamodel consistency for information

### Reconstructed TOF 
* https://github.com/key4hep/EDM4hep/pull/299
* Do we need the 5 different path lengths and expected times for the 5 particle species?
    * Different track length / time for different species
    * Could create new tracks for the different species and link to that
* Refitting (and storing) the track might be prohibitive due to size (and information duplication)
    * No clear best solution to this yet. Needs some further discussion
    
    
## Converter & MarlinWrapper
    
## AoB

## Next meeting:
* July 02, 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:50 09:51
      Discussion 1m
      Speaker: Dr All