Initial lbexec support
- Jun 03, 2022
-
-
Chris Burr authored
-
Chris Burr authored
-
Chris Burr authored
-
Chris Burr authored
-
When reviewing this merge request the individual commits likely make the most sense. In summary:
DaVinci.Options
class which is used internally by lbexec
to parse the YAMLDaVinci.make_config
function which is the nominal way people should be using DaVinciDaVinci.options
object is never relied upon (as it will be removed once the transition to lbexec is complete)test_davinci_tupling_All
test. If everyone is happy with it I'll port the remaining tests and start cleaning up.To see how this might actually look in reality, make a yaml file named options.yaml
containing (most of these keys probably aren't needed):
input_files:
- root://eoslhcb.cern.ch//eos/lhcb/wg/dpa/wp3/tests/spruce_all_lines_realtimereco_newPacking.dst'
annsvc_config: 'root://eoslhcb.cern.ch//eos/lhcb/wg/dpa/wp3/tests/spruce_all_lines_realtime_newPacking.tck.json'
data_type: Upgrade
input_type: ROOT
simulation: true
conddb_tag: sim-20171127-vc-md100
dddb_tag: dddb-20171126
histo_file: 'sprucing_histos.root'
input_raw_format: 0.3
lumi: false
ntuple_file: 'sprucing_tuple.root'
print_freq: 1
process: 'Spruce'
stream: 'default'
You can then run davinci using: lbexec DaVinciExamples.tupling.AllFunctors:alg_config options.yaml
I think it would be good to sit down and discuss what should be stored in the options.yaml
and what the arguments to DaVinci.make_config
should be. In particular I think things like process
/stream
/lumi
/evt_pre_filters
might be worth moving to the Python side.
Work towards DPA grand task https://gitlab.cern.ch/lhcb-dpa/project/-/issues/180 on configuration. Necessary for lhcb-dpa/analysis-productions/LbAnalysisProductions#68 (closed).