Jpp  18.3.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JCompareDetector.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 script=${0##*/}
6 
7 # ------------------------------------------------------------------------------------------
8 #
9 # Utility script to compare two detectors and to create graphics output.
10 #
11 # ------------------------------------------------------------------------------------------
12 
13 if [ -z $JPP_DIR ]; then
14  echo "Variable JPP_DIR undefined."
15  exit
16 fi
17 
18 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
19 
22 set_variable: TIME PRECISION_TIME 0.01 # [ns]
23 set_variable: ANGLE PRECISION_ANGLE 0.01 # [deg]
24 set_variable: POSITION PRECISION_POSITION 0.01 # [m]
25 set_variable: ORIENTATION PRECISION_ORIENTATION 0.01 # [rad]
26 set_variable: FORMAT GRAPHICS_FORMAT gif
27 set_variable+ BATCH GRAPHICS_BATCH -B
28 
29 if do_usage $*; then
30  usage "$script <detector file> <detector file> [<lower floor>-<upper floor>]"\
31  "\nIf the range of floors is specified, the first detector file is aligned to the second before the comparison."\
32  "\nIn this, only modules within the given range of floors are used."
33 fi
34 
35 case $# in
36  3) set_variable RANGE $argv[3];&
37  2) set_array DETECTOR $argv[1] $argv[2];;
38  *) fatal "Wrong number of arguments."
39 esac
40 
41 if [[ "$RANGE" == [0-9]*"-"[0-9]* ]]; then
42 
43  JConvertDetectorFormat \
44  -a $DETECTOR[1] \
45  -o ${TMPDIR:-/tmp}/detector.datx \
46  -d $DEBUG
47 
48  echo "" > ${TMPDIR:-/tmp}/tripod.txt
49 
50  JAlignDetector \
51  -a ${TMPDIR:-/tmp}/detector.datx \
52  -b $DETECTOR[2] \
53  -AO \
54  -r "${RANGE%%-*} ${RANGE##*-}" \
55  -T ${TMPDIR:-/tmp}/tripod.txt \
56  -d $DEBUG --!
57 
58  DETECTOR[1]=${TMPDIR:-/tmp}/detector.datx
59 
60  rm -f ${TMPDIR:-/tmp}/tripod.txt
61 fi
62 
63 JCompareDetector \
64  -a $DETECTOR[1] \
65  -b $DETECTOR[2] \
66  -p "time = $TIME" \
67  -p "angle = $ANGLE" \
68  -p "position = $POSITION" \
69  -p "orientation = $ORIENTATION" \
70  -o $WORKDIR/detector.root \
71  -d $DEBUG --!
72 
73 typeset -A HISTOGRAMS
74 
75 HISTOGRAMS[X2]="#Deltax [m]"
76 HISTOGRAMS[Y2]="#Deltay [m]"
77 HISTOGRAMS[Z2]="#Deltaz [m]"
78 HISTOGRAMS[T2]="#Deltat [ns]"
79 HISTOGRAMS[RMS]="RMS [ns]"
80 #HISTOGRAMS[R2]="angle [deg]"
81 
82 for KEY VALUE in ${(@kv)HISTOGRAMS}; do
83 
84  JPlot2D \
85  -f $WORKDIR/detector.root:${KEY} \
86  -\> "string" \
87  -\< "floor" \
88  -\^ "$VALUE" \
89  -O COLZ \
90  -T "$KEY" \
91  -o ${KEY}.$FORMAT $BATCH
92 
93 done
94 
95 eval `JPrintDetector -a $DETECTOR[1] -O SUMMARY`
96 
97 for KEY in Z X Y; do
98 
99  for (( i = 1; $i <= ${#STRINGS}; ++i )); do
100 
102 
103  let "XMIN = $i - 1 - 0.5"
104  let "XMAX = $i - 1 + 0.5"
105 
106  JProject2D \
107  -f $WORKDIR/detector.root:${KEY}2 \
108  -P Y \
109  -x "$XMIN $XMAX" \
110  -o ${TMPDIR:-/tmp}/py_\[${STRING}\].root \
111  -d 0
112  done
113 
114  JPlot1D \
115  -f${TMPDIR:-/tmp}/py_\[${^STRINGS}\].root:\.\* \
116  -\> "floor" \
117  -\^ "#Delta${(L)KEY} [m]" \
118  -x "0.5 18.5" \
119  -O "HIST ][" \
120  -CC \
121  -T "" \
122  -L TR \
123  -o ${KEY}1.$FORMAT $BATCH
124 done
do echo n Creating graphics for string $STRING HISTOGRAMS
then usage $script< detector identifier >< startdate\"YYYY-MM-DDHH:MM:SS\"><finaldate\"YYYY-MM-DDHH:MM:SS\"><QA/QCfile> fi case set_variable QAQC_TXT $argv[4]
Definition: JDataMonitor.sh:24
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
std::vector< size_t > ns
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
usr share Modules init zsh export TMPDIR
exit
Definition: JPizza.sh:36
data_type r[M+1]
Definition: JPolint.hh:868
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
then
Definition: datalogs.sh:31
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
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:70
then rm
Definition: sftpput.zsh:30
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:21
then JCalibrateToT a
Definition: JTuneHV.sh:113
do set_variable OUTPUT_DIRECTORY $WORKDIR T
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
* usage
set_array INPUT_FILES argv[2,$((START_INDEX_STRING-1))] set_array STRINGS
fi set_variable FILENAME $WORKDIR
Definition: datalogs.sh:34
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
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
no fit printf nominal n $STRING awk v X
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
do set_variable DETECTOR_TXT $WORKDIR detector
then echo
Definition: JQAQC.sh:90
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
script
Definition: JAcoustics.sh:2
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then fatal Invalid detector identifier $DETECTOR_ID fi set_variable RUNSETUPID typeset a RANGE RANGE[1]
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62
do alias $i