Logo Coherent WaveBurst  
Reference Guide
Logo
 All Namespaces Files Functions Variables Macros Pages
cwb_mkchunk.csh
Go to the documentation of this file.
1 #!/bin/tcsh -f
2 
3 onintr irq_ctrlc
4 
5 if ($1 == '') then
6  echo ""
7  echo 'cwb_mkchunk --run="..." --chunk="..." --cal="..." --net="..." --search="..." --type="..." --tag="..." --opt="..."'
8  echo ""
9  echo "run : O1, O2"
10  echo "chunk : integer number"
11  echo "cal : C00, C00c, C01, C02, C02c"
12  echo "net : LH LHV"
13  echo "search : BurstLF, BurstHF, BurstLD, IMBHB, BBH"
14  echo "type : BKG, SIM"
15  echo "tag : user string (Ex: run1, tst1, dev1)"
16  echo ""
17  echo "opt : optional"
18  echo " no options -> disabled (default)"
19  echo " create : execute condor_create"
20  echo " submit : execute condor_create & condor_submit"
21  echo ""
22  echo 'Ex: cwb_mkchunk --run="O2" --chunk="03" --cal="C00" --net="LH" --search="BurstLF" --type="BKG" --tag="dev1" --opt="create"'
23  echo "or"
24  echo 'Ex: cwb_mkchunk --run=O2 --chunk=03 --cal=C00 --net=LH --search=BurstLF --type=BKG --tag=dev1 --opt=create'
25  echo "or"
26  echo 'Ex: cwb_mkchunk --run O2 --chunk 03 --cal C00 --net LH --search BurstLF --type BKG --tag dev1 --opt create'
27  echo ""
28  echo "creates working directory -> O2_K03_C00_LH_BurstLF_BKG_dev1"
29  echo ""
30  exit 1
31 endif
32 
33 setenv CWB_MKCHUNK_RUN
34 setenv CWB_MKCHUNK_CHUNK
35 setenv CWB_MKCHUNK_CAL
36 setenv CWB_MKCHUNK_NET
37 setenv CWB_MKCHUNK_SEARCH
38 setenv CWB_MKCHUNK_TYPE
39 setenv CWB_MKCHUNK_TAG
40 setenv CWB_MKCHUNK_OPTIONS
41 
42 set cmd_line="$0 $argv"
43 
44 set temp=(`getopt -s tcsh -o r:c:C:n:s:t:T:o: --long run:,chunk:,cal:,net:,search:,type:,tag:,opt: -- $argv:q`)
45 if ($? != 0) then
46  echo "Terminating..." >/dev/stderr
47  exit 1
48 endif
49 eval set argv=\($temp:q\)
50 
51 while (1)
52  switch($1:q)
53  case -r:
54  case --run:
55  setenv CWB_MKCHUNK_RUN $2:q
56  shift ; shift
57  breaksw
58  case -c:
59  case --chunk:
60  setenv CWB_MKCHUNK_CHUNK $2:q
61  shift ; shift
62  breaksw
63  case -C:
64  case --cal:
65  setenv CWB_MKCHUNK_CAL $2:q
66  shift ; shift
67  breaksw
68  case -n:
69  case --net:
70  setenv CWB_MKCHUNK_NET $2:q
71  shift ; shift
72  breaksw
73  case -s:
74  case --search:
75  setenv CWB_MKCHUNK_SEARCH $2:q
76  shift ; shift
77  breaksw
78  case -t:
79  case --type:
80  setenv CWB_MKCHUNK_TYPE $2:q
81  shift ; shift
82  breaksw
83  case -T:
84  case --tag:
85  setenv CWB_MKCHUNK_TAG $2:q
86  shift ; shift
87  breaksw
88  case -o:
89  case --opt:
90  setenv CWB_MKCHUNK_OPTIONS $2:q
91  shift ; shift
92  breaksw
93  case --:
94  shift
95  break
96  default:
97  echo "error - missing parameters!" ; exit 1
98  endsw
99 end
100 
101 if ((( $CWB_MKCHUNK_RUN != 'O1' ) && ( $CWB_MKCHUNK_RUN != 'O2' ))) then
102  echo ""
103  echo --run=\'$CWB_MKCHUNK_RUN\' "is a wrong cwb_mkchunk option\n"
104  echo "type cwb_mkchunk to list the available options"
105  echo ""
106  exit 1
107 endif
108 
109 if ( $CWB_MKCHUNK_CHUNK !~ ^[0-9]+$ ) then
110  echo ""
111  echo --chunk=\'$CWB_MKCHUNK_CHUNK\' "is a wrong cwb_mkchunk option\n"
112  echo "type cwb_mkchunk to list the available options"
113  echo ""
114  exit 1
115 endif
116 
117 if ((( $CWB_MKCHUNK_CAL != 'C00' ) && ( $CWB_MKCHUNK_CAL != 'C00c' ) && ( $CWB_MKCHUNK_CAL != 'C01' ) && ( $CWB_MKCHUNK_CAL != 'C02' ) && ( $CWB_MKCHUNK_CAL != 'C02c' ))) then
118  echo ""
119  echo --cal=\'$CWB_MKCHUNK_CAL\' "is a wrong cwb_mkchunk option\n"
120  echo "type cwb_mkchunk to list the available options"
121  echo ""
122  exit 1
123 endif
124 
125 if ((( $CWB_MKCHUNK_NET != 'LH' ) && ( $CWB_MKCHUNK_NET != 'LHV' ))) then
126  echo ""
127  echo --net=\'$CWB_MKCHUNK_NET\' "is a wrong cwb_mkchunk option\n"
128  echo "type cwb_mkchunk to list the available options"
129  echo ""
130  exit 1
131 endif
132 
133 if ((( $CWB_MKCHUNK_SEARCH != 'BurstLF' ) && ( $CWB_MKCHUNK_SEARCH != 'BurstHF' ) && ( $CWB_MKCHUNK_SEARCH != 'BurstLD' ) && ( $CWB_MKCHUNK_SEARCH != 'IMBHB' ) && ( $CWB_MKCHUNK_SEARCH != 'BBH' ))) then
134  echo ""
135  echo --search=\'$CWB_MKCHUNK_SEARCH\' "is a wrong cwb_mkchunk option\n"
136  echo "type cwb_mkchunk to list the available options"
137  echo ""
138  exit 1
139 endif
140 
141 if ((( $CWB_MKCHUNK_TYPE == 'BKG' ) || ( $CWB_MKCHUNK_TYPE =~ 'SIM/*' ))) then
142  setenv CWB_MKCHUNK_TYPE $CWB_MKCHUNK_TYPE
143  set CWB_MKCHUNK_SIM=$CWB_MKCHUNK_TYPE
144  set CWB_MKCHUNK_SIM_DIR=`echo $CWB_MKCHUNK_SIM | awk '{print substr($0, 5, length($0)-1)}'`
145 else
146  echo ""
147  echo --type=\'$CWB_MKCHUNK_TYPE\' "is a wrong cwb_mkchunk option\n"
148  echo "type cwb_mkchunk to list the available options"
149  echo ""
150  exit 1
151 endif
152 
153 if ((( $CWB_MKCHUNK_TAG == '' ))) then
154  echo ""
155  echo --tag=\'$CWB_MKCHUNK_TAG\' "is a wrong cwb_mkchunk option\n"
156  echo "type cwb_mkchunk to list the available options"
157  echo ""
158  exit 1
159 endif
160 
161 if ((( $CWB_MKCHUNK_OPTIONS != 'create' ) && ( $CWB_MKCHUNK_OPTIONS != 'submit' ) && ( $CWB_MKCHUNK_OPTIONS != '' ))) then
162  echo ""
163  echo --opt=\'$CWB_MKCHUNK_OPTIONS\' "is a wrong cwb_mkchunk option\n"
164  echo "type cwb_mkchunk to list the available options"
165  echo ""
166  exit 1
167 endif
168 
169 if ((( $CWB_MKCHUNK_CAL == 'C00' ))) then
170  setenv CWB_MKCHUNK_CHNAME $CWB_CONFIG_C00_CHNAME
171 endif
172 if ((( $CWB_MKCHUNK_CAL == 'C00c' ))) then
173  setenv CWB_MKCHUNK_CHNAME $CWB_CONFIG_C00c_CHNAME
174 endif
175 if ((( $CWB_MKCHUNK_CAL == 'C01' ))) then
176  setenv CWB_MKCHUNK_CHNAME $CWB_CONFIG_C01_CHNAME
177 endif
178 if ((( $CWB_MKCHUNK_CAL == 'C02' ))) then
179  setenv CWB_MKCHUNK_CHNAME $CWB_CONFIG_C02_CHNAME
180 endif
181 if ((( $CWB_MKCHUNK_CAL == 'C02c' ))) then
182  setenv CWB_MKCHUNK_CHNAME $CWB_CONFIG_C02c_CHNAME
183  setenv CWB_MKCHUNK_V_CHNAME $CWB_CONFIG_C02c_V_CHNAME
184 endif
185 
186 if (( $CWB_MKCHUNK_TYPE =~ 'SIM/*' )) then
187  setenv CWB_MKCHUNK_DIR $CWB_MKCHUNK_RUN\_K$CWB_MKCHUNK_CHUNK\_$CWB_MKCHUNK_CAL\_$CWB_MKCHUNK_NET\_$CWB_MKCHUNK_SEARCH\_SIM\_$CWB_MKCHUNK_SIM_DIR\_$CWB_MKCHUNK_TAG
188 else
189  setenv CWB_MKCHUNK_DIR $CWB_MKCHUNK_RUN\_K$CWB_MKCHUNK_CHUNK\_$CWB_MKCHUNK_CAL\_$CWB_MKCHUNK_NET\_$CWB_MKCHUNK_SEARCH\_$CWB_MKCHUNK_TYPE\_$CWB_MKCHUNK_TAG
190 endif
191 
192 echo "Search plugin name ..."
193 set CWB_MKCHUNK_PLUGIN = $CWB_CONFIG/$CWB_MKCHUNK_RUN/SEARCHES/OFFLINE/$CWB_MKCHUNK_SEARCH/$CWB_MKCHUNK_NET/$CWB_MKCHUNK_TYPE/CWB_Plugin*.C
194 
195 ${CWB_SCRIPTS}/cwb_mkdir.csh $CWB_MKCHUNK_DIR
196 
197 cp $CWB_CONFIG/$CWB_MKCHUNK_RUN/SEARCHES/OFFLINE/$CWB_MKCHUNK_SEARCH/$CWB_MKCHUNK_NET/$CWB_MKCHUNK_TYPE/user_parameters.C $CWB_MKCHUNK_DIR/config/
198 cp $CWB_CONFIG/$CWB_MKCHUNK_RUN/SEARCHES/OFFLINE/$CWB_MKCHUNK_SEARCH/$CWB_MKCHUNK_NET/$CWB_MKCHUNK_TYPE/user_pparameters.C $CWB_MKCHUNK_DIR/config/
199 cp $CWB_MKCHUNK_PLUGIN $CWB_MKCHUNK_DIR/macro/
200 
201 if (( $CWB_MKCHUNK_TYPE =~ 'SIM/*' )) then
202  cp $CWB_CONFIG/$CWB_MKCHUNK_RUN/SEARCHES/OFFLINE/$CWB_MKCHUNK_SEARCH/$CWB_MKCHUNK_NET/$CWB_MKCHUNK_TYPE/*.inj $CWB_MKCHUNK_DIR/input/
203 endif
204 
205 sed -i "s/#CWB_CHUNK_NUMBER/$CWB_MKCHUNK_CHUNK/g" $CWB_MKCHUNK_DIR/config/user_parameters.C
206 sed -i "s\#CWB_CALIB_VER\$CWB_MKCHUNK_CAL\g" $CWB_MKCHUNK_DIR/config/user_parameters.C
207 sed -i "s\#CWB_CHANNEL_NAME\$CWB_MKCHUNK_CHNAME\g" $CWB_MKCHUNK_DIR/config/user_parameters.C
208 sed -i "s\#CWB_L_CHANNEL_NAME\$CWB_MKCHUNK_CHNAME\g" $CWB_MKCHUNK_DIR/config/user_parameters.C
209 sed -i "s\#CWB_H_CHANNEL_NAME\$CWB_MKCHUNK_CHNAME\g" $CWB_MKCHUNK_DIR/config/user_parameters.C
210 sed -i "s\#CWB_V_CHANNEL_NAME\$CWB_MKCHUNK_V_CHNAME\g" $CWB_MKCHUNK_DIR/config/user_parameters.C
211 sed -i "s/#CWB_CHUNK_NUMBER/$CWB_MKCHUNK_CHUNK/g" $CWB_MKCHUNK_DIR/config/user_pparameters.C
212 sed -i "s\#CWB_CALIB_VER\$CWB_MKCHUNK_CAL\g" $CWB_MKCHUNK_DIR/config/user_pparameters.C
213 sed -i "s\#CWB_CONFIG_DIR\$CWB_CONFIG\g" $CWB_MKCHUNK_DIR/config/user_pparameters.C
214 sed -i "s\#CWB_MDC_TYPE\$CWB_MKCHUNK_SIM_DIR\g" $CWB_MKCHUNK_DIR/macro/CWB_Plugin_Config.C
215 
216 
217 # compile plugin
218 set CWB_MKCHUNK_PLUGIN = $CWB_MKCHUNK_DIR/macro/CWB_Plugin*.C
219 
220 if (( $CWB_MKCHUNK_TYPE =~ 'SIM/*' )) then
221  # extract plugin from plugin + plugin_config
222  set split = ($CWB_MKCHUNK_PLUGIN:as/ / /)
223  echo $split[2]
224  root -b -l -q $split[2]++
225 else
226  echo $CWB_MKCHUNK_PLUGIN
227  root -b -l -q $CWB_MKCHUNK_PLUGIN++
228 endif
229 
230 cd $CWB_MKCHUNK_DIR
231 
232 # create cWB_config.log file
233 make -f $CWB_CONFIG/Makefile.log CMD_LINE="$cmd_line" git >& /dev/null
234 
235 if ((( $CWB_MKCHUNK_OPTIONS == 'create' ) || ( $CWB_MKCHUNK_OPTIONS == 'submit' ))) then
236  ${CWB_SCRIPTS}/cwb_condor.csh create
237 endif
238 if ((( $CWB_MKCHUNK_OPTIONS == 'submit' ))) then
239  echo "excecute cwb_condor.csh submit ..."
240  #${CWB_SCRIPTS}/cwb_condor.csh submit
241 endif
242 
243 echo ''
244 echo 'The new working dir is : '$CWB_MKCHUNK_DIR
245 echo ''
246 
247 cd ..
248 
249 unsetenv CWB_MKCHUNK_RUN
250 unsetenv CWB_MKCHUNK_CHUNK
251 unsetenv CWB_MKCHUNK_CAL
252 unsetenv CWB_MKCHUNK_NET
253 unsetenv CWB_MKCHUNK_SEARCH
254 unsetenv CWB_MKCHUNK_TYPE
255 unsetenv CWB_MKCHUNK_TAG
256 unsetenv CWB_MKCHUNK_OPTIONS
257 
258 unsetenv CWB_MKCHUNK_DIR
259 unsetenv CWB_MKCHUNK_PLUGIN
260 unsetenv CWB_MKCHUNK_CHNAME
261 unsetenv CWB_MKCHUNK_TYPE_DIR
262 
263 exit 0
264 irq_ctrlc:
265  ps T | grep root | awk '{print $1}' | xargs kill -9
266  exit 1
shift breaksw case c
Definition: cwb_mkchunk.csh:61
shift breaksw case n
Definition: cwb_mkchunk.csh:71
TString type
int chunk[CHUNK_MAX_SIZE]
shift breaksw case T
Definition: cwb_mkchunk.csh:86
shift breaksw case r
Definition: cwb_clchunk.csh:55
shift breaksw case s
Definition: cwb_mkchunk.csh:76
shift breaksw case q
shift breaksw case C
Definition: cwb_mkchunk.csh:66
shift breaksw case t
Definition: cwb_mkchunk.csh:81
shift breaksw case o
Definition: cwb_mkchunk.csh:91
search