Key4hep Discussion
Zoom
# 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