#!/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 # # Copyright: MAGIC Software Development, 2000-2007 # # # ======================================================================== # # 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. # source `dirname $0`/sourcefile printprocesslog "INFO starting $0" program=doqualityplots set -C cd $mars scriptlog=$runlogpath/$program-$datetime.log date >> $scriptlog 2>&1 # check if script is already running lockfile=$lockpath/lock-$program.txt checklock >> $scriptlog 2>&1 # producing the plots with the values from the database echo "producing plots: " >> $scriptlog 2>&1 printprocesslog "INFO producing data quality plots" check0=`root -q -b $macrospath/plotdb.C+\(\) | tee -a $scriptlog | intgrep` case $check0 in 1) echo " check0=$check0 -> everything ok -> move files" >> $scriptlog 2>&1 printprocesslog "INFO plots successfully produced" ;; *) echo " check0=$check0 -> ERROR -> couldn't create plots -> exit" >> $scriptlog 2>&1 printprocesslog "ERROR producing plots failed" finish >> $scriptlog 2>&1 ;; esac # making files available in the web printprocesslog "INFO moving files to 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=/tmp/pstoimgtmp/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 -pv $tempwebplotspath >> $scriptlog 2>&1 # second part # making plots for all datasets printprocesslog "INFO producing plots for datasets" datasets=`find $datapath/ganymed -name ganymed*.root | grep -v summary` for dataset in ${datasets[@]} do printprocesslog "INFO producing plots for dataset $dataset" 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 | intgrep` 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 finish >> $scriptlog 2>&1