Jpp  15.0.2
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 fi
33 
34 case $# in
35  3) set_variable RANGE $argv[3];&
36  2) set_array DETECTOR $argv[1] $argv[2];;
37  *) fatal "Wrong number of arguments."
38 esac
39 
40 if [[ "$RANGE" == [0-9]*"-"[0-9]* ]]; then
41 
42  JConvertDetectorFormat \
43  -a $DETECTOR[1] \
44  -o /tmp/detector.datx \
45  -d $DEBUG
46 
47  echo "" > /tmp/tripod.txt
48 
49  JAlignDetector \
50  -a /tmp/detector.datx \
51  -b $DETECTOR[2] \
52  -AO \
53  -r "${RANGE%%-*} ${RANGE##*-}" \
54  -T /tmp/tripod.txt \
55  -d $DEBUG --!
56 
57  DETECTOR[1]=/tmp/detector.datx
58 fi
59 
60 JCompareDetector \
61  -a $DETECTOR[1] \
62  -b $DETECTOR[2] \
63  -p "time = $TIME" \
64  -p "angle = $ANGLE" \
65  -p "position = $POSITION" \
66  -p "orientation = $ORIENTATION" \
67  -o $WORKDIR/detector.root \
68  -d $DEBUG --!
69 
70 typeset -A HISTOGRAMS
71 
72 HISTOGRAMS[X2]="#Deltax [m]"
73 HISTOGRAMS[Y2]="#Deltay [m]"
74 HISTOGRAMS[Z2]="#Deltaz [m]"
75 #HISTOGRAMS[R2]="angle [deg]"
76 
77 for KEY VALUE in ${(@kv)HISTOGRAMS}; do
78 
79  JPlot2D \
80  -f $WORKDIR/detector.root:${KEY} \
81  -\> "string" \
82  -\< "floor" \
83  -\^ "$VALUE" \
84  -O COLZ \
85  -T "$KEY" \
86  -o ${KEY}.$FORMAT $BATCH
87 
88 done
89 
90 eval `JPrintDetector -a $DETECTOR[1] -O SUMMARY`
91 
92 for (( i = 1; $i <= ${#STRINGS}; ++i )); do
93 
95 
96  let XMIN="$i - 1 - 0.5"
97  let XMAX="$i - 1 + 0.5"
98 
99  JProject2D \
100  -f $WORKDIR/detector.root:Z2 \
101  -P Y \
102  -x "$XMIN $XMAX" \
103  -o /tmp/py_\[${STRING}\].root \
104  -d 0
105 
106 done
107 
108 JPlot1D \
109  -f/tmp/py_\[${^STRINGS}\].root:\.\* \
110  -\> "floor" \
111  -\^ "#Deltaz [m]" \
112  -x "0.5 18.5" \
113  -O "HIST ][" \
114  -T "" \
115  -L BR \
116  -o Z1.$FORMAT $BATCH
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison fi case set_variable RANGE $argv[3]
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
then JMuonPostfit f
then usage $script< detector file >< inputfile > nUtility script to create PDF and CDF of transition time distribution fi case set_variable WORKDIR
Definition: JLegolas.sh:31
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:63
exit
Definition: JPizza.sh:36
data_type r[M+1]
Definition: JPolint.hh:742
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 echo
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
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* usage
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
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
then let XMIN
set_variable DETECTOR
do set_variable DETECTOR_TXT $WORKDIR 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:41
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/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
script
Definition: JAcoustics.sh:2
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
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
do alias $i