Jpp  19.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
examples/JAcoustics/JKatoomba.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 if [ -z $JPP_DIR ]; then
5  echo "Variable JPP_DIR undefined."
6  exit
7 fi
8 
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10 
11 zmodload zsh/mathfunc
12 
13 set_variable DIR $JPP_DIR/examples/JAcoustics/
15 set_variable: DEBUG ACOUSTICS_DEBUG 2
16 set_variable+ HYDROPHONE ACOUSTICS_HYDROPHONE -H hydrophone.txt
17 set_variable+ TRANSMITTER ACOUSTICS_TRANSMITTER -Y transmitter.txt
18 set_variable: SIGMA_S ACOUSTICS_SIGMA_S 50.0E-6
19 set_variable: NUMBER_OF_EVENTS ACOUSTICS_NUMBER_OF_EVENTS 1000
20 set_variable: FORMAT GRAPHICS_FORMAT gif
21 set_variable+ BATCH GRAPHICS_BATCH -B
22 
23 if do_usage $*; then
24  usage "$script <detector file> <tripod file>"
25 fi
26 
27 if (( $# != 2 )); then
28  fatal "Wrong number of arguments."
29 fi
30 
32 set_variable TRIPOD $argv[2]
33 
34 if [[ ! -f $DETECTOR ]]; then
35  fatal "No file $DETECTOR."
36 fi
37 
38 if [[ ! -f $TRIPOD ]]; then
39  fatal "No file $TRIPOD."
40 fi
41 
42 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
43 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
44 
45 if (( 1 )); then
46 
47  JDrawDetector2D \
48  -a $DETECTOR \
49  -T $TRIPOD \
50  -L TL \
51  -o footprint.$FORMAT $BATCH
52 fi
53 
54 if ( ! reuse_file $WORKDIR/katoomba.root ); then
55 
56  $DIR/JKatoomba \
57  -a $DETECTOR \
58  -o $WORKDIR/katoomba.root \
59  -T $TRIPOD \
60  ${TRANSMITTER} \
61  -n $NUMBER_OF_EVENTS \
62  -@ acoustics_fit_parameters.txt \
63  -@ "sigma_s = $SIGMA_S;" \
64  -M mechanics.txt \
65  ${HYDROPHONE} \
66  -S 12345678 \
67  -d $DEBUG --!
68 fi
69 
70 if (( 1 )); then
71 
72  rm -f $WORKDIR/strings.txt
73 
74  for STRING in ${STRINGS[*]}; do
75 
76  RESULT=(`JPrintResult -f "$WORKDIR/katoomba.root:string\[$STRING\]" -F "GetRMS(1)" -F "GetRMS(2)"`)
77 
78  printf "%4d %9.5f %9.5f [mrad]\n" $STRING $RESULT[*]
79 
80  printf "%9.5f\n" $((sqrt($RESULT[1]*$RESULT[2] + $RESULT[1]*$RESULT[2]))) >> $WORKDIR/strings.txt
81  done
82 
83  $JPP_DIR/examples/JGizmo/JHistogram1D \
84  -x "50 0 +2.5" \
85  -f $WORKDIR/strings.txt \
86  -o $WORKDIR/strings.root
87 
88  JPlot1D \
89  -f $WORKDIR/strings.root:\.\* \
90  -\> "#sigma_{T} [mrad]" \
91  -\^ "number of strings" \
92  -T "" \
93  -o strings.$FORMAT $BATCH
94 
96 fi
97 
98 if (( 1 )); then
99 
100  JPlot1D \
101  -f "$WORKDIR/katoomba.root:cpu" \
102  -\> "cpu [ms]" \
103  -\^ "number of events [a.u.]" \
104  -T "$FIT" \
105  -o cpu.$FORMAT $BATCH
106 
107  JPlot1D \
108  -f "$WORKDIR/katoomba.root:chi2" \
109  -x "0 2" \
110  -\> "chi2/NDF" \
111  -\^ "number of events [a.u.]" \
112  -s 110 \
113  -T "$FIT" \
114  -o chi2.$FORMAT $BATCH
115 fi
116 
117 if (( 1 )); then
118 
119  source JAcousticsToolkit.sh
120 
121  typeset -A EMITTERS
122 
123  get_tripods+ tripod.txt EMITTERS
124  get_transmitters+ transmitter.txt EMITTERS
125 
126  for EMITTER in % ${(@k)EMITTERS}; do
127 
128  JPlot1D \
129  -f "$WORKDIR/katoomba.root:emitter\[${EMITTER}\]" \
130  -\> "#Deltat [s]" \
131  -\^ "number of events [a.u.]" \
132  -N "X 505" \
133  -s 111010 \
134  -T "[$EMITTER]" \
135  -o TX${EMITTER}.$FORMAT $BATCH
136  done
137 fi
138 
139 if (( 1 )); then
140 
141  JEllipse \
142  -o $WORKDIR/ellipse.root \
143  -p "0.0 0.0 1.0" \
144  -@ "line.color = 2" \
145  -@ "line.width = 2"
146 
147  for STRING in % $STRINGS[*]; do
148 
149  JPlot2D \
150  -f "$WORKDIR/katoomba.root:string\[${STRING}\]" \
151  -f $WORKDIR/ellipse.root:\.\* \
152  -O COLZ \
153  -\> "#DeltaTx [mrad]" \
154  -\< "#DeltaTy [mrad]" \
155  -N "X 505" \
156  -N "Y 505" \
157  -p 57 \
158  -s 101010 \
159  -T "[$STRING]" \
160  -o RX${STRING}.$FORMAT $BATCH
161  done
162 fi
*fatal Wrong number of arguments esac source JAcousticsToolkit sh mkdir p $WORKDIR post calibration pushd $WORKDIR post calibration post calibration_D0ARCA021 sh $DIR popd set_variable DETECTOR $WORKDIR post calibration detector datx set_variable TRIPOD $WORKDIR post calibration tripod txt set_variable DETECTOR_INITIAL detector_initial datx expand_array RUNS mkdir p $HOMEDIR cd $HOMEDIR JDetectorDB D $DETECTOR_ID r $RUNS[1] V WW o $DETECTOR_INITIAL JEditDetector a $DETECTOR r o detector_tmp datx!eval JPrintDetector a $DETECTOR_INITIAL O SUMMARY
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
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 set_variable ALL_PLOTS case set_variable NUMBER_OF_EVENTS
Definition: JRunAnalyzer.sh:18
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
then usage eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID JCanberra sh $DETECTOR $INPUT_FILES[*] $WORKDIR canberra[%\] root source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR for STRING in $STRINGS[*]
then usage $script< directory A >< directoryB > nIn each there should be a file detector datx and tripod txt
static const double H
Planck constant [eV s].
exit
Definition: JPizza.sh:36
then usage $script< detector specific pre-calibration script >< option > nAuxiliary script to make scan of pre stretching of detector strings(see JEditDetector)." "\nPossible options
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
then
Definition: datalogs.sh:34
do JPlot2D f $WORKDIR canberra[${EMITTER}\] root
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
const int n
Definition: JPolint.hh:786
then $DIR JKatoomba a $DETECTOR o $WORKDIR katoomba root T $TRIPOD
then rm
Definition: sftpput.zsh:30
then fatal Invalid string $STRING
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
Auxiliary data structure for ellipse.
Definition: JEllipse.cc:17
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
then awk F
* usage
set_array INPUT_FILES argv[2,$((START_INDEX_STRING-1))] set_array STRINGS
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 usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
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 const JPBS_t HYDROPHONE(4, 5)
PBS of hydrophone
then if[[!-f $DETECTOR]] then JDetector sh $DETECTOR fi cat $WORKDIR trigger_parameters txt<< EOFtrigger3DMuon.enabled=1;trigger3DMuon.numberOfHits=5;trigger3DMuon.gridAngle_deg=1;ctMin=0.0;TMaxLocal_ns=15.0;EOF set_variable TRIGGEREFFICIENCY_TRIGGERED_EVENTS_ONLY INPUT_FILES=() for((i=1;$i<=$NUMBER_OF_RUNS;++i));do JSirene.sh $DETECTOR $JPP_DATA/genhen.km3net_wpd_V2_0.evt.gz $WORKDIR/sirene_ ${i}.root JTriggerEfficiency.sh $DETECTOR $DETECTOR $WORKDIR/sirene_ ${i}.root $WORKDIR/trigger_efficiency_ ${i}.root $WORKDIR/trigger_parameters.txt $JPP_DATA/PMT_parameters.txt INPUT_FILES+=($WORKDIR/trigger_efficiency_ ${i}.root) done for ANGLE_DEG in $ANGLES_DEG[*];do set_variable SIGMA_NS 3.0 set_variable OUTLIERS 3 set_variable OUTPUT_FILE $WORKDIR/matrix\[${ANGLE_DEG}\deg\].root $JPP_DIR/examples/JReconstruction-f"$INPUT_FILES[*]"-o $OUTPUT_FILE-S ${SIGMA_NS}-A ${ANGLE_DEG}-O ${OUTLIERS}-d ${DEBUG}--!fiif[[$OPTION=="plot"]];then if((0));then for H1 in h0 h1;do JPlot1D-f"$WORKDIR/matrix["${^ANGLES_DEG}" deg].root:${H1}"-y"1 2e3"-Y-L TR-T""-\^"number of events [a.u.]"-> o chi2
Definition: JMatrixNZ.sh:106
set_variable DETECTOR
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
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62