Skip to content

Commit e3a1038

Browse files
committed
Update macros to find corrupted AO2Ds
1 parent f467060 commit e3a1038

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

UTILS/checkCorruptedAO2Ds.C

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ void MyErrorHandler(int level, Bool_t abort, const char *location, const char *m
1616
DefaultErrorHandler(level, abort, location, msg); // Call ROOT’s default handler
1717
}
1818

19-
int checkCorruptedAO2Ds(TString infileName = "/alice/sim/2024/LHC24h2/535545/AOD/005/AO2D.root", bool fromAlien = true) {
19+
int checkCorruptedAO2Ds(TString infileName = "AO2D_FZK.root", bool fromAlien = false) {
20+
21+
SetErrorHandler(MyErrorHandler);
2022

2123
if (fromAlien) {
2224
TGrid::Connect("alien://");
@@ -32,7 +34,7 @@ int checkCorruptedAO2Ds(TString infileName = "/alice/sim/2024/LHC24h2/535545/AOD
3234

3335
// all VLA branches in the AO2Ds.root
3436
std::map<std::string, std::vector<std::string>> branchesToCheck = {
35-
{"O2mcparticle_001", std::vector<std::string>{"fIndexArray_Mothers"}},
37+
{"O2mcparticle_001", std::vector<std::string>{"fIndexArray_Mothers", "fVx", "fIndexMcCollisions"}},
3638
{"O2ft0", std::vector<std::string>{"fAmplitudeA", "fChannelA", "fAmplitudeC", "fChannelC"}},
3739
{"O2fv0a", std::vector<std::string>{"fAmplitude", "fChannel"}},
3840
{"O2mccalolabel_001", std::vector<std::string>{"fIndexArrayMcParticles", "fAmplitudeA"}},

UTILS/findCorruptedAO2Ds.sh

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,29 @@
22

33
# Simple script to find corrupted AO2Ds using the checkCorruptedAO2Ds.C macro
44

5-
PRODUCTION=LHC24h2
5+
PRODUCTION=LHC24f3c
66
RUN=* # use * for all runs
7-
NJOBS=90
7+
NJOBS=20
8+
PRODUCTIONCYCLE=0
89

910
OUTPUTFILE=corrupted_files_$PRODUCTION.txt
1011
if [ -e "$OUTPUTFILE" ]; then
1112
rm $OUTPUTFILE
1213
fi
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
1718
else
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
1920
fi
2021
mapfile -t FILESTOCHECK < files_to_check.txt
2122

22-
# process AO2Ds
23+
process AO2Ds
2324
process_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
}
2930
export -f process_file
@@ -36,12 +37,12 @@ ERRORSTR="Found corrupted file!"
3637
REPAIRSTR="Found file in need of repair!"
3738
for 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
4445
done
4546

4647
rm files_to_check.txt
47-
rm log*
48+
rm log_*

0 commit comments

Comments
 (0)