Jpp - 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 ${JORCAREC_DEBUG:-1}
20 set_variable PDF ${JORCAREC_PDF:-$JPP_DATA/J%p.dat}
21 set_variable SUF ${JORCAREC_SUF:-jchain.orca}
22 set_variable NUMBER_OF_EVENTS ${JORCAREC_NUMBER_OF_EVENTS:-$((2**31))}
23 set_variable TMAX_S ${JORCAREC_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 \
242  ${OUTPUT_FILE/\%/jenergy} \
243  ${OUTPUT_FILE/\%/${SUF}} \
244  -v
245 
246 rm \
247  ${OUTPUT_FILE/\%/jprefit} \
248  ${OUTPUT_FILE/\%/jsimplex} \
249  ${OUTPUT_FILE/\%/jstart} \
250  ${OUTPUT_FILE/\%/jgandalf} \
251  ${OUTPUT_FILE/\%/jstart2} \
252  -v
253 
254 timer_stop
255 timer_print
256 
257 
258 # ------------------------------------------------------------------------------------------
259 # JConvertEvt
260 # ------------------------------------------------------------------------------------------
261 
263 
264 JConvertEvt \
265  -f ${OUTPUT_FILE/\%/${SUF}} \
266  -o ${OUTPUT_FILE/\%/${SUF}.aanet} \
267  -a $DETECTOR \
268  -+${^CALIBRATION} \
269  -P $PMT \
270  -d $DEBUG --!
271 
272 timer_stop
273 timer_print
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
static const JPBS_t PMT(3, 4, 2, 3)
PBS of photo-multiplier tube (PMT)
set_variable INPUT_FILE
mestimator
exit
Definition: JPizza.sh:36
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 usage $script< detector file >< inputfile >< outputfile > fi case set_variable PDF
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 DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
Definition: JDomino.sh:39
&set_variable OUTPUT_FILE
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:45
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
set_variable 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
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:60
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62