ROOTPWA
runGamp.sh
Go to the documentation of this file.
1 #!/bin/bash
2 
3 #
4 # generates amplitude files for all key files that match KEY_PATTERN
5 # reads DATA_FILE and writes results to AMP_DIR
6 #
7 # existing files are _not_ regenerated
8 #
9 # assumes that gamp and int are in path
10 #
11 
12 # parameters
13 KEY_PATTERN="./keyfiles/SET?/*.key"
14 DATA_FILE="./2100.2140.genbod.evt"
15 AMP_DIR="./amplitudes"
16 PDG_TABLE="./pdgTable.txt"
17 
18 CURRENT_DIR=$(pwd)
19 NMB_OF_KEYS=$(ls -1 ${KEY_PATTERN} | wc -l)
20 
21 # get absolute paths
22 DATA_FILE=$(readlink -f "${DATA_FILE}")
23 AMP_DIR=$(readlink -f "${AMP_DIR}")
24 PDG_TABLE=$(readlink -f "${PDG_TABLE}")
25 mkdir -p "${AMP_DIR}"
26 
27 # process all key files
28 echo ">>> ${0} started on $(date)"
29 declare -i COUNT_KEY=0
30 for KEY_FILE in ${KEY_PATTERN}
31 do
32  KEY_NAME=$(basename "${KEY_FILE}")
33  AMP_FILE=${AMP_DIR}/${KEY_NAME/key/amp}
34  (( ++COUNT_KEY ))
35  # don't overwrite existing files
36  if [[ -s ${AMP_FILE} ]]
37  then
38  #echo "??? warning: file ${AMP_FILE} already exists. skipping."
39  : #noop
40  else
41  echo "............................................................"
42  echo ">>> processing ${KEY_NAME} (${COUNT_KEY}/${NMB_OF_KEYS})"
43  # avoid problems with absolute amplitude path names in gamp
44  cd $(dirname ${KEY_FILE})
45  COMMAND="gamp -P ${PDG_TABLE} ${KEY_NAME} < ${DATA_FILE} > ${AMP_FILE}"
46  echo "${COMMAND}"
47  time eval ${COMMAND}
48  cd ${CURRENT_DIR}
49  echo ">>> gamp finished $(date)"
50  echo
51  fi
52 done
53 
54 # avoid problems with absolute path names in int
55 cd ${AMP_DIR}
56 # don't overwrite existing files
57 if [[ -s "norm.int" ]]
58 then
59  echo "??? warning: file norm.int already exists. skipping."
60  : #noop
61 else
62  echo "------------------------------------------------------------"
63  echo ">>> running integrator"
64  COMMAND="int *.amp > norm.int"
65  echo "${COMMAND}"
66  time eval ${COMMAND}
67  cd ${CURRENT_DIR}
68 fi
69 echo
70 
71 echo ">>> ${0} finished on $(date)"
72 exit 0