]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/exa/recraw-local.C
adding argument for specifying options for the HLT
[u/mrichter/AliRoot.git] / HLT / exa / recraw-local.C
CommitLineData
94430cc1 1// $Id$
2/**
3 * @file recraw-local.C
4 * @brief Run reconstruction of raw data locally
5 *
6 * <pre>
7 * Usage: aliroot -b -q -l \
dd347dca 8 * recraw-local.C'("file", "cdb", minEvent, maxEvent, modules)'
94430cc1 9 *
10 * Examples:
dd347dca 11 * recraw-local.C'("alien:///alice/data/2009/.../....root")'
94430cc1 12 * recraw-local.C'("raw://run12345")'
13 * recraw-local.C'("raw://run12345", minEvent, MaxEvent)'
14 * recraw-local.C'("raw.root", "local://$PWD", minEvent, MaxEvent)'
15 *
16 * Defaults
dd347dca 17 * cdb="raw://" -> take OCDB from GRID
18 * minEvent=-1 -> no lower event selection
19 * maxEvent=-1 -> no upper event selection
20 * modules="ALL" -> all modules
deb17658 21 * hltOption="loglevel=0x7c" -> logging level info and above
94430cc1 22 *
23 * </pre>
24 *
25 * The input file can be a file on the grid, indicated by the tag
26 * 'alien://' indicates. By default also the OCDB is set to the GRID.
27 * If either the file or the OCDB is taken from the GRID, the macros
28 * connects to the Grid in the beginning.
29 *
30 * Input files can be specified via te run number when using the tag
31 * 'raw://' followed by the string 'run12345' where the number needs
32 * to be adjusted.
deb17658 33 *
34 * As for the OCDB it is always a good idea to use the OCDB from the
35 * Grid as this will contain all the necessary objects and the latest
36 * calibration. The special URI 'raw://' is most advisable as it selects
37 * the storage automatically from the run number. Other options are e.g.
38 * - "alien://folder=/alice/data/2010/OCDB"
39 * - "local://$ALICE_ROOT/OCDB"
40 *
41 * Re-running the HLT reconstruction
42 * By specifying the hlt options, the HLT chain can be re-run instead
43 * of just extracting the online result. E.g. the following options
44 * specify to ignore the HLTOUT payload and run the two chains defined
45 * in the agents. The translation of the online configuration into
46 * an HLT offline chain is under development.
47 * <pre>
48 * ignore-hltout chains=GLOBAL-esd-converter,TPC-clusters
49 * <pre>
50 *
dd347dca 51 * Note: You need a valid GRID token, use 'alien-token-init' of your
52 * alien installation.
94430cc1 53 *
54 * @author Matthias.Richter@ift.uib.no
55 * @ingroup alihlt_qa
56 */
57void recraw_local(const char *filename,
58 const char *cdbURI,
59 int minEvent=-1,
dd347dca 60 int maxEvent=-1,
deb17658 61 const char *modules="ALL",
62 const char *hltOptions="loglevel=0x7c")
94430cc1 63{
64 // connect to the GRID if we use a file or OCDB from the GRID
65 TString struri=cdbURI;
66 TString strfile=filename;
67 if (struri.BeginsWith("raw://") ||
68 strfile.Contains("://") && !strfile.Contains("local://")) {
69 TGrid::Connect("alien");
70 }
71
72 // Set the CDB storage location
73 AliCDBManager * man = AliCDBManager::Instance();
74 man->SetDefaultStorage(cdbURI);
75
76 // Reconstruction settings
77 AliReconstruction rec;
78
79 if (minEvent>=0 || maxEvent>minEvent) {
80 if (minEvent<0) minEvent=0;
81 if (maxEvent<minEvent) maxEvent=minEvent;
82 rec.SetEventRange(minEvent,maxEvent);
83 }
84
dd347dca 85 if (modules)
86 rec.SetRunReconstruction(modules);
87 else
88 rec.SetRunReconstruction("ALL");
94430cc1 89
90 // QA options
dd347dca 91 rec.SetRunQA("HLT TPC:ALL") ;
92 //rec.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ;
94430cc1 93
94 // AliReconstruction settings
95 rec.SetWriteESDfriend(kTRUE);
96 rec.SetInput(filename);
deb17658 97 rec.SetOption("HLT", hltOptions);
94430cc1 98
99 rec.SetRunPlaneEff(kFALSE);
100
101 // switch off cleanESD
102 rec.SetCleanESD(kFALSE);
103
104 AliLog::Flush();
105 rec.Run();
106
107}
108
dd347dca 109void recraw_local(const char *filename,
94430cc1 110 int minEvent=-1,
dd347dca 111 int maxEvent=-1,
deb17658 112 const char *modules="ALL",
113 const char *hltOptions="loglevel=0x7f")
dd347dca 114{
deb17658 115 recraw_local(filename, "raw://", minEvent, maxEvent, modules, hltOptions);
dd347dca 116}
117
118void recraw_local()
94430cc1 119{
dd347dca 120 cout << "recraw-local: Run AliRoot reconstruction locally" << endl;
121 cout << " Usage: aliroot -b -q -l \\" << endl;
deb17658 122 cout << " recraw-local.C'(\"file\", \"cdb\", minEvent, maxEvent, modules, hltOptions)'" << endl;
dd347dca 123 cout << "" << endl;
124 cout << " Examples:" << endl;
125 cout << " recraw-local.C'(\"alien:///alice/data/2009/.../....root\")' " << endl;
126 cout << " recraw-local.C'(\"raw://run12345\")'" << endl;
127 cout << " recraw-local.C'(\"raw://run12345\", minEvent, MaxEvent)'" << endl;
128 cout << " recraw-local.C'(\"raw.root\", \"local://$PWD\", minEvent, MaxEvent)'" << endl;
129 cout << "" << endl;
130 cout << " Defaults" << endl;
131 cout << " cdb=\"raw://\" -> take OCDB from GRID" << endl;
132 cout << " minEvent=-1 -> no lower event selection" << endl;
133 cout << " maxEvent=-1 -> no upper event selection" << endl;
134 cout << " modules=\"ALL\" -> all modules" << endl;
deb17658 135 cout << " hltOption=\"loglevel=0x7c\" -> logging level info and above" << endl;
94430cc1 136}