Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 8229)
+++ trunk/MagicSoft/Mars/Changelog	(revision 8230)
@@ -27,4 +27,8 @@
      - removed setting of root environment variables
      - adapted comments
+   
+   * scripts/dospectrum:
+     - added (script to produce ganymed.rc files with different sets of
+       cuts and to run ganymed and sponde for these sets)
    
    * datacenter/macros/buildsequenceentries.C
Index: trunk/MagicSoft/Mars/scripts/dospectrum
===================================================================
--- trunk/MagicSoft/Mars/scripts/dospectrum	(revision 8230)
+++ trunk/MagicSoft/Mars/scripts/dospectrum	(revision 8230)
@@ -0,0 +1,234 @@
+#!/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  05/2006 <mailto:dorner@astro.uni-wuerzburg.de>
+#
+#   Copyright: MAGIC Software Development, 2000-2006
+#
+#
+# ========================================================================
+#
+#
+#
+##############################################################################
+#
+# This script creates the ganymed.rc files with different parameter sets (the 
+# parameters 1 and 3 are changed in steps). Then the script runs ganymed and 
+# sponde for this different parameter sets. 
+#
+# variables, that have to be set by the user:
+#
+# - path          directory, where the files are stored 
+# - mars          directory, where your Mars version is stored
+# - dataset       dataset file, which shall be used (filename without path)
+#                  the file has to be stored in the dataset directory in the 
+#                  path
+# - par*step      step width for changing the parameter * 
+# - par*numminus  number of steps going to smaller values of the parameter * 
+# - par*num       number of steps for changing the parameter * 
+# - spondenum     number of sponde rc file (also of the root and log file)
+# - ganymednum    number of ganymed root file
+#
+# Please make sure, that you provide the following files:
+# - $path/setup/ganymed$ganymednum.rc
+# - $path/setup/sponde$spondenum.rc
+# - $path/datasets/mcdataset-for-sponde.txt (if you use the script preparemc, 
+#    this file is produced automatically)
+# - $path/datasets/$datasetfilename (you give the datasetfilename below, but 
+#    you have to make sure, that it is in the directory $path/datasets
+#
+# To re-run ganymed (e.g. with new Software-Version), you have to delete 
+# the ganymed*.root files or set a new ganymednum. 
+# 
+##############################################################################
+
+
+# to be set by the user
+path=/home/dorner/crabspectrum
+mars=/home/dorner/mars.cvs
+datasetfilename=datasetcrab2005-2.txt
+spondenum=0
+ganymednum=1
+# settings for parameter 3
+par3step=0.005
+par3numminus=10
+par3num=13
+# settings for parameter 1
+par1step=0.005
+par1numminus=1 
+par1num=7
+
+
+function printsetup()
+{
+   echo "you set the following parameters: "
+   echo " path:       $path "
+   echo " ganymedrc:  $ganymedrc"
+   echo " sponderc:   $sponderc"
+   echo " dataset:    $dataset"
+   echo " mcdataset:  $mcdataset"
+   echo " spondenum:  $spondenum"
+   echo " ganymednum: $ganymednum"
+   echo " par1:       -$par1numminus to $par1num in $par1step steps"
+   echo " par3:       -$par3numminus to $par3num in $par3step steps"
+}
+
+#general variables
+datasetpath=$path/datasets
+setuppath=$path/setup
+#resultpath=$path/ganyspec
+resultpath=$path/ganyspec`echo $datasetfilename | sed -e 's/[.]txt//'`
+dataset=$datasetpath/$datasetfilename
+mcdataset=$datasetpath/mcdataset-for-sponde.txt
+ganymedrc=$setuppath/ganymed$ganymednum.rc
+sponderc=$setuppath/sponde$spondenum.rc
+setuplog=$setuppath/setup`date +%F-%H-%M-%S`.log
+
+if ! ls $ganymedrc >/dev/null 2>&1
+then
+   echo "couldn't find $ganymedrc."
+   echo "please provide the file $ganymedrc and re-run the script"
+   exit
+fi
+
+if ! ls $sponderc >/dev/null 2>&1
+then
+   echo "couldn't find $sponderc."
+   echo "do you want to continue anyhow? (ganymed will be done)"
+   echo "please insert y, if you want continue"
+   echo "              n, if you want quit"
+
+   answer=`head -n 1`
+   case $answer in
+      y) echo "continue creating rc files and running ganymed"
+         ;;
+      n) echo "please provide the file $ganymedrc and re-run the script"
+         exit
+         ;;
+      *) echo "your answer is not clear -> exit"
+         exit
+         ;;
+   esac
+   
+fi
+
+#start of the script
+printsetup
+printsetup > $setuplog
+
+mkdir -pv $resultpath
+
+echo "generating the ganymed.rc files with different parameter sets"
+# generating the ganymed.rc files with different parameter sets
+par3=`cat $ganymedrc | grep 'Cut1.Param3' | cut -d: -f2`
+par1=`cat $ganymedrc | grep 'Cut1.Param1' | cut -d: -f2`
+
+echo "parameter: 3 $par3 ,  1 $par1"
+
+start3=`echo $par3 - \( $par3numminus*$par3step \) | bc `
+start1=`echo $par1 - \( $par1numminus*$par1step \) | bc `
+echo "start: 1: $start1 3: $start3"
+
+val1=$start1
+val3=$start3
+
+for (( i=0 ; i < $par3num ; i++ ))
+do 
+  for (( j=0 ; j < $par1num ; j++ ))
+  do 
+#     echo "i: $i - j: $j ------- par1: $val1 and par3: $val3"
+     dir=$resultpath/set${val1}_${val3}
+     if ! ls $dir >/dev/null 2>&1
+     then 
+        mkdir -pv $dir
+     fi
+#     rcfile=$dir/ganymed_${val1}_${val3}_onoff.rc
+     rcfile=$dir/`basename $ganymedrc` 
+     if ! ls $rcfile >/dev/null 2>&1
+     then 
+        cat $ganymedrc | sed -e s/"${par1}"/"   ${val1}"/ -e s/"${par3}"/"  ${val3}"/ > $rcfile
+     else
+        echo "rcfile $rcfile already exists"
+     fi
+     val1=`echo $val1 + $par1step | bc`
+  done
+  val3=`echo $val3 + $par3step | bc`
+  val1=$start1
+done
+
+
+# running ganymed and sponde for different parameter sets
+
+# function running ganymed and sponde for a set of cuts
+function dospec()
+{
+   cd $mars
+
+   name=$set/ganymed`printf %08d $ganymednum`
+   ganymedfile=$name.root
+   if ! ls $ganymedfile >/dev/null 2>&1
+   then 
+      cd $mars
+#      rc=`ls $set/ganymed_*onoff.rc`
+      ganymedlog=$name.log
+      echo "starting ganymed for set $set ..."
+      if ! condor_run ./ganymed -b -f --n=$ganymednum --log=$ganymedlog --out=$set --config=$set/`basename $ganymedrc` $dataset >/dev/null
+      then 
+         echo "condor is not working " 
+         return
+      fi
+   else
+      echo "ganymed for set $set already done => continue with sponde"
+   fi
+
+   if ! ls $sponderc >/dev/null 2>&1
+   then 
+      echo "ERROR: spondercfile $sponderc is missing"
+      return
+   fi
+   spondefile=$set/sponde$spondenum-g$ganymednum.root
+   spondelog=$set/sponde$spondenum-g$ganymednum.log
+   if ! ls $spondefile >/dev/null 2>&1
+   then
+      echo "starting sponde for set $set ..."
+      if ! condor_run ./sponde -b -f --log=$spondelog --config=$sponderc -f $ganymedfile $mcdataset $spondefile >/dev/null
+      then
+         echo "condor is not working " 
+         return
+      fi
+      echo "finished sponde for set $set ..."
+   else
+      echo "sponde $spondenum for set $set already done => please remove sponde files or give new spondenum"
+   fi
+}
+
+
+sets=`find $resultpath -type d`
+for set in ${sets[@]}
+do 
+#   echo "set: "$set
+   if [ "$set" == "$resultpath" ]
+   then
+      continue
+   fi
+   dospec &
+   sleep 3
+done
+
+
