Newer
Older
#!/bin/bash
## Init the environment
source config/env.sh
## Maximum number of generators to run in parallel
export MT=10
## Generates different configurations from the master configuration
## for both electron and muon decay channels
echo "Generating DVMP event samples using lAger"
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
EBEAM=
PBEAM=
DECAYS=()
CONFS=()
while [ $# -gt 0 ]
do
key="$1"
case $key in
--config)
CONFS+=("$2")
shift # past argument
shift # past value
;;
--decay)
DECAYS+=("$2")
shift # past argument
shift # past value
;;
--ebeam)
EBEAM="$2"
shift # past argument
shift # past value
;;
--pbeam)
PBEAM="$2"
shift # past argument
shift # past value
;;
*) # unknown option
echo "unknown option"
exit 1
;;
esac
done
if [ ${#CONFS[@]} -eq 0 ]; then
echo "ERROR: need one or more config names: --config <config name> "
exit 1
elif [ ${#DECAYS[@]} -eq 0 ]; then
echo "ERROR: need one or more decay types: --decay muon/electron"
exit 1
elif [ -z $EBEAM ]; then
echo "ERROR: EBEAM not defined: --EBEAM <energy>"
exit 1
elif [ -z $PBEAM ]; then
echo "ERROR: PBEAM not defined: --PBEAM <energy>"
exit 1
fi
## loop over all our configurations and run the generator in parallel
parallel -j ${MT} \
"dvmp/scripts/run_generator_instance.sh --ebeam ${EBEAM} --pbeam ${PBEAM} --config {1} --decay {2}" \
::: "${CONFS[@]}" ::: "${DECAYS[@]}"
CONFIG_BASE=`basename ${CONFIG} .json.in`
echo "Event generation finished"