Jpp  master_rocky-43-ge265d140c
the software that should make you happy
plot-DetectorParameters2D.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 
17 set_variable DEBUG 3
18 set_variable WORKDIR `pwd`
19 set_variable OUTPUT_FILE $WORKDIR/detector_parameters.root
20 set_variable DIR $JPP_DIR/examples/JDetector/
21 set_variable NUMBER_OF_PMTS 31
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> (detector file)+"
27 fi
28 
29 if (( $# < 2 )); then
30  fatal "Wrong number of parameters."
31 fi
32 
33 set_variable DETECTOR $argv[1]
34 
35 INPUT_FILES=($argv[1,-1])
36 
37 $DIR/JPlotDetectorParameters2D \
38  -a "$INPUT_FILES" \
39  -o $OUTPUT_FILE \
40  -d $DEBUG --!
41 
42 # parameters and plot ranges
43 
44 typeset -A Y_RANGE
45 
46 Y_RANGE+=(t0 "-10.0 +10.0")
47 
48 
49 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
50 
51 kill_child_processes_at_exit
52 
53 attach getModule -a $DETECTOR
54 
55 typeset -Z 4 STRING
56 typeset -Z 2 FLOOR
57 
58 let XMIN=-0.5
59 let XMAX=${NUMBER_OF_PMTS}-0.5
60 
61 for STRING in $STRINGS[*]; do
62 
63  echo "Creating graphics for string $STRING."
64 
65  set_variable FIRST_FLOOR 1
66 
67  for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
68 
69  sput $STRING $FLOOR
70  sget MODULE
71 
72  for KEY in ${(k)Y_RANGE}; do
73 
74  debug "($STRING,$FLOOR) $KEY"
75 
76  JPlot2D \
77  -f ${OUTPUT_FILE}:${MODULE}\.${KEY}\$ \
78  -z $Y_RANGE[${KEY}] \
79  -O COLZ \
80  -> "index" \
81  -< "PMT" \
82  -\^ "$KEY" \
83  -T "(${STRING},${FLOOR})" \
84  -o ${TMPDIR:-/tmp}/${KEY}_${STRING}_${FLOOR}.$FORMAT $BATCH
85 
86  JProject2D \
87  -f ${OUTPUT_FILE}:${MODULE}\.${KEY}\$ \
88  -P X -y "$XMIN $XMAX" \
89  -o ${TMPDIR:-/tmp}/project.root
90 
91  JScale1D \
92  -f ${TMPDIR:-/tmp}/project.root:\.\* \
93  -o ${TMPDIR:-/tmp}/scale.root \
94  -F "1.0/${NUMBER_OF_PMTS}" \
95  -O "nosw2"
96 
97  JPlot1D \
98  -f ${TMPDIR:-/tmp}/scale.root:\.\* \
99  -y $Y_RANGE[${KEY}] \
100  -> "index" \
101  -\^ "<$KEY>" \
102  -T "(${STRING},${FLOOR})" \
103  -o ${TMPDIR:-/tmp}/P_${KEY}_${STRING}_${FLOOR}.$FORMAT $BATCH
104 
105 
106  done
107  done
108 
109  for KEY in ${(k)Y_RANGE}; do
110 
111  montage \
112  -tile 6x3 \
113  -geometry +0+0 \
114  ${TMPDIR:-/tmp}/${KEY}_${STRING}_{01..18}.$FORMAT \
115  $WORKDIR/${KEY}_${STRING}.$FORMAT >& /dev/null
116  done
117 
118  for KEY in ${(k)Y_RANGE}; do
119 
120  montage \
121  -tile 6x3 \
122  -geometry +0+0 \
123  ${TMPDIR:-/tmp}/P_${KEY}_${STRING}_{01..18}.$FORMAT \
124  $WORKDIR/P_${KEY}_${STRING}.$FORMAT >& /dev/null
125  done
126 done
127 
128 detach