Jpp  15.0.5
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 source $JPP_DIR/setenv.sh $JPP_DIR
18 
19 set_variable: DEBUG RECONSTRUCTION_DEBUG 1
20 set_variable: PDF RECONSTRUCTION_PDF $JPP_DATA/J%p.dat
21 set_variable: SUFFIX RECONSTRUCTION_SUFFIX jchain.orca
22 set_variable: NUMBER_OF_EVENTS RECONSTRUCTION_NUMBER_OF_EVENTS $((2**31))
23 set_variable: TMAX_S RECONSTRUCTION_TMAX_S 100
24 
25 if do_usage $*; then
26  usage "$script <detector file> <input file> <output file> <PMT parameters file> [(calibration file)+]"
27 fi
28 
29 if (( $# < 4 )); then
30  fatal "Wrong number of arguments."
31 fi
32 
37 set_array CALIBRATION $argv[5,-1]
38 
39 if [[ ! "$OUTPUT_FILE" == *"%"* ]]; then
40  fatal "The output file must have the wildcard % in the name, e.g. %.root"
41 fi
42 
43 
44 # ------------------------------------------------------------------------------------------
45 # JMuonPrefit
46 # ------------------------------------------------------------------------------------------
47 
48 PARAMETERS=(
49  sigma_ns 5
50  gridAngle_deg 5
51  useL0 1
52  numberOfOutliers 2
53  numberOfPrefits 12
54  DZMax 0.0
55  numberOfDZMax 1
56  TMaxLocal_ns 12
57  ctMin 0.0
58  roadWidth_m 50.0)
59 
61 
62 eval JMuonPrefit \
63  -a $DETECTOR \
64  -+${^CALIBRATION} \
65  -T $TMAX_S \
66  -f $INPUT_FILE \
67  -o ${OUTPUT_FILE/\%/jprefit} \
68  -n ${NUMBER_OF_EVENTS} \
69  -@ `make_equation PARAMETERS` \
70  -d $DEBUG --!
71 
72 CHECK_EXIT_CODE
73 
74 timer_stop
75 timer_print
76 
77 
78 # ------------------------------------------------------------------------------------------
79 # JMuonSimplex
80 # ------------------------------------------------------------------------------------------
81 
82 PARAMETERS=(
83  sigma_ns 3
84  TMaxLocal_ns 15.0
85  ctMin 0.0
86  roadWidth_m 50.0
87  numberOfPrefits 0)
88 
90 
91 eval JMuonSimplex \
92  -a $DETECTOR \
93  -+${^CALIBRATION} \
94  -T $TMAX_S \
95  -f ${OUTPUT_FILE/\%/jprefit} \
96  -o ${OUTPUT_FILE/\%/jsimplex} \
97  -@ `make_equation PARAMETERS` \
98  -d ${DEBUG} --!
99 
100 CHECK_EXIT_CODE
101 
102 timer_stop
103 timer_print
104 
105 
106 # ------------------------------------------------------------------------------------------
107 # JMuonStart
108 # ------------------------------------------------------------------------------------------
109 
110 PARAMETERS=(
111  roadWidth_m 50.0
112  R_Hz 7.0e3
113  TMin_ns -25.0
114  TMax_ns +25.0
115  Pmin1 1.0e-3
116  Pmin2 1.0e-2
117  numberOfPrefits 0)
118 
120 
121 eval JMuonStart \
122  -a $DETECTOR \
123  -+${^CALIBRATION} \
124  -T $TMAX_S \
125  -f ${OUTPUT_FILE/\%/jsimplex} \
126  -o ${OUTPUT_FILE/\%/jstart} \
127  -P $PDF \
128  -@ `make_equation PARAMETERS` \
129  -d $DEBUG --!
130 
131 CHECK_EXIT_CODE
132 
133 timer_stop
134 timer_print
135 
136 
137 # ------------------------------------------------------------------------------------------
138 # JMuonGandalf
139 # ------------------------------------------------------------------------------------------
140 
141 PARAMETERS=(
142  TTS_ns 2
143  E_GeV 10.0
144  TMin_ns -50.0
145  TMax_ns +450.0
146  ZMin_m -3.0
147  ZMax_m +9.0
148  R_Hz 7.0e3
149  roadWidth_m 50.0
150  numberOfPrefits 0)
151 
153 
154 eval JMuonGandalf \
155  -a $DETECTOR \
156  -+${^CALIBRATION} \
157  -T $TMAX_S \
158  -f ${OUTPUT_FILE/\%/jstart} \
159  -o ${OUTPUT_FILE/\%/jgandalf} \
160  -P $PDF \
161  -@ `make_equation PARAMETERS` \
162  -d $DEBUG --!
163 
164 CHECK_EXIT_CODE
165 
166 timer_stop
167 timer_print
168 
169 
170 # ------------------------------------------------------------------------------------------
171 # JMuonStart
172 # ------------------------------------------------------------------------------------------
173 
174 PARAMETERS=(
175  roadWidth_m 50.0
176  R_Hz 7.0e3
177  TMin_ns -25.0
178  TMax_ns +25.0
179  Pmin1 1.0e-3
180  Pmin2 1.0e-2
181  numberOfPrefits 1)
182 
184 
185 eval JMuonStart \
186  -a $DETECTOR \
187  -+${^CALIBRATION} \
188  -T $TMAX_S \
189  -f ${OUTPUT_FILE/\%/jgandalf} \
190  -o ${OUTPUT_FILE/\%/jstart2} \
191  -P $PDF \
192  -@ `make_equation PARAMETERS` \
193  -d $DEBUG --!
194 
195 CHECK_EXIT_CODE
196 
197 timer_stop
198 timer_print
199 
200 
201 # ------------------------------------------------------------------------------------------
202 # JMuonEnergy
203 # ------------------------------------------------------------------------------------------
204 
205 PARAMETERS=(
206  roadWidth_m 80.0
207  R_Hz 7.0e3
208  EMin_log 0.0
209  EMax_log 7.0
210  TMin_ns -25.0
211  TMax_ns +25.0
212  ZMin_m -3.0
213  resolution 0.01
214  mestimator 3
215  numberOfPrefits 1)
216 
218 
219 eval JMuonEnergy \
220  -a $DETECTOR \
221  -+${^CALIBRATION} \
222  -T $TMAX_S \
223  -f ${OUTPUT_FILE/\%/jstart2} \
224  -o ${OUTPUT_FILE/\%/jenergy} \
225  -P $PDF \
226  -@ `make_equation PARAMETERS` \
227  -d $DEBUG --!
228 
229 CHECK_EXIT_CODE
230 
231 timer_stop
232 timer_print
233 
234 
235 # ------------------------------------------------------------------------------------------
236 # rename outputfile and remove intermediate files
237 # ------------------------------------------------------------------------------------------
238 
240 
241 mv -v \
242  ${OUTPUT_FILE/\%/jenergy} \
243  ${OUTPUT_FILE/\%/${SUFFIX}}
244 
245 rm -vf \
246  ${OUTPUT_FILE/\%/jprefit} \
247  ${OUTPUT_FILE/\%/jsimplex} \
248  ${OUTPUT_FILE/\%/jstart} \
249  ${OUTPUT_FILE/\%/jgandalf} \
250  ${OUTPUT_FILE/\%/jstart2}
251 
252 timer_stop
253 timer_print
254 
255 
256 # ------------------------------------------------------------------------------------------
257 # JConvertEvt
258 # ------------------------------------------------------------------------------------------
259 
261 
262 JConvertEvt \
263  -f ${OUTPUT_FILE/\%/${SUFFIX}} \
264  -o ${OUTPUT_FILE/\%/${SUFFIX}.aanet} \
265  -a $DETECTOR \
266  -+${^CALIBRATION} \
267  -P $PMT \
268  -d $DEBUG --!
269 
270 timer_stop
271 timer_print
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison fi case set_variable RANGE $argv[3]
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 JMuonPostfit f
static const JPBS_t PMT(3, 4, 2, 3)
PBS of photo-multiplier tube (PMT)
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 echo
const int n
Definition: JPolint.hh:660
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 set_variable OUTPUT_DIRECTORY $WORKDIR T
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* 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: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
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
then usage $script< detector file >< inputfile > fi case set_array PARAMETERS
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
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
do if[[!-f $ACOUSTICS_WORKDIR/${KEY}.txt]]
Definition: JAcoustics.sh:39
then usage $script< string identifier >< detectorfile > event file(toashort file)+" "\nNote that the event files and toashort files should be one-to-one related." fi if (( $