Draft: Solving the overlap technical problem
To go with LHCb!4840
Current status
Test Hlt2Conf.sprucing.test_spruce_turbooverlap
- Prequisite
sprucing.test_hlt2_foroverlapcheck
that, usingoptions.write_streams_attributes_to_json
, writes outget_streams_attributes
to json that looks like
{"default": {"Hlt2Lineone_extraoutputs": "{\"name\": \"Hlt2Lineone_extraoutputs\", \"extra_outputs\": [\"LongerTracks\", \"LongTracks\"], \"persistreco\": true, \"tagging_particles\": false, \"calo_digits\": true, \"calo_clusters\": true, \"pv_tracks\": true, \"track_ancestors\": true, \"raw_banks\": [\"Rich\"]}", "Hlt2Linetwo": "{\"name\": \"Hlt2Linetwo\", \"extra_outputs\": [], \"persistreco\": false, \"tagging_particles\": false, \"calo_digits\": false, \"calo_clusters\": false, \"pv_tracks\": false, \"track_ancestors\": false, \"raw_banks\": []}"}}
- This json is picked up and loaded in
sprucing_tests:spruce_overlap
. The Spruce versions of the HLT2 lines are created based on this, includingextra_outputs
and streams defined by regexes -
Hlt2Conf.sprucing.test_spruce_turbooverlap_check_stream{one,two}
then check that onlystreamone_lines
candidates end up in thestreamone
stream and vice versa. Along with lots of other checks for persistreco objects, raw_banks etc.
Next steps
- All functionality present
- Clean/refactor
- Test on real example
- Decide how to deal with the downstream (DaVinci) changes to data access
Edited by Nicole Skidmore