]>
Commit | Line | Data |
---|---|---|
de3b7b4d | 1 | #!/bin/sh |
2 | ############################################################################# | |
3 | # rawqa.sh. Front-end script to run reconstruction from the grid chunks | |
4 | # Usage: | |
5 | # ./rawqa.sh <run_number> | |
6 | ############################################################################# | |
7 | # | |
8 | # modification history | |
9 | # version 1.0 July 2008 adapated from rec.C by M. Meoni | |
10 | # author Yves Schutz CERN | |
11 | # | |
12 | ||
13 | ||
14 | # SET THE FOLLOWING PARAMETERS IF NEEDED: | |
15 | # --------------------------------------- | |
16 | export YEAR=08 | |
17 | DIALOG=´which dialog´ | |
18 | # --------------------------------------- | |
19 | ||
20 | RUNNUM=$1 | |
21 | ||
22 | [ -z $RUNNUM ] && { echo "Please provide a run number..."; exit 1; } | |
23 | ||
24 | [ ! -e "$HOME/.globus/usercert.pem" ] && { echo "FAILED: There is no certificate in $HOME/.globus"; exit 1; } | |
25 | ||
26 | [ -e "/tmp/gclient_env_$UID" ] && { source /tmp/gclient_env_$UID; } | |
27 | alien-token-init | |
28 | ||
29 | [ ! "$?" -eq "0" ] && { echo "FAILED: Token creation failed"; exit 1; } | |
30 | ||
31 | VERSION=1.0 | |
32 | TITLE="Standalone QA checking of Grid rawdata chunks. v$VERSION" | |
33 | ||
34 | # Retrieve the list of chunks from AliEn....... | |
35 | export BASEDIR="/alice/data/20"$YEAR | |
36 | PATTERN="/raw/"$YEAR"0000"$RUNNUM"*0.root" | |
37 | #aliensh -c "gbbox find $BASEDIR $PATTERN" | head --lines=-1 > collection.tmp | |
38 | aliensh -c "gbbox find $BASEDIR $PATTERN" > collection.tmp | |
39 | ||
40 | [ `ls -al collection.tmp | awk '{print $5}'` -eq 0 ] && { echo "No chunks found for the given run"; exit 1; } | |
41 | rm -r collection.tmp2 | |
42 | # | |
43 | for ifile in `cat collection.tmp | grep root` ; do printf $ifile" "\|" "0" " >> collection.tmp2 ; done | |
44 | list=`cat collection.tmp2` | |
45 | [ -e collection.tmp2 ] && { rm -f collection.tmp2 ; } | |
46 | totChunks=`cat collection.tmp | wc -l` | |
47 | rm -f collection.tmp | |
48 | ||
49 | tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ | |
50 | trap "rm -f $tempfile" 0 1 2 5 15 | |
51 | dialog --clear --no-cancel --title "$TITLE" \ | |
52 | --ok-label OK --checklist "$totChunks chunks available for run $RUNNUM (only the first 500 are shown). Select chunks for reconstruction" 18 80 10 \ | |
53 | $list 2> $tempfile | |
54 | ||
55 | CHUNKS=`cat $tempfile` | |
56 | echo "Selected chunks:" | |
57 | echo $CHUNKS | |
58 | echo | |
59 | ||
60 | #dialog --clear --no-cancel \ | |
61 | # --ok-label OK --radiolist "Program to run:" 15 20 5 "aliroot -b" \| on alieve \| off 2> $tempfile | |
62 | PROGRAM=aliroot #`cat $tempfile` | |
63 | # | |
64 | for filename in $CHUNKS; do | |
65 | filename=${filename//\"/} | |
66 | CHUNK=`basename $filename | cut -d "." -f 1,2` | |
67 | echo "Running QA for chunk $filename. Outputs will be stored in "$RUNNUM"/"$CHUNK"." | |
68 | rm -rf $RUNNUM"/"$CHUNK | |
69 | mkdir -p $RUNNUM"/"$CHUNK | |
70 | cd $RUNNUM"/"$CHUNK | |
71 | $PROGRAM -q $ALICE_ROOT/test/cosmic/rawqa.C\(\"$filename\"\) 2>&1 | tee rawqa.log | |
72 | cd ../.. | |
73 | done |