9# ------------------------------------------------------------------------------------------
11# Utility script to process OMGsim output.
13# ------------------------------------------------------------------------------------------
15if [ -z $JPP_DIR ]; then
16 echo "Variable JPP_DIR undefined."
20source $JPP_DIR/setenv.sh $JPP_DIR
25set_variable WORKDIR ./
26set_variable DIR $JPP_DIR/examples/JCalibrate/
27set_variable OMGSIM $DIR/OMGsim.txt
28set_variable: FACTOR OMGSIM_FACTOR 0.5
29set_variable: TTS_NS OMGSIM_TTS_NS 0.0
30set_variable: FORMAT GRAPHICS_FORMAT gif
31set_variable+ BATCH GRAPHICS_BATCH -B
34 usage "$script <detector file> <file name pattern> <OMGsim data card>"
38 3) set_variable OMGSIM $argv[3];&
39 2) set_variable FILE_NAME_PATTERN $argv[2];
40 set_variable DETECTOR $argv[1];;
41 *) fatal "Wrong number of arguments."
44function getv() { JPrintProperties -f $OMGSIM -k $1 -@ "cc=#" }
48let "BUFFER[K40Glass] = `getv glass.K40 ` * `getv mass.glass`"
49let "BUFFER[Th232Glass] = `getv glass.Th232` * `getv mass.glass`"
50let "BUFFER[U238Glass] = `getv glass.U238 ` * `getv mass.glass`"
51let "BUFFER[K40Water] = `getv water.K40 ` * (4.0/3.0) * acos(-1.0) * (`getv radius.K40 `**3 - `getv radius.glass`**3)"
52let "BUFFER[U238Water] = `getv water.U238 ` * (4.0/3.0) * acos(-1.0) * (`getv radius.U238`**3 - `getv radius.glass`**3)"
56for KEY VALUE in ${(kv)BUFFER}; do
57 printf "%-12s %12.2f [Bq]\n" $KEY $VALUE
62for KEY VALUE in ${(kv)BUFFER}; do
64 set_variable INPUT_FILE ${FILE_NAME_PATTERN/\%/$KEY}
65 set_variable OUTPUT_FILE $WORKDIR/\[${KEY}\].root
69 if [[ -f $INPUT_FILE ]] && [[ ! -f $OUTPUT_FILE ]]; then
76 -P "TTS_ns = $TTS_NS" \
81 if [[ -f $OUTPUT_FILE ]]; then
87 -f$WORKDIR/\[${^KEYS}\].root:1.2R \
90 -o $WORKDIR/\[Total\].root >& /dev/null
94 -f $WORKDIR/\[Total\].root:1.2R \
100 -o monitor.$FORMAT $BATCH