Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-08-31 08:24:38

0001 #!/usr/bin/env bash
0002 
0003 trkdst="clus"
0004 
0005 # Parse --trkdst; remaining positional args are ${listdir}/${run}.list paths
0006 runlists=()
0007 while [[ $# -gt 0 ]]; do
0008   case "$1" in
0009     --trkdst|--trkdst=*)
0010       if [[ "$1" == *=* ]]; then trkdst="${1#*=}"; shift
0011       else [[ $# -lt 2 ]] && { echo "ERROR: --trkdst requires an argument" >&2; exit 1; }
0012            trkdst=$2; shift 2; fi
0013       [[ "$trkdst" == "clus" || "$trkdst" == "tracks" ]] || \
0014         { echo "ERROR: --trkdst must be clus or tracks" >&2; exit 1; } ;;
0015     *) runlists+=("$1"); shift ;;
0016   esac
0017 done
0018 
0019 NEVT_PER_JOB=100000      # nevt to process per list file
0020 EVT_PER_DST=1000         # nevt per dst_trkr_cluster or track
0021 EVT_PER_FIT=100000       # nevt per dst_calofit
0022 
0023 NFILES_JOB=$(( NEVT_PER_JOB / EVT_PER_DST ))
0024 
0025 for runlist in "${runlists[@]}"
0026 do
0027   # runlist is ${base_listdir}/${dst_subdir}/${run}.list; go up two levels for base_listdir
0028   base_listdir=$(dirname "$(dirname "$runlist")")
0029 
0030   for dst in $(shuf -n ${NFILES_JOB} "$runlist")
0031   do
0032     echo dst $dst 
0033     seg=${dst%.root}
0034     seg=${seg##*-}
0035 
0036     run=${dst%-*}
0037     run=${run##*-}
0038 
0039     log_base=${run}_${seg}
0040 
0041     seg=$((10#$seg))  # convert to base 10
0042     run=$((10#$run))
0043 
0044     echo ./submit.sh --log ${log_base} ./prorun_mbdtrkz.sh $run --trkseg $seg --trkdst $trkdst --listdir "$base_listdir"
0045     ./submit.sh --log ${log_base} ./prorun_mbdtrkz.sh $run --trkseg $seg --trkdst $trkdst --listdir "$base_listdir"
0046   done
0047 done
0048