diff --git a/hbw/scripts/hbwtasks.sh b/hbw/scripts/hbwtasks.sh index bcac3587..3337f779 100644 --- a/hbw/scripts/hbwtasks.sh +++ b/hbw/scripts/hbwtasks.sh @@ -41,11 +41,12 @@ hbw_cutflow(){ done } -ml_model="test" +ml_model="dense_default" ml_datasets="ml" hbw_ml_training(){ law run cf.MLTraining --version $version --workers 10 \ + --configs $config \ --ml-model $ml_model \ --workflow htcondor \ --htcondor-gpus 1 \ @@ -72,10 +73,11 @@ hbw_ml_preparation(){ --skip-datasets "qqHH*,data*" \ --cf.MergeMLEvents-workflow local \ --cf.PrepareMLEvents-pilot True \ - --cf.MergeMLEvents-parallel-jobs 4000 \ - --cf.MergeMLEvents-retries 1 \ - --cf.MergeMLEvents-tasks-per-job 1 \ - --cf.MergeMLEvents-job-workers 1 \ + --cf.PrepareMLEvents-workflow htcondor \ + --cf.PrepareMLEvents-parallel-jobs 4000 \ + --cf.PrepareMLEvents-retries 1 \ + --cf.PrepareMLEvents-tasks-per-job 1 \ + --cf.PrepareMLEvents-job-workers 1 \ $@ done } @@ -101,7 +103,7 @@ hbw_plot_variables(){ $@ } -ml_model="default" +ml_model="dense_default" ml_output_variables="mlscore.*" ml_categories="resolved,boosted,incl,ml_ggHH_kl_1_kt_1_sl_hbbhww,ml_tt,ml_st,ml_w_lnu,ml_dy_lep" @@ -148,8 +150,18 @@ hbw_control_plots_much(){ hbw_datacards(){ law run cf.CreateDatacards --version $version --workers 50 \ --config $config \ - --producers ml_inputs --ml-models $ml_model \ + --ml-models $ml_model \ --pilot --workflow htcondor \ --retries 1 \ + --cf.MLTraining-htcondor-gpus 1 \ + --cf.MLTraining-htcondor-memory 40000 \ + --cf.MLTraining-max-runtime 48h \ + --cf.MergeMLEvents-workflow local \ + --cf.PrepareMLEvents-workflow htcondor \ + --cf.PrepareMLEvents-htcondor-gpus 0 \ + --cf.PrepareMLEvents-htcondor-memory 4000 \ + --cf.PrepareMLEvents-max-runtime 3h \ + --cf.PrepareMLEvents-pilot True \ + --cf.ReduceEvents-workflow htcondor $@ } diff --git a/hbw/tasks/wrapper.py b/hbw/tasks/wrapper.py index 2e313ae3..bac4588f 100644 --- a/hbw/tasks/wrapper.py +++ b/hbw/tasks/wrapper.py @@ -5,11 +5,13 @@ e.g. default sets of plots or datacards """ +import law + from columnflow.tasks.framework.mixins import ( CalibratorsMixin, # SelectorStepsMixin, ProducersMixin, MLModelsMixin, ) from columnflow.tasks.plotting import PlotVariables1D -# from columnflow.tasks.framework.remote import RemoteWorkflow +from columnflow.tasks.framework.remote import RemoteWorkflow from columnflow.util import dev_sandbox @@ -19,9 +21,15 @@ class DefaultPlots( # ProducersMixin, # SelectorStepsMixin, CalibratorsMixin, + law.LocalWorkflow, + RemoteWorkflow, ): sandbox = dev_sandbox("bash::$CF_BASE/sandboxes/venv_columnar.sh") + def create_branch_map(self): + # create a dummy branch map so that this task could as a job + return {0: None} + def requires(self): reqs = {} @@ -30,7 +38,6 @@ def requires(self): # control plots with data reqs[f"control_plots_{channel}"] = PlotVariables1D.req( self, - config="config_2017", producers=("features",), processes=(f"d{channel}ch",), process_settings=[["scale_signal"]], @@ -43,7 +50,6 @@ def requires(self): # ML input features reqs[f"ml_inputs_{channel}"] = PlotVariables1D.req( self, - config="config_2017", producers=("ml_inputs",), processes=(f"{channel}ch",), # process_settings=[["scale_signal"]], @@ -57,7 +63,6 @@ def requires(self): ml_model = "dense_default" reqs[f"ml_outputs_{channel}"] = PlotVariables1D.req( self, - config="config_2017", producers=(f"ml_{ml_model}",), ml_models=(ml_model,), processes=(f"{channel}ch",),