Jpp  17.3.0-rc.2
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  "\nThe tilt angles should be given in units [rad]."
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 JAcoustics.sh $DETECTOR_ID
34 
36 mkdir -p $TMPDIR
37 
38 cp \
39  $WORKDIR/tripod.txt \ $TMPDIR/tripod.txt
40 
41 JConvertDetectorFormat \
42  -a $DETECTOR \
43  -o $TMPDIR/detector.datx --!
44 
45 JFootprint.sh \ $TMPDIR/detector.datx \ $TMPDIR/tripod.txt \ $TX \ $TY
46 
47 JKatoomba \
48  -a $TMPDIR/detector.datx \
49  -f "$INPUT_FILES[*]" \
50  -o $TMPDIR/katoomba.root \
51  -T $TMPDIR/tripod.txt \
52  -V $WORKDIR/sound_velocity.txt \
53  -@ $WORKDIR/acoustics_fit_parameters.txt \
54  -C -JEvent \
55  -u \
56  -d $DEBUG --!
57 
58 JFootprint \
59  -f $TMPDIR/katoomba.root \
60  -o $TMPDIR/footprint.root
61 
62 JPlot2D \
63  -f $TMPDIR/footprint.root:% \
64  -\> "Tx [mrad]" \
65  -\< "Ty [mrad]" \
66  -O COLZ \
67  -N "X 505" \
68  -N "Y 505" \
69  -T "" \
70  -o footprint.$FORMAT $BATCH
71 
72 JProject2D -f $TMPDIR/footprint.root:% -P X -y "-1e3 +1e3" -o $TMPDIR/px.root
73 JProject2D -f $TMPDIR/footprint.root:% -P Y -x "-1e3 +1e3" -o $TMPDIR/py.root
74 
75 set_array X `JPrintQuantiles -f $TMPDIR/px.root:% -Q "0.45 0.55"`
76 set_array Y `JPrintQuantiles -f $TMPDIR/py.root:% -Q "0.45 0.55"`
77 
78 let "XMIN = $X[1] - $((2.0 * ($X[2] - $X[1])))"
79 let "XMAX = $X[2] + $((2.0 * ($X[2] - $X[1])))"
80 let "YMIN = $Y[1] - $((2.0 * ($X[2] - $X[1])))"
81 let "YMAX = $Y[2] + $((2.0 * ($X[2] - $X[1])))"
82 
83 JFit2D \
84  -f $TMPDIR/footprint.root:% \
85  -o $TMPDIR/fit.root \
86  -F "$FORMULA" \
87  -x "$XMIN $XMAX" \
88  -y "$YMIN $YMAX" \
89  -@ "p0 = GetMaximum" \
90  -@ "p1 = $((0.5 * ($X[1] + $X[2])))" \
91  -@ "p2 = $((2.0 * ($X[2] - $X[1])))" \
92  -@ "p3 = $((0.5 * ($Y[1] + $Y[2])))" \
93  -@ "p4 = $((2.0 * ($Y[2] - $Y[1])))" \
94  -d $DEBUG --!
95 
96 JPlot2D \
97  -f $TMPDIR/fit.root:% \
98  -x "$XMIN $XMAX" \
99  -y "$YMIN $YMAX" \
100  -\> "Tx [mrad]" \
101  -\< "Ty [mrad]" \
102  -O CONT3 \
103  -N "X 505" \
104  -N "Y 505" \
105  -T "" \
106  -o fit.$FORMAT $BATCH
107 
108 set_array CHI2 `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetEntries)"`
109 set_array TX `JPrintFit -f $TMPDIR/fit.root:% -@ p1`
110 set_array TY `JPrintFit -f $TMPDIR/fit.root:% -@ p3`
111 
112 TX[1]=$(($TX[1]*1.0e-3))
113 TY[1]=$(($TY[1]*1.0e-3))
114 
115 printf "Tx = %9.6f Ty = %9.6f chi2 = %7.3f %7.3f\n" $TX[1] $TY[1] ${CHI2[*]}
116 
117 #rm -rf $TMPDIR
118 
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
Q(UTCMax_s-UTCMin_s)-livetime_s
TPaveText * p1
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
usr share Modules init zsh export TMPDIR
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
static const double C
Physics constants.
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:116
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 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
Data structure for start_event tag.
Definition: JProperties.cc:14
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62