Jpp 19.3.0-rc.1
the software that should make you happy
Loading...
Searching...
No Matches
JMatrixNZ.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2#
3# \author mdejong
4#
5version=1.0
6script=${0##*/}
7
8# ------------------------------------------------------------------------------------------
9#
10# Utility script to test JMatrixNZ on Monte Carlo true muons.
11#
12# ------------------------------------------------------------------------------------------
13
14
15if [ -z $JPP_DIR ]; then
16 echo "Variable JPP_DIR undefined."
17 exit
18fi
19
20
21source $JPP_DIR/setenv.sh $JPP_DIR
22
23
24set_variable DEBUG 2
25set_variable WORKDIR ${TMPDIR:-/tmp}/
26set_variable DETECTOR $WORKDIR/km3net_reference.detx
27set_variable NUMBER_OF_RUNS 10
28set_variable: FORMAT GRAPHICS_FORMAT gif
29set_variable+ BATCH GRAPHICS_BATCH -B
30set_array ANGLES_DEG 0 1 2 3 4 5
31
32if do_usage $*; then
33 usage "$script <option>"\
34 "\nPossible options: run, plot, clean."
35
36fi
37
38if (( $# != 1 )); then
39 fatal "Wrong number of arguments."
40fi
41
42set_variable OPTION $argv[1]
43
44if [[ $OPTION != "run" && $OPTION != "plot" && $OPTION != "clean" ]]; then
45 fatal "Invalid option $OPTION."
46fi
47
48if [[ $OPTION == "run" ]]; then
49
50 if [[ ! -f $DETECTOR ]] then
51 JDetector.sh $DETECTOR
52 fi
53
54cat>$WORKDIR/trigger_parameters.txt<<EOF
55trigger3DMuon.enabled = 1;
56trigger3DMuon.numberOfHits = 5;
57trigger3DMuon.gridAngle_deg = 1;
58ctMin = 0.0;
59TMaxLocal_ns = 15.0;
60EOF
61
62 set_variable TRIGGEREFFICIENCY_TRIGGERED_EVENTS_ONLY
63
64 INPUT_FILES=()
65
66 for (( i = 1; $i <= $NUMBER_OF_RUNS; ++i)); do
67
68 JSirene.sh $DETECTOR $JPP_DATA/genhen.km3net_wpd_V2_0.evt.gz $WORKDIR/sirene_${i}.root
69 JTriggerEfficiency.sh $DETECTOR $DETECTOR $WORKDIR/sirene_${i}.root $WORKDIR/trigger_efficiency_${i}.root $WORKDIR/trigger_parameters.txt $JPP_DATA/PMT_parameters.txt
70
71 INPUT_FILES+=($WORKDIR/trigger_efficiency_${i}.root)
72 done
73
74 for ANGLE_DEG in $ANGLES_DEG[*]; do
75
76 set_variable SIGMA_NS 3.0
77 set_variable OUTLIERS 3
78
79 set_variable OUTPUT_FILE $WORKDIR/matrix\[${ANGLE_DEG}\ deg\].root
80
81 $JPP_DIR/examples/JReconstruction//JMatrixNZ \
82 -a $DETECTOR \
83 -f"$INPUT_FILES[*]" \
84 -o $OUTPUT_FILE \
85 -S ${SIGMA_NS} \
86 -A ${ANGLE_DEG} \
87 -O ${OUTLIERS} \
88 -d ${DEBUG} --!
89# -U \
90 done
91fi
92
93if [[ $OPTION == "plot" ]]; then
94
95 if (( 0 )); then
96
97 for H1 in h0 h1; do
98
99 JPlot1D \
100 -f"$WORKDIR/matrix["${^ANGLES_DEG}" deg].root:${H1}" \
101 -y "1 2e3" -Y \
102 -L TR \
103 -T "" \
104 -\^ "number of events [a.u.]" \
105 -> "#chi^{2}/NDF" \
106 -o chi2-${H1}.$FORMAT $BATCH
107 done
108 fi
109
110 if (( 1 )); then
111
112 for H1 in p0 p1; do
113
114 JPlot1D \
115 -f"$WORKDIR/matrix["${^ANGLES_DEG}" deg].root:${H1}" \
116 -y "1e0 1e5" -Y \
117 -L TR \
118 -T "" \
119 -\^ "number of events [a.u.]" \
120 -> "probability" \
121 -o prob-${H1}.$FORMAT --! $BATCH
122 done
123 fi
124fi
125
126if [[ $OPTION == "clean" ]]; then
127 rm -f $WORKDIR/sirene_*.root
128 rm -f $WORKDIR/trigger_efficiency_*.root
129 rm -f $WORKDIR/matrix\[*\].root
130fi