Jpp  18.4.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JORCAShowerReconstruction.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author adomi
4 #
5 script=${0##*/}
6 
7 
8 # ------------------------------------------------------------------------------------------
9 #
10 # Script to run the JPP Shower Reconstruction Chain for ORCA.
11 #
12 # ------------------------------------------------------------------------------------------
13 
14 
15 if [ -z $JPP_DIR ]; then
16  echo "Variable JPP_DIR undefined."
17  exit
18 fi
19 
20 source $JPP_DIR/setenv.sh $JPP_DIR
21 source $JPP_DIR/externals/km3net-dataformat/definitions/reconstruction.sh
22 
23 set_variable: DEBUG RECONSTRUCTION_DEBUG 1
24 set_variable: PDF RECONSTRUCTION_PDF $JPP_DATA/J%p.dat
25 set_variable: SUFFIX RECONSTRUCTION_SUFFIX jshower
26 set_variable: ENERGY_CORRECTION RECONSTRUCTION_ENERGY_CORRECTION energy_correction_showerfit_fullorca.txt
27 set_variable: NUMBER_OF_EVENTS RECONSTRUCTION_NUMBER_OF_EVENTS $((2**31))
28 set_variable+ OVERWRITE RECONSTRUCTION_OVERWRITE 1
29 set_variable: TMAX_S RECONSTRUCTION_TMAX_S 100
30 
31 if do_usage $*; then
32  usage "$script <detector file> <input file> <output file> <PMT parameters file> [(calibration file)+]"
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 
49 
50 
51 if [[ "$OVERWRITE" == 1 ]]; then
52  rm -vf \
53  ${OUTPUT_FILE/\%/jshprefit} \
54  ${OUTPUT_FILE/\%/jshpointsimplex} \
55  ${OUTPUT_FILE/\%/jshpositionfit} \
56  ${OUTPUT_FILE/\%/jshenergyprefit} \
57  ${OUTPUT_FILE/\%/jshdirectionprefit} \
58  ${OUTPUT_FILE/\%/jshfit} \
59  ${OUTPUT_FILE/\%/jhistory} \
60  ${OUTPUT_FILE/\%/${SUFFIX}} \
61  ${OUTPUT_FILE/\%/${SUFFIX}.offline}
62 fi
63 
64 
65 if (( ${#CALIBRATION} != 0 )); then
67 fi
68 
69 
70 # ------------------------------------------------------------------------------------------
71 # JShowerPrefit
72 # ------------------------------------------------------------------------------------------
73 
74 PARAMETERS=(
75  factoryLimit 40
76  NMaxHits 20
77  sigma_ns 4
78  numberOfOutliers 4
79  TMaxLocal_ns 120
80  ctMin -0.7
81  roadWidth_m 50
82  numberOfPrefits 50)
83 
85 
86 eval JShowerPrefit \
87  -a $DETECTOR \
88  -+${^CALIBRATION} \
89  -T $TMAX_S \
90  -f $INPUT_FILE \
91  -o ${OUTPUT_FILE/\%/jshprefit} \
92  -n ${NUMBER_OF_EVENTS} \
93  -@ `make_equation PARAMETERS` \
94  -d ${DEBUG} --!
95 
96 CHECK_EXIT_CODE
97 
98 APPLICATIONS+=$JSHOWERPREFIT
99 
100 timer_stop
101 timer_print
102 
103 
104 # ------------------------------------------------------------------------------------------
105 # JShowerPointSimplex
106 # ------------------------------------------------------------------------------------------
107 
108 PARAMETERS=(
109  numberOfPrefits 0
110  numberOfOutfits 100
111  minPrefitsSize 9
112  sigma_ns 1
113  TMaxLocal_ns 15
114  TMax_ns 60
115  TMin_ns -60
116  roadWidth_m 60
117  ctMin 0.2
118  TWindow_ns "-130 120"
119  pos_grid_m " -20 20"
120  pos_step_m 20
121  time_grid_ns " -90 90"
122  time_step_ns 30
123  simplex_step_m 2
124  simplex_step_ns 10
125  tukey_std_dev 20.0)
126 
128 
129 eval JShowerPointSimplex \
130  -a $DETECTOR \
131  -+${^CALIBRATION} \
132  -T $TMAX_S \
133  -f ${OUTPUT_FILE/\%/jshprefit} \
134  -o ${OUTPUT_FILE/\%/jshpointsimplex} \
135  -@ `make_equation PARAMETERS` \
136  -d ${DEBUG} --!
137 
138 CHECK_EXIT_CODE
139 
140 rm -vf ${OUTPUT_FILE/\%/jshprefit}
141 
142 APPLICATIONS+=$JSHOWERPOINTSIMPLEX
143 
144 timer_stop
145 timer_print
146 
147 
148 # ------------------------------------------------------------------------------------------
149 # JShowerPositionFit
150 # ------------------------------------------------------------------------------------------
151 
152 PARAMETERS=(
153  numberOfPrefits 0
154  numberOfOutfits 5
155  TMax_ns 120
156  TMin_ns -120
157  roadWidth_m 80
158  E_GeV 10
159  R_Hz 10000
160  TTS_ns 2)
161 
163 
164 eval JShowerPositionFit \
165  -a $DETECTOR \
166  -+${^CALIBRATION} \
167  -T $TMAX_S \
168  -f ${OUTPUT_FILE/\%/jshpointsimplex} \
169  -F $PDF \
170  -o ${OUTPUT_FILE/\%/jshpositionfit} \
171  -@ `make_equation PARAMETERS` \
172  -d ${DEBUG} --!
173 
174 CHECK_EXIT_CODE
175 
176 rm -vf ${OUTPUT_FILE/\%/jshpointsimplex}
177 
178 APPLICATIONS+=$JSHOWERPOSITIONFIT
179 
180 timer_stop
181 timer_print
182 
183 
184 # ------------------------------------------------------------------------------------------
185 # JShowerEnergyPrefit
186 # ------------------------------------------------------------------------------------------
187 
188 PARAMETERS=(
189  numberOfPrefits 0
190  numberOfOutfits 1
191  Emin_GeV 1
192  Emax_GeV 100
193  resolution 0.01
194  TMax_ns 500
195  TMin_ns -500
196  R_Hz 10000
197  mestimator 3
198  roadWidth_m 80)
199 
201 
202 eval JShowerEnergyPrefit \
203  -a $DETECTOR \
204  -+${^CALIBRATION} \
205  -T $TMAX_S \
206  -f ${OUTPUT_FILE/\%/jshpositionfit} \
207  -F $PDF \
208  -o ${OUTPUT_FILE/\%/jshenergyprefit} \
209  -@ `make_equation PARAMETERS` \
210  -d $DEBUG --!
211 
212 CHECK_EXIT_CODE
213 
214 rm -vf ${OUTPUT_FILE/\%/jshpositionfit}
215 
216 APPLICATIONS+=$JSHOWERENERGYPREFIT
217 
218 timer_stop
219 timer_print
220 
221 
222 # ------------------------------------------------------------------------------------------
223 # JShowerDirectionPrefit
224 # ------------------------------------------------------------------------------------------
225 
226 PARAMETERS=(
227  numberOfPrefits 0
228  numberOfOutfits 4
229  TMax_ns 30
230  TMin_ns -30
231  roadWidth_m 80
232  DMin_m 80
233  E_GeV 13
234  R_Hz 10000
235  mestimator 3
236  MaxAngle_deg_lowE 40
237  scanAngle_deg_lowE 10
238  MaxAngle_deg_highE 20
239  scanAngle_deg_highE 5)
240 
242 
243 eval JShowerDirectionPrefit \
244  -a $DETECTOR \
245  -+${^CALIBRATION} \
246  -T $TMAX_S \
247  -f ${OUTPUT_FILE/\%/jshenergyprefit} \
248  -F $PDF \
249  -o ${OUTPUT_FILE/\%/jshdirectionprefit} \
250  -@ `make_equation PARAMETERS` \
251  -d $DEBUG --!
252 
253 CHECK_EXIT_CODE
254 
255 rm -vf ${OUTPUT_FILE/\%/jshenergyprefit}
256 
257 APPLICATIONS+=$JSHOWERDIRECTIONPREFIT
258 
259 timer_stop
260 timer_print
261 
262 
263 # ------------------------------------------------------------------------------------------
264 # JShowerFit
265 # ------------------------------------------------------------------------------------------
266 
267 PARAMETERS=(
268  numberOfPrefits 4
269  TMax_ns 30
270  TMin_ns -30
271  roadWidth_m 80
272  R_Hz 10000
273  mestimator 3
274  fit_step 0.05)
275 
277 
278 eval JShowerFit \
279  -a $DETECTOR \
280  -+${^CALIBRATION} \
281  -T $TMAX_S \
282  -f ${OUTPUT_FILE/\%/jshdirectionprefit} \
283  -F $PDF \
284  -o ${OUTPUT_FILE/\%/jshfit} \
285  -@ `make_equation PARAMETERS` \
286  -E $ENERGY_CORRECTION \
287  -d $DEBUG --!
288 
289 CHECK_EXIT_CODE
290 
291 rm -vf ${OUTPUT_FILE/\%/jshdirectionprefit}
292 
293 APPLICATIONS+=$JSHOWERCOMPLETEFIT
294 
295 timer_stop
296 timer_print
297 
298 
299 # ------------------------------------------------------------------------------------------
300 # JHistory
301 # ------------------------------------------------------------------------------------------
302 
304 
305 JHistory \
306  -f ${OUTPUT_FILE/\%/jshfit} \
307  -o ${OUTPUT_FILE/\%/jhistory} \
308  -A "$APPLICATIONS[*]" \
309  -d $DEBUG --!
310 
311 CHECK_EXIT_CODE
312 
313 rm -vf ${OUTPUT_FILE/\%/jshfit}
314 
315 timer_stop
316 timer_print
317 
318 
319 # ------------------------------------------------------------------------------------------
320 # rename outputfile
321 # ------------------------------------------------------------------------------------------
322 
324 
325 mv -v \
326  ${OUTPUT_FILE/\%/jhistory} \
327  ${OUTPUT_FILE/\%/${SUFFIX}}
328 
329 timer_stop
330 timer_print
331 
332 
333 # ------------------------------------------------------------------------------------------
334 # JConvertEvt
335 # ------------------------------------------------------------------------------------------
336 
338 
339 JConvertEvt \
340  -f ${OUTPUT_FILE/\%/${SUFFIX}} \
341  -o ${OUTPUT_FILE/\%/${SUFFIX}.offline} \
342  -a $DETECTOR \
343  -+${^CALIBRATION} \
344  -T $TMAX_S \
345  -P $PMT \
346  -d $DEBUG --!
347 
348 timer_stop
349 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
do if[[!-f $KEY.txt]]
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< input file >[option[primary[working directory]]] nWhere option can be E
Definition: JMuonPostfit.sh:40
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 JDetectorMechanics getMechanics
Function object to get string mechanics.
Definition: JMechanics.hh:242
static const JPBS_t PMT(3, 4, 2, 3)
PBS of photo-multiplier tube (PMT)
then echo Enter input within $TIMEOUT_S seconds echo n User name
Definition: JCookie.sh:42
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 rm vf
then
Definition: datalogs.sh:31
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
set_variable SUFFIX
const int n
Definition: JPolint.hh:786
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 rm
Definition: sftpput.zsh:30
then JCalibrateToT a
Definition: JTuneHV.sh:113
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
then awk F
* 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
JFIT::JHistory JHistory
Definition: JHistory.hh:354
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
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:866
then echo
Definition: JQAQC.sh:90
then usage $script(input file)+< output file >" fi if (( $ fatal "Wrong number of arguments." fi set_array INPUT_FILES $argv[1
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
do JPlot2D f $WORKDIR canberra[${EMITTER}] root
Definition: JCanberra.sh:136
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62