key4hep / key4hep/k4FWCore

Re-usable configuration (fragments) support

Open
#402 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
14
Forks
34
Avg merge
2d 23h
Merged PRs (30d)
6

Description

This is a broad topic and partially addressed in what is proposed in https://github.com/key4hep/k4FWCore/pull/352.

The big picture is that this would make it a lot easier to re-use existing configuration snippets. (It would probably require some re-organization of existing things, like [CLDConfig](https://github.com/key4hep/CLDConfig) or [ILDConfig](https://github.com/iLCSoft/ILDConfig)). Having the possibility to simply do something that is *conceptually similar* to

```python
from CLDConfig.Tracking import TrackingSequence

# ... add to alg list in a format still to be decided
```

This will mainly make it possible for detector contacts to put together a "blessed" default sequence of how things should happen, which in turn would make it easier for
- e.g. dedicated studies comparing different concepts to use these (while still being able to add their algorithms at the end)
- validation to simply use those instead of having to redefine large parts
- tests of certain algorithms to only run the parts that are interesting for it (e.g. for tracking one could do the tracker hit digitization and then hand off without having to add tons of options to `CLDReconstruction.py` to interrupt the chain at certain points)

I don't have any real insights on how to best do this, but I wanted to raise this and also have a place to discuss / raise certain aspects of this whole feature.

Contributor guide

Open the contributing guide

Research direction

Start by reading the approach proposed in pull request #352 and reviewing the existing configuration organization in CLDConfig and ILDConfig. Compare how current configuration snippets are assembled and identify the decisions the issue leaves open, including the fragment format and composition point. Done would require an agreed design and an implementation plan for reusable configuration fragments.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.