TCKs for HLT1
-
Review changes -
-
Download -
Patches
-
Plain diff
Support creation of TCKs corresponding to an Allen configuration and configuration of Allen from TCKs (only in stack builds).
- TCKs can be created with
Rec/Allen/scripts/create_hlt1_tck.py
- A TCK can be used by passing
--sequence repository.git:TCK
toAllen
orallen.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:
- a JSON file
- the name of the python module in
AllenSequences
- a python file
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:
-
Add tests that create TCKs and compare them to the respective JSON configuration files -
Add a test that compares the TCK to a JSON file written by Allen using --write-configuration some_file.json
Merge request reports
- version 47fc8d7367
- version 46747087b5
- version 4585249d2e
- version 448d40e980
- version 437037e382
- version 425968c317
- version 415bdda848
- version 40efd91cfc
- version 399c1b9d8b
- version 388f33d4df
- version 37ed30553f
- version 3624882551
- version 3527311dcf
- version 34b5bd3697
- version 33be23954e
- version 320a7ed4f1
- version 313b450736
- version 309302badb
- version 29323e907d
- version 282c9cf45f
- version 27a9321767
- version 26297cefaf
- version 25e68db3b6
- version 2482f04acc
- version 2350d65bf8
- version 22da652530
- version 210e50581e
- version 2074e5c140
- version 19e21fdde5
- version 18530db7f3
- version 17e7c58697
- version 1684d977c1
- version 155592bbc9
- version 148b2a3dae
- version 138444bdde
- version 128953c924
- version 11c9f1e97a
- version 100504d409
- version 91ee6c2d9
- version 8abc0fc1e
- version 736ca1ff8
- version 647eff529
- version 501c73602
- version 49eb40faa
- version 390096843
- version 2437899b3
- version 174dabbdc
- master (base)
- latest version39cfcf9349 commits,
- version 47fc8d736748 commits,
- version 46747087b547 commits,
- version 4585249d2e44 commits,
- version 448d40e98044 commits,
- version 437037e38244 commits,
- version 425968c31742 commits,
- version 415bdda84840 commits,
- version 40efd91cfc39 commits,
- version 399c1b9d8b39 commits,
- version 388f33d4df38 commits,
- version 37ed30553f37 commits,
- version 362488255135 commits,
- version 3527311dcf35 commits,
- version 34b5bd369735 commits,
- version 33be23954e35 commits,
- version 320a7ed4f135 commits,
- version 313b45073634 commits,
- version 309302badb34 commits,
- version 29323e907d33 commits,
- version 282c9cf45f31 commits,
- version 27a932176730 commits,
- version 26297cefaf28 commits,
- version 25e68db3b627 commits,
- version 2482f04acc25 commits,
- version 2350d65bf820 commits,
- version 22da65253019 commits,
- version 210e50581e19 commits,
- version 2074e5c14018 commits,
- version 19e21fdde518 commits,
- version 18530db7f317 commits,
- version 17e7c5869716 commits,
- version 1684d977c116 commits,
- version 155592bbc915 commits,
- version 148b2a3dae14 commits,
- version 138444bdde12 commits,
- version 128953c92411 commits,
- version 11c9f1e97a10 commits,
- version 100504d4098 commits,
- version 91ee6c2d97 commits,
- version 8abc0fc1e5 commits,
- version 736ca1ff85 commits,
- version 647eff5293 commits,
- version 501c736023 commits,
- version 49eb40faa2 commits,
- version 3900968432 commits,
- version 2437899b32 commits,
- version 174dabbdc1 commit,
- Side-by-side
- Inline