From adc2c7adcf5a4b51e5e66ae9ad0bd15fc86828c1 Mon Sep 17 00:00:00 2001 From: Klaus Rabbertz <klaus.rabbertz@cern.ch> Date: Sat, 30 Sep 2023 21:25:32 +0200 Subject: [PATCH] Hack for ZJ RR producing RRa \& RRb warmups; new bootstrap --- ...ET_modules2_rev6591_bridge-1.0.0_202309.sh | 48 +++++++++++++++++++ analysis/tasks/CopyRewarmup.py | 4 ++ analysis/tasks/CopyWarmup.py | 6 ++- 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 analysis/bootstrap_NNLOJET_modules2_rev6591_bridge-1.0.0_202309.sh diff --git a/analysis/bootstrap_NNLOJET_modules2_rev6591_bridge-1.0.0_202309.sh b/analysis/bootstrap_NNLOJET_modules2_rev6591_bridge-1.0.0_202309.sh new file mode 100644 index 0000000..66af9f7 --- /dev/null +++ b/analysis/bootstrap_NNLOJET_modules2_rev6591_bridge-1.0.0_202309.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +# Bootstrap file for batch jobs that is sent with all jobs and +# automatically called by the law remote job wrapper script to find the +# setup.sh file of this example which sets up software and some environment +# variables. The "{{analysis_path}}" variable is defined in the workflow +# base tasks in analysis/framework.py. + +action() { + + # law + luigi env variables + local base="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + export LAW_HOME="$base/.law" + export LAW_CONFIG_FILE="$base/law.cfg" + export LUIGI_CONFIG_PATH="$base/luigi.cfg" + export ANALYSIS_PATH="$base" + export ANALYSIS_DATA_PATH="$ANALYSIS_PATH/data" + + # luigi + law + export PATH="$base/law/bin:$base/luigi/bin:$PATH" + export PYTHONPATH="$base/law:$base/luigi:$base/six:$base/python-dateutil-2.8.2:$base:$PYTHONPATH" + + # lcg software stack with python3 and gcc11 (use the same one as for cvmfs install of NNLOJET & APPLfast) + source /cvmfs/sft.cern.ch/lcg/views/LCG_102/x86_64-centos7-gcc11-opt/setup.sh + + # grid storage interface with gfal2, if required + # C7 with python3 + source /cvmfs/grid.cern.ch/centos7-ui-200122/etc/profile.d/setup-c7-ui-python3-example.sh + + # NNLOJET + APPLfast (cvmfs) + applfastpath="/cvmfs/etp.kit.edu/fastnnlo-3000_bridge-1.0.0_202309_lcg102-c7-gcc11" + #applfastpath="/eos/theory/project/applfast/local" + # LCG not needed here since source'd already above! + # NNLOJET & APPLfast + source $applfastpath/src/fnlosrc_source.sh + # Rivet + source $applfastpath/src/rivetenv.sh + # If fastNLO version of grid install in /cvmfs/etp.kit.edu not new enough for evaluation, + # then use local install for plotting etc, but keep scripts of NNLOJET in PATH + #export PATH="$applfastpath/src/NNLOJET_rev6591/driver/bin:$PATH" + + #export PYTHONPATH="$PWD:$PYTHONPATH" ??? + + tar -xzf analysis*.tar.gz + rm analysis*.tar.gz + +} +action diff --git a/analysis/tasks/CopyRewarmup.py b/analysis/tasks/CopyRewarmup.py index 36af88b..ba2f3e5 100644 --- a/analysis/tasks/CopyRewarmup.py +++ b/analysis/tasks/CopyRewarmup.py @@ -52,6 +52,10 @@ class CopyRewarmup(Task, TarballExtractionMixin, law.LocalWorkflow): def output(self): out_dir = os.getenv("ANALYSIS_PATH") or os.getcwd() + # KR TODO: Dirty hack to deal with double targets RRa, RRb for RR channel + file_ext = self.branch_data['channel'] + if file_ext == "RR": + file_ext = "RRa" return law.LocalFileTarget( '{}/{}/{}/{}/{}.{}-{}.{}.{}'.format( out_dir, diff --git a/analysis/tasks/CopyWarmup.py b/analysis/tasks/CopyWarmup.py index 407133e..6acf515 100644 --- a/analysis/tasks/CopyWarmup.py +++ b/analysis/tasks/CopyWarmup.py @@ -52,12 +52,16 @@ class CopyWarmup(Task, TarballExtractionMixin, law.LocalWorkflow): def output(self): out_dir = os.getenv("ANALYSIS_PATH") or os.getcwd() + # KR TODO: Dirty hack to deal with double targets RRa, RRb for RR channel + file_ext = self.branch_data['channel'] + if file_ext == "RR": + file_ext = "RRa" return law.LocalFileTarget( '{}/{}/{}/{}/{}.{}-{}.{}.{}'.format( out_dir, self.warm_dir, 'warmup', self.name, self.process, self.branch_data['channel'], - self.jobnameext, self.cutoff, self.branch_data['channel'], + self.jobnameext, self.cutoff, file_ext, ) ) -- GitLab