1 |
kiesel |
1.1 |
#!/bin/bash
|
2 |
|
|
# This script submitts all jobs to naf, which are defined in dataset
|
3 |
|
|
|
4 |
|
|
datasets=( srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/jschulz/nTuples/QCD_250-500_V01/
|
5 |
|
|
srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/jschulz/nTuples/QCD_500-1000_V01/
|
6 |
|
|
srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/jschulz/nTuples/QCD_1000-inf_V01/
|
7 |
|
|
srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/jschulz/nTuples/WJets_V01/
|
8 |
|
|
srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/jschulz/nTuples/GVJets_V01/
|
9 |
|
|
srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/jschulz/nTuples/TTJets_V01/ )
|
10 |
|
|
#srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/jschulz/nTuples/GJets_V01/ )
|
11 |
|
|
# settings
|
12 |
|
|
version="00"
|
13 |
|
|
files_per_job=20
|
14 |
|
|
|
15 |
|
|
for dataset in "${datasets[@]}"; do
|
16 |
|
|
|
17 |
|
|
# get folder name as best description for job
|
18 |
|
|
job_name=$(echo $dataset|rev|cut -d'/' -f2|rev)
|
19 |
|
|
# Since root can't handle -, it will be substituted to _
|
20 |
|
|
job_name=$(echo $job_name|sed 's/-/_/g')
|
21 |
|
|
|
22 |
|
|
files=( $(srmls $dataset|grep root|awk '{print $2 }') )
|
23 |
|
|
number_of_jobs=$(expr ${#files[@]} / $files_per_job + 1 )
|
24 |
|
|
|
25 |
|
|
# just for testing purpurse
|
26 |
|
|
#TMPDIR=/tmp
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
for (( job=1; job<=$number_of_jobs; job++ )); do
|
30 |
|
|
|
31 |
|
|
jobPrefix=${job_name}.${version}__${job}
|
32 |
|
|
|
33 |
|
|
files_to_submit=""
|
34 |
|
|
for (( i=$(expr $job \* $files_per_job - $files_per_job ); i<$(expr $job \* $files_per_job ); i++ )); do
|
35 |
|
|
if [[ "${files[$i]}" != "" ]]; then
|
36 |
|
|
files_to_submit=$files_to_submit"dcap://dcache-cms-dcap.desy.de"${files[$i]}" "
|
37 |
|
|
fi
|
38 |
|
|
done # files for one job
|
39 |
|
|
outputFileName=/scratch/hh/dust/naf/cms/user/kiesel/${jobPrefix}_tree.root
|
40 |
|
|
|
41 |
|
|
# now that we have all information, get data
|
42 |
|
|
script=$jobPrefix.sh
|
43 |
|
|
|
44 |
|
|
echo export SCRAM_ARCH="slc5_amd64_gcc462" > $script
|
45 |
|
|
echo export VO_CMS_SW_DIR=/cvmfs/cms.cern.ch >> $script
|
46 |
|
|
echo source $VO_CMS_SW_DIR/cmsset_default.sh >> $script
|
47 |
|
|
echo ini glite >> $script
|
48 |
|
|
echo cd $HOME/CMSSW_5_3_8/src >> $script
|
49 |
|
|
echo ini cmssw >> $script
|
50 |
|
|
echo cmsenv >> $script
|
51 |
|
|
echo cd $HOME/treeWriter >> $script
|
52 |
|
|
|
53 |
|
|
echo ./executable $outputFileName $files_to_submit >> $script
|
54 |
|
|
chmod +x $script
|
55 |
|
|
qsub -b y -j y -l h_cpu=07:00:00 -l site=hh `pwd`/$jobPrefix.sh
|
56 |
|
|
echo
|
57 |
|
|
done # all jobs
|
58 |
|
|
done #dataset
|