1 |
bortigno |
1.5 |
#!/bin/bash
|
2 |
|
|
|
3 |
|
|
#Input argument:
|
4 |
|
|
#sample you want to run on. It has to match the naming in sample.info.
|
5 |
nmohr |
1.1 |
sample=$1
|
6 |
bortigno |
1.5 |
#sqrt(s) you want to run
|
7 |
nmohr |
1.4 |
energy=$2
|
8 |
bortigno |
1.5 |
|
9 |
peller |
1.9 |
task=$3
|
10 |
|
|
|
11 |
|
|
if [ $# -lt 3 ]
|
12 |
bortigno |
1.7 |
then
|
13 |
peller |
1.9 |
echo "ERROR: You passed " $# "arguments while the script needs at least 3 arguments."
|
14 |
bortigno |
1.7 |
echo "Exiting..."
|
15 |
|
|
echo " ---------------------------------- "
|
16 |
peller |
1.9 |
echo " Usage : ./runAll.sh sample energy task"
|
17 |
bortigno |
1.7 |
echo " ---------------------------------- "
|
18 |
|
|
exit
|
19 |
|
|
fi
|
20 |
|
|
|
21 |
bortigno |
1.5 |
#Set the environment for the batch job execution
|
22 |
peller |
1.8 |
|
23 |
|
|
#cd /shome/peller/CMSSW_5_2_4_patch4/src/
|
24 |
|
|
# this doesnt work for me..?
|
25 |
nmohr |
1.4 |
cd $CMSSW_BASE/src/
|
26 |
nmohr |
1.1 |
source /swshare/psit3/etc/profile.d/cms_ui_env.sh
|
27 |
|
|
export SCRAM_ARCH="slc5_amd64_gcc462"
|
28 |
|
|
source $VO_CMS_SW_DIR/cmsset_default.sh
|
29 |
|
|
eval `scramv1 runtime -sh`
|
30 |
|
|
unset TMP
|
31 |
|
|
unset TMPDIR
|
32 |
bortigno |
1.5 |
|
33 |
|
|
#Path where the script write_regression_systematic.py and evaluateMVA.py are stored
|
34 |
|
|
#execute=$PWD/UserCode/VHbb/python/
|
35 |
peller |
1.8 |
#execute=/shome/peller/UserCode/VHbb/python/
|
36 |
bortigno |
1.7 |
#cd $execute
|
37 |
bortigno |
1.5 |
|
38 |
|
|
#back to the working dir
|
39 |
bortigno |
1.7 |
cd -
|
40 |
bortigno |
1.5 |
|
41 |
|
|
#Parsing the path form the config
|
42 |
nmohr |
1.4 |
pathAna=`python << EOF
|
43 |
|
|
import os
|
44 |
|
|
from BetterConfigParser import BetterConfigParser
|
45 |
|
|
config = BetterConfigParser()
|
46 |
|
|
config.read('./pathConfig$energy')
|
47 |
|
|
print config.get('Directories','samplepath')
|
48 |
|
|
EOF`
|
49 |
|
|
echo $pathAna
|
50 |
|
|
configFile=config$energy
|
51 |
bortigno |
1.5 |
|
52 |
peller |
1.9 |
MVAList=`python << EOF
|
53 |
|
|
import os
|
54 |
|
|
from BetterConfigParser import BetterConfigParser
|
55 |
|
|
config = BetterConfigParser()
|
56 |
|
|
config.read('./config$energy')
|
57 |
|
|
print config.get('MVALists','List_for_submitscript')
|
58 |
|
|
EOF`
|
59 |
|
|
configFile=config$energy
|
60 |
|
|
|
61 |
|
|
|
62 |
bortigno |
1.5 |
#Create subdirs where processed samples will be stored
|
63 |
|
|
if [ ! -d $pathAna/env/sys ]
|
64 |
|
|
then
|
65 |
|
|
mkdir $pathAna/env/sys
|
66 |
|
|
fi
|
67 |
bortigno |
1.7 |
if [ ! -d $pathAna/env/sys/MVAout ]
|
68 |
bortigno |
1.5 |
then
|
69 |
|
|
mkdir $pathAna/env/sys/MVAout
|
70 |
|
|
fi
|
71 |
|
|
|
72 |
|
|
#Create the link to th sample information in the new sudfolders
|
73 |
|
|
if [ ! -f $pathAna/env/sys/samples.info ]
|
74 |
|
|
then
|
75 |
|
|
ln -s $pathAna/env/samples.info $pathAna/env/sys/samples.info
|
76 |
|
|
fi
|
77 |
|
|
if [ ! -f $pathAna/sys/MVAout/samples.info ]
|
78 |
|
|
then
|
79 |
|
|
ln -s $pathAna/env/samples.info $pathAna/env/sys/MVAout/samples.info
|
80 |
|
|
fi
|
81 |
|
|
|
82 |
|
|
#Run the scripts
|
83 |
peller |
1.9 |
|
84 |
|
|
if [ $task = "prep" ]; then
|
85 |
|
|
./step1_prepare_trees.sh
|
86 |
|
|
fi
|
87 |
|
|
if [ $task = "sys" ]; then
|
88 |
|
|
./write_regression_systematics.py -P $pathAna/env/ -S $sample -C $configFile -C pathConfig$energy
|
89 |
|
|
fi
|
90 |
|
|
if [ $task = "eval" ]; then
|
91 |
|
|
./evaluateMVA.py -P $pathAna/env/sys/ -D $MVAList -S $sample -U 0 -C ${configFile} -C pathConfig$energy
|
92 |
|
|
fi
|
93 |
|
|
if [ $task = "plot" ]; then
|
94 |
|
|
./tree_stack.py -P $pathAna/env/sys/MVAout/ -C ${configFile} -C pathConfig$energy -V $sample
|
95 |
|
|
fi
|
96 |
|
|
if [ $task = "dc" ]; then
|
97 |
|
|
./workspace_datacard.py -P $pathAna/env/sys/MVAout/ -C ${configFile} -C pathConfig$energy -V $sample
|
98 |
|
|
fi
|