Jpp  19.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JOMGsim.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 #
4 # \author mdejong
5 #
6 version=1.0
7 script=${0##*/}
8 
9 # ------------------------------------------------------------------------------------------
10 #
11 # Utility script to process OMGsim output.
12 #
13 # ------------------------------------------------------------------------------------------
14 
15 if [ -z $JPP_DIR ]; then
16  echo "Variable JPP_DIR undefined."
17  exit
18 fi
19 
20 source $JPP_DIR/setenv.sh $JPP_DIR
21 
22 zmodload zsh/mathfunc
23 
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
31 
32 if do_usage $*; then
33  usage "$script <detector file> <file name pattern> <OMGsim data card>"
34 fi
35 
36 case $# in
37  3) set_variable OMGSIM $argv[3];&
38  2) set_variable FILE_NAME_PATTERN $argv[2];
40  *) fatal "Wrong number of arguments."
41 esac
42 
43 function getv() { JPrintProperties -f $OMGSIM -k $1 -@ "cc=#" }
44 
45 typeset -A BUFFER
46 
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)"
52 
53 echo Radio activities:
54 
55 for KEY VALUE in ${(kv)BUFFER}; do
56  printf "%-12s %12.2f [Bq]\n" $KEY $VALUE
57 done
58 
59 typeset -a KEYS
60 
61 for KEY VALUE in ${(kv)BUFFER}; do
62 
63  set_variable INPUT_FILE ${FILE_NAME_PATTERN/\%/$KEY}
64  set_variable OUTPUT_FILE $WORKDIR/\[${KEY}\].root
65 
67 
68  if [[ -f $INPUT_FILE ]] && [[ ! -f $OUTPUT_FILE ]]; then
69 
70  $DIR/JOMGsim \
71  -a $DETECTOR \
72  -f $INPUT_FILE \
73  -o $OUTPUT_FILE \
74  -R $VALUE \
75  -P "QE = $FACTOR" \
76  -d $DEBUG --!
77  fi
78 
79  if [[ -f $OUTPUT_FILE ]]; then
80  KEYS+=($KEY)
81  fi
82 done
83 
84 JOpera2D \
85  -f$WORKDIR/\[${^KEYS}\].root:1.2S \
86  -u Add \
87  -O = \
88  -o $WORKDIR/\[Total\].root >& /dev/null
89 
90 JPlot2D \
91  -w 1200x600 \
92  -f $WORKDIR/\[Total\].root:1.2S \
93  -\> "PMT pair" \
94  -\< "#DeltaT [ns]" \
95  -\^ "rate [Hz]" \
96  -O COLZ \
97  -T "OMGsim" \
98  -o monitor.$FORMAT $BATCH
99 
100 
data_type w[N+1][M+1]
Definition: JPolint.hh:867
then usage $script< detector identifier >< startdate\"YYYY-MM-DDHH:MM:SS\"><finaldate\"YYYY-MM-DDHH:MM:SS\"><QA/QCfile> fi case set_variable QAQC_TXT $argv[4]
Definition: JDataMonitor.sh:24
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
esac done BUFFER
Definition: JMakePDF.sh:83
version
Definition: JEditTuneHV.sh:5
exit
Definition: JPizza.sh:36
then
Definition: datalogs.sh:34
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DETECTOR_ID set_array RUNS if do_usage *then usage $script< source directory > nThe source directory corresponds to a pre calibrated D0ARCA009 detector fi case set_variable DIR
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
*fatal Wrong number of arguments esac function getv()
Definition: JOMGsim.sh:43
then JCalibrateToT a
Definition: JTuneHV.sh:107
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
* usage
then JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
&set_variable OUTPUT_FILE
set_variable INPUT_FILE
then JCookie sh JDataQuality D $DETECTOR_ID R
Definition: JDataQuality.sh:41
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonStart.sh:47
then usage $script[energy[distance[z of PMT]]] fi case set_variable z
Definition: JDrawPDF.sh:45
then fatal The output file must have the wildcard in the e g root fi eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
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 JHobbit a $DETECTOR f
static void monitor()
Definition: DataQueue.cc:32
set_variable DETECTOR
double u[N+1]
Definition: JPolint.hh:865
then echo
Definition: JQAQC.sh:92
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
then getFile sh $JPP_ARCHIVE $DETECTOR_ID $RUNS[1] $KEY $VERSION $WORKDIR
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62