File indexing completed on 2026-04-07 08:10:32
0001
0002
0003 run=$1
0004
0005 dirStart=${run:0:3}
0006 dirEnd=$(($dirStart + 1))
0007
0008 runSpecies=run3oo
0009 buildTag=ana534_2025p010_v001
0010 dstType=DST_TRKR_SEED
0011
0012 directory=DIRECTORY
0013 if [[ "${runSpecies}" == "run3auau" || "${runSpecies}" == "run3pp" || "${runSpecies}" == "run3oo" ]]; then
0014 directory=/sphenix/lustre01/sphnxpro/production/${runSpecies}/physics/${buildTag}/${dstType}/run_000${dirStart}00_000${dirEnd}00/
0015 fi
0016 if [[ "${runSpecies}" == "run2pp" ]]; then
0017 directory=/sphenix/lustre01/sphnxpro/production/${runSpecies}/physics/${buildTag}/${dstType}/run_000${dirStart}00_000${dirEnd}00/dst/
0018 fi
0019
0020 fileHeader=${dstType}_${runSpecies}_${buildTag}-000${run}-
0021 filePath=${directory}${fileHeader}
0022
0023 totalLargeSegments=$(ls -1 ${filePath}*000.root | wc -l)
0024 totalLargeSegments=$((${totalLargeSegments} - 1))
0025
0026 nTotal=1000
0027 nEvents=1000
0028 nSkips=$((($nTotal / $nEvents) - 1))
0029
0030 outDir=fileLists
0031
0032 if [[ ! -d ${outDir} ]]; then
0033 mkdir -p ${outDir}
0034 fi
0035
0036 for largeSegment in $(seq 0 $totalLargeSegments)
0037 do
0038 largeSegment=$(printf "%02d" $largeSegment)
0039 fileNames=${filePath}${largeSegment}*.root
0040
0041 nDSTs=$(ls -1 ${fileNames} | wc -l)
0042 nDSTs=$((${nDSTs} - 1))
0043
0044 outFile=${outDir}/file_run${run}_${largeSegment}.list
0045
0046 if [[ -f ${outFile} ]]; then
0047 rm ${outFile}
0048 fi
0049
0050 echo "Writing output file ${outFile}"
0051
0052 fileCounter=0
0053 for i in $(seq 0 $nDSTs)
0054 do
0055 smallSegment=$(printf "%03d" $fileCounter)
0056
0057 checkFile=${filePath}${largeSegment}${smallSegment}.root
0058 while [[ ! -f ${checkFile} ]]
0059 do
0060 ((fileCounter++))
0061 smallSegment=$(printf "%03d" $fileCounter)
0062
0063 checkFile=${filePath}${largeSegment}${smallSegment}.root
0064 done
0065
0066 DST=$(realpath ${checkFile} | awk -F '/' '{print $NF}' )
0067 ((fileCounter++))
0068
0069 for i in $(seq 0 $nSkips)
0070 do
0071 startEvent=$(($i*$nEvents))
0072
0073 echo "${nEvents} ${DST} ${directory} ${startEvent}" >> ${outFile}
0074
0075
0076 done
0077
0078 done
0079
0080 done
0081