EDM4hep Discussion

→ Europe/Zurich
Zoom

Zoom

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

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

Date: Apr 09, 2024
Indico: https://indico.cern.ch/event/1403200/

Connected: Juan, Leonhard, Swathi, Tao, Juraj, Thomas, Alvaro, Brieuc, Jacopo, Frank, Pere, Gerri, Joseph, Sanghyun, Andre

Apologies:

## Introduction and General Points

### Upcoming workshops / conferences
https://github.com/orgs/key4hep/projects/4/views/1
    
## Progress and discussion

### ParticleID handling in EDM4hep
- [ ] Write utility PIDHandler prototype to see how things work / perform
    - WIP in https://github.com/key4hep/EDM4hep/pull/268
- **Which objects should get a `ParticleID`-like *extension*?**
    - Requested for Clusters, Tracks
    - Option 2: Create a `ReconstructedParticle` attach Cluster  / Track and relate `ParticleID` to that reco particle.
        - Need to write (to disk) a "dummy"/proto reconstructed particle to be useful in the end
- Clusters: `ClusterID` would be preferred to just using `shapeParameters`
- Tracks: ARC + Drift Chamber produce tracks and a particle ID from the tracks. Produces 6 hypothesis for tracks
- Usage is a bit clunky if you have to go through the intermediate dummy/proto reco particle
- Could use associations to relate?
- Proto reconstructed particle collection would imply having a copy of the `ParticleID` for storing the final reconstructed particle.

**-> For now follow the "proto particle approach" and create an intermediate `ReconstructedParticle` collection**

- Check how hard usage is and improve if necessary later
- Harder to take things (`ClusterID` / `TrackID`) back then to introduce them

## Podio
* https://github.com/AIDASoft/podio/pulls
* https://github.com/AIDASoft/podio/issues
* https://github.com/orgs/AIDASoft/projects/2/views/1

### Merged PRs
- RNTuple API update fixes: https://github.com/AIDASoft/podio/pull/547
- Minor fix for python bindings + corresponding tests: https://github.com/AIDASoft/podio/pull/575
    - Broken test covered for broken functionality
    - Only uncovered because ROOT updated the `cppyy` version they vendor which broke something else on our side
    - https://github.com/root-project/root/issues/15117 for details; **fixed in ROOT**
    
### Pythonizations for collections
- Python collections can be accessed out of bounds without an `IndexError`
- https://github.com/AIDASoft/podio/issues/458
- Use `cppyy` call back to implement it via `Collection::at`
- https://github.com/AIDASoft/podio/pull/570
- Ready to be merged?

### Homogenization of docstrings
- https://github.com/AIDASoft/podio/pull/575 
- Mainly cleanup + some improvments to docstrings

### Cleanup of README
- https://github.com/AIDASoft/podio/pull/573
    
### Frame serialization / deserialization
- https://github.com/AIDASoft/podio/issues/565
- Not part of v1.0


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

### Merged PRs
- CMake: Don't use read only property for assigning: https://github.com/key4hep/EDM4hep/pull/293
- Switch to non-deprecated `SIOReader` and `SIOWriter`: https://github.com/key4hep/EDM4hep/pull/293
- Make constants from `edm4hep/Constants.h` available from python: https://github.com/key4hep/EDM4hep/pull/294

### Doxygen cleanup
- Include only what is necessary and keep dependencies out https://github.com/key4hep/EDM4hep/pull/289

### Covariance matrix components
- https://github.com/key4hep/EDM4hep/pull/284
- https://github.com/key4hep/EDM4hep/pull/287
- Introduce helper functionality to hide storage details and make access using enums
- Some downstream breakages
- Now with common functionality in separate `ipp` file that is included in `ExtraCode`

### Reversal of direction of some relations
- https://github.com/key4hep/EDM4hep/pull/268
- `ParticleID` should point to `ReconstructedParticle`
- Remove `ParticleID` from `Cluster` (unused in ILD standard reconstruction)
- Introduce a `PIDHandler` utility class to invert the relations
    - [ ] Prototype available but metadata handling needs a bit of thought
- Related PRs:
    - Make the converter deal with this: https://github.com/key4hep/k4EDM4hep2LcioConv/pull/51
    - Fix usage in k4SimDelphes: https://github.com/key4hep/k4SimDelphes/pull/117


## Converter & MarlinWrapper


## AoB


## Next meeting:
* Apr 23, 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:10 → 09:30
      ParticleID discussion 20m
      Speakers: Alvaro Tolosa-Delgado (CERN), Brieuc Francois (CERN), Thomas Madlener (Deutsches Elektronen-Synchrotron (DESY))
    • 09:50 → 09:51
      Discussion 1m
      Speaker: Dr All