]>
Commit | Line | Data |
---|---|---|
21d4a8d1 | 1 | #!/bin/sh |
2 | ############################################################################# | |
3 | # rec.sh. Front-end script to run reconstruction from the grid chunks | |
4 | # Usage: | |
5 | # ./rec.sh <run_number> | |
6 | ############################################################################# | |
7 | # | |
8 | # modification history | |
9 | # version 1.0 2008/03/04 02:12 Marco Meoni | |
10 | ||
11 | # SET THE FOLLOWING PARAMETERS IF NEEDED: | |
12 | # --------------------------------------- | |
13 | YEAR=08 | |
14 | ALIENBIN=$ALIEN_ROOT/bin | |
15 | DIALOG=${DIALOG=dialog} | |
16 | PATH=$PATH:$ALIEN_ROOT/api/bin | |
17 | #LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/alien/api/lib | |
18 | # --------------------------------------- | |
19 | ||
20 | RUNNUM=$1 | |
21 | ||
22 | if [ -z $RUNNUM ]; then | |
23 | echo "Please provide a run number..." | |
24 | exit | |
25 | fi | |
26 | ||
27 | [ -e $ALIENBIN/alien ] || { echo "Cannot find AliEn client: missing ALIEN_ROOT environment variable and/or AliEn installation..."; exit 1; } | |
28 | ||
29 | VERSION=1.0 | |
30 | TITLE="Standalone reconstruction of Grid rawdata chunks. v$VERSION" | |
31 | ALIEN="$ALIENBIN/alien login -exec" | |
32 | ||
33 | # Retrieve the list of chunks from AliEn....... | |
34 | BASEDIR="/alice/data/20"$YEAR | |
35 | PATTERN=$YEAR"0000"$RUNNUM"*0.root" | |
36 | ||
37 | $ALIEN " find $BASEDIR $PATTERN" > collection.tmp | |
38 | [ $(stat -c%s collection.tmp) -eq 0 ] && { echo "No chunks found for the given run"; exit 1; } | |
39 | list=`cat collection.tmp | awk '{printf("%s %s %s ",$1," .","0");}'` | |
40 | rm -f collection.tmp | |
41 | ||
42 | totChunks=`echo $list | wc -w`; totChunks=`echo \($totChunks / 3\) | bc` | |
43 | ||
44 | tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ | |
45 | trap "rm -f $tempfile" 0 1 2 5 15 | |
46 | ||
47 | $DIALOG --clear --no-cancel --title "$TITLE" \ | |
48 | --ok-label OK --checklist "$totChunks chunks available. Select chunks for reconstruction" 18 74 10 \ | |
49 | $list 2> $tempfile | |
50 | ||
51 | CHUNKS=`cat $tempfile`" ." | |
52 | echo "Selected chunks:" | |
53 | echo $CHUNKS | |
54 | echo | |
55 | ||
56 | alien-token-init | |
57 | . /tmp/gclient_env_$UID | |
58 | ||
59 | echo $CHUNKS | while read -d " " filename; do | |
60 | filename=${filename//\"/} | |
61 | CHUNK=`echo $filename | cut -d "/" -f 8 | cut -d "." -f 1,2 | cut -c 12-14,16-` | |
62 | ||
63 | echo "Running AliRoot reconstruction for chunk $filename. Outputs will be stored in "$RUNNUM"/"$CHUNK"." | |
64 | rm -rf $RUNNUM"/"$CHUNK | |
65 | mkdir -p $RUNNUM"/"$CHUNK | |
66 | cd $RUNNUM"/"$CHUNK | |
67 | aliroot -b -q ../../rec.C\(\"alien://$filename\"\) 2>&1 | tee rec.log | |
68 | cd ../.. | |
69 | done |