Changes for #87331: Combined commit MUON+HLT
[u/mrichter/AliRoot.git] / MUON / runReconstruction.C
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 /// \ingroup macros
19 /// \file runReconstruction.C
20 /// \brief Macro for running reconstruction
21 ///
22 /// Macro extracted from the MUON test script
23 ///
24 /// \author Laurent Aphecetche
25
26 #if !defined(__CINT__) || defined(__MAKECINT__)
27 #include "AliMUONReconstructor.h"
28 #include "AliMUONRecoParam.h"
29 #include "AliRecoParam.h"
30 #include "AliCDBManager.h"
31 #include "AliTracker.h"
32 #include "AliReconstruction.h"
33 #include <TRandom.h>
34 #include <Riostream.h>
35 //#include <TObjectTable.h>
36 #endif
37
38 void runReconstruction(int seed, const char* input, const char* recoptions, bool rawocdb)
39
40   AliCDBManager* man = AliCDBManager::Instance();
41   
42   if ( rawocdb ) 
43   {
44     cout << "**** WILL USE RAW OCDB" << endl;
45     man->SetDefaultStorage("raw://"); //alien://folder=/alice/data/2011/OCDB?cacheFold=/Users/laurent/OCDBcache");
46     man->SetSpecificStorage("ITS/Calib/RecoParam","alien://folder=/alice/cern.ch/user/p/ppillot/OCDB_PbPbSim");
47   } 
48   else
49   {
50     man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
51
52     man->SetSpecificStorage("GRP/GRP/Data",
53                             Form("local://%s",gSystem->pwd()));
54
55   }
56   
57   gRandom->SetSeed(seed);
58   
59   AliReconstruction* MuonRec = new AliReconstruction("galice.root");
60   MuonRec->SetInput(gSystem->ExpandPathName(input));
61   MuonRec->SetRunReconstruction("MUON ITS");
62   MuonRec->SetFillESD("HLT");
63   MuonRec->SetOption("HLT", "libAliHLTMUON.so");
64   MuonRec->SetNumberOfEventsPerFile(10000);
65   MuonRec->SetOption("MUON",recoptions);
66   MuonRec->SetRunQA("MUON:ALL");
67   MuonRec->SetQAWriteExpert(AliQAv1::kMUON);
68   MuonRec->SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ;
69   MuonRec->SetWriteESDfriend(kFALSE);
70   MuonRec->SetCleanESD(kFALSE);  
71   MuonRec->SetStopOnError(kFALSE);
72   
73   // uncomment the following lines if you want to set custom RecoParam
74   // instead of getting them from the OCDB
75   //  AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam();
76   //  muonRecoParam->SaveFullClusterInESD(kTRUE,100.);
77   //  MuonRec->SetRecoParam("MUON",muonRecoParam);
78   
79   MuonRec->Run();
80   
81   delete MuonRec;
82   
83   //gObjectTable->Print();
84 }