Extacting the OCDB in a separate module. The detectors have write permission in the...
[u/mrichter/AliRoot.git] / MUON / AlirootRun_MUONtest.sh
CommitLineData
fa701981 1#!/bin/sh
2# $Id$
3
aefc4e02 4# first declare default values
5
6SIMULATION=1 # will perform simulation
7RECONSTRUCTION=1 # will perform reconstruction
8CHECKS=1 # will perform checks
0be3d079 9SLASHTMP=1 #will use /tmp to put the temporary raw data
aefc4e02 10NEVENTS=100 # will simulate 100 events
32bf5f82 11
5f3519d9 12#RECOPTIONS="SAVEDIGITS NOFASTDECODERS" # reconstruction options with non-high performance decoders
aefc4e02 13RECOPTIONS="SAVEDIGITS" # default reconstruction options
14SIMCONFIG="$ALICE_ROOT/MUON/Config.C" # default simulation configuration file
15OUTDIR=""
fa701981 16CURDIR=`pwd`
fa701981 17
745f6baf 18#RUN=0 # run number for OCDB access
aefc4e02 19SEED=1234567 # random number generator seed
20SIMDIR="generated" # sub-directory where to move simulated files prior to reco
21DUMPEVENT=5 # event to be dump on files
22
23# next try to see if there are options of this script that want to change the
24# defaults
25
26EXIT=0
27
0be3d079 28while getopts "SRX:srxn:tg:p:d:c:" option
aefc4e02 29do
30 case $option in
31 R ) RECONSTRUCTION=1;;
32 S ) SIMULATION=1;;
33 X )
34 CHECKS=1
35 DUMPEVENT=$OPTARG
36 ;;
37 r ) RECONSTRUCTION=0;;
38 s ) SIMULATION=0;;
39 x ) CHECKS=0;;
0be3d079 40 t ) SLASHTMP=0;;
aefc4e02 41 c ) SIMCONFIG=$OPTARG;;
42 d ) OUTDIR=$OPTARG;;
43 n ) NEVENTS=$OPTARG;;
0be3d079 44 g ) SEED=$OPTARG;;
aefc4e02 45 p ) RECOPTIONS=$OPTARG;;
46 * ) echo "Unimplemented option chosen."
47 EXIT=1
48 ;;
49 esac
50done
51
52if [ ! -n "$OUTDIR" ]; then
53 OUTDIR="$CURDIR/test_out.$NEVENTS"
54fi
55
56# look if there are some leftover options
57shift $(($OPTIND - 1))
58
59if [ $# -gt 0 ] || [ "$EXIT" -eq 1 ]; then
60 echo "ERROR : extra option not recognized"
0be3d079 61 echo "Usage: `basename $0` options (-SRXsrxn:tg:p:d:c:)"
aefc4e02 62 echo " -S (-s) perform (or not) simulation (default is do it, i.e -S)"
63 echo " -R (-r) perform (or not) reconstruction (default is do it, i.e. -R)"
64 echo " -X event (-x) perform (or not) checks and dumps (default is do it for event $DUMPEVENT, i.e. -X $DUMPEVENT)"
65 echo " -n nevents (int) number of events to simulate (default $NEVENTS)"
0be3d079 66 echo " -t will use OUTDIR as a tmp directory to generate raw data "
67 echo " -g seed (uint) seed to be used in simulation (default $SEED)"
aefc4e02 68 echo " -p recoptions (quotified string) reconstruction options to use (default \"$RECOPTIONS\")"
69 echo " -d full path to output directory (default $OUTDIR)"
70 echo " -c full path to configuration file for simulation (default $SIMCONFIG)"
71 exit 4;
72fi
73
74# printout the options
75echo "sim $SIMULATION rec $RECONSTRUCTION check $CHECKS"
76if [ "$SIMULATION" -eq 1 ]; then
77 echo "$NEVENTS events will be simulated, using the config found at $SIMCONFIG"
78fi
79if [ "$RECONSTRUCTION" -eq 1 ]; then
80echo "Reconstruction options to be used : $RECOPTIONS"
81fi
82echo "Output directory will be : $OUTDIR"
83
84if [ "$SIMULATION" -eq 1 ]; then
85
86 rm -fr $OUTDIR
87 mkdir $OUTDIR
88
89fi
90
91cp $ALICE_ROOT/MUON/.rootrc $ALICE_ROOT/MUON/rootlogon.C \
92 $ALICE_ROOT/MUON/runReconstruction.C $ALICE_ROOT/MUON/runSimulation.C $OUTDIR
93
fa701981 94cd $OUTDIR
95
0be3d079 96if [ "$SLASHTMP" -eq 0 ]; then
97 mkdir ./tmp
98 mkdir ./tmp/mdc1
99 mkdir ./tmp/mdc2
100 mkdir ./tmp/mdc1/tags
101
102 chmod 777 ./tmp
103 chmod 777 ./tmp/mdc1
104 chmod 777 ./tmp/mdc2
105 chmod 777 ./tmp/mdc1/tags
106
107 export ALIMDC_RAWDB1=./tmp/mdc1
108 export ALIMDC_RAWDB2=./tmp/mdc2
109 export ALIMDC_TAGDB=./tmp/mdc1/tags
110fi
111
aefc4e02 112###############################################################################
113#
cbb5526b 114# Update CTP in OCDB for MUON Trigger
115#
116###############################################################################
117
118if [ ! -f $ALICE_ROOT/GRP/CTP/Config/Run0_999999999_v0_s1.root ]; then
119
120 echo "Updating GRP CTP config ..."
121
122 aliroot -b >& $OUTDIR/updateCDBCTPConfig.out << EOF
123 .L $ALICE_ROOT/MUON/UpdateCDBCTPConfig.C+
124 UpdateCDBCTPConfig();
125 .q
126EOF
127
128fi
129
130
131###############################################################################
132#
aefc4e02 133# Performing SIMULATION
134#
135###############################################################################
fa701981 136
aefc4e02 137if [ "$SIMULATION" -eq 1 ]; then
fa701981 138
aefc4e02 139 echo "Running simulation ..."
858e5b75 140
0d2fa09b 141 aliroot -l -b -q runSimulation.C\($SEED,$NEVENTS,\""$SIMCONFIG"\"\) >& $OUTDIR/testSim.out
aefc4e02 142
143 echo "Moving generated files to $SIMDIR"
144 mkdir $OUTDIR/$SIMDIR
08c70401 145 mv $OUTDIR/*QA*.root $OUTDIR/*.log $OUTDIR/$SIMDIR
aefc4e02 146 mv $OUTDIR/MUON*.root $OUTDIR/Kinematics*.root $OUTDIR/galice.root $OUTDIR/TrackRefs*.root $OUTDIR/$SIMDIR
fa701981 147
aefc4e02 148fi
fa701981 149
aefc4e02 150###############################################################################
151#
152# Performing RECONSTRUCTION
153#
154###############################################################################
155
156if [ "$RECONSTRUCTION" -eq 1 ]; then
157
0d2fa09b 158 rm -f galice.root AliESD*.root *QA*.root
aefc4e02 159
160 echo "Running reconstruction ..."
161
162 cd $OUTDIR
163
0d2fa09b 164 aliroot -l -b -q runReconstruction\.C\($SEED,\""$OUTDIR/raw.root"\",\""$RECOPTIONS"\"\) >& $OUTDIR/testReco.out
aefc4e02 165
166fi
858e5b75 167
aefc4e02 168###############################################################################
169#
170# Performing CHECKS (and dumps)
171#
172###############################################################################
32bf5f82 173
aefc4e02 174if [ "$CHECKS" -eq 1 ]; then
8dc57946 175
029d450d 176 if [ -f "$OUTDIR/$SIMDIR/galice.root" ]; then
32bf5f82 177
aefc4e02 178 echo "Running efficiency ..."
179
180 aliroot -b >& $OUTDIR/testResults.out << EOF
181 .L $ALICE_ROOT/MUON/MUONefficiency.C+
182 // no argument assumes Upsilon but MUONefficiency(443) works on Jpsi
183 MUONefficiency("$OUTDIR/$SIMDIR/galice.root");
184 .q
185EOF
186
029d450d 187 if [ -f "$OUTDIR/galice.root" ]; then
aefc4e02 188
189 echo "Running Trigger efficiency ..."
190 aliroot -b >& $OUTDIR/testTriggerResults.out << EOF
191 .L $ALICE_ROOT/MUON/MUONTriggerEfficiency.C+
192 MUONTriggerEfficiency("$OUTDIR/$SIMDIR/galice.root", "$OUTDIR/galice.root", 1);
193 .q
8dc57946 194EOF
858e5b75 195
029d450d 196 if [ -f "$OUTDIR/AliESDs.root" ]; then
197
198 echo "Running check ..."
199 aliroot -b >& $OUTDIR/testCheck.out << EOF
200 gSystem->Load("libMUONevaluation");
201 .L $ALICE_ROOT/MUON/MUONCheck.C+
202 MUONCheck(0, $NEVENTS-1, "$OUTDIR/$SIMDIR/galice.root", "$OUTDIR/galice.root", "$OUTDIR/AliESDs.root");
203 .q
aefc4e02 204EOF
029d450d 205 fi
aefc4e02 206 fi
207 fi
208
209 echo "Running dumps for selected event ($DUMPEVENT) ..."
210
211 if [ -f "$OUTDIR/$SIMDIR/galice.root" ]; then
0d2fa09b 212 aliroot -l -b << EOF
07be5a4f 213 AliCDBManager* man = AliCDBManager::Instance();
162637e4 214 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
aefc4e02 215 AliMUONMCDataInterface mcdSim("$OUTDIR/$SIMDIR/galice.root");
216 mcdSim.DumpKine($DUMPEVENT); > $OUTDIR/dump.$DUMPEVENT.kine
217 mcdSim.DumpHits($DUMPEVENT); > $OUTDIR/dump.$DUMPEVENT.hits
218 mcdSim.DumpTrackRefs($DUMPEVENT); > $OUTDIR/dump.$DUMPEVENT.trackrefs
219 mcdSim.DumpDigits($DUMPEVENT,true); > $OUTDIR/dump.$DUMPEVENT.simdigits
220 mcdSim.DumpSDigits($DUMPEVENT,true); > $OUTDIR/dump.$DUMPEVENT.sdigits
221 .q
222EOF
223 else
224 echo "$OUTDIR/$SIMDIR/galice.root is not there. Skipping sim dumps"
225 fi
226
227 if [ -f "$OUTDIR/galice.root" ]; then
0d2fa09b 228 aliroot -l -b << EOF
07be5a4f 229 AliCDBManager* man = AliCDBManager::Instance();
162637e4 230 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
aefc4e02 231 AliMUONDataInterface dRec("$OUTDIR/galice.root");
232 dRec.DumpDigits($DUMPEVENT,true); > $OUTDIR/dump.$DUMPEVENT.recdigits
233 dRec.DumpRecPoints($DUMPEVENT); > $OUTDIR/dump.$DUMPEVENT.recpoints
aefc4e02 234 dRec.DumpTrigger($DUMPEVENT); > $OUTDIR/dump.$DUMPEVENT.trigger
235 .q
236EOF
237 else
238 echo "$OUTDIR/galice.root is not there. Skipping rec dumps"
239 fi
240fi
32bf5f82 241
fa701981 242echo "Finished"
aefc4e02 243echo "... see results in $OUTDIR"
fa701981 244
245cd $CURDIR