Jpp  17.2.0
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 FORMULA "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2])) * exp(-0.5 * (y-[3])*(y-[3]) / ([4]*[4]))"
14 set_variable: FORMAT GRAPHICS_FORMAT gif
15 set_variable+ BATCH GRAPHICS_BATCH -B
16 
17 if do_usage $*; then
18  usage "$script <detector file> <Tx> <Ty> (input file)+"
19 fi
20 
21 if (( $# < 4 )); then
22  fatal "Wrong number of arguments."
23 fi
24 
26 set_variable TX $argv[2]
27 set_variable TY $argv[3]
28 set_array INPUT_FILES $argv[4,-1]
29 
30 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
31 
32 JAcoustics.sh $DETECTOR_ID
33 
34 CHECK_EXIT_CODE
35 
37 mkdir -p $TMPDIR
38 
39 cp \
40  $WORKDIR/tripod.txt \ $TMPDIR/tripod.txt
41 
42 JConvertDetectorFormat \
43  -a $DETECTOR \
44  -o $TMPDIR/detector.detx --!
45 
46 JFootprint.sh \ $TMPDIR/detector.detx \ $TMPDIR/tripod.txt \ $TX \ $TY
47 
48 JKatoomba \
49  -a $TMPDIR/detector.detx \
50  -f "$INPUT_FILES[*]" \
51  -o $TMPDIR/katoomba.root \
52  -T $WORKDIR/tripod.txt \
53  -V $WORKDIR/sound_velocity.txt \
54  -@ $WORKDIR/acoustics_fit_parameters.txt \
55  -@ "stdev = 50" \
56  -@ "mestimator = 1" \
57  -u \
58  -d $DEBUG --!
59 
60 JParramatta \
61  -f $TMPDIR/katoomba.root \
62  -o $TMPDIR/parramatta.root
63 
64 set_array X `JPrintResult -f $TMPDIR/parramatta.root:% -F "GetMean(1)" -F "0.5*GetRMS(1)"`
65 set_array Y `JPrintResult -f $TMPDIR/parramatta.root:% -F "GetMean(2)" -F "0.5*GetRMS(2)"`
66 
67 let "XMIN = $X[1] - 0.5"
68 let "XMAX = $X[1] + 0.5"
69 let "YMIN = $Y[1] - 0.5"
70 let "YMAX = $Y[1] + 0.5"
71 
72 JFit2D \
73  -f $TMPDIR/parramatta.root:% \
74  -o $TMPDIR/fit.root \
75  -F "$FORMULA" \
76  -x "$XMIN $XMAX" \
77  -y "$YMIN $YMAX" \
78  -@ "p0 = GetMaximum" \
79  -@ "p1 = $X[1]" \
80  -@ "p2 = $X[2]" \
81  -@ "p3 = $Y[1]" \
82  -@ "p4 = $Y[2]" \
83  -d $DEBUG --!
84 
85 JPlot2D \
86  -f $TMPDIR/parramatta.root:% \
87  -O COLZ \
88  -\> "Tx [mrad]" \
89  -\< "Ty [mrad]" \
90  -N "X 505" \
91  -N "Y 505" \
92  -T "" \
93  -o footprint.$FORMAT $BATCH
94 
95 set_array CHI2 `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetEntries)"`
96 set_array TX `JPrintFit -f $TMPDIR/fit.root:% -@ p1`
97 set_array TY `JPrintFit -f $TMPDIR/fit.root:% -@ p3`
98 
99 TX[1]=$(($TX[1]*1.0e-3))
100 TY[1]=$(($TY[1]*1.0e-3))
101 
102 printf "Tx = %9.6f Ty = %9.6f chi2 = %7.3f %7.3f\n" $TX[1] $TY[1] ${CHI2[*]}
103 
104 rm -rf $TMPDIR
105 
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
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)
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
then echo
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:21
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
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:77
&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 if[[!-f $DETECTOR]] then JDetector sh $DETECTOR fi cat $WORKDIR trigger_parameters txt<< EOFtrigger3DMuon.enabled=1;trigger3DMuon.numberOfHits=5;trigger3DMuon.gridAngle_deg=1;ctMin=0.0;TMaxLocal_ns=15.0;EOF set_variable TRIGGEREFFICIENCY_TRIGGERED_EVENTS_ONLY INPUT_FILES=() for((i=1;$i<=$NUMBER_OF_RUNS;++i));do JSirene.sh $DETECTOR $JPP_DATA/genhen.km3net_wpd_V2_0.evt.gz $WORKDIR/sirene_ ${i}.root JTriggerEfficiency.sh $DETECTOR $DETECTOR $WORKDIR/sirene_ ${i}.root $WORKDIR/trigger_efficiency_ ${i}.root $WORKDIR/trigger_parameters.txt $JPP_DATA/PMT_parameters.txt INPUT_FILES+=($WORKDIR/trigger_efficiency_ ${i}.root) done for ANGLE_DEG in $ANGLES_DEG[*];do set_variable SIGMA_NS 3.0 set_variable OUTLIERS 3 set_variable OUTPUT_FILE $WORKDIR/matrix\[${ANGLE_DEG}\deg\].root $JPP_DIR/examples/JReconstruction-f"$INPUT_FILES[*]"-o $OUTPUT_FILE-S ${SIGMA_NS}-A ${ANGLE_DEG}-O ${OUTLIERS}-d ${DEBUG}--!fiif[[$OPTION=="plot"]];then if((0));then for H1 in h0 h1;do JPlot1D-f"$WORKDIR/matrix["${^ANGLES_DEG}" deg].root:${H1}"-y"1 2e3"-Y-L TR-T""-\^"number of events [a.u.]"-> o chi2
Definition: JMatrixNZ.sh:106
then display $WORKDIR
Definition: plot-Domino.sh:128
no fit printf nominal n $STRING awk v X
set_variable DETECTOR
do set_variable DETECTOR_TXT $WORKDIR detector
double u[N+1]
Definition: JPolint.hh:776
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
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62