1 |
auterman |
1.1 |
#!/bin/bash
|
2 |
|
|
#CTA, HH, 09/15/007
|
3 |
|
|
|
4 |
|
|
#TOTAL_JOBS=10
|
5 |
|
|
FILESPERJOB=20
|
6 |
|
|
|
7 |
|
|
echo "...preparing jobs"
|
8 |
|
|
|
9 |
|
|
#strip possible endings:
|
10 |
|
|
SAMPLE=`echo $1 | sed -e "s|.cfg| |"`
|
11 |
|
|
SAMPLE=`echo $SAMPLE | sed -e "s|.cfi| |"`
|
12 |
|
|
SAMPLE=`echo $SAMPLE | sed -e "s|.cff| |"`
|
13 |
|
|
SAMPLE=`echo $SAMPLE | sed -e "s|.dat| |"`
|
14 |
|
|
|
15 |
|
|
#Get Path from Release directory to current
|
16 |
|
|
BASEPATH=`pwd`
|
17 |
|
|
CURRPATH=`pwd`
|
18 |
|
|
THISPATH=""
|
19 |
|
|
while [ -z `basename $CURRPATH | grep "src"` ]; do
|
20 |
|
|
CURRPATH=`pwd`
|
21 |
|
|
THISPATH=`basename $CURRPATH`/$THISPATH
|
22 |
|
|
cd ..
|
23 |
|
|
done
|
24 |
|
|
cd $BASEPATH
|
25 |
|
|
THISPATH=`echo "$THISPATH" | sed -e "s|src/| |"`
|
26 |
|
|
|
27 |
|
|
POOLSOURCE=`grep "#PoolSource =" $1 | sed -e "s/#PoolSource = / /" | tr -d [\"]`
|
28 |
|
|
FULLSOURCE=`echo "$CMSSW_BASE/src/$POOLSOURCE" | tr -d [\ ]`
|
29 |
|
|
|
30 |
|
|
# stage 'em
|
31 |
|
|
#ALL_FILES_ARRAY=`grep "root" $CMSSW_BASE/$POOLSOURCE | tr -d [\',]`
|
32 |
|
|
#for i in $ALL_FILES_ARRAY
|
33 |
|
|
#do
|
34 |
|
|
# #echo "stager_get -M $i"
|
35 |
|
|
# echo "."
|
36 |
|
|
#done
|
37 |
|
|
|
38 |
|
|
# split sample to n jobs
|
39 |
|
|
grep "root" $FULLSOURCE > _majordomo
|
40 |
|
|
#grep "root" files.cfi > _majordomo
|
41 |
|
|
echo "," >> _majordomo
|
42 |
|
|
split -l $FILESPERJOB _majordomo _tmpfilelist_
|
43 |
|
|
FIL=1
|
44 |
|
|
for i in `ls _tmpfilelist_*`
|
45 |
|
|
do
|
46 |
|
|
echo "replace PoolSource.fileNames = {" > $SAMPLE.SUB$FIL.cfi
|
47 |
|
|
#Remove last comma
|
48 |
|
|
FILES=`cat $i`
|
49 |
|
|
FILES=${FILES%,}
|
50 |
|
|
for file in $FILES
|
51 |
|
|
do
|
52 |
|
|
echo $file >> $SAMPLE.SUB$FIL.cfi
|
53 |
|
|
done
|
54 |
|
|
echo "}" >> $SAMPLE.SUB$FIL.cfi
|
55 |
|
|
FIL=$(($FIL+1))
|
56 |
|
|
done
|
57 |
|
|
|
58 |
|
|
#create new cfg files with above _tmpfilelist_*.cfi's
|
59 |
|
|
JOB=1
|
60 |
|
|
for i in `ls $SAMPLE.SUB*.cfi`
|
61 |
|
|
do
|
62 |
|
|
#the jobs cfg file
|
63 |
|
|
sed -e "s|$SAMPLE|$SAMPLE.$JOB|" $1 > _tmp$JOB.$1
|
64 |
|
|
THIS_CFI=`echo "\"$THISPATH$i\"" | tr -d [\ ]`
|
65 |
|
|
sed -e "s|#include_datafiles_here|include $THIS_CFI|" _tmp$JOB.$1 > job_$JOB.$1
|
66 |
|
|
#the jobs run script
|
67 |
|
|
sed -e "s|CFG_FILE|$SAMPLE|" run.sh > _tmp_$JOB.$1.sh
|
68 |
|
|
sed -e "s|JOB_NUMBER|$JOB|" _tmp_$JOB.$1.sh > run_$JOB.$1.sh
|
69 |
|
|
chmod a+x run_$JOB.$1.sh
|
70 |
|
|
|
71 |
|
|
echo "...submitting job #"$JOB
|
72 |
|
|
bsub -R "mem>1001&&cpuf>1.1" -q 1nh run_$JOB.$1.sh
|
73 |
|
|
JOB=$(($JOB+1))
|
74 |
|
|
done
|
75 |
|
|
rm -f _majordomo
|
76 |
|
|
rm -f _tmp*
|
77 |
|
|
#rm -f _*
|
78 |
|
|
mkdir $SAMPLE
|
79 |
|
|
cp * $SAMPLE/.
|
80 |
|
|
#./clean
|
81 |
|
|
|