9 # ------------------------------------------------------------------------------------------
11 # Utility script to process OMGsim output.
13 # ------------------------------------------------------------------------------------------
15 if [ -z $JPP_DIR ]; then
16 echo "Variable JPP_DIR undefined."
20 source $JPP_DIR/setenv.sh $JPP_DIR
25 set_variable WORKDIR ./
26 set_variable DIR $JPP_DIR/examples/JCalibrate/
27 set_variable OMGSIM $DIR/OMGsim.txt
28 set_variable: FACTOR OMGSIM_FACTOR 0.5
29 set_variable: FORMAT GRAPHICS_FORMAT gif
30 set_variable+ BATCH GRAPHICS_BATCH -B
33 usage "$script <detector file> <file name pattern> <OMGsim data card>"
37 3) set_variable OMGSIM $argv[3];&
38 2) set_variable FILE_NAME_PATTERN $argv[2];
39 set_variable DETECTOR $argv[1];;
40 *) fatal "Wrong number of arguments."
43 function getv() { JPrintProperties -f $OMGSIM -k $1 -@ "cc=#" }
47 let "BUFFER[K40Glass] = `getv glass.K40 ` * `getv mass.glass`"
48 let "BUFFER[Th232Glass] = `getv glass.Th232` * `getv mass.glass`"
49 let "BUFFER[U238Glass] = `getv glass.U238 ` * `getv mass.glass`"
50 let "BUFFER[K40Water] = `getv water.K40 ` * (4.0/3.0) * acos(-1.0) * (`getv radius.K40 `**3 - `getv radius.glass`**3)"
51 let "BUFFER[U238Water] = `getv water.U238 ` * (4.0/3.0) * acos(-1.0) * (`getv radius.U238`**3 - `getv radius.glass`**3)"
53 echo Radio activities:
55 for KEY VALUE in ${(kv)BUFFER}; do
56 printf "%-12s %12.2f [Bq]\n" $KEY $VALUE
61 for KEY VALUE in ${(kv)BUFFER}; do
63 set_variable INPUT_FILE ${FILE_NAME_PATTERN/\%/$KEY}
64 set_variable OUTPUT_FILE $WORKDIR/\[${KEY}\].root
68 if [[ -f $INPUT_FILE ]] && [[ ! -f $OUTPUT_FILE ]]; then
79 if [[ -f $OUTPUT_FILE ]]; then
85 -f$WORKDIR/\[${^KEYS}\].root:1.2S \
88 -o $WORKDIR/\[Total\].root >& /dev/null
92 -f $WORKDIR/\[Total\].root:1.2S \
98 -o monitor.$FORMAT $BATCH