TCKs for HLT1
Compare changes
Files
2- Roel Aaij authored
+ 1
− 0
@@ -15,6 +15,7 @@ elseif(TARGET_DEVICE STREQUAL "CUDA")
Support creation of TCKs corresponding to an Allen configuration and configuration of Allen from TCKs (only in stack builds).
Rec/Allen/scripts/create_hlt1_tck.py
--sequence repository.git:TCK
to Allen
or allen.py
--run-from-json
is gone, pass --sequence some_file.json
instead.create_hlt1_tck.py
takes five required arguments: stack_name
, stack_version
, sequence
, repository
and tck
; and two optional arguments: --label=some_label
and --sequence-type=some_type
. The stack version should be formatted as M.N.P
where .P
is optional. If the --sequence-type
argument is omitted the name of the sequence is used. Sequence can be:
AllenSequences
A small python module built with pybind11 has been added (for stack builds) that allows retrieval of a JSON configuration from a git repository. Since the layout of the JSON is not the same as what Allen expects, it is converted to an Allen configuration before being used. An inverse conversion is applied when creating a TCK from an Allen configuration. The hlttck_cdb_listkeys
tool is used to insert new TCKs into a git repository.
A prerequisite was to have all default properties in both the JSON files and the Python configuration views. To achieve that, the implementation of the AlgorithmDB has been moved to a cpp file and it has been added to the Stream library. This allows algorithms to be instantiated from different compilation units.
A default_properties
executable has been added that is passed a ;-separated list of algorithm namespace::type
through stdin, instantiates each algorithm and retrieves its properties. Properties are saved to a JSON representation as strings with the algorithm namespace::type
as key. This JSON representation is used to add the property default values to their Python views - as an appropriate Python object - when the views are generated. This is the only way to properly support custom serializers (to and from JSON) for algorithm properties.
Please note that TCKs for MC productions are not yet supported. Support will come at the same time as (or very quickly after) support of TCKs in HLT2.
Depends on LHCb!4050 (merged)
Needed for MooreOnline!212 (merged)
Closes #366 (closed)
TODO:
--write-configuration some_file.json