Jpp - the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
plot-compass.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 COMPASS_DEBUG 2
17 set_variable: WORKDIR COMPASS_WORKDIR ./
18 set_variable+ BACKGROUND COMPASS_BACKGROUND: -B
19 
20 if do_usage $*; then
21  usage "$script <detector file> (input file)+"
22 fi
23 
24 if (( $# < 2 )); then
25  fatal "Wrong number of parameters."
26 fi
27 
29 set_array INPUT_FILES $argv[2,-1]
30 
31 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
32 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
33 
34 kill_child_processes_at_exit
35 
36 attach getModule -a $DETECTOR
37 
38 typeset -Z 4 STRING
39 typeset -Z 2 FLOOR
40 
41 typeset -A X_LABEL
42 typeset -A YMAX
43 
44 X_LABEL[twist]="#Delta#theta [deg]"
45 X_LABEL[swing]="#Delta#theta [deg]"
46 X_LABEL[count]="number of hits"
47 
48 YMAX[twist]=2.0
49 YMAX[swing]=0.5
50 YMAX[count]=100
51 
52 if (( ${#INPUT_FILES} == 1 )); then
53  set_variable OPTION -s 110110
54 else
55  set_variable OPTION -L TR
56 fi
57 
58 for key value in "${(@kv)X_LABEL}"; do
59 
60  for STRING in $STRINGS[*]; do
61 
62  echo -n "Creating $key graphics for string $STRING.."
63 
64  rm -f /tmp/${key}_${STRING}_*.gif
65 
66  set_variable FIRST_FLOOR 1
67 
68  for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
69 
70  sput $STRING $FLOOR
71  sget MODULE
72 
73  JPlot1D \
74  -f "${INPUT_FILES//\.root/.root:${MODULE}.${key}}" \
75  -\> "${value}" \
76  -\^ "number of events [a.u.]" \
77  $OPTION \
78  -T "(${STRING},${FLOOR})" \
79  -o /tmp/${key}_${STRING}_${FLOOR}.gif -B >& /dev/null
80  done
81 
82  montage \
83  -tile 6x3 \
84  -geometry +0+0 \
85  /tmp/${key}_${STRING}_{01..18}.gif \ $WORKDIR/${key}_${STRING}.gif >& /dev/null
86 
87  echo " -> $WORKDIR/${key}_${STRING}.gif"
88  done
89 done
90 
91 if (( ${#INPUT_FILES} == 1 )); then
92 
93  JPlot2D \
94  -f "${INPUT_FILES[1]}:h2" \
95  -\> "string" \
96  -\< "floor" \
97  -z "1.0e-8 1.0" -Z \
98  -O COLZ \
99  -T "outliers" \
100  -o $WORKDIR/out.gif $BACKGROUND
101 
102  for key value in "${(@kv)X_LABEL}"; do
103 
104  echo -n "Creating summary graphics for $key.."
105 
106  HISTOGRAMS=()
107 
108  for STRING in $STRINGS[*]; do
109 
110  set_variable STRING_TXT $WORKDIR/string_${STRING}.${key}.txt
111  set_variable STRING_ROOT $WORKDIR/string_${STRING}.${key}.root
112 
113  rm -f $STRING_TXT
114 
115  for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
116 
117  sput $STRING $FLOOR
118  sget MODULE
119 
120  set_variable X `JPrintResult -f "${INPUT_FILES[1]}:${MODULE}.${key}" -F GetMean`
121 
122  printf "%2d %9.6f\n" $FLOOR $X >> $STRING_TXT
123 
124  done
125 
126  JGraph \
127  -f $STRING_TXT \
128  -o $STRING_ROOT \
129  -T "[${STRING}]" -d0
130 
131  HISTOGRAMS+="${STRING_ROOT}:.*"
132 
133  rm -f $STRING_TXT
134  done
135 
136  JPlot1D \
137  -f "$HISTOGRAMS[*]" \
138  -w 800x400 \
139  -x "0.5 18.5" \
140  -y "0.0 $YMAX[${key}]" \
141  -\> "floor" \
142  -\^ "${value}" \
143  -N "X 505" \
144  -L TR \
145  -T "[$key]" \
146  -o $WORKDIR/summary_${key}.gif $BACKGROUND
147 
148  rm -f ${HISTOGRAMS[*]//:*/}
149 
150  echo " -> $WORKDIR/summary_${key}.gif"
151  done
152 fi
153 
154 detach
155 
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
Definition: JTuna.sh:26
data_type w[N+1][M+1]
Definition: JPolint.hh:741
do JCanberra a $DETECTOR f $INPUT_FILE o $WORKDIR canberra[${EMITTER}] root T $WORKDIR tripod txt V $WORKDIR sound_velocity txt M $WORKDIR mechanics txt E $EMITTER d $DEBUG!done HISTOGRAMS
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
do set_variable STRING_TXT $WORKDIR string_
do JCanberra a $DETECTOR f $INPUT_FILE o $WORKDIR canberra[${EMITTER}\] root T $WORKDIR tripod txt V $WORKDIR sound_velocity txt M $WORKDIR mechanics txt E $EMITTER d $DEBUG!done kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR set_variable FIRST_FLOOR for STRING in $STRINGS[*]
Definition: JCanberra.sh:60
exit
Definition: JPizza.sh:36
then JPizza f
Definition: JPizza.sh:46
then echo
then fatal Invalid string $STRING
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then break fi done getCenter read X Y Z let X
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
then awk F
* usage
set_array INPUT_FILES
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
Definition: JDomino.sh:39
std::vector< int > count
Definition: JAlgorithm.hh:180
then JCalibrateToT a
Definition: JTuneHV.sh:116
then set_variable MODULE getModule a $DETECTOR L $STRING $FLOOR JEditDetector a $DETECTOR M $MODULE add $X o $DETECTOR else echo No update of detector $DETECTOR
alias put_queue eval echo n
Definition: qlib.csh:19
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
then display $WORKDIR
Definition: plot-Domino.sh:127
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR tmp set_variable JDAQ_TIMESLICE JDAQTimeslice if do_usage *then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
Definition: JLegolas.sh:23
set_variable DETECTOR
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:38
then usage $script[input file[working directory[option]]] nWhere option can be N
Definition: JMuonPostfit.sh:35
then usage eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR typeset A X_LABEL typeset A YMAX X_LABEL[twist]
Definition: plot-compass.sh:44
version
Definition: JCalibratePMT.sh:7
*fatal Wrong option $OPTION
source $JPP_DIR setenv csh $JPP_DIR eval JShellParser o a A
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
esac done
Definition: JAddHDE.sh:21