Key4hep Discussion
Vidyo
# Key4hep Live Notes
This is a document for taking notes during Key4hep meetings.
Date: October 20, 2020
Agenda: https://indico.cern.ch/event/967390/
Connected: Brieuc, Joseph, Pere, Placido, Sang Hyun, Thomas, Andre, Frank, Paolo, Valentin, Gerri, Weidong Li, Jiaheng, Tao, Clement, Benedikt
Apologies:
## Communities Round Table
## 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 mention of key4hep probably good, https://github.com/key4hep/Pandora )
* Some tests build with spack are taking 10x more time to run
## Naming scheme for common key4hep repositories
- key4Rec? k4rec? K4Rec? **k4Rec**?
- K4? k4-?
- hyphen gives problems in python and LCG install
- Pandora -> K4Pandora? | **k4Pandora**
- GMP -> K4GMP? | **k4GMPWrapper**
- K4FWCore -> **k4FWCore**
- start packages with lowercase k4
- rename repository, package name
## k4 delphes interface
- its own repository (k4Delphes)? k4Sim?
- EDM4hep_Delphes (pythia8 dependence), also move there?
- package would depend on Gaudi?
- Eventually move EDM4hep interface to Delphes?
## granularity of packages?
- General favour for higher granularity with dependence on maintainer responsibilties and dependency on other packages
- Well possible for installation with spack
- developer side needs investigation
## Abstracts for HSF/WLCG meeting
* https://indico.cern.ch/event/941278/
* November 19-24
* Possible Contributions (Abstract drafters)
* Spack usage (Valentin)
* Invited as plenary, no abstract needed
* podio Developments (Thomas, Benedikt)
* Abstract looks good
* Draft abstracts, re-view by the group
* Deadline for submission, October 26
* Length of the talks?
## Podio
### Discussion: Interplay between Readers, Writers, EventStore and Collections
* https://github.com/AIDASoft/podio/issues/140
* Have to define ownership. Create a consistent interface.
* EventStore was meant to own things, take things from reader
* EventStore should pass data to writer and forget about it
* Writer acts like a sink
* What about writing to multiple files?
* Create an entity seperate from the EventStore for this purpose
* Const correctness
* Metadata implementation not good at keeping it
* CollectionIDTable can change from file to file, but is only read once
* Separate 2 use-cases: users of the data, developers and integrators
* EventStore, at the moment
* Is filled at the beginning, written out at the end
* TODO (Benedikt): sketch out the model
### Different IO backends
* https://github.com/AIDASoft/podio/issues/131
* How to best pass information/code/libraries to downstream packages?
* Add a factory for the reader?
* Add SIOReader::getEntries
* Abstract interface for the writers?
* no reason not to have one
## EDM4hep
* [x] CI test with building podio master is not picking up the new library
## Build system / Target compiler / dependencies
* Full Spack installation now available under /cvmfs/sw.hsf.org
* [ ] update documentation
* docker container working with spack at
https://github.com/joequant/key4hep-container
* CI running
* Incremental build every hour
* Full build 8 hours each day
* Now making webpage public
* Send out notices when something breaks
* Nightlies can now be built from commits (avoid full rebuilds if nothing changes)
* being run on https://gitlab.cern.ch/key4hep/k4-deploy
* Automatic generation of setup script
### 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
* work in progress ...
* 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
* [ ] need a project description
## K4FWCore
* Problem with writing additional TTree: https://github.com/key4hep/K4FWCore/issues/10
* work in progress
## MarlinWrapper
* Full stack deployed on CVMFS
* Doc: https://key4hep.github.io/key4hep-doc/examples/clic.html
* Additional features of the converter https://github.com/key4hep/GMP/issues/18
## Delphes "Algorithm" to run from Gaudi
* Investigating services and algorithms to use
* Possibility found for going over all collections
* Conversion service in Gaudi: convert arbitrary objects into other arbitrary objects
* E.g., convert EDM4hep to LCIO , FCCedm to EDM4hep, etc.
* work in progress
* needs the Delphes2EDM4hep converter merged
* B-tagging information hard to use
* Similar to metadata problem
## Distributed Computing, Workload Management, Data Management
## Gaudi
* Gaudi v33r2 does not compile (in lcg stack)
* Gaudi cmake-modernisation branch (v34 now v35)
* try with spack recipe? `gaudi@develop`
* Thomas managed to compile v33r2 version
* observed issue w/ v34
* to be checked...
## Geometry packages
## First release
* Content:
* EDM4hep/PODIO
* need new tags
* K4FWCore: dataservice, +++
* Marlin Wrapper
* DD4hep plugin for EDM4hep output
* Example
* [x]: Simulate a few muons and reconstruct with MarlinWrapper
* [x] need to find someone working on this (from CLIC ?)
* Clement: could do sth. based on Delphes output and running ilcsoft vertexing in MarlinWrapers
* might be available by end of month
* How to tag releases
* using release script from iLCSoft for individual packages
## AOB
* Proposal: discuss simulation programs
* Gaussino
* Gaudi integrations
* ddsim
## Next meeting
* November 3, 2020
## Call for Logos