22
33# Simple script to find corrupted AO2Ds using the checkCorruptedAO2Ds.C macro
44
5- PRODUCTION=LHC24h2
5+ PRODUCTION=LHC24f3c
66RUN=* # use * for all runs
7- NJOBS=90
7+ NJOBS=20
8+ PRODUCTIONCYCLE=0
89
910OUTPUTFILE=corrupted_files_$PRODUCTION .txt
1011if [ -e " $OUTPUTFILE " ]; then
1112 rm $OUTPUTFILE
1213fi
1314
1415# find all files in alien
15- if [ " $variable " == " *" ]; then
16- alien_find alien:///alice/sim/2024/${PRODUCTION} 5* /AOD/* /AO2D.root > files_to_check.txt
16+ if [ " $RUN " == " *" ]; then
17+ alien_find alien:///alice/sim/2024/${PRODUCTION} / ${PRODUCTIONCYCLE} / 5* /AOD/* /AO2D.root > files_to_check.txt
1718else
18- alien_find alien:///alice/sim/2024/${PRODUCTION} ${RUN} /AOD/* /AO2D.root > files_to_check.txt
19+ alien_find alien:///alice/sim/2024/${PRODUCTION} / ${PRODUCTIONCYCLE} / ${RUN} /AOD/* /AO2D.root > files_to_check.txt
1920fi
2021mapfile -t FILESTOCHECK < files_to_check.txt
2122
22- # process AO2Ds
23+ process AO2Ds
2324process_file () {
2425 IFS=' /' read -a num <<< " $1"
2526 INPUT=$1
26- echo ' .x checkCorruptedAO2Ds.C("' ${INPUT} ' ", true)' | root -l -b > log_${num[5 ]} _${num[7 ]}
27+ echo ' .x checkCorruptedAO2Ds.C("' ${INPUT} ' ", true)' | root -l -b > log_${num[6 ]} _${num[8 ]}
2728 echo ' .q'
2829}
2930export -f process_file
@@ -36,12 +37,12 @@ ERRORSTR="Found corrupted file!"
3637REPAIRSTR=" Found file in need of repair!"
3738for FILE in " ${FILESTOCHECK[@]} " ; do
3839 IFS=' /' read -a num <<< " $FILE"
39- if grep -q " $ERRORSTR " log_${num[5 ]} _${num[7 ]} ; then
40- echo $FILE >> $OUTPUTFILE
41- else grep -q " $REPAIRSTR " log_${num[5 ]} _${num[7 ]} ; then
42- echo $FILE >> $OUTPUTFILE
40+ if grep -q " $ERRORSTR " log_${num[6 ]} _${num[8 ]} ; then
41+ echo $FILE " is corrupted! " >> $OUTPUTFILE
42+ elif grep -q " $REPAIRSTR " log_${num[6 ]} _${num[8 ]} ; then
43+ echo $FILE " is broken! " >> $OUTPUTFILE
4344 fi
4445done
4546
4647rm files_to_check.txt
47- rm log *
48+ rm log_ *
0 commit comments