]>
Commit | Line | Data |
---|---|---|
c1292031 | 1 | // $Id$ |
2 | /** | |
3 | * @file hltout-collect-esd.C | |
4 | * @brief Example for the AliHLTEsdCollectorComponent | |
5 | * | |
6 | * Example macro to run a small chain with the AliHLTOUTPublisherComponent | |
7 | * and the AliHLTEsdCollectorComponent. The AliHLTOUTPublisherComponent | |
8 | * is configured to publish all ESD objects from the HLTOUT data, the | |
9 | * AliHLTEsdCollectorComponent writes the files using the AliHLTEsdManager. | |
10 | * | |
ed42a0fd | 11 | * Usage: aliroot -b -q \ |
12 | * hltout-collect-esd.C'("raw.root","local://$ALICE_ROOT/OCDB",0,5)' | tee hltout-collect-esd.log | |
13 | * or | |
14 | * | |
15 | * aliroot -b -l -q \ | |
16 | * hltout-collect-esd.C'("alien:///alice/data/2010/LHC10b/000115322/raw/10000115322040.80.root","raw://",0,5)' | tee hltout-collect-esd.log | |
17 | * | |
18 | * | |
c1292031 | 19 | * The macro asumes HLTOUT raw data ddl files in order to open an |
20 | * AliRawReaderFile, e.g. simulated using the default AliSimulation with | |
21 | * at least SetWriteRawData("HLT") enabled. | |
22 | * | |
23 | * \b Note: The example disables a few steps in the AliReconstruction, | |
24 | * mainly because of crashes in various parts of AliRoot. This does not | |
25 | * have any impact to the HLT features to be presented. | |
26 | * | |
27 | * @author Matthias.Richter@ift.uib.no | |
28 | * @ingroup alihlt_tutorial | |
29 | */ | |
ed42a0fd | 30 | void hltout_collect_esd(const char *filename, |
31 | const char *cdbURI, | |
32 | int minEvent=-1, | |
33 | int maxEvent=-1) | |
c1292031 | 34 | { |
ed42a0fd | 35 | |
36 | // connect to the GRID if we use a file or OCDB from the GRID | |
37 | TString struri=cdbURI; | |
38 | TString strfile=filename; | |
39 | if (struri.BeginsWith("raw://") || | |
40 | strfile.Contains("://") && !strfile.Contains("local://")) { | |
41 | TGrid::Connect("alien"); | |
42 | } | |
43 | ||
44 | // Set the CDB storage location | |
45 | AliCDBManager * man = AliCDBManager::Instance(); | |
46 | man->SetDefaultStorage(cdbURI); | |
47 | if (struri.BeginsWith("local://")) { | |
48 | // set specific storage for GRP entry | |
49 | // search in the working directory and one level above, the latter | |
50 | // follows the standard simulation setup like e.g. in test/ppbench | |
51 | if (!gSystem->AccessPathName("GRP/GRP/Data")) { | |
52 | man->SetSpecificStorage("GRP/GRP/Data", "local://$PWD"); | |
53 | } else if (!gSystem->AccessPathName("../GRP/GRP/Data")) { | |
54 | man->SetSpecificStorage("GRP/GRP/Data", "local://$PWD/.."); | |
55 | } | |
56 | } | |
c1292031 | 57 | ///////////////////////////////////////////////////////////////////////// |
58 | ///////////////////////////////////////////////////////////////////////// | |
59 | // | |
60 | // setup of the HLT system | |
1b076b86 | 61 | AliHLTSystem* pHLT=AliHLTPluginBase::GetInstance(); |
c1292031 | 62 | if (!pHLT) { |
63 | cerr << "fatal error: can not get HLT instance" << endl; | |
64 | } | |
65 | ||
66 | ///////////////////////////////////////////////////////////////////////// | |
67 | ///////////////////////////////////////////////////////////////////////// | |
68 | // | |
69 | // the configuration chain | |
70 | TString arg; | |
71 | ||
72 | // the publisher configuration | |
5721c8fa | 73 | arg.Form("-typeid ALIESDV0"); |
c1292031 | 74 | AliHLTConfiguration publisher("hltout-publisher", "AliHLTOUTPublisher" , NULL, arg.Data()); |
75 | ||
76 | // the writer configuration | |
77 | arg.Form(""); | |
78 | AliHLTConfiguration collector("sink1", "EsdCollector" , "hltout-publisher", arg.Data()); | |
79 | ||
80 | ///////////////////////////////////////////////////////////////////////// | |
81 | ///////////////////////////////////////////////////////////////////////// | |
82 | // | |
83 | // setup of the reconstruction | |
ed42a0fd | 84 | AliReconstruction rec; |
85 | ||
86 | if (minEvent>=0 || maxEvent>minEvent) { | |
87 | if (minEvent<0) minEvent=0; | |
88 | if (maxEvent<minEvent) maxEvent=minEvent; | |
89 | rec.SetEventRange(minEvent,maxEvent); | |
90 | } | |
91 | ||
92 | rec.SetInput(filename); | |
c1292031 | 93 | rec.SetRunLocalReconstruction("HLT"); |
94 | rec.SetRunTracking(""); | |
95 | rec.SetFillESD(""); | |
5a78a6e3 | 96 | rec.SetRunQA(":"); |
c1292031 | 97 | rec.SetFillTriggerESD(kFALSE); |
98 | rec.SetRunVertexFinder(kFALSE); | |
99 | rec.SetOption("HLT", "libAliHLTUtil.so loglevel=0x7c chains=sink1"); | |
100 | rec.Run(); | |
101 | } |