Jpp  17.3.0-rc.1
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+ OVERWRITE RECONSTRUCTION_OVERWRITE 1
26 set_variable: TMAX_S RECONSTRUCTION_TMAX_S 100
27 
28 if do_usage $*; then
29  usage "$script <detector file> <input file> <output file> <PMT parameters file> [(calibration file)+]"
30 fi
31 
32 if (( $# < 4 )); then
33  fatal "Wrong number of arguments."
34 fi
35 
40 set_array CALIBRATION $argv[5,-1]
41 
42 if [[ ! "$OUTPUT_FILE" == *"%"* ]]; then
43  fatal "The output file must have the wildcard % in the name, e.g. %.root"
44 fi
45 
46 typeset -A PARAMETERS
47 typeset -a APPLICATIONS
48 
50 
51 
52 if [[ "$OVERWRITE" == 1 ]]; then
53  rm -vf \
54  ${OUTPUT_FILE/\%/jprefit} \
55  ${OUTPUT_FILE/\%/jsimplex} \
56  ${OUTPUT_FILE/\%/jstart} \
57  ${OUTPUT_FILE/\%/jgandalf} \
58  ${OUTPUT_FILE/\%/jstart2} \
59  ${OUTPUT_FILE/\%/jenergy} \
60  ${OUTPUT_FILE/\%/jhistory} \
61  ${OUTPUT_FILE/\%/${SUFFIX}} \
62  ${OUTPUT_FILE/\%/${SUFFIX}.aanet}
63 fi
64 
65 
66 # ------------------------------------------------------------------------------------------
67 # JMuonPrefit
68 # ------------------------------------------------------------------------------------------
69 
70 PARAMETERS=(
71  sigma_ns 5
72  gridAngle_deg 5
73  useL0 1
74  numberOfOutliers 2
75  numberOfPrefits 12
76  DZMax 0.0
77  numberOfDZMax 1
78  TMaxLocal_ns 12
79  ctMin 0.0
80  roadWidth_m 50.0)
81 
83 
84 eval JMuonPrefit \
85  -a $DETECTOR \
86  -+${^CALIBRATION} \
87  -T $TMAX_S \
88  -f $INPUT_FILE \
89  -o ${OUTPUT_FILE/\%/jprefit} \
90  -n ${NUMBER_OF_EVENTS} \
91  -@ `make_equation PARAMETERS` \
92  -d $DEBUG --!
93 
94 CHECK_EXIT_CODE
95 
96 APPLICATIONS+=$JMUONPREFIT
97 
98 timer_stop
99 timer_print
100 
101 
102 # ------------------------------------------------------------------------------------------
103 # JMuonSimplex
104 # ------------------------------------------------------------------------------------------
105 
106 PARAMETERS=(
107  sigma_ns 3
108  TMaxLocal_ns 15.0
109  ctMin 0.0
110  roadWidth_m 50.0
111  numberOfPrefits 0)
112 
114 
115 eval JMuonSimplex \
116  -a $DETECTOR \
117  -+${^CALIBRATION} \
118  -T $TMAX_S \
119  -f ${OUTPUT_FILE/\%/jprefit} \
120  -o ${OUTPUT_FILE/\%/jsimplex} \
121  -@ `make_equation PARAMETERS` \
122  -d ${DEBUG} --!
123 
124 CHECK_EXIT_CODE
125 
126 rm -vf ${OUTPUT_FILE/\%/jprefit}
127 
128 APPLICATIONS+=$JMUONSIMPLEX
129 
130 timer_stop
131 timer_print
132 
133 
134 # ------------------------------------------------------------------------------------------
135 # JMuonStart
136 # ------------------------------------------------------------------------------------------
137 
138 PARAMETERS=(
139  roadWidth_m 50.0
140  R_Hz 7.0e3
141  TMin_ns -25.0
142  TMax_ns +25.0
143  Pmin1 1.0e-3
144  Pmin2 1.0e-2
145  numberOfPrefits 0)
146 
148 
149 eval JMuonStart \
150  -a $DETECTOR \
151  -+${^CALIBRATION} \
152  -T $TMAX_S \
153  -f ${OUTPUT_FILE/\%/jsimplex} \
154  -o ${OUTPUT_FILE/\%/jstart} \
155  -P $PDF \
156  -@ `make_equation PARAMETERS` \
157  -d $DEBUG --!
158 
159 CHECK_EXIT_CODE
160 
161 rm -vf ${OUTPUT_FILE/\%/jsimplex}
162 
163 APPLICATIONS+=$JMUONSTART
164 
165 timer_stop
166 timer_print
167 
168 
169 # ------------------------------------------------------------------------------------------
170 # JMuonGandalf
171 # ------------------------------------------------------------------------------------------
172 
173 PARAMETERS=(
174  TTS_ns 2
175  E_GeV 10.0
176  TMin_ns -50.0
177  TMax_ns +450.0
178  ZMin_m -3.0
179  ZMax_m +9.0
180  R_Hz 7.0e3
181  roadWidth_m 50.0
182  numberOfPrefits 0)
183 
185 
186 eval JMuonGandalf \
187  -a $DETECTOR \
188  -+${^CALIBRATION} \
189  -T $TMAX_S \
190  -f ${OUTPUT_FILE/\%/jstart} \
191  -o ${OUTPUT_FILE/\%/jgandalf} \
192  -P $PDF \
193  -@ `make_equation PARAMETERS` \
194  -d $DEBUG --!
195 
196 CHECK_EXIT_CODE
197 
198 rm -vf ${OUTPUT_FILE/\%/jstart}
199 
200 APPLICATIONS+=$JMUONGANDALF
201 
202 timer_stop
203 timer_print
204 
205 
206 # ------------------------------------------------------------------------------------------
207 # JMuonStart
208 # ------------------------------------------------------------------------------------------
209 
210 PARAMETERS=(
211  roadWidth_m 50.0
212  R_Hz 7.0e3
213  TMin_ns -25.0
214  TMax_ns +25.0
215  Pmin1 1.0e-3
216  Pmin2 1.0e-2
217  numberOfPrefits 1)
218 
220 
221 eval JMuonStart \
222  -a $DETECTOR \
223  -+${^CALIBRATION} \
224  -T $TMAX_S \
225  -f ${OUTPUT_FILE/\%/jgandalf} \
226  -o ${OUTPUT_FILE/\%/jstart2} \
227  -P $PDF \
228  -@ `make_equation PARAMETERS` \
229  -d $DEBUG --!
230 
231 CHECK_EXIT_CODE
232 
233 rm -vf ${OUTPUT_FILE/\%/jgandalf}
234 
235 APPLICATIONS+=$JMUONSTART
236 
237 timer_stop
238 timer_print
239 
240 
241 # ------------------------------------------------------------------------------------------
242 # JMuonEnergy
243 # ------------------------------------------------------------------------------------------
244 
245 PARAMETERS=(
246  roadWidth_m 80.0
247  R_Hz 7.0e3
248  EMin_log 0.0
249  EMax_log 7.0
250  TMin_ns -25.0
251  TMax_ns +25.0
252  ZMin_m -3.0
253  resolution 0.01
254  mestimator 3
255  numberOfPrefits 1)
256 
258 
259 eval JMuonEnergy \
260  -a $DETECTOR \
261  -+${^CALIBRATION} \
262  -T $TMAX_S \
263  -f ${OUTPUT_FILE/\%/jstart2} \
264  -o ${OUTPUT_FILE/\%/jenergy} \
265  -P $PDF \
266  -@ `make_equation PARAMETERS` \
267  -d $DEBUG --!
268 
269 CHECK_EXIT_CODE
270 
271 rm -vf ${OUTPUT_FILE/\%/jstart2}
272 
273 APPLICATIONS+=$JMUONENERGY
274 
275 timer_stop
276 timer_print
277 
278 
279 # ------------------------------------------------------------------------------------------
280 # JHistory
281 # ------------------------------------------------------------------------------------------
282 
284 
285 JHistory \
286  -f ${OUTPUT_FILE/\%/jenergy} \
287  -o ${OUTPUT_FILE/\%/jhistory} \
288  -A "$APPLICATIONS[*]" \
289  -d $DEBUG --!
290 
291 CHECK_EXIT_CODE
292 
293 rm -vf ${OUTPUT_FILE/\%/jenergy}
294 
295 timer_stop
296 timer_print
297 
298 
299 # ------------------------------------------------------------------------------------------
300 # rename outputfile and remove intermediate files
301 # ------------------------------------------------------------------------------------------
302 
304 
305 mv -v \
306  ${OUTPUT_FILE/\%/jhistory} \
307  ${OUTPUT_FILE/\%/${SUFFIX}}
308 
309 timer_stop
310 timer_print
311 
312 
313 # ------------------------------------------------------------------------------------------
314 # JConvertEvt
315 # ------------------------------------------------------------------------------------------
316 
318 
319 JConvertEvt \
320  -f ${OUTPUT_FILE/\%/${SUFFIX}} \
321  -o ${OUTPUT_FILE/\%/${SUFFIX}.aanet} \
322  -a $DETECTOR \
323  -+${^CALIBRATION} \
324  -T $TMAX_S \
325  -P $PMT \
326  -d $DEBUG --!
327 
328 timer_stop
329 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
then usage $script[< detector identifier >< run range >]< QA/QCfile > nExample script to produce data quality plots nWhen a detector identifier and run range are data are downloaded from the database nand subsequently stored in the given QA QC file
Definition: JDataQuality.sh:19
static const JPBS_t PMT(3, 4, 2, 3)
PBS of photo-multiplier tube (PMT)
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
*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
set_variable SUFFIX
then echo
const int n
Definition: JPolint.hh:697
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
then JCalibrateToT a
Definition: JTuneHV.sh:116
do set_variable OUTPUT_DIRECTORY $WORKDIR T
* usage
then fatal The output file must have the wildcard in the e g root fi typeset A PARAMETERS typeset a APPLICATIONS APPLICATIONS
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 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:777
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