#!/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. 
#

user=`whoami`
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
date > $lockfile >> $scriptlog 2>&1 
checklock0=$?
case $checklock0 in 
    0)   echo "checklock0=$checklock0 -> continue " >> $scriptlog 2>&1;;
    1)   echo "checklock0=$checklock0 -> file exists " >> $scriptlog 2>&1
         echo "-> for datacheck is running -> exit" >> $scriptlog 2>&1
         date  >> $scriptlog 2>&1
         exit;;
    *)   echo "checklock0=$checklock0 -> something went completely wrong" >> $scriptlog 2>&1;;
esac

# 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 "producing png files: " >> $scriptlog 2>&1
pstoimg -antialias -flip r270 -density 100 -type png -multipage $psfile >> $scriptlog 2>&1

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

set +C

date  >> $scriptlog 2>&1

