Jpp  15.0.1-rc.1-highqe
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
software/JDataWriter/JDataWriter.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 script=${0##*/}
6 
7 # ------------------------------------------------------------------------------------------
8 #
9 # Utility script to run JDataWriter and JEventGenerator.
10 #
11 # ------------------------------------------------------------------------------------------
12 
13 
14 if [ -z $JPP_DIR ]; then
15  echo "Variable JPP_DIR undefined."
16  exit
17 fi
18 
19 source $JPP_DIR/setenv.sh $JPP_DIR
20 
22 set_variable WORKDIR /tmp/
23 set_variable DETECTOR $JPP_DATA/km3net_reference.detx
24 set_variable LOGGER_OUTPUT logger.txt
25 set_variable HOST `get_ip_address`
26 
27 if do_usage $*; then
28  usage "$script [detector file [logger file [working directory]]]"
29 fi
30 
31 case $# in
32  3) set_variable WORKDIR $3;&
35 esac
36 
37 set_variable INPUT_FILE $WORKDIR/trigger_processor.root
38 set_variable MESSAGE_SERVER localhost
39 set_variable MESSAGE_LOGGER localhost
41 set_variable RUN_1 1001
42 set_variable RUN_2 1002
43 set_variable TIMEOUT_S 10
44 set_variable RUNTIME_S 20
46 set_variable DWRITER_HOST $HOST
47 
48 
49 if [[ ! -f $DETECTOR ]]; then
50  JDetector.sh $DETECTOR
51 fi
52 
53 if ( ! reuse_file $INPUT_FILE ); then
54 
56  set_variable doublesRate 2e3
57  set_variable numberOfSlices 10
58 
59  echo "Generating random background."
60  echo "Singles rate: $singlesRate [Hz]."
61  echo "Doubles rate: $doublesRate [Hz]."
62 
63  PIPE=/tmp/pipe.dat
64 
65  rm -f $PIPE
66  mkfifo $PIPE
67 
68  nohup JRandomTimesliceWriter \
69  -a $DETECTOR \
70  -o $PIPE \
71  -B "$singlesRate $doublesRate" \
72  -n $numberOfSlices \
73  -d1 > timeslice.log 2>&1 &
74 
75  echo Processing random data.
76 
77  JTriggerProcessor \
78  -a $DETECTOR \
79  -f $PIPE \
80  -@trigger3DShower.enabled=1 \
81  -@trigger3DMuon.enabled=1 \
82  -o $INPUT_FILE \
83  -d1 > trigger.log 2>&1
84 
85  rm -f $PIPE
86 
87  JPrintTree \
88  -f $INPUT_FILE
89 
90 fi
91 
92 
93 let RUN=RUN_1
94 
95 while (( $RUN <= $RUN_2 )); do
96 
97  OUTPUT_FILE=`printf %s/KM3NeT_%08d_%08d.root $WORKDIR $DETECTOR_ID $RUN`
98 
99  if [[ -f $OUTPUT_FILE ]]; then
100  rm -i $OUTPUT_FILE
101  fi
102 
103  let RUN=$RUN+1
104 done
105 
106 
107 # Event generation configure data.
108 
109 if [[ ! -f ev_configure.txt ]]; then
110 
111 cat>ev_configure.txt<<EOF
112 datawriter = $DWRITER_HOST;
113 inputFile = $INPUT_FILE;
114 eventRate_Hz = 100.0;
115 EOF
116 
117 fi
118 
119 # Driver input.
120 
121 if [[ ! -f driver.txt ]]; then
122 
123 cat>driver.txt<<EOF
124 
125 # To avoid unnecessary shell processes, the process I/O is redirected to /dev/null and the ssh command is quoted.
126 
127 process JEventGenerator $HOST ssh \$HOST\$ "$JPP_BIN/JEventGenerator -u \$NAME\$ -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG </dev/null >&/dev/null &";
128 process JDataWriter $HOST ssh \$HOST\$ "$JPP_BIN/JDataWriter -u \$NAME\$ -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG </dev/null >&/dev/null &";
129 
130 enter
131 
132 event ev_init { RC_CMD }
133 EOF
134 
135 let RUN=RUN_1
136 
137 while (( $RUN <= $RUN_2 )); do
138 
139 cat>>driver.txt<<EOF
140 
141 event ev_configure {
142  RC_EVT %<ev_configure.txt>%
143  RC_DWRT path=$WORKDIR; update_s=10; logger_s=5;
144 }
145 
146 event ev_start { RC_CMD $RUN $DETECTOR_ID }
147 
148 sleep $RUNTIME_S
149 
150 event ev_pause { RC_CMD }
151 event ev_stop { RC_CMD }
152 EOF
153 
154 let RUN=$RUN+1
155 done
156 
157 cat>>driver.txt<<EOF
158 
159 event ev_reset { RC_CMD }
160 event ev_off { RC_CMD }
161 EOF
162 
163 fi
164 
165 
166 if (( 1 )); then
167 
168  JLigier.sh $MESSAGE_SERVER continue
169 
170 fi
171 
172 
173 if (( 1 )); then
174 
175  JLogger.sh $MESSAGE_LOGGER $LOGGER_OUTPUT
176 
177 fi
178 
179 
180 if (( 1 )); then
181 
182  JDAQDriver \
183  -H $MESSAGE_SERVER \
184  -M $MESSAGE_LOGGER \
185  -t $TIMEOUT_S \
186  -f driver.txt \
187  -d $DEBUG \
188  -c
189 
190 fi
191 
192 
193 if (( 1 )); then
194 
195  JStopDAQ.sh $MESSAGE_SERVER $MESSAGE_LOGGER
196 
197 fi
event< ev_daq > ev_reset
Definition: JDAQCHSM.chsm:180
do $JPP JMEstimator M
Definition: JMEstimator.sh:37
event< ev_daq > ev_stop
Definition: JDAQCHSM.chsm:179
then JMuonPostfit f
&set_variable LOGGER_OUTPUT
then usage $script< detector file >< inputfile > nUtility script to create PDF and CDF of transition time distribution fi case set_variable WORKDIR
Definition: JLegolas.sh:31
set_variable INPUT_FILE
static const double H
Planck constant [eV s].
exit
Definition: JPizza.sh:36
&set_variable PIPE
Definition: JRandomEvent.sh:44
event< ev_daq > ev_pause
Definition: JDAQCHSM.chsm:177
then cat ev_configure txt<< EOFdatawriter=$DWRITER_HOST;inputFile=$INPUT_FILE;eventRate_Hz=100.0;EOFfiif[[!-f driver.txt]];thencat > driver txt<< EOFprocess JEventGenerator $HOST ssh\$HOST\$"$JPP_BIN/JEventGenerator -u \$NAME\$ -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG </dev/null >& dev null& process JDataWriter $HOST ssh $HOST $JPP_BIN JDataWriter u $NAME H $SERVER M $LOGGER d $DEBUG</dev/null >& dev null& enter event ev_init
then echo
const int n
Definition: JPolint.hh:660
$WORKDIR driver txt done cat $WORKDIR driver txt<< EOFprocess ${DATAFILTER}$FILTER_HOST csh-c '(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&JDataFilter-H\$SERVER\$-M\$LOGGER\$-d $DEBUG-u ${DATAFILTER}-P $PORT</dev/null > &/dev/null)&';process ${DATAWRITER}$WRITER_HOST csh-c '(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&JDataWriter-H\$SERVER\$-M\$LOGGER\$-d $DEBUG-u ${DATAWRITER}</dev/null > &/dev/null)&';print enterevent ev_init{RC_CMD}event ev_reset{RC_CMD}event ev_init{RC_CMD}event ev_configure{RC_DFLTR%<$WORKDIR/ev_configure_datafilter.txt > RC_DOM<$WORKDIR/ev_configure_domsimulator.txt > RC_DWRT path
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null if do_usage *then usage $script< detector identifier > fi case set_variable DETECTOR_ID
Definition: JTDC.sh:11
event< ev_daq > ev_configure
Definition: JDAQCHSM.chsm:175
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
then rm i $OUTPUT_FILE fi let RUN
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* usage
then JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
&set_variable OUTPUT_FILE
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
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
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
then display $WORKDIR
Definition: plot-Domino.sh:128
event< ev_daq > ev_off
Definition: JDAQCHSM.chsm:182
static const JNET::JTag RC_CMD
Definition: JDAQTags.hh:44
set_variable DETECTOR
do set_variable INPUT_FILE $WORKDIR KM3NeT_
&set_variable HOST
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:41
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP/tmp/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
script
Definition: JAcoustics.sh:2