Line Code
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 96 97
#!/bin/bash

#List of source files
#LIST=list_CRAFT_repro_TOTAL.txt
LIST=source_list_test.txt

#Number of events to be analyzed
NEVENT=-1;

#Directories used by the jobs
WORK_DIR=$PWD;
MY_TMP=$PWD"/tmp";
MY_CASTOR_DIR="/castor/cern.ch/user/s/sfrosali/CRAFT_REPRO/CRAFT_REPRO_NEWAL/TEST_31X";
mkdir $MY_TMP;

#Name of the queue where the jobs will be submitted
JOB_QUEUE="8nh";

#Name of the templates used to create py and sh files for the jobs
PY_TEMPLATE="template.py";
JOB_TEMPLATE="job.sh";

#Global tag used for reconstruction
GLOBAL_TAG="GR09_31X_V3P";

#Name of the outputs (histos, trees ...)
MY_HISTOS="LA_Histos";
MY_TREE="LA_Tree";
MY_DEBUG="LAProfileDebug";
MY_HISTOS_HARV="LA_Histos_Harv";

cd $WORK_DIR;
eval `scramv1 runtime -sh`

NN=1;
NUMBER=1;
for i in `gawk '{print $1}' $LIST`; do

echo $i >> Source_List_100J_$NUMBER.txt;
NN=`expr $NN + 1`;

if  [ $NN -eq 100 ] ;  then
echo "List number "$NUMBER" compiled"
NUMBER=`expr $NUMBER + 1`;
NN=1;
fi

done;

echo "List number "$NUMBER" compiled"

mkdir Source_Lists;

DIR=`grep $i $LIST | gawk -F / '{print $4}'`;
rfmkdir $MY_CASTOR_DIR/$DIR;
DIR=$DIR"/"`grep $i $LIST | gawk -F / '{print $5}'`;
rfmkdir $MY_CASTOR_DIR/$DIR;
DIR=$DIR"/"`grep $i $LIST | gawk -F / '{print $6}'`;
rfmkdir $MY_CASTOR_DIR/$DIR;
DIR=$DIR"/"`grep $i $LIST | gawk -F / '{print $7}'`;
rfmkdir $MY_CASTOR_DIR/$DIR;
FILETAG=`grep $i $LIST | gawk -F / '{print $7}'`;
DIR_HISTOS=$DIR"/histos/";
rfmkdir $MY_CASTOR_DIR/$DIR_HISTOS;
echo $DIR_HISTOS;
DIR_HISTOHARV=$DIR"/histos_Harv/";
rfmkdir $MY_CASTOR_DIR/$DIR_HISTOHARV;
echo $DIR_HISTOHARV;
DIR_TREES=$DIR"/trees/";
rfmkdir $MY_CASTOR_DIR/$DIR_TREES;
echo $DIR_TREES;
DIR_DEBUG=$DIR"/debug/";
rfmkdir $MY_CASTOR_DIR/$DIR_DEBUG;
echo $DIR_DEBUG;
DIR_PY=$DIR"/py/";
rfmkdir $MY_CASTOR_DIR/$DIR_PY;
echo $DIR_PY;

for (( i = 1; i <= $NUMBER; i++ )); do
echo "Job n = "$i" submitted";

PY="LA_PB_100J_"$i.py;

JOB="Job_LA_100J_"$i.sh;

JLIST=Source_List_100J_$i.txt;

cat $PY_TEMPLATE     | sed -e "s#GLOBAL_TAG#$GLOBAL_TAG#" | sed -e "s#MY_TREE#$MY_TREE#" | sed -e "s#MY_DEBUG#$MY_DEBUG#" | sed -e "s#MY_HISTOS_HARV#$MY_HISTOS_HARV#" | sed -e "s#MY_HISTOS#$MY_HISTOS#" | sed -e "s#JLIST#$JLIST#" | sed -e "s#MY_TMP#$MY_TMP#" | sed -e "s#NEVENT#$NEVENT#"  | sed -e "s#NUMBER#$i#" > $PY

cat $JOB_TEMPLATE    | sed -e "s#MY_TREE#$MY_TREE#" | sed -e "s#MY_DEBUG#$MY_DEBUG#" | sed -e "s#MY_HISTOS_HARV#$MY_HISTOS_HARV#" | sed -e "s#MY_HISTOS#$MY_HISTOS#" | sed -e "s#JLIST#$JLIST#" | sed -e "s#WORK_DIR#$WORK_DIR#" | sed -e "s#MY_CASTOR_DIR#$MY_CASTOR_DIR#" | sed -e "s#MY_TMP#$MY_TMP#" | sed -e "s#PY#$PY#" | sed -e "s#NUMBER#$i#" | sed -e "s#JOB#$JOB#" | sed -e"s#DIR_HISTOS#$DIR_HISTOS#" | sed -e"s#DIR_HISTOHARV#$DIR_HISTOHARV#" | sed -e "s#DIR_TREES#$DIR_TREES#" | sed -e"s#DIR_DEBUG#$DIR_DEBUG#" | sed -e "s#DIR_PY#$DIR_PY#" > $JOB

chmod 755 $JOB;

bsub -q $JOB_QUEUE $JOB -J LA_$i;

done;