1 |
#!/bin/bash
|
2 |
#---------------------------------------------------------------------------------------------------
|
3 |
# Determining the status of a given production sample
|
4 |
#---------------------------------------------------------------------------------------------------
|
5 |
H=`basename $0`
|
6 |
|
7 |
CATALOG=$HOME/catalog
|
8 |
BOOK=$1
|
9 |
DATASET=$2
|
10 |
PRINTOPT=$3
|
11 |
|
12 |
if [ "$PRINTOPT" == "-header" ]
|
13 |
then
|
14 |
date=`date`
|
15 |
printf "\nUpdated: $date\n\n%s\n" \
|
16 |
'BOOK SAMPLE All T2 (Catalg) ToDo'
|
17 |
printf "%s\n" \
|
18 |
'----------------------------------------------------------------------------------'
|
19 |
fi
|
20 |
|
21 |
DIR1=/mnt/hadoop/cms/store/user/paus/$BOOK
|
22 |
T3DIR=/mnt/hadoop/cmsprod/$BOOK
|
23 |
if [ "`list $DIR1 2> /dev/null | grep $DATASET`" != "" ]
|
24 |
then
|
25 |
if ! [ -e "lfns/$DATASET.lfns" ]
|
26 |
then
|
27 |
echo " Warning: complete file list not available. Creating it now."
|
28 |
echo " -> findSamples.py --cmssw=mc --pattern=$DATASET --remakeLfns=1 --complete --exe"
|
29 |
# find sample in list
|
30 |
findSamples.py --cmssw=mc --pattern=$DATASET --remakeLfns=1 --complete --exe >& /dev/null
|
31 |
fi
|
32 |
nAll=`wc -l lfns/$DATASET.lfns 2> /dev/null | cut -d ' ' -f 1`
|
33 |
# how many are done on the Tier-2
|
34 |
#echo list $DIR1/$DATASET '2> /dev/null | grep root | wc -l'
|
35 |
nDone=`list $DIR1/$DATASET 2> /dev/null | grep root | wc -l`
|
36 |
# how many are done on the Tier-2
|
37 |
#echo cat $CATALOG/t2mit/$BOOK/$DATASET/Files '2> /dev/null | grep -v ^# | wc -l'
|
38 |
nCata=`cat $CATALOG/t2mit/$BOOK/$DATASET/Files 2> /dev/null | grep -v ^# | wc -l`
|
39 |
# how many are missing on the Tier-2
|
40 |
nMissing=$(( ${nAll}-${nDone} ))
|
41 |
|
42 |
## # how many are available on the Tier-3
|
43 |
## nDoneT3=`list $T3DIR/$DATASET 2> /dev/null | grep root | wc -l`
|
44 |
## # how many are done on the Tier-3
|
45 |
## nCataT3=`cat $CATALOG/local/$BOOK/$DATASET/Files 2> /dev/null | grep -v ^# | wc -l`
|
46 |
## # how many are missing on the Tier-3
|
47 |
## nMissingT3=0
|
48 |
## if [ $nDoneT3 -gt 0 ]
|
49 |
## then
|
50 |
## nMissingT3=$(( ${nDone}-${nDoneT3} ))
|
51 |
## fi
|
52 |
|
53 |
# event number, sample and event sizes
|
54 |
nEvents=`cat lfns/$DATASET.lfns 2> /dev/null | awk '{n=n+$3} END {print n}'`
|
55 |
size=0
|
56 |
if [ "$nEvents" != "" ] && [ "`list $DIR1/$DATASET 2> /dev/null`" != "" ]
|
57 |
then
|
58 |
size=`list $DIR1/$DATASET 2> /dev/null | grep root | awk '{s=s+$1} END {print s/1024./1024./1024.}'`
|
59 |
fi
|
60 |
sizePerEvent=0
|
61 |
if [ "$nEvents" != "" ] && [ $nEvents -gt 0 ]
|
62 |
then
|
63 |
sizePerEvent=`echo $nEvents $size | awk '{print $2*1024*1024/$1}'`
|
64 |
fi
|
65 |
|
66 |
# print the result
|
67 |
#echo " ECHO -- " \
|
68 |
# $BOOK $DATASET \
|
69 |
# $nAll $nDone $nCata $nMissing $nDoneT3 $nCataT3 $nMissingT3 $nEvents $size $sizePerEvent
|
70 |
#printf "%-13s %-38s %6d %6d(%6d) %6d - %6d(%6d) %6d %12d ev, %8.2f GB, %5.1f kB/ev\n" \
|
71 |
# $BOOK $DATASET \
|
72 |
# $nAll $nDone $nCata $nMissing $nDoneT3 $nCataT3 $nMissingT3 $nEvents $size $sizePerEvent
|
73 |
printf "%-13s %-38s %6d %6d (%6d) %6d %12d ev, %8.2f GB, %5.1f kB/ev\n" \
|
74 |
$BOOK $DATASET \
|
75 |
$nAll $nDone $nCata $nMissing $nEvents $size $sizePerEvent
|
76 |
fi
|
77 |
|
78 |
# if [ $nDone -gt $nCata ]
|
79 |
# then
|
80 |
# echo "catalog.sh -ceg `basename $BOOK` $DATASET --retry"
|
81 |
# catalog.sh -ceg `basename $BOOK` $DATASET --retry
|
82 |
# fi
|
83 |
|
84 |
exit 0
|