1 |
paus |
1.1 |
#!/bin/bash
|
2 |
|
|
#---------------------------------------------------------------------------------------------------
|
3 |
|
|
# Determining the status of a given production sample
|
4 |
|
|
#---------------------------------------------------------------------------------------------------
|
5 |
|
|
H=`basename $0`
|
6 |
|
|
|
7 |
paus |
1.3 |
CATALOG=$HOME/catalog
|
8 |
paus |
1.1 |
BOOK=$1
|
9 |
|
|
DATASET=$2
|
10 |
paus |
1.2 |
PRINTOPT=$3
|
11 |
|
|
|
12 |
|
|
if [ "$PRINTOPT" == "-header" ]
|
13 |
|
|
then
|
14 |
paus |
1.3 |
date=`date`
|
15 |
|
|
printf "\nUpdated: $date\n\n%s\n" \
|
16 |
|
|
'BOOK SAMPLE All T2(Catalg) ToDo T3(Catalg) ToDoT3'
|
17 |
|
|
printf "%s\n" \
|
18 |
|
|
'---------------------------------------------------------------------------------------------'
|
19 |
paus |
1.2 |
fi
|
20 |
paus |
1.1 |
|
21 |
|
|
DIR=/pnfs/cmsaf.mit.edu/t2bat/cms/store/user/paus/$BOOK
|
22 |
paus |
1.2 |
T3DIR=/mnt/hadoop/cmsprod/$BOOK
|
23 |
paus |
1.1 |
if [ "`list $DIR | grep $DATASET`" != "" ]
|
24 |
|
|
then
|
25 |
|
|
nAll=`wc -l $BOOK/$DATASET.lfns | cut -d ' ' -f 1`
|
26 |
paus |
1.2 |
# how many are done on the Tier-2
|
27 |
paus |
1.3 |
nDone=`list $DIR/$DATASET 2> /dev/null | grep root | wc -l`
|
28 |
|
|
# how many are done on the Tier-2
|
29 |
|
|
nCata=`cat $CATALOG/t2mit/$BOOK/$DATASET/Files 2> /dev/null | grep -v ^# | wc -l`
|
30 |
|
|
# how many are missing on the Tier-2
|
31 |
|
|
nMissing=$(( ${nAll}-${nDone} ))
|
32 |
paus |
1.2 |
# how many are available on the Tier-3
|
33 |
|
|
nDoneT3=`list $T3DIR/$DATASET 2> /dev/null | grep root | wc -l`
|
34 |
paus |
1.3 |
# how many are done on the Tier-3
|
35 |
|
|
nCataT3=`cat $CATALOG/local/$BOOK/$DATASET/Files 2> /dev/null | grep -v ^# | wc -l`
|
36 |
|
|
# how many are missing on the Tier-3
|
37 |
|
|
nMissingT3=0
|
38 |
|
|
if [ $nDoneT3 -gt 0 ]
|
39 |
|
|
then
|
40 |
|
|
nMissingT3=$(( ${nDone}-${nDoneT3} ))
|
41 |
|
|
fi
|
42 |
|
|
# event number, sample and event sizes
|
43 |
paus |
1.1 |
nEvents=`cat $BOOK/$DATASET.lfns | awk '{n=n+$3} END {print n}'`
|
44 |
paus |
1.3 |
size=`list $DIR/$DATASET 2> /dev/null | grep root | awk '{s=s+$1} END {print s/1024./1024./1024.}'`
|
45 |
paus |
1.1 |
sizePerEvent=`echo $nEvents $size | awk '{print $2*1024*1024/$1}'`
|
46 |
paus |
1.3 |
# print the result
|
47 |
|
|
printf "%-11s %-28s %6d %6d(%6d) %6d - %6d(%6d) %6d %12d ev, %8.2f GB, %5.1f kB/ev\n" \
|
48 |
|
|
$BOOK $DATASET \
|
49 |
|
|
$nAll $nDone $nCata $nMissing $nDoneT3 $nCataT3 $nMissingT3 $nEvents $size $sizePerEvent
|
50 |
|
|
fi
|
51 |
paus |
1.2 |
|
52 |
paus |
1.3 |
# if [ $nDone -gt $nCata ]
|
53 |
|
|
# then
|
54 |
|
|
# echo "catalog.sh -ceg `basename $BOOK` $DATASET --retry"
|
55 |
|
|
# catalog.sh -ceg `basename $BOOK` $DATASET --retry
|
56 |
|
|
# fi
|
57 |
paus |
1.1 |
|
58 |
|
|
exit 0
|