Jpp  18.6.0-rc.1
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/\%/jshdirectionprefit} \
57  ${OUTPUT_FILE/\%/jshfit} \
58  ${OUTPUT_FILE/\%/jhistory} \
59  ${OUTPUT_FILE/\%/${SUFFIX}} \
60  ${OUTPUT_FILE/\%/${SUFFIX}.offline}
61 fi
62 
63 
64 if (( ${#CALIBRATION} != 0 )); then
66 fi
67 
68 
69 # ------------------------------------------------------------------------------------------
70 # JShowerPrefit
71 # ------------------------------------------------------------------------------------------
72 
73 PARAMETERS=(
74  factoryLimit 40
75  NMaxHits 20
76  sigma_ns 4
77  numberOfOutliers 4
78  TMaxLocal_ns 120
79  ctMin -0.7
80  DMax_m 50)
81 
83 
84 eval JShowerPrefit \
85  -a $DETECTOR \
86  -+${^CALIBRATION} \
87  -T $TMAX_S \
88  -f $INPUT_FILE \
89  -o ${OUTPUT_FILE/\%/jshprefit} \
90  -n ${NUMBER_OF_EVENTS} \
91  -@ `make_equation PARAMETERS` \
92  -d ${DEBUG} --!
93 
94 CHECK_EXIT_CODE
95 
96 APPLICATIONS+=$JSHOWERPREFIT
97 
98 timer_stop
99 timer_print
100 
101 
102 # ------------------------------------------------------------------------------------------
103 # JShowerPointSimplex
104 # ------------------------------------------------------------------------------------------
105 
106 PARAMETERS=(
107  numberOfPrefits 50
108  minPrefitsSize 9
109  sigma_ns 1
110  TMaxLocal_ns 15
111  TMax_ns 60
112  TMin_ns -60
113  DMax_m 60
114  ctMin 0.2
115  TWindow_ns "-130 120"
116  pos_grid_m " -20 20"
117  pos_step_m 20
118  time_grid_ns " -90 90"
119  time_step_ns 30
120  simplex_step_m 2
121  simplex_step_ns 10
122  tukey_std_dev 20.0)
123 
125 
126 eval JShowerPointSimplex \
127  -a $DETECTOR \
128  -+${^CALIBRATION} \
129  -T $TMAX_S \
130  -f ${OUTPUT_FILE/\%/jshprefit} \
131  -o ${OUTPUT_FILE/\%/jshpointsimplex} \
132  -@ `make_equation PARAMETERS` \
133  -d ${DEBUG} --!
134 
135 CHECK_EXIT_CODE
136 
137 rm -vf ${OUTPUT_FILE/\%/jshprefit}
138 
139 APPLICATIONS+=$JSHOWERPOINTSIMPLEX
140 
141 timer_stop
142 timer_print
143 
144 
145 # ------------------------------------------------------------------------------------------
146 # JShowerPositionFit
147 # ------------------------------------------------------------------------------------------
148 
149 PARAMETERS=(
150  numberOfPrefits 100
151  TMax_ns 120
152  TMin_ns -120
153  DMax_m 80
154  E_GeV 10
155  R_Hz 10000
156  TTS_ns 2)
157 
159 
160 eval JShowerPositionFit \
161  -a $DETECTOR \
162  -+${^CALIBRATION} \
163  -T $TMAX_S \
164  -f ${OUTPUT_FILE/\%/jshpointsimplex} \
165  -F $PDF \
166  -o ${OUTPUT_FILE/\%/jshpositionfit} \
167  -@ `make_equation PARAMETERS` \
168  -d ${DEBUG} --!
169 
170 CHECK_EXIT_CODE
171 
172 rm -vf ${OUTPUT_FILE/\%/jshpointsimplex}
173 
174 APPLICATIONS+=$JSHOWERPOSITIONFIT
175 
176 timer_stop
177 timer_print
178 
179 
180 
181 # ------------------------------------------------------------------------------------------
182 # JShowerDirectionPrefit
183 # ------------------------------------------------------------------------------------------
184 
185 PARAMETERS=(
186  numberOfPrefits 1
187  TMax_ns 30
188  TMin_ns -30
189  DMax_m 60
190  R_Hz 10000
191  scanAngle_deg 10
192  Emin_GeV 1
193  Emax_GeV 1000
194  En 25
195 )
196 
198 
199 eval JShowerDirectionPrefit \
200  -a $DETECTOR \
201  -+${^CALIBRATION} \
202  -T $TMAX_S \
203  -f ${OUTPUT_FILE/\%/jshpositionfit} \
204  -F $PDF \
205  -o ${OUTPUT_FILE/\%/jshdirectionprefit} \
206  -@ `make_equation PARAMETERS` \
207  -d $DEBUG --!
208 
209 CHECK_EXIT_CODE
210 
211 rm -vf ${OUTPUT_FILE/\%/jshenergyprefit}
212 
213 APPLICATIONS+=$JSHOWERDIRECTIONPREFIT
214 
215 timer_stop
216 timer_print
217 
218 
219 # ------------------------------------------------------------------------------------------
220 # JShowerFit
221 # ------------------------------------------------------------------------------------------
222 
223 PARAMETERS=(
224  numberOfPrefits 4
225  TMax_ns 30
226  TMin_ns -30
227  DMax_m 60
228  DStep_m 0
229  R_Hz 10000
230  mestimator 3
231  )
232 
234 
235 eval JShowerFit \
236  -a $DETECTOR \
237  -+${^CALIBRATION} \
238  -T $TMAX_S \
239  -f ${OUTPUT_FILE/\%/jshdirectionprefit} \
240  -F $PDF \
241  -o ${OUTPUT_FILE/\%/jshfit} \
242  -@ `make_equation PARAMETERS` \
243  -E $ENERGY_CORRECTION \
244  -d $DEBUG --!
245 
246 CHECK_EXIT_CODE
247 
248 rm -vf ${OUTPUT_FILE/\%/jshdirectionprefit}
249 
250 APPLICATIONS+=$JSHOWERCOMPLETEFIT
251 
252 timer_stop
253 timer_print
254 
255 
256 # ------------------------------------------------------------------------------------------
257 # JHistory
258 # ------------------------------------------------------------------------------------------
259 
261 
262 JHistory \
263  -f ${OUTPUT_FILE/\%/jshfit} \
264  -o ${OUTPUT_FILE/\%/jhistory} \
265  -A "$APPLICATIONS[*]" \
266  -d $DEBUG --!
267 
268 CHECK_EXIT_CODE
269 
270 rm -vf ${OUTPUT_FILE/\%/jshfit}
271 
272 timer_stop
273 timer_print
274 
275 
276 # ------------------------------------------------------------------------------------------
277 # rename outputfile
278 # ------------------------------------------------------------------------------------------
279 
281 
282 mv -v \
283  ${OUTPUT_FILE/\%/jhistory} \
284  ${OUTPUT_FILE/\%/${SUFFIX}}
285 
286 timer_stop
287 timer_print
288 
289 
290 # ------------------------------------------------------------------------------------------
291 # JConvertEvt
292 # ------------------------------------------------------------------------------------------
293 
295 
296 JConvertEvt \
297  -f ${OUTPUT_FILE/\%/${SUFFIX}} \
298  -o ${OUTPUT_FILE/\%/${SUFFIX}.offline} \
299  -a $DETECTOR \
300  -+${^CALIBRATION} \
301  -T $TMAX_S \
302  -P $PMT \
303  -d $DEBUG --!
304 
305 timer_stop
306 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< 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)
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:34
do JPlot2D f $WORKDIR canberra[${EMITTER}\] root
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:107
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
then fatal The output file must have the wildcard in the name
Definition: JCanberra.sh:31
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonStart.sh:47
JFIT::JHistory JHistory
Definition: JHistory.hh:354
then fatal The output file must have the wildcard in the e g root fi 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
then fatal Wrong number of arguments fi set_variable ARCHIVE $argv[1] set_variable VERSION $argv[2] set_variable DIR $argv[3] source JAcousticsToolkit sh set_variable DETECTOR $DIR $ACOUSTICS_DETECTOR if[[!-f $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:92
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
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62