Jpp  master_rocky-37-gf0c5bc59d
the software that should make you happy
JTDC.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 if [ -z $JPP_DIR ]; then
5  echo "Variable JPP_DIR undefined."
6  exit
7 fi
8 
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10 
11 if do_usage $*; then
12  usage "$script <detector identifier>"
13 fi
14 
15 case $# in
16  1) set_variable DETECTOR_ID $1;;
17  *) fatal "Wrong number of arguments."
18 esac
19 
20 JCookie.sh
21 
22 
23 set_variable WORKDIR ${TMPDIR:-/tmp}/.$$
24 mkdir -p $WORKDIR
25 
26 
27 # get run lists
28 
29 typeset -A PHYS # physics runs
30 typeset -A EVEN # even runs
31 typeset -A ODD # odd runs
32 
33 for KEY in PHYS EVEN ODD; do
34 
35  JRuns -D $DETECTOR_ID -r $KEY -F RUN -F RUNSETUPNAME -d 0 > $WORKDIR/${KEY}.txt
36 
37  exec 3<>$WORKDIR/${KEY}.txt
38 
39  while read RUN RUNSETUPNAME <& 3; do
40  eval ${KEY}\[${RUN}\]=\"$RUNSETUPNAME\"
41  done
42 done
43 
44 
45 # get run triplets
46 
47 for ODD_RUN in ${(@k)ODD[*]}; do
48 
49  EVEN_RUN=0
50  PHYS_RUN=0
51 
52  for (( i = $ODD_RUN - 1; $i <= $ODD_RUN + 1; i += 2 )); do
53  if (( `has_key EVEN $i` )); then
54  EVEN_RUN=$i
55  break;
56  fi
57  done
58 
59  for (( i = $ODD_RUN - 1; $i >= 1; --i )); do
60  if (( `has_key PHYS $i` )); then
61  PHYS_RUN=$i
62  break
63  fi
64  done
65 
66  if (( $EVEN_RUN != 0 && $PHYS_RUN != 0 )); then
67 
68  set_variable DETECTOR $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}.detx
69 
70  echo "Run triplet (PHYS,EVEN,ODD): ($PHYS_RUN,$EVEN_RUN,$ODD_RUN)"
71 
72  JTDC -D $DETECTOR_ID -r "$PHYS_RUN $ODD_RUN" -o TDC_${PHYS_RUN}-${ODD_RUN}.txt
73  JTDC -D $DETECTOR_ID -r "$PHYS_RUN $EVEN_RUN" -o TDC_${PHYS_RUN}-${EVEN_RUN}.txt
74  fi
75 done
76 
77 rm -rf $WORKDIR