#!/bin/sh
#
# ========================================================================
#
# *
# * This file is part of MARS, the MAGIC Analysis and Reconstruction
# * Software. It is distributed to you in the hope that it can be a useful
# * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
# * It is distributed WITHOUT ANY WARRANTY.
# *
# * Permission to use, copy, modify and distribute this software and its
# * documentation for any purpose is hereby granted without fee,
# * provided that the above copyright notice appear in all copies and
# * that both that copyright notice and this permission notice appear
# * in supporting documentation. It is provided "as is" without express
# * or implied warranty.
# *
#
#
#   Author(s): Daniela Dorner  08/2005 <mailto:dorner@astro.uni-wuerzburg.de>
#
#   Copyright: MAGIC Software Development, 2000-2006
#
#
# ========================================================================
#
# This script produces the qualityplots in the web by executing the macro 
# plotdb.C 
# 
# After checking, if the script is already running, the plots are produced 
# (ps and root file). Then they are moved to the webdirectory and there png 
# files are produced from the ps file. 
#

program=doqualityplots
source /home/$USER/Mars/datacenter/scripts/sourcefile

set -C

cd $mars

datetime=`date +%F-%H-%M-%S`

scriptlogpath=$logpath/run/doqualityplots/`date +%Y/%m/%d`
makedir $scriptlogpath

scriptlog=$scriptlogpath/doqualityplots-$datetime.log

date >> $scriptlog 2>&1

# check if script is already running
lockfile=$lockpath/lock-doqualityplots.txt
checklock  >> $scriptlog 2>&1

# producing the plots with the values from the database 
echo "producing plots: " >> $scriptlog 2>&1
check0=`root -q -b $macrospath/plotdb.C+\(\) | tee -a $scriptlog | grep int | sed -e 's/.*(int)//'`

case $check0 in 
    1)   echo "check0=$check0 -> everything ok -> move files" >> $scriptlog 2>&1;;
    *)   echo "check0=$check0 -> ERROR -> couldn't create plots -> exit" >> $scriptlog 2>&1
         rm -v $lockfile >> $scriptlog 2>&1 
         exit;;
esac

# making files available in the web
webpath=/www/htdocs/datacenter/datacheck
name=plotdb
psfile=$webpath/$name.ps

echo "moving files: " >> $scriptlog 2>&1
mv -v $name.{root,ps} $webpath  >> $scriptlog 2>&1

echo "creating temporary dir for pstoimg..." >> $scriptlog 2>&1
tempwebplotspath=$webpath/tempqualityplots
makedir $tempwebplotspath >> $scriptlog 2>&1

echo "producing png files: " >> $scriptlog 2>&1
pstoimg -antialias -flip r270 -density 100 -tmp $tempwebplotspath -type png -multipage $psfile >> $scriptlog 2>&1

echo "removing temporary dir..." >> $scriptlog 2>&1
rmdir -v $tempwebplotspath >> $scriptlog 2>&1

# second part
# making plots for all datasets
datasets=`find $datapath/ganymed -name ganymed*.root | grep -v summary`

for dataset in ${datasets[@]}
do 
   nr=`echo $dataset | cut -d/ -f6`
   nr2=`echo $nr | cut -c 1-5`
   outpath=`dirname $dataset`
   webpath=`echo $outpath | sed -e 's/magic\/data/www\/htdocs\/datacenter/'`
   plotlog=$outpath/plotdb$nr.log
   datasetfile=$datasetpath/$nr2/dataset$nr.txt
   makedir $outpath >> $scriptlog 2>&1
   rm -v $plotlog >> $scriptlog 2>&1
   check1=`root -q -b $macrospath/plotdb.C+\("\"$datasetfile\""\) 2>>$plotlog | tee -a $scriptlog | grep int | sed -e 's/.*(int)//'`
   echo "check1: "$check1 >> $scriptlog 2>&1
   newpsfile=$outpath/plotdb$nr.ps
   newrootfile=$outpath/plotdb$nr.root
   mv -v plotdb.ps $newpsfile >> $scriptlog 2>&1
   mv -v plotdb.root $newrootfile >> $scriptlog 2>&1
   cp -v $newrootfile $webpath >> $scriptlog 2>&1
   check1=
done

rm -v $lockfile >> $scriptlog 2>&1 

set +C

date  >> $scriptlog 2>&1

