Skip to content

Add executable to collect file level collection parameters#223

Open
tmadlener wants to merge 12 commits into
masterfrom
coll-param-collection
Open

Add executable to collect file level collection parameters#223
tmadlener wants to merge 12 commits into
masterfrom
coll-param-collection

Conversation

@tmadlener
Copy link
Copy Markdown
Contributor

@tmadlener tmadlener commented Apr 23, 2026

BEGINRELEASENOTES

  • Add the check_col_params executable to collect a consistent set of collection parameters similar to check_missing_cols.
  • Add a templated getVals function to LCParameters to more easily retrieve all values associated to a key

ENDRELEASENOTES

For context see the discussions in:

TL;DR: In LCIO collection parameters can differ for every event. This is used for truly event level parameters, but also for what we refer to as metadata (or file level parameters) in Key4hep / Gaudi where one value is just repeated every event even if it doesn't change.

With this executable one can collect these values and make it possible to inject them into Gaudi before event processing starts, so that these values are always available when needed. This is slightly more up-front work for workflows that want to mix processors and algorithms, but it relieves the burden from the Gaudi framework to work around some of the core principles that are somewhat necessary for multithreading.

@tmadlener tmadlener changed the title Coll param collection Add executable to collect file level collection parameters Apr 23, 2026
@tmadlener
Copy link
Copy Markdown
Contributor Author

Initial version done by Claude now with some cleanup and refactoring to cut down on the initial code duplication.

Comment thread src/cpp/include/pre-generated/EVENT/LCParameters.h Outdated
Comment thread src/cpp/src/EXAMPLE/check_col_params.cc Outdated
No longer necessary because capturing in lambda has been removed
@tmadlener tmadlener force-pushed the coll-param-collection branch from 6718ca2 to 7d19fba Compare April 23, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants