Key4hep Discussion

→ Europe/Zurich
Zoom

Zoom

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

# Key4hep Live Notes

This is a document for taking notes during Key4hep meetings.

Date: February 2, 2021

Agenda: https://indico.cern.ch/event/1003500/

Connected: Andre, Birgit, Placido, Sanghyun, Teng, Thomas, Gerri, Xiaomei, Benedikt, Clement, Valentin, Pere, Brieuc, Joseph,

Apologies: Weidong, Tao, Jiaheng, Huang, Frank

## Communities Round Table

* Allow cxxstd 20 in key4hep? will limit compilers
    * https://gcc.gnu.org/projects/cxx-status.html
    * https://en.cppreference.com/w/cpp/compiler_support
* not clear if all packages support c++20 at the moment
    * Try it out and see if this is even an option at this point -> Valentin
* might require more up-to-date tools

## Presentations

### IAS

* https://indico.cern.ch/event/971970/timetable/#153-3-status-of-the-key4hep-so
* January 20, 9:40 CET

### Virtual Chep

* papers(!) due February 28, 2021
    * Submissions should consist of a paper of 6-10 pages, following the instructions for authors. Paper submission is open until 28 February 2021.
    * https://indico.cern.ch/event/948465/page/21562-instructions-to-submitters

* Contribution:
    * Key4hep overview
        * Few paragraphs per contribution?
        * Editorial Team:  Andre, Frank, Valentin, Clement, Weidong
        * Overleaf document created
        * **First draft for the next meeting in 2 weeks!**
    * Delphes parts?
        * Standalone for Delphes? TrackCovariance, RDataFrame Analysis
    * podio+EDM4hep!
        * Editorial Team: Benedikt, Thomas, Xingtao
        * Mention connection of Delphes and EDM4hep
        * https://www.overleaf.com/5258882815fddqvpytdpwn (created after the meeting)
        * **First draft for the next meeting in 2 weeks!**

* Write on overleaf, collect on github once done.

### Linear collider workshop
* March 15-18, 2021

### FCC Week
* June 28 -- July 2, 2021

### Collect existing presentation

* https://key4hep.github.io/key4hep-doc/talks-and-presentations/README.html
* https://github.com/key4hep/documents

## Transition of FCCSW to EDM4hep started
* https://github.com/HEP-FCC/FCCSW/tree/edm4hep

### GeoSvc
- GeoSvc: need cross check with LC reconstruction workflow
    - e.g. geometry service
- should cross check w/ MarlinWrapper
    - Have to see if the DD4hepProcessor can be just replaced by the geometry service

## k4 delphes interface
- its own repository: https://github.com/key4hep/k4SimDelphes
- Eventually move EDM4hep interface to Delphes?
- Framework integration
    - WIP PR: https://github.com/key4hep/k4SimDelphes/pull/23

- Thomas: refactored the EDM4hepDelphes converter by doing the conversion on the final Delphes TTree
    - Merged: https://github.com/key4hep/k4SimDelphes/pull/5
    - triggered discussion on allowing for different formats:
        - 1-1 correspondence of Delphes collections to EDM4hep collections vs. having well defined list of ReconstructedParticles (PFOs)
        - latter is definitely needed for ILC, probably all e+e- machines
        - work in progress to have both options...

## Podio

- Thomas has started PR with generic I/O benchmarks for PODIO/EDM4hep as a follow up to the talk
    - will allow for detailed timing of individual I/O steps for different I/O systems
    - https://github.com/AIDASoft/podio/pull/155

- Rebase: https://github.com/AIDASoft/podio/pull/156
- Merged: https://github.com/AIDASoft/podio/pull/154

### RNTuple as output format


### CI


* [ ] move edm4hep to github actions


### Discussion: Interplay between Readers, Writers, EventStore and Collections
* https://github.com/AIDASoft/podio/issues/140
* Benedikt and Thomas had discussions with goal to sketch out the model
    * See: https://indico.cern.ch/event/983031/#4-discussion
* Will create a branch with developments
    * Will probably be a very breaking change
    * Conflicting requirements for different use-cases


## EDM4hep

* edm4hep documentation website moving to different backend

## Build system / Target compiler / dependencies

* Issue with CEPCSW/HepMC
    * Fixed in https://github.com/cepc/CEPCSW/pull/147

* Added python / analysis packages

* Debug build started
    * Build Failure in ROOT, need to debug

* Some developments sparked by HSF workshop discussion
* Try out installation on top of gentoo prefix
* Progress in building natively on macos:
    * https://github.com/key4hep/key4hep-spack/issues/136
* Distribute spack on cvmfs

 

### Spack development build documentation

* https://github.com/key4hep/key4hep-doc/pull/15
* Develop packages and compile dependent packages on top


### CMake Template

* Valentin: need to update the HSF CMake project template
    * https://github.com/HSF/tools
    * could be a nice student project at some point
    * [ ] need a project description
    * [ ] Discuss with Ben Morgan


## k4FWCore

* [ ] add event header writer
    * event header class, nothing in the framework that writes the event header
        * What does the event header contain?
        * https://github.com/key4hep/EDM4hep/blob/e17d47ab9f17f3a56fb90550d307275cacd93153/edm4hep.yaml#L91

        * Can have more than one event header in one event?
            * What about when doing pile-up?
        * --> Discuss in EDM4hep meeting

### (How to) store more flat data structures?

* Can there be a generic way?
* CMS: configurable tool to store flat ntuples
* Should ask: How to make it easier to create the right output for analyses?
* Can we simplify the access logic?
    * Issue: https://github.com/key4hep/EDM4hep/issues/103

## MarlinWrapper

* Current Status:
    * LCIO<->Edm4hep Conversion: Implemented conversion of collections
        * Working on on-the-fly conversion
    * Issues:
        * When to use a gaudi tool, when to use a function
            * Rule of thumb: if configurable at runtime -> tool
        * EDM4hep: Issues when converting to LCIO
            * Reconstructed Particles -> Vertex -> Reconstructed Particle
            * Vertex.AlgorithmType: int vs. string (edm4hep/lcio)

## Delphes "Algorithm" to run from Gaudi

- need to finish work on the converter (see above)

## Distributed Computing, Workload Management, Data Management

### Grid production system

* Discussion Friday, February 5, 9:00 CET
    * https://indico.cern.ch/event/997366/

## Validation system
 * Investigated LHCb nightly test code
 * Developing CouchDB reporter Action and Grafana dashboard

 * Might have a "good first issue"
     * Try using cdash

## Gaudi

* Need updated Gaudi user guide
* https://gaudi-framework.readthedocs.io/
* PR ready, but auto deployment needs to be implemented
* Information on new gaudi features: functional etc.
    * LINK:

## Geometry packages

- Clement: should start a discussion on common geometry packages a la lcgeo

## AOB

### Summerstudent projects

* Google or CERN or DESY or IHEP
* Desy: Generic project for physics validation in key4hep/edm4hep
* Cern: Project for extending the ConformalTracking pattern recognition

### List of "good first issues"

* as github issues for relevant project, add link to all in key4hep to website

### Automated builds

- Joseph working on automated builds
    - currently implementing automated notifications on the corresponding Github page
    - Valentin suggest to use CDash for this  
    - Check output of `spack install --help-cdash`
        - once cdash instance set up, spack should be able to automatically send the reports
        - can test on my.cdash.org, then use the CERN SFT instance if it works

### discuss simulation programs
    * Gaussino
    * Gaudi integrations
    * ddsim


## Next meeting

* February 16, 2021

### Try to find occasional meeting slot to accomodate contributions from the Americas?

* E.g. Beijing time 10pm, 3pm europe, US morning (San Francisco 6am)

## Call for Logos

 

There are minutes attached to this event. Show them.
    • 09:00 → 09:05
      Introduction 5m
    • 09:50 → 10:00
      Discussion 10m
      Speakers: Everyone, Valentin Volkl (University of Innsbruck (AT))