Jpp  18.6.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 
11 set_variable: DEBUG ACOUSTICS_DEBUG 2
12 set_variable: WORKDIR ACOUSTICS_WORKDIR `pwd`
13 set_variable+ OVERWRITE ACOUSTICS_OVERWRITE Y
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> <tripod file> (input file)+"\
20  "\nInput files correspond to the output of JKatoomba[.sh]."\
21  "\nThe environment variable ACOUSTICS_OVERWRITE should be set to overwrite the detector and tripod file."
22 fi
23 
24 if (( $# < 3 )); then
25  fatal "Wrong number of arguments."
26 fi
27 
29 set_variable TRIPOD $argv[2]
30 set_array INPUT_FILES $argv[3,-1]
31 
32 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
33 eval `JPrintDetector -a $DETECTOR -O CAN`
34 
35 JAcoustics.sh $DETECTOR_ID
36 
37 JFootprint \
38  -f${^INPUT_FILES} \
39  -x "500 -20.0 +20.0" \
40  -y "500 -20.0 +20.0" \
41  -Z $CAN_ZMAX_M \
42  -o $WORKDIR/footprint.root \
43  -d $DEBUG
44 
45 JPlot2D \
46  -f $WORKDIR/footprint.root:% \
47  -\> "Tx [mrad]" \
48  -\< "Ty [mrad]" \
49  -O COLZ \
50  -N "X 505" \
51  -N "Y 505" \
52  -T "" \
53  -o footprint.$FORMAT $BATCH
54 
55 JPrintMaximum2D -f $WORKDIR/footprint.root:% | read TITLE X Y
56 
57 let "XMIN = $X - 2.0"
58 let "XMAX = $X + 2.0"
59 let "YMIN = $Y - 2.0"
60 let "YMAX = $Y + 2.0"
61 
62 JFit2D \
63  -f $WORKDIR/footprint.root:% \
64  -o $WORKDIR/fit.root \
65  -F "$FORMULA" \
66  -x "$XMIN $XMAX" \
67  -y "$YMIN $YMAX" \
68  -@ "p0 = GetMaximum" \
69  -@ "p1 = $X" \
70  -@ "p2 = 1.0" \
71  -@ "p3 = $Y" \
72  -@ "p4 = 1.0" \
73  -E "p0 = 0.1" \
74  -E "p1 = 0.02" \
75  -E "p2 = 0.02" \
76  -E "p3 = 0.02" \
77  -E "p4 = 0.02" \
78  -O "L" \
79  -d $DEBUG --!
80 
81 JPlot2D \
82  -f $WORKDIR/fit.root:% \
83  -x "$XMIN $XMAX" \
84  -y "$YMIN $YMAX" \
85  -\> "Tx [mrad]" \
86  -\< "Ty [mrad]" \
87  -O COLZ \
88  -N "X 505" \
89  -N "Y 505" \
90  -T "" \
91  -o fit.$FORMAT $BATCH
92 
93 set_array TX `JPrintFit -f $WORKDIR/fit.root:% -@ p1`
94 set_array TY `JPrintFit -f $WORKDIR/fit.root:% -@ p3`
95 set_variable RESULT `JPrintFit -f $WORKDIR/fit.root:% -F "GetChisquare/GetNDF"`
96 
97 TX[1]=$(($TX[1]*1.0e-3))
98 TY[1]=$(($TY[1]*1.0e-3))
99 
100 printf "Tx = %9.6f Ty = %9.6f chi2/NDF = %7.3f\n" $TX[1] $TY[1] $RESULT
101 
102 if [[ "$OVERWRITE" == "Y" ]]; then
103  JFootprint.sh $DETECTOR $TRIPOD $TX[1] $TY[1]
104 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.
then usage $script< input file >[option[primary[working directory]]] nWhere option can be E
Definition: JMuonPostfit.sh:40
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
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
then
Definition: datalogs.sh:34
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
then $DIR JKatoomba a $DETECTOR o $WORKDIR katoomba root T $TRIPOD
then JCalibrateToT a
Definition: JTuneHV.sh:107
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
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
&set_variable FORMULA
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonStart.sh:47
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
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
do sput $STRING $FLOOR sget MODULE INPUT_FILES
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:92
p3
Definition: module-Z:fit.sh:74
then getFile sh $JPP_ARCHIVE $DETECTOR_ID $RUNS[1] $KEY $VERSION $WORKDIR
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62