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
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 
12 set_variable: WORKDIR ACOUSTICS_WORKDIR `pwd`
13 set_variable: THREADS ACOUSTICS_THREADS 5
14 set_variable+ OVERWRITE ACOUSTICS_OVERWRITE Y
15 set_variable FORMULA "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2])) * exp(-0.5 * (y-[3])*(y-[3]) / ([4]*[4]))"
16 set_variable: FORMAT GRAPHICS_FORMAT gif
17 set_variable+ BATCH GRAPHICS_BATCH -B
18 
19 if do_usage $*; then
20  usage "$script <detector file> <tripod file> (input file)+"\
21  "\nInput files correspond to the output of JAcousticsEventBuilder[.sh]."\
22  "\nThe environment variable ACOUSTICS_OVERWRITE should be set to overwrite the detector and tripod file."
23 fi
24 
25 if (( $# < 3 )); then
26  fatal "Wrong number of arguments."
27 fi
28 
30 set_variable TRIPOD $argv[2]
31 set_array INPUT_FILES $argv[3,-1]
32 
33 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
34 eval `JPrintDetector -a $DETECTOR -O CAN`
35 
36 JAcoustics.sh $DETECTOR_ID
37 
38 {{ JFremantle \
39  -a $DETECTOR \
40  -f "$INPUT_FILES[*]" \
41  -o $WORKDIR/fremantle.root \
42  -T $TRIPOD \
43  -V $WORKDIR/sound_velocity.txt \
44  -M $WORKDIR/mechanics.txt \
45  -@ $WORKDIR/acoustics_fit_parameters.txt \
46  -N $THREADS \
47  -s \
48  -d 0 --! 3>&1 1>&4 } | read RESULT } 4>&1
49 
50 JFootprint \
51  -f $WORKDIR/fremantle.root \
52  -x "500 -20.0 +20.0" \
53  -y "500 -20.0 +20.0" \
54  -Z $CAN_ZMAX_M \
55  -o $WORKDIR/footprint.root \
56  -d 0
57 
58 JPlot2D \
59  -f $WORKDIR/footprint.root:% \
60  -\> "Tx [mrad]" \
61  -\< "Ty [mrad]" \
62  -O COLZ \
63  -N "X 505" \
64  -N "Y 505" \
65  -T "" \
66  -o footprint.$FORMAT $BATCH
67 
68 JPrintMaximum2D -f $WORKDIR/footprint.root:% | read TITLE X Y
69 
70 let "XMIN = $X - 2.0"
71 let "XMAX = $X + 2.0"
72 let "YMIN = $Y - 2.0"
73 let "YMAX = $Y + 2.0"
74 
75 JFit2D \
76  -f $WORKDIR/footprint.root:% \
77  -o $WORKDIR/fit.root \
78  -F "$FORMULA" \
79  -x "$XMIN $XMAX" \
80  -y "$YMIN $YMAX" \
81  -@ "p0 = GetMaximum" \
82  -@ "p1 = $X" \
83  -@ "p2 = 1.0" \
84  -@ "p3 = $Y" \
85  -@ "p4 = 1.0" \
86  -O "L" \
87  -d $DEBUG --!
88 
89 JPlot2D \
90  -f $WORKDIR/fit.root:% \
91  -x "$XMIN $XMAX" \
92  -y "$YMIN $YMAX" \
93  -\> "Tx [mrad]" \
94  -\< "Ty [mrad]" \
95  -O COLZ \
96  -N "X 505" \
97  -N "Y 505" \
98  -T "" \
99  -o fit.$FORMAT $BATCH
100 
101 set_array TX `JPrintFit -f $WORKDIR/fit.root:% -@ p1`
102 set_array TY `JPrintFit -f $WORKDIR/fit.root:% -@ p3`
103 
104 TX[1]=$(($TX[1]*1.0e-3))
105 TY[1]=$(($TY[1]*1.0e-3))
106 
107 printf "Tx = %9.6f Ty = %9.6f chi2 = %7.3f\n" $TX[1] $TY[1] $RESULT
108 
109 if [[ "$OVERWRITE" == "Y" ]]; then
110  JFootprint.sh $DETECTOR $TRIPOD $TX[1] $TY[1]
111 fi
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
TPaveText * p1
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary.
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
then usage $script(input file)+< QA/QC file >" "\nAuxiliary script to produce the following QA/QC data then fatal Wrong number of arguments fi set_array INPUT_FILES $argv[1,-2] set_variable QAQC_FILE $argv[-1] mkdir p $WORKDIR set_variable ACOUSTICS_DEBUG
Definition: JQAQC.sh:80
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)
then
Definition: datalogs.sh:31
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable TRIPOD $argv[2] set_array INPUT_FILES $argv[3,-1] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O CAN JAcoustics sh $DETECTOR_ID
Definition: footprint.sh:38
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
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
then awk F
* usage
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:79
&set_variable FORMULA
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
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
then echo
Definition: JQAQC.sh:90
script
Definition: JAcoustics.sh:2
p3
Definition: module-Z:fit.sh:74
then fatal Invalid tripod $TRIPOD
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62