Added class AliForwarddNdetaTask to do the dN/deta
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / Run.sh
index b5a33dbea782c4b2041dc865cf5e267264cb0cdf..fd9c14e34f2f47f7d48baf936e67ca8f547ca853 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash 
 
 ana=$ALICE_ROOT/PWG2/FORWARD/analysis2
-nev=10000
+nev=-1
 noanal=0
 nodraw=0
 rebin=1
@@ -16,6 +16,8 @@ cms=900
 hhd=1
 comp=1
 tit=
+pass1=Pass1.C
+output=forward.root
 
 usage()
 {
@@ -29,18 +31,14 @@ Options:
        -n,--events N           Number of events           ($nev)
        -1,--pass1              Run only pass 1, no draw   ($nodraw)
        -2,--pass2              Run only pass 2, just draw ($noanal)
-       -r,--rebin N            Rebin by N                 ($rebin)
        -v,--vz-min CM          Minimum value of vz        ($vzmin)
        -V,--vz-max CM          Maximum value of vz        ($vzmax)
        -t,--trigger TYPE       Select trigger TYPE        ($type)
-       -e,--energy CMS         Center of mass energy      ($cms)
        -b,--batch              Do batch processing        ($batch)
-       -P,--proof              Run in PROOF(Lite) mode    ($proof)
+       -P,--proof NWORKERS     Run in PROOF(Lite) mode    ($proof)
        -M,--mc                 Run over MC data           ($mc)
-       -S,--title STRING       Set the title string       ($tit)
        -g,--gdb                Run in GDB mode            ($gdb)
-       -H,--hhd                Do comparison to HHD       ($hhd)
-       -O,--other              Do comparison to other     ($comp)
+       -E,--eloss              Run energy loss script     
 
 TYPE is a comma or space separated list of 
  
@@ -48,6 +46,7 @@ TYPE is a comma or space separated list of
   INEL>0      As above + N_ch > 0 in -0.5<eta<+0.5
   NSD         Non-single diffractive ((VOA&VOC)|N_ch > 5 -1.9<eta<+1.9)
 
+If NWORKERS is 0, then the analysis will be run in local mode. 
 EOF
 }
 
@@ -64,16 +63,14 @@ while test $# -gt 0 ; do
        -2|--pass2)          noanal=`toggle $noanal`   ;; 
        -1|--pass1)          nodraw=`toggle $nodraw`   ;; 
        -b|--batch)          batch=`toggle $batch`   ;; 
-       -P|--proof)          proof=`toggle $proof`   ;; 
+       -P|--proof)          proof=$2         ; shift ;; 
        -M|--mc)             mc=`toggle $mc`   ;; 
        -g|--gdb)            gdb=`toggle $gdb`   ;; 
-       -H|--hhd)            hhd=`toggle $hhd`   ;; 
-       -O|--other)          other=`toggle $other`   ;; 
-       -r|--rebin)          rebin=$2         ; shift ;; 
        -v|--vz-min)         vzmin=$2         ; shift ;; 
        -V|--vz-max)         vzmax=$2         ; shift ;; 
-       -e|--energy)         cms=$2           ; shift ;;
-       -S|--title)          tit="$2"         ; shift ;;
+       -E|--eloss)          pass1=MakeELossFits.C ; 
+                            output=forward_eloss.root ;
+                            nodraw=1 ;;
        -t|--type)           
            if test "x$type" = "x" ; then type=$2 ; else type="$type|$2"; fi
            shift ;;
@@ -82,7 +79,11 @@ while test $# -gt 0 ; do
     shift
 done 
 
-base=`printf dndeta_%07d $nev`
+if test $nev -lt 0 ; then 
+    base=dndeta_xxxxxxx
+else 
+    base=`printf dndeta_%07d $nev`
+fi
 opts="-l -x"
 opts1=""
 redir=
@@ -101,31 +102,32 @@ if test $noanal -lt 1 ; then
     if test $gdb -gt 0 ; then 
        export PROOF_WRAPPERCMD="gdb -batch -x $ALICE_ROOT/PWG2/FORWARD/analysis2/gdb_cmds --args"
     fi
-    echo "Running aliroot ${opts} ${opts1} ${ana}/Pass1.C\(\".\",$nev,$proof,$mc\) $redir"
+    echo "Running aliroot ${opts} ${opts1} ${ana}/${pass1}\(\".\",$nev,$proof,$mc\) $redir"
     if test $batch -gt 0 ; then 
-       aliroot $opts $opts1 ${ana}/Pass1.C\(\".\",$nev,$proof,$mc\) 2>&1 | tee ${base}.log
+       aliroot $opts $opts1 ${ana}/${pass1}\(\".\",$nev,$proof,$mc\) 2>&1 | tee ${base}.log
     else 
-       aliroot $opts $opts1 ${ana}/Pass1.C\(\".\",$nev,$proof,$mc\)
+       aliroot $opts $opts1 ${ana}/${pass1}\(\".\",$nev,$proof,$mc\)
     fi
-    rm -f event_stat.root \
-       EventStat_temp.root \
-       outputs_valid \
+    fail=$?
+    rm -f outputs_valid \
        `printf %09d.stat $nev` 
-    if test ! -f AnalysisResults.root || test ! -f AliAODs.root ; then 
-       echo "Analysis failed" 
-       exit 1
+    if  test $fail -gt 0  ; then 
+        echo "Return value $fail not 0" ; exit $fail 
+    fi
+    if test ! -f ${output} ; then 
+       echo "$output not made" ; exit 1; 
+    fi
+    if test ! -f AliAODs.root ; then 
+       echo "No AOD creates" ; exit 1;
     fi
     echo "Analysis done"
 fi
 
 if test $nodraw -lt 1 ; then
     rm -f result.root 
-    if test "x$tit" = "x" ; then 
-       tit="$nev events, v_{z}#in[$vzmin,$vzmax], $type"
-    fi
     tit=`echo $tit | tr ' ' '@'` 
-    echo "Running aliroot ${opts} ${opts1} ${ana}/Pass2.C\(\"AliAODs.root\",\"$type\",$cms,$vzmin,$vzmax,$rebin,$hhd,$comp\)"
-    aliroot ${opts} ${ana}/Pass2.C\(\"AliAODs.root\",\"$type\",$cms,$vzmin,$vzmax,$rebin,\"$tit\",$hhd,$comp\)
+    echo "Running aliroot ${opts} ${opts1} ${ana}/Pass2.C\(\".\",$nev,\"$type\",$vzmin,$vzmax,$proof\)"
+    aliroot ${opts} ${ana}/Pass2.C\(\".\",$nev,\"$type\",$vzmin,$vzmax,$proof\)
 fi