Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:19:43

0001 #!/usr/bin/env bash
0002 #
0003 # make my own dst_uncal, but broken up into smaller segments to make
0004 # processing faster
0005 #
0006 # probably won't break apart if processing DST_TRIGGERED_EVENT files,
0007 # since those are already broken up
0008 #
0009 
0010 prdflist=$1
0011 tmpfile=/tmp/make_dst_uncal_noslew.out
0012 
0013 nevts=20000 # number to process in each group
0014 
0015 export PASS0DIR=${PWD}/PASS0/54937
0016 echo $PASS0DIR
0017 
0018 for fullprdf in $(cat $prdflist)
0019 do
0020   if [[ "$fullprdf" =~ prdf$ ]]
0021   then
0022     prdf=${fullprdf##*/}
0023     echo  psql -h sphnxdaqdbreplica.sdcc.bnl.gov -Uphnxrc -w daq -c "select filename,firstevent,lastevent from filelist where filename ~ '$prdf';" 
0024     exec psql -h sphnxdaqdbreplica.sdcc.bnl.gov -Uphnxrc -w daq -c "select filename,firstevent,lastevent from filelist where filename ~ '$prdf';" | grep $prdf > $tmpfile
0025     firstevt=$(awk '{print $3}' $tmpfile)
0026     lastevt=$(awk '{print $NF}' $tmpfile)
0027     let nevt=${lastevt}-${firstevt}+1
0028     let nsegments=nevt/20000
0029     let nsegments+=1
0030     echo $firstevt $lastevt $nevt $nsegments
0031   else
0032     prdf=${fullprdf##*/}
0033     let nsegments=1
0034   fi
0035 
0036   let seg=0
0037   while [[ $seg -lt $nsegments ]]
0038   do
0039     let nskip=$seg*20000
0040     dir=${prdf%.prdf}
0041     dir=${dir%.root}
0042     dir=${dir}-$(printf "%04d" $seg)
0043     mkdir -p ${dir}
0044     cd ${dir}
0045     ln -sf ../make_dst_uncal_noslew.cmd .
0046     ln -sf ../run_mbdcalpass.sh .
0047     ln -sf ../Fun4All_MBD_CalPass.C .
0048     [[ -f $fullprdf ]] && ln -sf $fullprdf .
0049     ../submit.sh make_dst_uncal_noslew.cmd $prdf $nevts $nskip
0050     let seg+=1
0051     cd ..
0052   done
0053 done
0054