Jpp  15.0.3
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: FORMAT GRAPHICS_FORMAT gif
19 set_variable+ BATCH GRAPHICS_BATCH -B
20 
21 if do_usage $*; then
22  usage "$script <detector file> (input file)+"
23 fi
24 
25 if (( $# < 2 )); then
26  fatal "Wrong number of parameters."
27 fi
28 
30 set_array INPUT_FILES $argv[2,-1]
31 
32 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
33 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
34 
35 kill_child_processes_at_exit
36 
37 attach getModule -a $DETECTOR
38 
39 typeset -Z 4 STRING
40 typeset -Z 2 FLOOR
41 
42 typeset -A X_LABEL
43 typeset -A YMAX
44 
45 X_LABEL[twist]="#Delta#theta [deg]"
46 X_LABEL[swing]="#Delta#theta [deg]"
47 X_LABEL[count]="number of hits"
48 
49 YMAX[twist]=2.0
50 YMAX[swing]=0.5
51 YMAX[count]=100
52 
53 if (( ${#INPUT_FILES} == 1 )); then
54  set_variable OPTION -s 110110
55 else
56  set_variable OPTION -L TR
57 fi
58 
59 for key value in "${(@kv)X_LABEL}"; do
60 
61  for STRING in $STRINGS[*]; do
62 
63  echo -n "Creating $key graphics for string $STRING.."
64 
65  rm -f ${TMPDIR:-/tmp}/${key}_${STRING}_*.$FORMAT
66 
68 
69  for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
70 
71  sput $STRING $FLOOR
72  sget MODULE
73 
74  JPlot1D \
75  -f "${INPUT_FILES//\.root/.root:${MODULE}.${key}}" \
76  -\> "${value}" \
77  -\^ "number of events [a.u.]" \
78  `echo $OPTION` \
79  -T "(${STRING},${FLOOR})" \
80  -o ${TMPDIR:-/tmp}/${key}_${STRING}_${FLOOR}.$FORMAT $BATCH
81  done
82 
83  montage \
84  -tile 6x3 \
85  -geometry +0+0 \
86  ${TMPDIR:-/tmp}/${key}_${STRING}_{01..18}.$FORMAT \ $WORKDIR/${key}_${STRING}.$FORMAT >& /dev/null
87 
88  echo " -> $WORKDIR/${key}_${STRING}.$FORMAT"
89  done
90 done
91 
92 if (( ${#INPUT_FILES} == 1 )); then
93 
94  JPlot2D \
95  -f "${INPUT_FILES[1]}:h2" \
96  -\> "string" \
97  -\< "floor" \
98  -z "1.0e-8 1.0" -Z \
99  -O COLZ \
100  -T "outliers" \
101  -o $WORKDIR/out.$FORMAT $BATCH
102 
103  for key value in "${(@kv)X_LABEL}"; do
104 
105  echo -n "Creating summary graphics for $key.."
106 
107  HISTOGRAMS=()
108 
109  for STRING in $STRINGS[*]; do
110 
111  set_variable STRING_TXT $WORKDIR/string_${STRING}.${key}.txt
112  set_variable STRING_ROOT $WORKDIR/string_${STRING}.${key}.root
113 
114  rm -f $STRING_TXT
115 
116  for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
117 
118  sput $STRING $FLOOR
119  sget MODULE
120 
121  set_variable X `JPrintResult -f "${INPUT_FILES[1]}:${MODULE}.${key}" -F GetMean`
122 
123  printf "%2d %9.6f\n" $FLOOR $X >> $STRING_TXT
124 
125  done
126 
127  JGraph \
128  -f $STRING_TXT \
129  -o $STRING_ROOT \
130  -T "[${STRING}]" -d0
131 
132  HISTOGRAMS+="${STRING_ROOT}:.*"
133 
134  rm -f $STRING_TXT
135  done
136 
137  JPlot1D \
138  -f "$HISTOGRAMS[*]" \
139  -w 800x400 \
140  -x "0.5 18.5" \
141  -y "0.0 $YMAX[${key}]" \
142  -\> "floor" \
143  -\^ "${value}" \
144  -N "X 505" \
145  -L TR \
146  -T "[$key]" \
147  -o $WORKDIR/summary_${key}.$FORMAT $BATCH
148 
149  rm -f ${HISTOGRAMS[*]//:*/}
150 
151  echo " -> $WORKDIR/summary_${key}.$FORMAT"
152  done
153 fi
154 
155 detach
156 
do echo n Creating graphics for string $STRING HISTOGRAMS
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn only modules within the given range of floors are used fi case set_variable RANGE $argv[3]
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
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
do set_variable STRING_TXT $WORKDIR string_
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
exit
Definition: JPizza.sh:36
then echo
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 H $WORKDIR hydrophone txt E $EMITTER $DISABLE d $DEBUG!done kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR for STRING in $STRINGS[*]
Definition: JCanberra.sh:64
const int n
Definition: JPolint.hh:660
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
*fatal Wrong number of arguments esac eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable FIRST_FLOOR
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then break fi done getCenter read X Y Z let X
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP ${TMPDIR:-/tmp}/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
then awk F
* usage
then JConvertDetectorFormat a $DETECTOR[1] o
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:73
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
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:128
do set_variable MODULE getModule a $WORKDIR detector_a datx L $STRING JEditDetector a $WORKDIR detector_a datx M $MODULE setz o $WORKDIR detector_a datx JEditDetector a $WORKDIR detector_b datx M $MODULE setz o $WORKDIR detector_b datx done echo Output stored at $WORKDIR detector_a datx and $WORKDIR tripod_a txt JDrawDetector2D a $WORKDIR detector_a datx a $WORKDIR detector_b datx L BL o detector $FORMAT $BATCH JDrawDetector2D T $WORKDIR tripod_a txt T $WORKDIR tripod_b txt L BL o tripod $FORMAT $BATCH JCompareDetector a $WORKDIR detector_a datx b $WORKDIR detector_b datx o $WORKDIR abc root &dev null for KEY in X Y Z
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:42
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
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:45
version
Definition: JCalibratePMT.sh:7
*fatal Wrong option $OPTION
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