]> git.uio.no Git - u/mrichter/AliRoot.git/blame - test/QA/MergeAndCheck.sh
Separate syswatch for sim. and rec.
[u/mrichter/AliRoot.git] / test / QA / MergeAndCheck.sh
CommitLineData
0c1bd98e 1#! /bin/bash
2# 1. Merge all the QAData files from a given Run
3# 2. Run rge QA Checker on the merged file
4PRODYEAR=$2
5PRODCYCLE=$3
6RUNNUMBER=$4
7BASEDIR=""
8MODE=""
9XMLCOLL="QA"_$RUNNUMBER".xml"
10PATTERN="Merged.QA.Data.root"
11MERGEDOUT="Merged.QA.Data.$RUNNUMBER.root"
12dialog=/sw/bin/dialog
13Help(){
4ebe6748 14echo "Usage: MergeAndCheck.sh -h|s|r|c [xxxx, yyyy, zzzz]"
0c1bd98e 15echo " -h : get this list"
16echo " -s <production year> <production cycle> <run number> : processes MC data"
17echo " -r <year> <production cycle> <run number> : processes RAW data"
18echo " -c <run number> : processes RAW data only"
19}
20
21SetupAliEnEnv(){
22echo "...............Setting up AliEn environment"
23if [ ! -e "$HOME/.globus/usercert.pem" ]; then
24 echo "No grid certificate found in $HOME/.globus"
25 exit 1
26fi
27if [ ! -e "/tmp/gclient_env_$UID" ]; then
28 alien-token-init
29 if [ ! "$?" -eq "0" ]; then
30 echo "alien-token-init failed"
31 exit 1
32 fi
33else
34 source /tmp/gclient_env_$UID
35fi
36}
37
38MakeXML(){
39echo "...............Make XML for" $BASEDIR
40gbbox find -x MergedQACollection $BASEDIR $PATTERN > $XMLCOLL
e3e2a85a 41if [ ! "$?" -eq "0" ]; then
42 echo "MergeXML failed"
43 exit 1
44fi
0c1bd98e 45}
46
47Merge(){
48echo "...............Make Merge of" $BASEDIR
49aliroot -b << EOF
50 AliQAManager * qam = AliQAManager::QAManager($MODE) ;
51 qam->MergeXML("$XMLCOLL", NULL, "$MERGEDOUT")
52 .q
53EOF
e3e2a85a 54if [ ! "$?" -eq "0" ]; then
55 echo "Merge failed"
56 exit 1
57fi
0c1bd98e 58}
59
60Check(){
61echo "...............Make Check of $MERGEDOUT"
4ebe6748 62if [ -e "QA.$RUNNUMBER.root" ] ; then
63 rm QA.$RUNNUMBER.root
0c1bd98e 64fi
65if [ -e "QA.root" ] ; then
66 rm QA.root
67fi
68aliroot -b << EOF
69 AliQAv1::SetQARefStorage("local://$ALICE_ROOT/QAref") ;
70 AliQAChecker::Instance()->Run("$MERGEDOUT")
71 .q
72EOF
4ebe6748 73mv QA.root QA.$RUNNUMBER.root
e3e2a85a 74if [ ! "$?" -eq "0" ]; then
75 echo "Check failed"
76 exit 1
77fi
0c1bd98e 78}
e3e2a85a 79
80Save(){
4ebe6748 81echo "...............Save $MERGEDOUT and QA.$RUNNUMBER.root in alien://$BASEDIR"
e3e2a85a 82gbbox cp file:$MERGEDOUT $BASEDIR
4ebe6748 83gbbox cp file:QA$.RUNNUMBER.root $BASEDIR
e3e2a85a 84if [ ! "$?" -eq "0" ]; then
85 echo "Save failed"
86 exit 1
87fi
88}
89
0c1bd98e 90# Start
91if [ $# -eq 0 ] ; then
92 Help
93 exit 1
94fi
95# help
96if [ "$1" == "-h" ] ; then
97 Help
98 exit 0
99fi
100# run
4ebe6748 101if [ "$1" == "-s" -o "$1" == "-r" -o "$1" == -a ] ; then
0c1bd98e 102 if [ $# -lt 4 ] ; then
103 echo "Missing data !"
104 Help
105 exit 1
106 fi
107 if [ "$1" == "-s" ] ; then
108 BASEDIR="/alice/sim/"$PRODYEAR"/"$PRODCYCLE"/"$RUNNUMBER
109 MODE="AliQAv1::kSIMMODE"
110 fi
111 if [ "$1" == "-r" ] ; then
112 BASEDIR="/alice/data/"$PRODYEAR"/"$PRODCYCLE"/"$RUNNUMBER
113 MODE="AliQAv1::kRECMODE"
114 fi
115 SetupAliEnEnv
116 MakeXML
117 Merge
118 Check
4ebe6748 119 Save
0c1bd98e 120fi
121if [ "$1" == "-c" ] ; then
122 if [ $# -lt 2 ] ; then
123 echo "Missing data !"
124 Help
125 exit 1
126 fi
127 RUNNUMBER=$2
128 MERGEDOUT="Merged.QA.Data.$RUNNUMBER.root"
129 Check
130fi
4ebe6748 131
0c1bd98e 132# Done
133if [ -e $XMLCOLL ] ; then
134 rm $XMLCOLL
135fi
136exit 0