Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / programs / process-hltout-payload.C
1 // $Id$
2 /**
3  * @file process-hltout-payload.C
4  * @brief Standard processing of HLTOUT payload
5  *
6  * <pre>
7  * Usage: aliroot -b -q process-hltout-payload.C'("raw.root")' | tee process-hltout-payload.log
8  * </pre>
9  *
10  * Open a raw reader for the specified input and process HLTOUT payload
11  * using the AliHLTReconstructor.
12  *
13  * @author Matthias.Richter@ift.uib.no
14  * @ingroup alihlt_programs
15  */
16 void process_hltout_payload(const char* input)
17 {
18   /////////////////////////////////////////////////////////////////////////
19   /////////////////////////////////////////////////////////////////////////
20   //
21   // setup of the reconstructor
22
23   gSystem->Load("libHLTrec");
24   AliHLTReconstructor hltRec;
25   hltRec.Init("chains= esdmanager='-writelocal'");
26
27   AliRawReader* rawreader=AliRawReader::Create(input);
28   if (!rawreader) {
29     return;
30   }
31   rawreader->RewindEvents();
32   int count=0;
33   if (!rawreader->NextEvent()) {
34     cout << "no events found in " << input << endl;
35     return;
36   }
37
38   hltRec.ProcessHLTOUT(rawreader, NULL);
39 }
40
41 void process_hltout_payload()
42 {
43   cerr << "===============================================================" << endl;
44   cerr << "usage: aliroot -b -q -l process-hltout-payload.C'(\"raw.root\")'" << endl << endl;
45   cerr << "please provide input, e.g. \"raw.root\", or \"./\"" << endl;
46   cerr << "===============================================================" << endl;
47 }