YAML configuration of reconstruction parameters [online]
The merge request introduces a configuration of the online parameters vs. the reconstruction parameter tag. The tag is defined for a particular runID range. Within the range detector calibrations and alignment matrices must be unchanged (e.g., changing the alignment matrices requires re-generation of the hit-finder and tracking parameters).
EDIT PAL: This MR needs (is built on top of) !2123 (merged)
This merge request is required for !2094.
Conventions:
-
all the parameter files, which are required for the reconstruction (event or timeslice), are stored under a particular tag, which is defined in CbmRuntimeDatabase.yaml for a given runID range; -
all the paths are defined relative to ${VMCWORKDIR}/parameters/online directory -
the top directory for reconstruction parameter files and the configuration file is ${VMCWORKDIR}/parameters/online/recoPar -
each file has always the same name (e.g. "StsHitfind.yaml", "TofHitfinerPar.yaml" etc.)UPDATE AFTER WORKING ON COMMENTS
-
all configuration for
cbm::algo
(including unpackers, hit-finders, tracking, event-building, event-selection, event-triggering, v0-finder) is defined in a common yaml-config (the name is optional); -
paths to the parameters of the algorithms are defined in node "parFiles" of the main config relative to the path the main config;
-
cbmreco accepts a path to the main config, not to a common parameters directory for online (option -p is re-used here);
-
online running of cbmreco does not require any information on the runID to define parameters, offline running of the algorithms in cbmreco rely on pre-defined MainConfig.yaml files, stored in cbmroot_parameter repository by path
parameters/online/recoPar/<tag>/MainConfig.yaml
; -
access to the MainConfig.yaml path by a given run ID is provided by
CbmRunDatabaseContainer::GetAlgoMainConfigPath()
from C++ code (including ROOT macros) relatively to${VMCWORKDIR}
and by calling$ run_info --run <runID> --algo-config
from bash absolutely.