891e1eb27a5d9485b3b1dc07f0bd60d2941a60cb
[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 embedding)
39
40   AliCDBManager* man = AliCDBManager::Instance();
41   
42   if ( embedding ) 
43   {
44     cout << "**** WILL USE RAW OCDB AS WE'RE RECONSTRUCTING EMBEDDED DATA" << endl;
45     man->SetDefaultStorage("raw://");
46   }
47   else
48   {
49     man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
50
51     man->SetSpecificStorage("GRP/GRP/Data",
52                             Form("local://%s",gSystem->pwd()));
53   }
54   
55   gRandom->SetSeed(seed);
56   
57   AliReconstruction* MuonRec = new AliReconstruction("galice.root");
58   MuonRec->SetInput(gSystem->ExpandPathName(input));
59   MuonRec->SetRunReconstruction("MUON");
60   MuonRec->SetFillESD("HLT");
61   MuonRec->SetOption("HLT", "libAliHLTMUON.so");
62   MuonRec->SetNumberOfEventsPerFile(1000);
63   MuonRec->SetOption("MUON",recoptions);
64   MuonRec->SetRunQA("MUON:ALL");
65   MuonRec->SetQAWriteExpert(AliQAv1::kMUON);
66   MuonRec->SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ;
67   MuonRec->SetWriteESDfriend(kFALSE);
68   MuonRec->SetCleanESD(kFALSE);  
69   MuonRec->SetStopOnError(kFALSE);
70   
71   // uncomment the following lines if you want to set custom RecoParam
72   // instead of getting them from the OCDB
73   //  AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam();
74   //  muonRecoParam->SaveFullClusterInESD(kTRUE,100.);
75   //  MuonRec->SetRecoParam("MUON",muonRecoParam);
76   
77   MuonRec->Run();
78   
79   delete MuonRec;
80   
81   //gObjectTable->Print();
82 }