Jpp  17.1.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JORCAMuonReconstruction.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author bofearraigh
4 #
5 script=${0##*/}
6 
7 # ------------------------------------------------------------------------------------------
8 #
9 # Script to run the JPP Track Reconstruction Chain for ORCA.
10 #
11 # ------------------------------------------------------------------------------------------
12 
13 if [ -z $JPP_DIR ]; then
14  echo "Variable JPP_DIR undefined."
15  exit
16 fi
17 
18 source $JPP_DIR/setenv.sh $JPP_DIR
19 source $JPP_DIR/externals/km3net-dataformat/definitions/reconstruction.sh
20 
21 set_variable: DEBUG RECONSTRUCTION_DEBUG 1
22 set_variable: PDF RECONSTRUCTION_PDF $JPP_DATA/J%p.dat
23 set_variable: SUFFIX RECONSTRUCTION_SUFFIX jmuon
24 set_variable: NUMBER_OF_EVENTS RECONSTRUCTION_NUMBER_OF_EVENTS $((2**31))
25 set_variable: TMAX_S RECONSTRUCTION_TMAX_S 100
26 
27 if do_usage $*; then
28  usage "$script <detector file> <input file> <output file> <PMT parameters file> [(calibration file)+]"
29 fi
30 
31 if (( $# < 4 )); then
32  fatal "Wrong number of arguments."
33 fi
34 
39 set_array CALIBRATION $argv[5,-1]
40 
41 if [[ ! "$OUTPUT_FILE" == *"%"* ]]; then
42  fatal "The output file must have the wildcard % in the name, e.g. %.root"
43 fi
44 
45 typeset -A PARAMETERS
46 typeset -a APPLICATIONS
47 
48 APPLICATIONS=()
49 
50 
51 # ------------------------------------------------------------------------------------------
52 # JMuonPrefit
53 # ------------------------------------------------------------------------------------------
54 
55 PARAMETERS=(
56  sigma_ns 5
57  gridAngle_deg 5
58  useL0 1
59  numberOfOutliers 2
60  numberOfPrefits 12
61  DZMax 0.0
62  numberOfDZMax 1
63  TMaxLocal_ns 12
64  ctMin 0.0
65  roadWidth_m 50.0)
66 
68 
69 eval JMuonPrefit \
70  -a $DETECTOR \
71  -+${^CALIBRATION} \
72  -T $TMAX_S \
73  -f $INPUT_FILE \
74  -o ${OUTPUT_FILE/\%/jprefit} \
75  -n ${NUMBER_OF_EVENTS} \
76  -@ `make_equation PARAMETERS` \
77  -d $DEBUG --!
78 
79 CHECK_EXIT_CODE
80 
81 APPLICATIONS+=$JMUONPREFIT
82 
83 timer_stop
84 timer_print
85 
86 
87 # ------------------------------------------------------------------------------------------
88 # JMuonSimplex
89 # ------------------------------------------------------------------------------------------
90 
91 PARAMETERS=(
92  sigma_ns 3
93  TMaxLocal_ns 15.0
94  ctMin 0.0
95  roadWidth_m 50.0
96  numberOfPrefits 0)
97 
99 
100 eval JMuonSimplex \
101  -a $DETECTOR \
102  -+${^CALIBRATION} \
103  -T $TMAX_S \
104  -f ${OUTPUT_FILE/\%/jprefit} \
105  -o ${OUTPUT_FILE/\%/jsimplex} \
106  -@ `make_equation PARAMETERS` \
107  -d ${DEBUG} --!
108 
109 CHECK_EXIT_CODE
110 
111 APPLICATIONS+=$JMUONSIMPLEX
112 
113 timer_stop
114 timer_print
115 
116 
117 # ------------------------------------------------------------------------------------------
118 # JMuonStart
119 # ------------------------------------------------------------------------------------------
120 
121 PARAMETERS=(
122  roadWidth_m 50.0
123  R_Hz 7.0e3
124  TMin_ns -25.0
125  TMax_ns +25.0
126  Pmin1 1.0e-3
127  Pmin2 1.0e-2
128  numberOfPrefits 0)
129 
131 
132 eval JMuonStart \
133  -a $DETECTOR \
134  -+${^CALIBRATION} \
135  -T $TMAX_S \
136  -f ${OUTPUT_FILE/\%/jsimplex} \
137  -o ${OUTPUT_FILE/\%/jstart} \
138  -P $PDF \
139  -@ `make_equation PARAMETERS` \
140  -d $DEBUG --!
141 
142 CHECK_EXIT_CODE
143 
144 APPLICATIONS+=$JMUONSTART
145 
146 timer_stop
147 timer_print
148 
149 
150 # ------------------------------------------------------------------------------------------
151 # JMuonGandalf
152 # ------------------------------------------------------------------------------------------
153 
154 PARAMETERS=(
155  TTS_ns 2
156  E_GeV 10.0
157  TMin_ns -50.0
158  TMax_ns +450.0
159  ZMin_m -3.0
160  ZMax_m +9.0
161  R_Hz 7.0e3
162  roadWidth_m 50.0
163  numberOfPrefits 0)
164 
166 
167 eval JMuonGandalf \
168  -a $DETECTOR \
169  -+${^CALIBRATION} \
170  -T $TMAX_S \
171  -f ${OUTPUT_FILE/\%/jstart} \
172  -o ${OUTPUT_FILE/\%/jgandalf} \
173  -P $PDF \
174  -@ `make_equation PARAMETERS` \
175  -d $DEBUG --!
176 
177 CHECK_EXIT_CODE
178 
179 APPLICATIONS+=$JMUONGANDALF
180 
181 timer_stop
182 timer_print
183 
184 
185 # ------------------------------------------------------------------------------------------
186 # JMuonStart
187 # ------------------------------------------------------------------------------------------
188 
189 PARAMETERS=(
190  roadWidth_m 50.0
191  R_Hz 7.0e3
192  TMin_ns -25.0
193  TMax_ns +25.0
194  Pmin1 1.0e-3
195  Pmin2 1.0e-2
196  numberOfPrefits 1)
197 
199 
200 eval JMuonStart \
201  -a $DETECTOR \
202  -+${^CALIBRATION} \
203  -T $TMAX_S \
204  -f ${OUTPUT_FILE/\%/jgandalf} \
205  -o ${OUTPUT_FILE/\%/jstart2} \
206  -P $PDF \
207  -@ `make_equation PARAMETERS` \
208  -d $DEBUG --!
209 
210 CHECK_EXIT_CODE
211 
212 APPLICATIONS+=$JMUONSTART
213 
214 timer_stop
215 timer_print
216 
217 
218 # ------------------------------------------------------------------------------------------
219 # JMuonEnergy
220 # ------------------------------------------------------------------------------------------
221 
222 PARAMETERS=(
223  roadWidth_m 80.0
224  R_Hz 7.0e3
225  EMin_log 0.0
226  EMax_log 7.0
227  TMin_ns -25.0
228  TMax_ns +25.0
229  ZMin_m -3.0
230  resolution 0.01
231  mestimator 3
232  numberOfPrefits 1)
233 
235 
236 eval JMuonEnergy \
237  -a $DETECTOR \
238  -+${^CALIBRATION} \
239  -T $TMAX_S \
240  -f ${OUTPUT_FILE/\%/jstart2} \
241  -o ${OUTPUT_FILE/\%/jenergy} \
242  -P $PDF \
243  -@ `make_equation PARAMETERS` \
244  -d $DEBUG --!
245 
246 CHECK_EXIT_CODE
247 
248 APPLICATIONS+=$JMUONENERGY
249 
250 timer_stop
251 timer_print
252 
253 
254 # ------------------------------------------------------------------------------------------
255 # JHistory
256 # ------------------------------------------------------------------------------------------
257 
259 
260 JHistory \
261  -f ${OUTPUT_FILE/\%/jenergy} \
262  -o ${OUTPUT_FILE/\%/jhistory} \
263  -A "$APPLICATIONS[*]" \
264  -d $DEBUG --!
265 
266 CHECK_EXIT_CODE
267 
268 timer_stop
269 timer_print
270 
271 
272 # ------------------------------------------------------------------------------------------
273 # rename outputfile and remove intermediate files
274 # ------------------------------------------------------------------------------------------
275 
277 
278 mv -v \
279  ${OUTPUT_FILE/\%/jhistory} \
280  ${OUTPUT_FILE/\%/${SUFFIX}}
281 
282 rm -vf \
283  ${OUTPUT_FILE/\%/jprefit} \
284  ${OUTPUT_FILE/\%/jsimplex} \
285  ${OUTPUT_FILE/\%/jstart} \
286  ${OUTPUT_FILE/\%/jgandalf} \
287  ${OUTPUT_FILE/\%/jstart2} \
288  ${OUTPUT_FILE/\%/jenergy}
289 
290 timer_stop
291 timer_print
292 
293 
294 # ------------------------------------------------------------------------------------------
295 # JConvertEvt
296 # ------------------------------------------------------------------------------------------
297 
299 
300 JConvertEvt \
301  -f ${OUTPUT_FILE/\%/${SUFFIX}} \
302  -o ${OUTPUT_FILE/\%/${SUFFIX}.aanet} \
303  -a $DETECTOR \
304  -+${^CALIBRATION} \
305  -T $TMAX_S \
306  -P $PMT \
307  -d $DEBUG --!
308 
309 timer_stop
310 timer_print
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
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable DEBUG set_variable PDF $JPP_DATA J p dat set_variable HISTOGRAM if do_usage *then usage $script< detector file >< inputfile >< outputfile > fi case set_variable PDF
then usage $script< input_file >< detector_file >< output_file(.root)> fi set_variable NUMBER_OF_TIMESLICES set_variable NUMBER_OF_SUMMARYSLICES set_variable NUMBER_OF_EVENTS set_variable ALL_PLOTS case set_variable NUMBER_OF_EVENTS
Definition: JRunAnalyzer.sh:18
static const JPBS_t PMT(3, 4, 2, 3)
PBS of photo-multiplier tube (PMT)
rm f XXX txt echo nlist all archive files that do have specific variants getArchive sh $ARCHIVE test km3net(mjg_2|mjg_1)" getFile.sh $ARCHIVE/test 100 101 km3net "(mjg_2|mjg_1)" XXX
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR APPLICATIONS
Definition: JMuonPostfit.sh:25
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Definition: diff-Tuna.sh:38
exit
Definition: JPizza.sh:36
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
then echo
const int n
Definition: JPolint.hh:676
then timer_start(JRandomTimesliceWriter-a ${DETECTOR}-o ${PIPE}-n ${NUMBER_OF_SLICES}-P ${PMT_FILE}-d ${DEBUG}-S ${SEED}-B"$BACKGROUND_HZ"-N"$RECYCLING"--!&&for((i=0;$i!=10;++i));do;echo 'EOF' > $PIPE;usleep 100000;done &&rm-f $PIPE)&JTimesliceReprocessor-a $
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:21
do set_variable OUTPUT_DIRECTORY $WORKDIR T
* usage
then JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
&set_variable OUTPUT_FILE
set_variable INPUT_FILE
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable TRIPOD $argv[2] set_variable TX $argv[3] set_variable TY $argv[4] if[[!-f $DETECTOR]]
Definition: JFootprint.sh:28
JFIT::JHistory JHistory
Definition: JHistory.hh:354
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable DEBUG set_variable WORKDIR if do_usage *then usage $script(input file)+" fi if (( $ fatal "Invalid number of arguments." fi JCookie.sh set_array INPUT_FILES $argv[1
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
set_variable DETECTOR
do set_variable DETECTOR_TXT $WORKDIR detector
data_type v[N+1][M+1]
Definition: JPolint.hh:756
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
script
Definition: JAcoustics.sh:2
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62