3 ana=$ALICE_ROOT/PWG2/FORWARD/analysis2
24 output2=forward_dndeta.root
25 gdb_script=$ALICE_ROOT/PWG2/FORWARD/analysis2/gdb_cmds
32 Do Pass1 and Pass2 on ESD files in current directory.
36 -n,--events N Number of events ($nev)
37 -1,--pass1 Run only pass 1, only AOD ($dopass2)
38 -2,--pass2 Run only pass 2, only Hists ($dopass1)
39 -D,--draw Draw results ($dopass3)
40 -v,--vz-min CM Minimum value of vz ($vzmin)
41 -V,--vz-max CM Maximum value of vz ($vzmax)
42 -t,--trigger TYPE Select trigger TYPE ($type)
43 -b,--batch Do batch processing ($batch)
44 -P,--proof NWORKERS Run in PROOF(Lite) mode ($proof)
45 -M,--mc Run over MC data ($mc)
46 -g,--gdb Run in GDB mode ($gdb)
47 -E,--eloss Run energy loss script
49 TYPE is a comma or space separated list of
51 INEL Inelastic triggers (V0A|V0C|SPD)
52 INEL>0 As above + N_ch > 0 in -0.5<eta<+0.5
53 NSD Non-single diffractive ((VOA&VOC)|N_ch > 5 -1.9<eta<+1.9)
55 If NWORKERS is 0, then the analysis will be run in local mode.
65 while test $# -gt 0 ; do
67 -h|--help) usage ; exit 0;;
68 -n|--events) nev=$2 ; shift ;;
69 -3|--pass3|-D|--draw) dopass3=`toggle $dopass3` ;;
70 -2|--pass2|-H|--hist) dopass2=`toggle $dopass2` ;;
71 -1|--pass1|-A|--aod) dopass1=`toggle $dopass1` ;;
72 -b|--batch) batch=`toggle $batch` ;;
73 -P|--proof) proof=$2 ; shift ;;
74 -M|--mc) mc=`toggle $mc` ;;
75 -g|--gdb) gdb=`toggle $gdb` ;;
76 -v|--vz-min) vzmin=$2 ; shift ;;
77 -V|--vz-max) vzmax=$2 ; shift ;;
78 -E|--eloss) pass1=MakeELossFits.C
79 pass2=scripts/ExtractELoss.C
80 pass3=scripts/DrawAnaELoss.C
81 output1=forward_eloss.root
85 if test "x$type" = "x" ; then type=$2 ; else type="$type|$2"; fi
87 *) echo "$0: Unknown option '$1'" >> /dev/stderr ; exit 1 ;;
92 if test $nev -lt 0 ; then
95 base=`printf dndeta_%07d $nev`
100 if test $dopass2 -gt 0 ; then
103 if test $batch -gt 0 ; then
105 redir="2>&1 | tee ${base}.log"
108 if test $dopass1 -gt 0 ; then
109 rm -f ${output} AliAOD.root
111 if test $gdb -gt 0 ; then
112 export PROOF_WRAPPERCMD="gdb -batch -x ${gdb_script} --args"
114 echo "Running aliroot ${opts} ${opts1} ${ana}/${pass1}\(\".\",$nev,$proof,$mc\) $redir"
115 if test $batch -gt 0 ; then
116 aliroot $opts $opts1 ${ana}/${pass1}\(\".\",$nev,$proof,$mc\) 2>&1 | tee ${base}.log
118 aliroot $opts $opts1 ${ana}/${pass1}\(\".\",$nev,$proof,$mc\)
121 if test $fail -gt 0 ; then
122 echo "Return value $fail not 0" ; exit $fail
124 if test ! -f ${output1} ; then
125 echo "$output1 not made" ; exit 1;
127 if test ! -f AliAOD.root ; then
128 echo "No AOD creates" ; exit 1;
133 if test $dopass2 -gt 0 ; then
135 args="\(\".\",$nev,\"$type\",$vzmin,$vzmax,$proof\)"
136 if test "x$pass1" = "xMakeELossFits.C" ; then
137 args="\(\"${output1}\"\)"
139 echo "Running aliroot ${opts} ${opts1} ${ana}/${pass2}.C${args}"
140 aliroot ${opts} ${ana}/${pass2}.C${args}
143 if test $fail -gt 0 ; then
144 echo "Return value $fail not 0" ; exit $fail
146 if test ! -f ${output2} ; then
147 echo "$output2 not made" ; exit 1;
152 if test $dopass3 -gt 0 ; then
153 tit=`echo $tit | tr ' ' '@'`
154 args="\(\"${output2}\"\)"
155 if test "x$pass1" = "xMakeELossFits.C" ; then
156 args="\(\"${output1}\"\)"
159 echo "Running aliroot ${opts} ${opts1} ${ana}/${pass3}.C${args}"
160 aliroot ${opts} ${ana}/${pass3}.C${args}