Jpp  master_rocky
the software that should make you happy
plot-Ballarat.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 #
4 # \author mdejong
5 #
6 version=1.0
7 script=${0##*/}
8 
9 if [ -z $JPP_DIR ]; then
10  echo "Variable JPP_DIR undefined."
11  exit
12 fi
13 
14 source $JPP_DIR/setenv.sh $JPP_DIR
15 
16 set_variable: DEBUG DYNAMICS_DEBUG 2
17 set_variable: WORKDIR DYNAMICS_WORKDIR ./
18 set_variable: FLOORS DYNAMICS_FLOORS 1-18
19 set_variable: HISTOGRAM DYNAMICS_HISTOGRAM H
20 set_variable: TMAX_S DYNAMICS_TMAX_S 100
21 set_variable: TIMESTAMP DYNAMICS_TIMESTAMP UTC
22 set_variable: FORMAT GRAPHICS_FORMAT gif
23 set_variable+ BATCH GRAPHICS_BATCH -B
24 
25 if do_usage $*; then
26  usage "$script <detector file> <input file>+"
27 fi
28 
29 if (( $# < 2 )); then
30  fatal "Wrong number of parameters."
31 fi
32 
33 set_variable DETECTOR $argv[1]
34 set_variable INPUT_FILE $argv[2,-1]
35 
36 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
37 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
38 
39 kill_child_processes_at_exit
40 
41 typeset -Z 4 STRING
42 typeset -Z 2 FLOOR
43 
44 for STRING in $STRINGS[*]; do
45 
46  JEditDetector -a $DETECTOR -k $STRING -o ${TMPDIR:-/tmp}/detector.datx
47 
48  attach getModule -a ${TMPDIR:-/tmp}/detector.datx
49 
50  $JPP_DIR/examples/JDynamics/JBallarat \
51  -a ${TMPDIR:-/tmp}/detector.datx \
52  -f "$INPUT_FILE[*]" \
53  -o ${TMPDIR:-/tmp}/ballarat.root \
54  -T $TMAX_S \
55  -d $DEBUG
56 
57  MODULES=()
58 
59  echo "Creating graphics for string $STRING"
60 
61  for (( FLOOR = ${FLOORS%%-*}; $FLOOR <= ${FLOORS##*-}; FLOOR += 1 )); do
62 
63  sput $STRING $FLOOR
64  sget MODULE
65 
66  JPlot1D \
67  -f ${TMPDIR:-/tmp}/ballarat.root:"U\["${MODULE}"\].twist" \
68  -Y \
69  -> "#Delta#phi [deg]" \
70  -s 1110 \
71  -T "${STRING}.${FLOOR}" \
72  -o ${TMPDIR:-/tmp}/U${STRING}_${FLOOR}.$FORMAT $BATCH
73 
74  MODULES+=($MODULE)
75  done
76 
77  detach
78 
79  montage \
80  -tile 6x3 \
81  -geometry +0+0 \
82  ${TMPDIR:-/tmp}/U${STRING}_{01..18}.$FORMAT \
83  $WORKDIR/U${STRING}.$FORMAT >& /dev/null
84 
85  JPlot1D \
86  -w 1200x600 \
87  -f${TMPDIR:-/tmp}/ballarat.root:"${HISTOGRAM}\["${^MODULES}"\]" \
88  -y "-3.15 +3.15" \
89  -\^ "twist [rad]" \
90  -N "X 505" \
91  -t "$TIMESTAMP" \
92  -S 0.3 \
93  -T "${STRING}" \
94  -O "][" \
95  -o $WORKDIR/${STRING}.$FORMAT $BATCH
96 done
97 
98 montage \
99  -tile 3x40 \
100  -geometry +0+0 \
101  $WORKDIR/0*.$FORMAT \
102  $WORKDIR/twist.$FORMAT >& /dev/null
103 
104 detach