Skip to content
Snippets Groups Projects

Adapt code for the lbexec command (incl. removal of run-mc)

Merged Davide Fazzini requested to merge dfazzini_adapt_code_for_lbexec into master
3 files
+ 55
42
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -16,7 +16,7 @@ from PyConf.Algorithms import EventAccounting
from GaudiConf import reading
from DaVinci.configOptions import (check_options, set_job_options,
set_properties, set_args_options,
set_input_file_options)
set_input_file_options, check_user_option_values)
from DaVinci.algorithms import (setup_algorithms, define_fsr_writer,
apply_filters_and_unpacking, expand_input_files)
from DaVinci.config import davinci_control_flow, prepare_davinci_nodes
@@ -63,27 +63,32 @@ def run_davinci_app(fileDB_key="",
# Initialization in DVAppOptions class seems to be not sufficient.
set_properties(options)
data_options = list_data_options(fileDB_key.split(":")[0], fileDB_file)
if fileDB_key and not prod_conf:
set_input_file_options(options, fileDB_key, fileDB_file)
if jobOpt_file:
set_job_options(options, jobOpt_file, fileDB_key, fileDB_file,
override_data_options)
set_job_options(options, jobOpt_file, data_options, override_data_options)
if ctx_args:
set_args_options(options, ctx_args, fileDB_key, fileDB_file,
override_data_options)
set_args_options(options, ctx_args, data_options, override_data_options)
config = ComponentConfig()
init_properties = options.properties()
user_algorithms, public_tools = setup_algorithms(options.user_algorithms)
if not override_data_options:
check_user_option_values(options, init_properties, data_options)
if simple_job:
config.update(add_simple_conf(options))
config.update(add_simple_conf(options, user_algorithms, public_tools))
else:
config.update(add_davinci_configurables(options))
config.update(add_davinci_configurables(options, user_algorithms, public_tools))
if not prod_conf:
return config
def add_davinci_configurables(options):
def add_davinci_configurables(options, user_algorithms, public_tools):
"""
Run the job adding the specific Davinci configurables to the standard PyConf ones.
@@ -98,7 +103,9 @@ def add_davinci_configurables(options):
dvMainFlow = {}
fsrAlgs = {}
userAlgs, publicTools = setup_algorithms(options)
if options.main_options:
importOptions(options.main_options)
# For xgen files we need to unpack only mc particles and vertices
# Needed until unpacking will become functinal
unpack_only_mc = options.input_type == "XGEN"
@@ -110,7 +117,7 @@ def add_davinci_configurables(options):
if options.annsvc_config:
config.update(reading.set_hltAnn_svc(options.annsvc_config))
dvMainFlow.update(
apply_filters_and_unpacking(options, userAlgs, unpack_only_mc))
apply_filters_and_unpacking(options, user_algorithms, unpack_only_mc))
if options.write_fsr:
if options.simulation:
@@ -124,11 +131,11 @@ def add_davinci_configurables(options):
prepare_davinci_nodes(dvMainFlow),
prepare_davinci_nodes(fsrAlgs))
config.update(configure(options, dvMainNode, public_tools=publicTools))
config.update(configure(options, dvMainNode, public_tools=public_tools))
return config
def add_simple_conf(options):
def add_simple_conf(options, user_algorithms, public_tools):
"""
Run the job using only the standard PyConf configuration with any user algorithm.
@@ -138,15 +145,13 @@ def add_simple_conf(options):
Returns:
ComponentConfig instance, a dict of configured Gaudi Configurable instances and user algorithms.
"""
userAlgs, publicTools = setup_algorithms(options)
expand_input_files(options)
check_options(options)
dvNodes = prepare_davinci_nodes(userAlgs)
dvNodes = prepare_davinci_nodes(user_algorithms)
top_dv_node = davinci_control_flow(options, dvNodes)
config = configure_input(options)
config.update(configure(options, top_dv_node, public_tools=publicTools))
config.update(configure(options, top_dv_node, public_tools=public_tools))
return config
Loading