Jpp - 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 source $JPP_DIR/setenv.sh $JPP_DIR
20 
21 set_variable: DEBUG JORCAREC_DEBUG 1
22 set_variable: PDF JORCAREC_PDF $JPP_DATA/J%p.dat
23 set_variable PMT $JPP_DATA/PMT_parameters.txt
24 set_variable: SUF JORCAREC_SUF jchain.orca
25 set_variable: NUMBER_OF_EVENTS JORCAREC_NUMBER_OF_EVENTS $((2**31))
26 
27 if do_usage $*; then
28  usage "$script <detector file> <input file> <output file> [PDF file descriptor [PMT parameters file]]"
29 fi
30 
31 case $# in
32  5) set_variable PMT $5;&
33  4) set_variable PDF $4;&
37  *) fatal "Wrong number of arguments.";;
38 esac
39 
40 if [[ ! "$OUTPUT_FILE" == *"%"* ]]; then
41  fatal "The output file must have the wildcard % in the name, e.g. %.root"
42 fi
43 
44 # ------------------------------------------------------------------------------------------
45 # JShowerPrefit
46 # ------------------------------------------------------------------------------------------
47 
48 maxOutFits=50
49 
50 # default input values
51 PARAMETERS=(
52  factoryLimit 40
53  NMaxHits 20
54  sigma_ns 4
55  numberOfOutliers 4
56  TMaxLocal_ns 120
57  ctMin -0.7
58  roadWidth_m 50
59  numberOfPrefits 50) #JShowerPointSimplex needs 50 prefits from JShowerPrefit
60 
62 
63 eval JShowerPrefit \
64  -a $DETECTOR \
65  -f $INPUT_FILE \
66  -o ${OUTPUT_FILE/\%/jshprefit} \
67  -n ${NUMBER_OF_EVENTS} \
68  -@ `make_equation PARAMETERS` \
69  -d ${DEBUG} --!
70 
71 timer_stop
72 timer_print
73 
74 
75 # ------------------------------------------------------------------------------------------
76 # JShowerPointSimplex
77 # ------------------------------------------------------------------------------------------
78 
79 # default input values
80 PARAMETERS=(
81  numberOfPrefits 0 # 0 means all inputs are processed
82  numberOfOutfits 100
83  minPrefitsSize 9
84  sigma_ns 1
85  TMaxLocal_ns 15
86  TMax_ns 60
87  TMin_ns -60
88  roadWidth_m 60
89  ctMin 0.2
90  TWindow_ns "-130, 120"
91  pos_grid_m " -20, 20"
92  pos_step_m 20
93  time_grid_ns " -90, 90"
94  time_step_ns 30
95  simplex_step_m 2
96  simplex_step_ns 10
97  tukey_std_dev 20.0)
98 
100 
101 eval JShowerPointSimplex \
102  -a $DETECTOR \
103  -f ${OUTPUT_FILE/\%/jshprefit} \
104  -o ${OUTPUT_FILE/\%/jshpointsimplex} \
105  -@ `make_equation PARAMETERS` \
106  -d ${DEBUG} --!
107 
108 timer_stop
109 timer_print
110 
111 rm ${OUTPUT_FILE/\%/jshprefit}
112 
113 # ------------------------------------------------------------------------------------------
114 # JShowerPositionFit
115 # ------------------------------------------------------------------------------------------
116 
117 # default input values
118 PARAMETERS=(
119  numberOfPrefits 0
120  numberOfOutfits 5
121  TMax_ns 120
122  TMin_ns -120
123  roadWidth_m 80
124  E_GeV 10
125  R_Hz 10000
126  TTS_ns 2)
127 
129 
130 eval JShowerPositionFit \
131  -a $DETECTOR \
132  -f ${OUTPUT_FILE/\%/jshpointsimplex} \
133  -F $PDF \
134  -o ${OUTPUT_FILE/\%/jshpositionfit} \
135  -@ `make_equation PARAMETERS` \
136  -d ${DEBUG} --!
137 
138 timer_stop
139 timer_print
140 
141 rm ${OUTPUT_FILE/\%/jshpointsimplex}
142 
143 # ------------------------------------------------------------------------------------------
144 # JShowerEnergyPrefit
145 # ------------------------------------------------------------------------------------------
146 
147 # default input values
148 PARAMETERS=(
149  numberOfPrefits 0
150  numberOfOutfits 1
151  Emin_GeV 1
152  Emax_GeV 100
153  resolution 0.01
154  TMax_ns 500
155  TMin_ns -500
156  R_Hz 10000
157  mestimator 3
158  roadWidth_m 80)
159 
161 
162 eval JShowerEnergyPrefit \
163  -a $DETECTOR \
164  -f ${OUTPUT_FILE/\%/jshpositionfit} \
165  -F $PDF \
166  -o ${OUTPUT_FILE/\%/jshenergyprefit} \
167  -@ `make_equation PARAMETERS` \
168  -d $DEBUG --!
169 
170 timer_stop
171 timer_print
172 
173 rm ${OUTPUT_FILE/\%/jshpositionfit}
174 
175 # ------------------------------------------------------------------------------------------
176 # JShowerDirectionPrefit
177 # ------------------------------------------------------------------------------------------
178 
179 # default input values
180 PARAMETERS=(
181  numberOfPrefits 0
182  numberOfOutfits 4
183  TMax_ns 30
184  TMin_ns -30
185  roadWidth_m 80
186  DMin_m 80 # can be lower to speed up the reconstruction (for online)
187  E_GeV 13
188  R_Hz 10000
189  mestimator 3 # 0=normal, 1=lorentzian, 2=linear, 3=null
190  MaxAngle_deg_lowE 40
191  scanAngle_deg_lowE 10
192  MaxAngle_deg_highE 20
193  scanAngle_deg_highE 5)
194 
196 
197 eval JShowerDirectionPrefit \
198  -a $DETECTOR \
199  -f ${OUTPUT_FILE/\%/jshenergyprefit} \
200  -F $PDF \
201  -o ${OUTPUT_FILE/\%/jshdirectionprefit} \
202  -@ `make_equation PARAMETERS` \
203  -d $DEBUG --!
204 
205 timer_stop
206 timer_print
207 
208 rm ${OUTPUT_FILE/\%/jshenergyprefit}
209 
210 # ------------------------------------------------------------------------------------------
211 # JShowerFit
212 # ------------------------------------------------------------------------------------------
213 
214 # default input values
215 PARAMETERS=(
216  numberOfPrefits 4
217  TMax_ns 30
218  TMin_ns -30
219  roadWidth_m 80
220  R_Hz 10000
221  mestimator 3 # 0=normal, 1=lorentzian, 2=linear, 3=null
222  fit_step 0.05)
223 
225 
226 eval JShowerFit \
227  -a $DETECTOR \
228  -f ${OUTPUT_FILE/\%/jshdirectionprefit} \
229  -F $PDF \
230  -o ${OUTPUT_FILE/\%/jshfit} \
231  -@ `make_equation PARAMETERS` \
232  -E $JPP_DIR/software/JReconstruction/energy_correction_showerfit_fullorca.txt \
233  -d $DEBUG --!
234 
235 timer_stop
236 timer_print
237 
238 rm ${OUTPUT_FILE/\%/jshdirectionprefit}
239 
240 # ------------------------------------------------------------------------------------------
241 # rename outputfile
242 # ------------------------------------------------------------------------------------------
243 
245 
246 mv \
247  ${OUTPUT_FILE/\%/jshfit} \
248  ${OUTPUT_FILE/\%/${SUF}} \
249  -v
250 
251 timer_stop
252 timer_print
253 
254 
255 # ------------------------------------------------------------------------------------------
256 # JConvertEvt
257 # ------------------------------------------------------------------------------------------
258 
260 
261 JConvertEvt \
262  -f ${OUTPUT_FILE/\%/${SUF}} \
263  -o ${OUTPUT_FILE/\%/${SUF}.aanet} \
264  -a $DETECTOR \
265  -P $PMT \
266  -d $DEBUG --!
267 
268 timer_stop
269 timer_print
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
static const JPBS_t PMT(3, 4, 2, 3)
PBS of photo-multiplier tube (PMT)
then for mestimator in normal linear lorentzian
Definition: JMEstimator.sh:34
set_variable INPUT_FILE
mestimator
*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 usage $script< string identifier >< detectorfile > input file(toashort file)+" "\nNote that the input files and toashort files should be one-to-one related." fi if (( $
then JPizza f
Definition: JPizza.sh:46
then echo
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:20
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
then awk F
* usage
then JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
&set_variable OUTPUT_FILE
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:45
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
alias put_queue eval echo n
Definition: qlib.csh:19
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
set_variable DETECTOR
do set_variable DETECTOR_TXT $WORKDIR detector
data_type v[N+1][M+1]
Definition: JPolint.hh:740
script
Definition: JAcoustics.sh:2
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 case set_variable NUMBER_OF_EVENTS
Definition: JRunAnalyzer.sh:17
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then usage $script[input file[working directory[option]]] nWhere option can be E
Definition: JMuonPostfit.sh:35
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:60
do if[[!-f $ACOUSTICS_WORKDIR/${KEY}.txt]]
Definition: JAcoustics.sh:38