-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsubmit_dijetAna_pPb8160.sh
executable file
·107 lines (85 loc) · 3.43 KB
/
submit_dijetAna_pPb8160.sh
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
98
99
100
101
102
103
104
105
#!/bin/bash
# Set path to CMSSW
source $HOME/setup_cmsenv.sh
# Initial parameters to run
EXEC_PATH=${HOME}/soft/jetAnalysis/processing
cd $EXEC_PATH
# Date of submission
formatted_date=$(date +"%Y%m%d")
# Read input parameters
# First parameters tells the dataset name: DATA_MB, DATA_HM185, DATA_HM250, DATA_PAEGJet
#sample_name=DATA_MB
sample_name=DATA_PAEGJet
# Beam direction
is_Pbgoing=1
if [ "$is_Pbgoing" -eq 1 ]; then
direction=Pbgoing
else
direction=pgoing
fi
# Dataset number
pd_number=$1
# JEU systematics: 0 - default, -1 - JEU-, 1 - JEU+
jeuSyst=0
# JER systematics: 0 - default, -1 - JER-, 1 - JER+
jerSyst=0
# Generate path to the inputfile list
if [ "$sample_name" == "DATA_MB" ]; then
sample_prefix="MB_PD${pd_number}_${direction}"
input_file_list="${EXEC_PATH}/filelists/pPb8160/DATA_MB/${direction}/${sample_prefix}.txt"
elif [ "$sample_name" == "DATA_HM185" ]; then
sample_prefix="HM185_PD${pd_number}_${direction}"
input_file_list="${EXEC_PATH}/filelists/pPb8160/DATA_HM185/${direction}/${sample_prefix}.txt"
elif [ "$sample_name" == "DATA_HM250" ]; then
sample_prefix="HM250_${direction}"
input_file_list="${EXEC_PATH}/filelists/pPb8160/DATA_HM250/${direction}/${sample_prefix}.txt"
else
sample_prefix="PAEGJet_${direction}"
input_file_list="${EXEC_PATH}/filelists/pPb8160/DATA_PAEGJet/${direction}/${sample_prefix}.txt"
fi
# Specify number of files per list to split
files_per_job=50
#input_file_list=$HOME/filelists/test_list.txt
echo -e "Splitting input file list: ${input_file_list}"
n_sublists=$(./split_pPb8160_dataset.sh ${input_file_list} ${files_per_job} ${sample_name} ${direction} ${pd_number})
echo -e "Input file list is splitted into ${n_sublists}"
if [ ! -d "condor/sub/pPb8160/${formatted_date}" ]; then
echo "Directory 'condor/sub/pPb8160/${formatted_date}' does not exist. Creating..."
mkdir -p "condor/sub/pPb8160/${formatted_date}"
if [ $? -eq 0 ]; then
echo "Directory created successfully."
else
echo "Failed to create directory. Terminating"
exit 1
fi
fi
if [ ! -d "condor/log/pPb8160/${formatted_date}" ]; then
echo "Directory 'condor/log/pPb8160/${formatted_date}' does not exist. Creating..."
mkdir -p "condor/log/pPb8160/${formatted_date}"
if [ $? -eq 0 ]; then
echo "Directory created successfully."
else
echo "Failed to create directory. Terminating"
exit 1
fi
fi
cat <<EOF > condor/sub/pPb8160/${formatted_date}/pPb8160_${sample_prefix}.sub
universe = vanilla
executable = ${EXEC_PATH}/run_dijetAna.sh
+JobFlavour = "longlunch"
getenv = True
requirements =((OpSysAndVer =?= "AlmaLinux9") && (CERNEnvironment =?= "qa"))
RequestCpus = 1
transfer_input_files = voms_proxy.txt
environment = "X509_USER_PROXY=voms_proxy.txt"
EOF
for ((jobId = 1; jobId <= $n_sublists; jobId++)); do
cat <<EOF >>condor/sub/pPb8160/${formatted_date}/pPb8160_${sample_prefix}.sub
arguments = input/pPb8160/${formatted_date}/${sample_prefix}_$jobId.list ${sample_prefix}_pPb8160_$jobId.root 0 ${is_Pbgoing} 0 15000 ${jeuSyst} ${jerSyst}
output = condor/log/pPb8160/${formatted_date}/${sample_prefix}_$jobId.out
error = condor/log/pPb8160/${formatted_date}/${sample_prefix}_$jobId.err
log = condor/log/pPb8160/${formatted_date}/${sample_prefix}_$jobId.log
queue
EOF
done
condor_submit condor/sub/pPb8160/${formatted_date}/pPb8160_${sample_prefix}.sub