Key4hep Discussion
Zoom
# Key4hep Live Notes
This is a document for taking notes during Key4hep meetings.
Date: December 15, 2020
Agenda: https://indico.cern.ch/event/983710/
Connected: Andre, Teng, Joseph, Weidong, Thomas, Xiaomei, Birgit, Tao, Jiaheng, Wengxin, Clement, Placido, Frank, Paolo, Gerri
## Communities Round Table
* Birgit at desy to join the core FCChh software activities
## Validation for Key4hep
* see slides
* Based on the LHCb validation system (see references)
* Should be a bit more simplified for Key4hep
* Use github actions
* Todo list in the slides
* Joseph: has containers in the github page, and build recipes. Integrate the approaches
* Thomas: Unify unit test cases? Just use one unit test library? Have the same output format to parse them?
* Teng: need to discuss. python and c++ use different libraries.
* Thomas: using `catch2` in some packages
* Andre: Physics validation part of the plans? (Simulation, energy deposit doesn't change too much)
* Teng: not at the moment
* Frank: Would be very good to be able to run a few events.
* Joseph: System should be easy to implement these kind of tests
* Weidong: Teng will provide the testing framework, package maintainers will be responsible for the testing
* Joseph: Also providing resources to run tests is important.
* Joseph: "Standard" format for storing test results?
* Andre: junit.xml, java, pytest.
* Thomas: catch2 might have different outputs, not just terminal
* Teng: can catch2 also handle log parsers? Memory leaks?
* Thomas: not sure, maybe with address or memory sanitizers.
## Presentations
### Epiphany
* Invitation has to be answered, discuss offline
* Probably 20 minutes
* https://epiphany.ifj.edu.pl/current/
*
### 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?
* Delphes parts?
* podio?
### Hong Kong IAS
* Fully virtual
* https://indico.cern.ch/event/971970/
* http://ias.ust.hk/web/ias/eng/event_detail.php?p=&tid=0&id=1505
* Miniworkshop, January 14-15
* Conference, January 18-21
## Transition of FCCSW to EDM4hep started
* https://github.com/HEP-FCC/FCCSW/tree/edm4hep
### Raised some questions and issues:
* Duplicated GeoSvc
- https://github.com/cepc/CEPCSW/issues/64
* Some tests build with spack are taking 10x more time to run
- [ ] down to three failing tests, all connected to the same HepMC file
- Valentin: almost finished, created additional repositories
- https://github.com/HEP-FCC/k4Gen
- https://github.com/HEP-FCC/k4SimGeant4
- https://github.com/HEP-FCC/k4RecCalorimeter
- extended interface of the core framework
- need cross check with LC reconstrution workflow
- e.g. geometry service
- should cross check w/ MarlinWrapper
## k4 delphes interface
- its own repository: https://github.com/key4hep/k4SimDelphes
- EDM4hep_Delphes (pythia8 dependence), also moved there
- Eventually move EDM4hep interface to Delphes?
- 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
### CI
* EDM4hep and podio in LCG releases?
* LCG_97a_FCC_4
* dev3, dev4
* LCG_99
### 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
## EDM4hep
## Build system / Target compiler / dependencies
* 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
### Problem with Root (e.g., 6.20.04) and spack installed gcc
* Cannot create dictionaries
* std headers not found
* https://github.com/spack/spack/issues/17488
* workaround in place
* Thomas: this seems to be a general issue w/ spack installed compiler
* Valentin: could be worked around by disabling compiler wrappers
* [ ] TODO: document the workaround of adding the compiler symlink
### 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
## k4FWCore
* Problem with writing additional TTree: https://github.com/key4hep/k4FWCore/issues/10
* PR: https://github.com/key4hep/k4FWCore/pull/23
* Solved!
* CMake configuration for k4FWCore updated to Gaudi v35
* Issue Read problem for collections with vector members
- https://github.com/key4hep/k4FWCore/issues/27
* Valentin has written PR to address this
* https://github.com/key4hep/k4FWCore/pull/29
* Solved?
## MarlinWrapper
## Delphes "Algorithm" to run from Gaudi
- need to finish work on the converter (see above)
## Distributed Computing, Workload Management, Data Management
### Grid production system
* -> Schedule dedicated discussion for distributed computing and Key4hep
* postpone to next year, as quite some preparation needed
* Xiaomei will make a doodle to pick a date
### Validation system
* Teng/Weidong: Validation system for key4hep
* will start the work very soon
* plan to report in next meeting
* LHCb CI & Validation: https://indico.ihep.ac.cn/event/11444/session/12/contribution/173/material/slides/0.pdf
## Gaudi
## Geometry packages
## AOB
- 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
* Proposal: discuss simulation programs
* Gaussino
* Gaudi integrations
* ddsim
- Clement: should start a discussion on common geometry packages a la lcgeo
- probably next year
## Next meeting?
* January 19, 2020
### 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