minor update in macro documentation
[u/mrichter/AliRoot.git] / HLT / rec / streamerinfo-from-raw.C
CommitLineData
9ca40ad8 1// $Id$
2/**
3 * @file streamerinfo-from-raw.C
4 * @brief Extract the streamer info for a raw file and AliRoot version
5 *
6 * This macro generates the streamer info for all objects in the HLTOUT
00f51b8e 7 * payload of the specified raw file. The AliRoot version needs to be the
8 * same as the one the HLTOUT payload was generated with.
9ca40ad8 9 *
10 * The macro has two optional parameters:
11 * - filename: default 'raw://'
12 * - OCDB URI: default 'raw.root'
13 *
14 * If either file or URI refers to the GRID, the macro connects to alien.
15 * Make sure that ROOT is compiled with ALIEN support and that the required
16 * alien API libraries can be loaded.
17 *
18 * You can run this macro with defaults using the following shell command:
19 * @code
20 * > aliroot -b -q $ALICE_ROOT/HLT/rec/streamerinfo-from-raw.C
21 * @endcode
22 * With a raw file from the GRID
23 * @code
24 * > aliroot -b -q streamerinfo-from-raw.C'("alien:///alice/data/2009/LHC09d/000102925/raw/09000102925035.10.root")'
25 * @endcode
26 *
27 * Streamer info is stored in a TObjArray wrapped into an AliCDBEntry
28 * object, and stored to HLT.StreamerInfo.root. This file can be used
29 * directly as OCDB object, it just needs to be renamed.
30 *
31 * @author Matthias.Richter@ift.uib.no
32 */
33void streamerinfo_from_raw(const char *filename="raw.root", const char* cdbUri="raw://")
34{
35 TString tmpStr1=filename;
36 TString tmpStr2=cdbUri;
37 if ((tmpStr1.Contains("://") && !tmpStr1.BeginsWith("local://")) ||
38 !tmpStr2.BeginsWith("local://")) {
39 // setup the GRID connection if raw file or OCDB are from GRID
40 TGrid::Connect("alien");
41 }
42
43 // Set the CDB storage location
44 AliCDBManager * man = AliCDBManager::Instance();
45 man->SetDefaultStorage(cdbUri);
46
47 // Reconstruction settings
48 AliReconstruction rec;
49 rec.SetRunPlaneEff(kFALSE);
50 rec.SetCleanESD(kFALSE);
51
52 rec.SetInput(filename);
53 rec.SetRunReconstruction("HLT");
54 rec.SetOption("HLT","skip-hltout chains=schemaevo");
55
56 AliHLTSystem* pHLT=AliHLTPluginBase::GetInstance();
57 AliHLTConfiguration publisher("hltout-publisher", "AliHLTOUTPublisher" , NULL, "");
58 AliHLTConfiguration collector("schemaevo", "ROOTSchemaEvolutionComponent" , "hltout-publisher", "-file=HLT.StreamerInfo.root");
59
60 // QA options
61 rec.SetRunQA(":") ;
62
63 AliLog::Flush();
64 rec.Run();
65}