Key4hep Discussion

→ Europe/Zurich
Zoom

Zoom

Zoom Meeting ID
95444210901
Host
Andre Sailer
Useful links
Join via phone
Zoom URL
# Key4hep Live Notes
 
Date: September 29, 2026
 
Agenda: https://indico.cern.ch/event/1732445/
 
Connected: Juan, Thomas, Andre, David, Leonhard, Joshua, Brieuc, Benedikt, Bohdan, Andreas, Sanghyun
Apologies: 
 
## Github project
 
- https://github.com/issues?q=is%3Aopen+is%3Aissue+user%3Akey4hep
 
## Discussions
[Github Project Discussions](https://github.com/orgs/key4hep/projects/2/views/1?visibleFields=%5B%22Repository%22%2C%22Title%22%2C3970156%2C%22Status%22%2C%22Assignees%22%5D)
 
## Presentations
 
https://github.com/orgs/key4hep/projects/4/views/1
 
 
## Communities Round Table
 
## Missing tags
- k4geo
- k4RecTracker
- k4FWCore?
    Commits in key4hep/k4FWCore after the tag v01-07:
    a13de2b Fix boolean properties on the k4run command line (#433)
    75f20d2 Require Gaudi v41r1 for EventContext data handle API (#436)
    ea09824 Support Gaudi 41 EventContext data handle API (#432)
    dd4c174 Simplify the background particle index mapping (#429)
    64538b2 Add --evt-max alias to k4run (#431)
    0ab1177 Fix clangd NRVO warnings in location helpers (#430)
    014bf1b Refactor test components to functional algorithms (#427)
    1c3eabe Fix pre-commit checks (#428)
    c43c0b9 Update Key4hepConfig.cmake
    5464018 fix: protect against out of bounds access (#425)
    c4fb84f Set the CellID encoding of overlaid collections in initialize() (#423)
    42f8828 Make the UniqueIDGenSvc log the unique id it generated (#424)
    eebcb6a Use GCC 16 for the dev3 stack (#422)
    f69c74d Update dev3 build workflow (#421)
    ccc750d Add back the accidentally removed documentation (#420)
- k4SimDelphes with https://github.com/key4hep/k4SimDelphes/pull/162
- k4Reco?
    Commits in key4hep/k4Reco after the tag v0.4.0:
    de71eb6 Update Key4hepConfig.cmake
    9ecf69f Bump cvmfs-contrib/github-action-cvmfs from 5.5 to 5.6 (#68)
    10b4b2a Split the propagation-time correction into independent hit-time and time-window flags (#65)
    9116243 Upstream FastJet algorithm from MuonCollider fork (#51)
    5dc1d45 Bump actions/checkout from 4 to 7 (#67)
    71ad033 Update github actions for pre-commit and add dependabot config (#66)
- k4GeneratorsConfig
- LCIO
- MarlinTrkProcessors:
    Commits in iLCSoft/MarlinTrkProcessors after the tag v02-12-09:
    8db293b Fix nightly (gcc16) build: unused-but-set-variable errors (#83)
    ee27b1a [FCC] Adapt RefitProc to support ILD@FCC (#81)
    320c467 Switch to latest version of key4hep-build workflow (#82)
- 
 
 
 
## LCContent and k4GaudiPandora
- From MuonCollider: Algorithms that could profit from additional flags in `CaloHit` (see [LCContent#43](https://github.com/PandoraPFAOrg/LCContent/pull/43))
  - Either add it to the `CaloHit` provided by `PandoraSDK` ([PandoraSDK#37](https://github.com/PandoraPFAOrg/PandoraSDK/pull/37))
  - Or (as suggested by Pandora devs), introduce an `LCCaloHit` into `LCContent` and add necessary customization there -> [LCContent#45](https://github.com/PandoraPFAOrg/LCContent/pull/45) and [LCContent#46](https://github.com/PandoraPFAOrg/LCContent/pull/46)
    - Also needs `k4GaudiPandora` to create these hits: [k4GaudiPandora#55](https://github.com/key4hep/k4GaudiPandora/pull/55)
- All of this is ready for review & merge
    - MuonCollider people confirmed that this still works as intended
    - In principle completely transparent for anyone who does not use newly added status bits / flags
      - [ ] Verify via CLD(?)
 
## k4GaudiPandora & ILD
- Tried to use k4GaudiPandora in ILDConfig ([ILDConfig#201](https://github.com/iLCSoft/ILDConfig/pull/201)). Ran into several problems
    - `k4GaudiPandora` symbols clash with `DDMarlinPandora` ([k4GaudiPandora#56](https://github.com/key4hep/k4GaudiPandora/issues/56))
        -  Possible fix: Namespace k4GaudiPandora algs & add aliases [k4GaudiPandora#59](https://github.com/key4hep/k4GaudiPandora/pull/59)
   - `TrackerHit3D` are not converted in `k4Reco` ([k4GaudiPandora#58](https://github.com/key4hep/k4GaudiPandora/issues/58))
       - Partial fix: [k4Reco#70](https://github.com/key4hep/k4Reco/pull/70). This enables the conversion, but ILD has `COMPOSITE_SPACEPOINT`s which we no longer support in EDM4hep (see [EDM4hep#382](https://github.com/key4hep/EDM4hep/issues/382))
- Failure at the moment is in the conversion of EDM4hep -> Pandora EDM. The track extrapolation happens inside `k4GaudiPandora` and only that needs the tracker hits conversion.
    - Proposal to extract the track extrapolation from Pandora "wrapping" and put it into a separate algorithm (MuonCollider already does this as they run the track extrapolation in ACTS). 
 
 
 
## k4MarlinWrapper
 
## Gaudi
 
 
## k4CEDViewer
 
## k4Clue
 
Recap of the past few months (on top of writing the PhD thesis):
* few PRs merged
    * #79 to have different clustering strategies and different coordinates --> improve generality
    * #80, #81 and #82 by Juan to fix bugs and clean the repo
    * #83 by Sangh Yun to fix the position computation
* comparison with Pandora in terms of physics and computing performance
    * the full Pandora chain is better but slower, only the topological clustering is worse (and slower) than k4Clue
* while testing the computing performance I ran into a crash due to the Conformal Tracking algo finding too many tracks
    * sample with 50 photons (tracks probably from pair production)
    * I suspect the reason is that the algo branched on every parent cell (instead of only the longest-chain one), with the combinatorial exploding.
    * Tracks in the event that crashes (after putting a break in the while loop when >15000 tracks are found):
      ```
   --- Event 17 ---
   n tracks       : 9
     track 0: chi2/ndf=0.78  nHits=22  nHoles=0
     track 1: chi2/ndf=7.84  nHits=20  nHoles=0
     track 2: chi2/ndf=1.19  nHits=20  nHoles=0
     track 3: chi2/ndf=12.48  nHits=7  nHoles=0
     track 4: chi2/ndf=31.87  nHits=3  nHoles=0
     track 5: chi2/ndf=56.96  nHits=3  nHoles=0
     track 6: chi2/ndf=49.08  nHits=3  nHoles=0
     track 7: chi2/ndf=47.25  nHits=3  nHoles=0
     track 8: chi2/ndf=62.44  nHits=3  nHoles=0
       ```
    * my temporary fix was to run with the truth tracking, I also [changed the logic](https://github.com/AuroraPerego/k4Reco/tree/fixConformal) by following only the longest branch, it runs without crashing (but the results have to be validated) 
 
 
## (Re-)organization of repository content
* Started to move interfaces from k4FWCore to downstream where they are defined
    * See discusion from last time
    * https://github.com/key4hep/k4FWCore/pull/386 and https://github.com/key4hep/k4SimGeant4/pull/90
    * https://github.com/key4hep/k4FWCore/pull/387 and https://github.com/HEP-FCC/k4RecCalorimeter/pull/224
* [ ] Moving of packages / algorithms
    * [x] Overlay -> k4FWCore
    * [ ] DDPlanarDigi -> k4RecTracker
    * [ ] GaudiLumiCalClustering -> k4RecCalorimeter
    * [ ] DDCaloDigi, DDSimpleMuonDigi, DDScintillatorPpdDigi -> k4RecCalorimeter
    * Three components for Tracking: ConformalTracking, GaudiTrkUtils, Other (RefitFinal, TruthTrackFinder, ClonesAndSplitTracksFinder)
        - ConformalTracking, RefitFinal, TruthTrackFinder depend on GaudiTrkUtils
        - GaudiTrkUtils depends on KalTest, DDKalTest (iLCSoft)
        - ClonesAndSplitTracksFinder does not, it could be moved
* **Is someone actively working on this?**
    * Not at the moment
 
## Documentation of existing algorithms
- [ ] Versioning
    - Key4hep releases?
 
### ACTS integration
 
### Podio
 
## EDM4hep
 
## GSoC
 
### Documentation
 
- [ ] Add page with logos on documentation page
    - E.g. add an archive / tarball that is easy to download
    - LICENSE, allowed usage (also wrt altering logo), copyright, credits...
    - CERN Design Office doesn't care about attribution
    - [x] Confirm License and standard CERN rules
    - e.g. CERN logo usage guidelines: https://design-guidelines.web.cern.ch/guidelines/logo
 
## [k4Reco](https://github.com/key4hep/k4Reco)
* Migration / port of LCFIPlus
    * https://github.com/key4hep/k4Reco/pull/63
    * Split this into different parts? (Vertexing, FlavorTagging, PID)
    * Try to figure out what is still necessary and if there are things that could be let go
 
 
## k4FWCore
        
* Code generator for algorithm boilerplate and a key4hep tutorial:
    * https://github.com/key4hep/k4FWCore/pull/372
        * fully functional with compiled examples and documentation. Please review
    * https://github.com/key4hep/key4hep-tutorials/pull/33
 
## k4Geo
 
## CEPCSW
 
## k4SimDelphes
 
## ML-based Flavourtagger
 
## k4SimGeant4
 
## Tooling in Key4hep
 
## FCC-Analyses
 
## Analysers
 
## Build system / Target compiler / dependencies
 
## k4EDM4hep2LcioConv
 
## Distributed Computing, Workload Management, Data Management
 
## Validation system
 
## FCC Calo reconstruction
 
## AOB
 
## Next meetings
 
* October 06, 16:00 CEST
There are minutes attached to this event. Show them.
    • 1
      Introduction
    • 2
      Discussion
      Speaker: Everyone