Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
footprint.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 if [ -z $JPP_DIR ]; then
5  echo "Variable JPP_DIR undefined."
6  exit
7 fi
8 
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10 
11 set_variable: DEBUG ACOUSTICS_DEBUG 2
12 set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13 set_variable: FIT ACOUSTICS_FIT 2
14 set_variable FORMULA "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2])) * exp(-0.5 * (y-[3])*(y-[3]) / ([4]*[4]))"
15 set_variable: FORMAT GRAPHICS_FORMAT gif
16 set_variable+ BATCH GRAPHICS_BATCH -B
17 
18 if do_usage $*; then
19  usage "$script <detector file> <Tx> <Ty> (input file)+"
20 fi
21 
22 if (( $# < 4 )); then
23  fatal "Wrong number of arguments."
24 fi
25 
27 set_variable TX $argv[2]
28 set_variable TY $argv[3]
29 set_array INPUT_FILES $argv[4,-1]
30 
31 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
32 
33 source JAcoustics.sh $DETECTOR_ID
34 
35 CHECK_EXIT_CODE
36 
38 mkdir -p $TMPDIR
39 
40 cp \
41  $WORKDIR/tripod.txt \ $TMPDIR/tripod.txt
42 
43 JConvertDetectorFormat \
44  -a $DETECTOR \
45  -o $TMPDIR/detector.detx --!
46 
47 JFootprint.sh \ $TMPDIR/detector.detx \ $TMPDIR/tripod.txt \ $TX \ $TY
48 
49 JKatoomba \
50  -a $TMPDIR/detector.detx \
51  -f "$INPUT_FILES[*]" \
52  -o $TMPDIR/katoomba.root \
53  -T $WORKDIR/tripod.txt \
54  -V $WORKDIR/sound_velocity.txt \
55  -@ $WORKDIR/acoustics_fit_parameters.txt \
56  -@ "stdev = 50" \
57  -@ "mestimator = 1" \
58  -F $FIT \
59  -u \
60  -d $DEBUG --!
61 
62 JParramatta \
63  -f $TMPDIR/katoomba.root \
64  -o $TMPDIR/parramatta.root
65 
66 set_array X `JPrintResult -f $TMPDIR/parramatta.root:% -F "GetMean(1)" -F "0.5*GetRMS(1)"`
67 set_array Y `JPrintResult -f $TMPDIR/parramatta.root:% -F "GetMean(2)" -F "0.5*GetRMS(2)"`
68 
69 let XMIN="$X[1] - 0.5"
70 let XMAX="$X[1] + 0.5"
71 let YMIN="$Y[1] - 0.5"
72 let YMAX="$Y[1] + 0.5"
73 
74 JFit2D \
75  -f $TMPDIR/parramatta.root:% \
76  -o $TMPDIR/fit.root \
77  -F "$FORMULA" \
78  -x "$XMIN $XMAX" \
79  -y "$YMIN $YMAX" \
80  -@ "p0 = GetMaximum" \
81  -@ "p1 = $X[1]" \
82  -@ "p2 = $X[2]" \
83  -@ "p3 = $Y[1]" \
84  -@ "p4 = $Y[2]" \
85  -d $DEBUG --!
86 
87 JPlot2D \
88  -f $TMPDIR/parramatta.root:% \
89  -O COLZ \
90  -\> "Tx [mrad]" \
91  -\< "Ty [mrad]" \
92  -N "X 505" \
93  -N "Y 505" \
94  -T "" \
95  -o footprint.$FORMAT $BATCH
96 
97 set_array CHI2 `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetEntries)"`
98 set_array TX `JPrintFit -f $TMPDIR/fit.root:% -@ p1`
99 set_array TY `JPrintFit -f $TMPDIR/fit.root:% -@ p3`
100 
101 TX[1]=$(($TX[1]*1.0e-3))
102 TY[1]=$(($TY[1]*1.0e-3))
103 
104 printf "Tx = %9.6f Ty = %9.6f chi2 = %7.3f %7.3f\n" $TX[1] $TY[1] ${CHI2[*]}
105 
106 rm -rf $TMPDIR
107 
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]
TPaveText * p1
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 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
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
fatal Invalid number of arguments esac let YMIN
Definition: testToT.sh:39
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
then break fi done getCenter read X Y Z let X
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
&set_variable FORMULA
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
double u[N+1]
Definition: JPolint.hh:739
do unset TRIPODS[${ID}] done fi set_variable TMPDIR $WORKDIR mkdir p $TMPDIR set_variable OUTPUT_FILE $TMPDIR katoomba root typeset a CHI2 CHI2
script
Definition: JAcoustics.sh:2
p3
Definition: module-Z:fit.sh:74
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null