1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#!/bin/bash
#script to run generic lhe generation tarballs
#kept as simply as possible to minimize need
#to update the cmssw release
#(all the logic goes in the run script inside the tarball
# on frontier)
#J.Bendavid
#exit on first error
set -e
echo " ______________________________________ "
echo " Running Generic Tarball/Gridpack "
echo " ______________________________________ "
path=${1}
echo "gridpack tarball path = $path"
nevt=${2}
echo "%MSG-MG5 number of events requested = $nevt"
rnum=${3}
echo "%MSG-MG5 random seed used for the run = $rnum"
ncpu=${4}
echo "%MSG-MG5 thread count requested = $ncpu"
echo "%MSG-MG5 residual/optional arguments = ${@:5}"
if [ -n "${5}" ]; then
use_gridpack_env=${5}
echo "%MSG-MG5 use_gridpack_env = $use_gridpack_env"
fi
if [ -n "${6}" ]; then
scram_arch_version=${6}
echo "%MSG-MG5 override scram_arch_version = $scram_arch_version"
fi
if [ -n "${7}" ]; then
cmssw_version=${7}
echo "%MSG-MG5 override cmssw_version = $cmssw_version"
fi
LHEWORKDIR=`pwd`
if [ "$use_gridpack_env" = false -a -n "$scram_arch_version" -a -n "$cmssw_version" ]; then
echo "%MSG-MG5 CMSSW version = $cmssw_version"
export SCRAM_ARCH=${scram_arch_version}
scramv1 project CMSSW ${cmssw_version}
cd ${cmssw_version}/src
eval `scramv1 runtime -sh`
cd $LHEWORKDIR
fi
if [[ -d lheevent ]]
then
echo 'lheevent directory found'
echo 'Setting up the environment'
rm -rf lheevent
fi
mkdir lheevent; cd lheevent
#untar the tarball directly from cvmfs
tar -xaf ${path}
# If TMPDIR is unset, set it to the condor scratch area if present
# and fallback to /tmp
export TMPDIR=${TMPDIR:-${_CONDOR_SCRATCH_DIR:-/tmp}}
# define singularity
if [ "$use_gridpack_env" != false ]; then
if [ -n "$scram_arch_version" ]; then
sing=$(echo ${scram_arch_version} | sed -E 's/^[^0-9]*([0-9]{1,2}).*/\1/')
elif egrep -q "scram_arch_version=[^$]" runcmsgrid.sh; then
sing=$(grep "scram_arch_version=[^$]" runcmsgrid.sh | sed -E 's/^[^0-9]*([0-9]{1,2}).*/\1/')
fi
if [ -n "${sing}" ]; then
sing="cmssw-el"${sing}" --"
fi
fi
#generate events
${sing} ./runcmsgrid.sh $nevt $rnum $ncpu ${@:5}
mv cmsgrid_final.lhe $LHEWORKDIR/
cd $LHEWORKDIR
#cleanup working directory (save space on worker node for edm output)
rm -rf lheevent
exit 0
|