1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#!/bin/sh
#
# $1 = run number
# $2 = whether to run injection (optional)
#
echo "Running conversion script ..."
BASEDIR=/opt/cmssw
echo " CMSSW base directory : "$BASEDIR
SCRATCH=$BASEDIR/Data/$1
echo " Output storage directory : "$SCRATCH
TEMPLATEPY=/opt/cmssw/scripts/conversion_template_cfg.py
echo " Conversion template : "$TEMPLATEPY
# set up CMSSW environment
source $BASEDIR/scripts/setup.sh
cd $BASEDIR/Stable/current/src
eval `scram runtime -sh`
# convert streamer files if they have not yet been converted
echo -n " Converting raw files ..."
cd $SCRATCH
RAWFILES=$(ls *.dat)
count=0
convertout="conversion_$1_`date +%s`"
rm -f $convertout.log $convertout.cout
touch $convertout.log $convertout.cout
for file in $RAWFILES; do
count=`expr $count + 1`
ROFILE=${file%.*}.root
if [ ! -e "$SCRATCH/$ROFILE" ] ; then # convert only if non-existant
echo -n "."
sed 's,DATFILE,'$SCRATCH/$file',g' $TEMPLATEPY \
| sed 's,ROOFILE,'$SCRATCH/$ROFILE'.tmp,g' > conversion_$1_cfg.py
cmsRun conversion_$1_cfg.py >> $convertout.cout 2>&1
mv $SCRATCH/$ROFILE.tmp $SCRATCH/$ROFILE
cat info.log >> $convertout.log
rm -f debug.log info.log warning.log error.log
rm -f conversion_$1_cfg.py
#else
# echo "$SCRATCH/$file already converted, so leaving it alone."
fi
done
echo " done."
# now we could remove unnecessary dat/ind files after conversion
# inject root files
if [ "$2" == "" ] ; then exit 0 ; fi
echo "Running root file injection ..."
injectout="inject_$1_`date +%s`.log"
rm -f $injectout
touch $injectout
echo -n " Injecting raw data ..."
for file in `ls USC*.root`; do
echo -n "."
bash -c "exec -c /opt/cmssw/scripts/inject.sh $file $SCRATCH $1 SiStripCommissioning09-edm $CMSSW_VERSION" >> $injectout
done
echo " done."
echo -n " Injecting commissioning source files ..."
for file in `ls SiStripCommissioningSource*root`; do
echo -n "."
bash -c "exec -c /opt/cmssw/scripts/inject.sh $file $SCRATCH $1 SiStripCommissioning09-source $CMSSW_VERSION" >> $injectout
done
echo " done."
echo -n " Injecting commissioning client files ..."
for file in `ls SiStripCommissioningClient*root`; do
echo -n "."
bash -c "exec -c /opt/cmssw/scripts/inject.sh $file $SCRATCH $1 SiStripCommissioning09-client $CMSSW_VERSION" >> $injectout
done
echo " done."
|