Key4hep Discussion

Europe/Zurich
Vidyo

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

 

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))