]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - share/alirun
SetOutputFileName(..) allows to specify an output file to which the
[u/mrichter/AliRoot.git] / share / alirun
index fd5dbdd626f9cc52a52137eaf7aea39a3d641d8e..183e2fc697e81aac5836f9db901dee133664689d 100755 (executable)
@@ -4,7 +4,15 @@
 #############################################################################
 #
 # modification history
+#
 # $Log$
+# Revision 1.6  2001/05/16 14:57:30  alibrary
+# New files for folders and Stack
+#
+#
+# Revision 1.5  2001/02/23 17:33:40  buncic
+# Added alifs wrapper for CASTOR and alirun modified accordingly.
+#
 # Revision 1.4  2001/02/08 18:55:43  buncic
 # Support for writing to remote file systems (shift/castor).
 #
 # -debugger <command_name>
 #    Execute AliRoot under debugger other than gdb. 
 #
+# -debuglevel <level>
+#    Set AliRoot debug flag to <level>.
+#
 # -break <breakpoint>
 #    Execute AliRoot under gdb and set <breakpoint>.
 #
@@ -155,6 +166,7 @@ then
   exec $ALIRUN_SHELL -norc  -noprofile $0 $*
 fi
 
+
 ###########################################################################
 AliRun()
 ###########################################################################
@@ -171,6 +183,38 @@ AliRun()
    exit
 }
 
+###########################################################################
+AliSetRoot()
+###########################################################################
+{
+  ALICE_ROOT=$1;                       export ALICE_ROOT
+  ALICE=`dirname $ALICE_ROOT`;         export ALICE          
+  ALICE_LEVEL=`basename $ALICE_ROOT`;  export ALICE_LEVEL
+  ALICE_TARGET=`uname`;                export ALICE_TARGET
+  ROOTSYS=$2;                          export ROOTSYS
+  
+  LD_LIBRARY_PATH=$ROOTSYS/lib
+
+  if [ -f $ALICE/bin/changeRoot.sh ]
+  then
+    .   $ALICE/bin/changeRoot.sh \
+              $ALICE $ALICE_LEVEL $ALICE_TARGET $ROOTSYS
+  fi
+
+  if [ ! -x $ALICE_BIN/aliroot -o ! -x $ROOTSYS/bin/root ]
+  then
+     printf "Invalid Alice library directory: %s\n" $1
+     exit 1 
+  fi
+
+  LD_LIBRARY_PATH=${ROOTSYS}/lib:${ALICE_LIB}; export LD_LIBRARY_PATH
+  PATH=${ALICE_BIN}:${ROOTSYS}/bin:${PATH}; export PATH
+
+  printf "ALICE environment reset to %s\n" $ALICE_ROOT
+  which root
+  which aliroot
+}
+
 ###########################################################################
 Mktemp()
 ###########################################################################
@@ -330,7 +374,9 @@ void Simulate()
    
    gAlice->Init(gSystem->Getenv("CONFIG"));
 
-   gAlice->Run(1);
+   $DEBUG_LEVEL;
+
+   gAlice->RunMC($NEVENTS);
 }
 ////////////////////////////////////////////////////////////////////////////
 
@@ -364,6 +410,8 @@ void $mode()
    
    AliRun *gAlice = (AliRun*)file->Get("gAlice");
   
+   $DEBUG_LEVEL;
+
    gAlice->$mode(gSystem->Getenv("CONFIG_DETECTOR"));
 }
 ////////////////////////////////////////////////////////////////////////////
@@ -401,12 +449,12 @@ AliRunHits()
 }
 
 ###########################################################################
-AliRunDigits()
+AliRunSplitCmd()
 ###########################################################################
 {
   if [ "$DETECTORS" = "" ]
   then
-    AliRoot Digits 
+    AliRoot $1
   else
     for det in $DETECTORS
     do
@@ -415,18 +463,32 @@ AliRunDigits()
       then
         if [ "$LSF_FORK" = "TRUE" ]
         then
-          lsrun AliRoot Digits $CONFIG_DETECTOR
+          lsrun AliRoot $1 $CONFIG_DETECTOR
         else
-          AliRoot Digits $CONFIG_DETECTOR &
+          AliRoot $1 $CONFIG_DETECTOR &
         fi
       else
-        AliRoot Digits $CONFIG_DETECTOR
+        AliRoot $1 $CONFIG_DETECTOR
       fi
     done
     wait
   fi
 }
 
+###########################################################################
+AliRunDigits()
+###########################################################################
+{
+  AliRunSplitCmd Digits
+}
+
+###########################################################################
+AliRunReco()
+###########################################################################
+{
+  AliRunSplitCmd Reco
+}
+
 ###########################################################################
 
 ALL="MUON RICH TOF ITS TPC PHOS PMD CASTOR ZDC TRD"; 
@@ -442,13 +504,16 @@ ALIRUN_TMPDIR=`Mktemp`; export ALIRUN_TMPDIR
 ALIRUN_DEBUGGER=gdb
 
 DEBUG="FALSE"
+DEBUG_LEVEL=""
 BREAK=""
 VERBOSE="TRUE"
 OUTPUT=.
-CMDLIST="Usage"
+CMDLIST=""
 FORK="FALSE"
 FORK_LSF="FALSE"
+BATCH="FALSE"
 ECHO=""
+NEVENTS=1
 USE_CACHE="file->UseCache()"
 
 if [ -x /usr/local/lsf/bin/lsrun ] 
@@ -476,6 +541,10 @@ do
             shift 1
             ALIRUN_DEBUGGER=$1
             ;;
+        -debuglevel)
+            shift 1
+            DEBUG_LEVEL="gAlice->SetDebug($1)"
+            ;;
         -break)
             shift 1
             DEBUG="TRUE"
@@ -485,6 +554,15 @@ do
             shift 1
             set -vx
             ;;
+        -setroot)
+            shift 1
+            AliSetRoot $1 $2
+            shift 1
+            ;;
+        -batch)
+            shift 1
+            BATCH="TRUE"
+            ;;
         -echo)
             shift 1
             ECHO="echo "
@@ -569,6 +647,11 @@ do
     esac
 done
 
+if [ "$CMDLIST" = "" ]
+then
+  AliRun
+fi
+
 if [ `dirname $OUTPUT` = "." ]
 then
   CONFIG_OUTDIR=`pwd`/$OUTPUT
@@ -624,10 +707,10 @@ then
   $MKDIR -p $CONFIG_OUTDIR
 fi
 
-mkdir -p $ALIRUN_TMPDIR
-
 CONFIG_FILE=$CONFIG_FILE_PREFIX$CONFIG_OUTDIR/$FILE; export CONFIG_FILE
 
+mkdir -p $ALIRUN_TMPDIR
+
 trap Cleanup 2
 
 (