]>
Commit | Line | Data |
---|---|---|
3d886162 | 1 | #!/bin/sh |
2 | ||
3 | # AnaQA.sh | |
4 | # | |
5 | # | |
6 | # Created by schutz on 30/09/08. | |
7 | # Copyright 2008 CERN. All rights reserved. | |
8 | macroname="AnaQA" | |
9 | validateout=`dirname $0` | |
10 | validatetime=`date` | |
11 | validated="0"; | |
12 | if [ -z $validateout ] | |
13 | then | |
14 | validateout="." | |
15 | fi | |
16 | ||
17 | cd $validateout; | |
18 | validateworkdir=`pwd`; | |
19 | ||
20 | echo "*******************************************************" >> stdout; | |
21 | echo "* AliRoot QA Validation Script V1.0 *" >> stdout; | |
22 | echo "* Time: $validatetime " >> stdout; | |
23 | echo "* Dir: $validateout" >> stdout; | |
24 | echo "* Workdir: $validateworkdir" >> stdout; | |
25 | echo "* ----------------------------------------------------*" >> stdout; | |
26 | detectorlist="ITS TPC TRD TOF PHOS HMPID EMCAL FMD ZDC T0 VZERO PMD ACORDE Global" | |
27 | if [ $# -eq 0 ] ; then | |
28 | echo "syntax: AnaQA.sh #runNumber" | |
29 | exit 1 | |
30 | fi | |
31 | if [ ! -f ${macroname}.C ] ; then | |
32 | echo "* ########## Job not validated - no validation macro (${macroname}.C) ###" >> stdout; | |
33 | exit 2 | |
34 | fi | |
35 | run=$1 | |
36 | logfile=${macroname}_${run}.log | |
37 | if [ -e $logfile ] ; then | |
38 | rm $logfile | |
39 | fi | |
40 | aliroot -b > $logfile <<EOF | |
41 | .L ${macroname}.C+ | |
42 | ${macroname}($run) | |
43 | EOF | |
44 | if [ ! -f $logfile ] ; then | |
45 | echo "* ########## Job not validated - no log file ($logfile) ###" >> stdout; | |
46 | exit 2 | |
47 | fi | |
48 | let error=0 | |
49 | declare -a array | |
50 | for pb in `grep -i "Problem signalled" $logfile | awk '{print $1"_"$2"_"$NF}'` ; do | |
51 | for det in detectorlist ; do | |
52 | array[$error]=`echo $pb | awk '{ split($0, a, "_"); print a[1]" "a[3]" in "a[2]}'` | |
53 | ((error++)) | |
54 | done | |
55 | done | |
56 | if [ "$error" = "0" ] ; then | |
57 | echo "* ---------------- Job Validated ------------------*" >> stdout; | |
58 | else | |
59 | errors=${#array[@]} | |
60 | echo "* ########## Job not validated - number of errors: $errors ###" >> stdout; | |
61 | for (( i=0;i<$errors;i++ )); do | |
62 | echo $i-- ${array[${i}]} >> stdout; | |
63 | done | |
64 | fi | |
65 | echo "* ----------------------------------------------------*" >> stdout; | |
66 | echo "*******************************************************" >> stdout; |