2 #----------------------------------------------------------------------
4 # Name: make_xml_mcc1.0.sh
6 # Purpose: Make xml files for mcc 1.0. This script loops over all
7 # generator-level fcl files in the source area of the currently
8 # setup version of sbndcode (that is, under
9 # $SBNDCODE_DIR/source/fcl/gen), and makes a corresponding xml
10 # project file in the local directory.
14 # make_xml_mcc1.0.sh [-h|--help] [-r <release>] [-u|--user <user>] [--local <dir|tar>] [--nev <n>] [--nevjob <n>] [--nevgjob <n>]
18 # -h|--help - Print help.
19 # -r <release> - Use the specified larsoft/sbndcode release.
20 # -u|--user <user> - Use users/<user> as working and output directories
21 # (default is to use sbndpro).
22 # --local <dir|tar> - Specify larsoft local directory or tarball (xml
23 # tag <local>...</local>).
24 # --nev <n> - Specify number of events for all samples. Otherwise
25 # use hardwired defaults.
26 # --nevjob <n> - Specify the default number of events per job.
27 # --nevgjob <n> - Specify the maximum number of events per gen/g4 job.
29 #----------------------------------------------------------------------
42 while [ $# -gt 0 ];
do
48 echo
"Usage: make_xml_mcc1.0.sh [-h|--help] [-r <release>] [-q <qual>] [-u|--user <user>] [--local <dir|tar>] [--nev <n>] [--nevjob <n>] [--nevgjob <n>]"
90 # Total number of events.
99 # Number of events per job.
102 if [ $# -gt 1 ]; then
108 # Number of events per gen/g4 job.
111 if [ $# -gt 1 ]; then
125 # Delete existing xml files.
129 # Loop over existing generator fcl files.
133 if ! echo $fcl | grep -
q common; then
140 echo
"Making ${newprj}.xml"
144 genfcl=`basename $fcl`
148 g4fcl=standard_g4_sbnd.fcl
149 if echo $newprj | grep -
q dirt; then
153 # Detsim (optical + tpc).
156 if echo $newprj | grep -
q dirt; then
158 if echo $newprj | grep -
q bnb; then
167 recofcl=standard_reco_sbnd_basic.fcl
171 mergefcl=standard_anatree_sbnd.fcl
173 # Set number of gen/g4 events per job.
176 if [ $nevgjob -eq 0 ]; then
177 if echo $newprj | grep -
q dirt; then
188 # Set number of events.
191 if [ $nev -eq 0 ]; then
192 if [ $newprj = prodgenie_bnb_nu_cosmic_sbnd ]; then
194 elif [ $newprj = prodgenie_bnb_nu_sbnd ]; then
196 elif [ $newprj = prodgenie_bnb_nue_cosmic_sbnd ]; then
198 elif [ $newprj = prodgenie_bnb_nue_sbnd ]; then
200 elif [ $newprj = prodcosmics_sbnd ]; then
206 nev=$(( $nev * $filt ))
208 # Calculate the number of worker jobs.
210 njob1=$(( $nev / $nevgjob )) # Pre-
filter (gen, g4)
211 njob2=$(( $nev / $nevjob / $filt ))
# Post-filter (detsim and later)
212 if [ $njob1 -lt $njob2 ]; then
219 <!-- Production Project -->
222 <!ENTITY release
"$rel">
223 <!ENTITY file_type
"mc">
224 <!ENTITY run_type
"physics">
225 <!ENTITY
name "$newprj">
226 <!ENTITY tag
"mcc1.0">
229 <project
name=
"&name;">
231 <!-- Project
size -->
232 <numevents>$nev</numevents>
234 <!-- Operating System -->
237 <!-- Batch resources -->
245 if [
x$local !=
x ]; then
247 echo
" <local>${local}</local>" >> $newxml
252 <!-- Project stages -->
258 <numjobs>$njob1</numjobs>
259 <datatier>generated</datatier>
260 <defname>&
name;_&tag;_gen</defname>
267 <numjobs>$njob1</numjobs>
268 <datatier>simulated</datatier>
269 <defname>&
name;_&tag;_g4</defname>
273 if [
x$detsimfcl !=
x ]; then
275 <
stage name=
"detsim">
279 <numjobs>$njob2</numjobs>
280 <datatier>
detector-simulated</datatier>
281 <defname>&
name;_&tag;_detsim</defname>
286 if [
x$optsimfcl !=
x ]; then
288 <
stage name=
"optsim">
292 <numjobs>$njob2</numjobs>
293 <datatier>optical-simulated</datatier>
294 <defname>&
name;_&tag;_optsim</defname>
299 if [
x$tpcsimfcl !=
x ]; then
301 <
stage name=
"tpcsim">
305 <numjobs>$njob2</numjobs>
306 <datatier>tpc-simulated</datatier>
307 <defname>&
name;_&tag;_tpcsim</defname>
317 <numjobs>$njob2</numjobs>
318 <datatier>reconstructed</datatier>
319 <defname>&
name;_&tag;_reco</defname>
322 <
stage name=
"anatree">
326 <numjobs>$njob2</numjobs>
327 <targetsize>8000000000</targetsize>
328 <datatier>reconstructed</datatier>
329 <defname>&
name;_&tag;</defname>
333 <filetype>&file_type;</filetype>
336 <runtype>&run_type;</runtype>
process_name standard_reco_uboone fcl
opportunistic OPPORTUNISTIC
process_name opflash particleana ie x
process_name can override from command line with o or output proton mvapid_weights muon_all_BDT weights xml
then source cvmfs dune opensciencegrid org products dune setup_dune sh exit elif[-f/grid/fermiapp/products/dune/setup_dune_fermiapp.sh]
std::size_t size(FixedBins< T, C > const &) noexcept
process_name standard_reco_uboone reco
then if echo $newprj grep q dirt
then echo echo For and will not be changed by echo further linking echo echo B echo The symbol is in the uninitialized data multiple common symbols may appear with the echo same name If the symbol is defined the common echo symbols are treated as undefined references For more echo details on common see the discussion of warn common echo in *Note Linker see the discussion of warn common echo in *Note Linker such as a global int variable echo as opposed to a large global array echo echo I echo The symbol is an indirect reference to another symbol This echo is a GNU extension to the a out object file format which is echo rarely used echo echo N echo The symbol is a debugging symbol echo echo R echo The symbol is in a read only data section echo echo S echo The symbol is in an uninitialized data section for small echo objects echo echo T echo The symbol is in the the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo W echo The symbol is a weak symbol that has not been specifically echo tagged as a weak object symbol When a weak defined symbol echo is linked with a normal defined the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo echo The symbol is a stabs symbol in an a out object file In echo this the next values printed are the stabs other echo the stabs desc and the stab type Stabs symbols are echo used to hold debugging information For more information
esac shift done rm f *xml find $SBNDCODE_DIR source fcl gen name *fcl while read fcl do if!echo $fcl grep q common
if &&[-z"$BASH_VERSION"] then echo Attempting to switch to bash bash shellSwitch exit fi &&["$1"= 'shellSwitch'] shift declare a IncludeDirectives for Dir in
stream1 can override from command line with o or output services user sbnd