Renaming AliHLTReconstructorBase to AliHLTPluginBase to reflect the
[u/mrichter/AliRoot.git] / HLT / exa / rec-from-hltout.C
1 // $Id$
2 /**
3  * @file rec-from-hltout.C
4  * @brief Detector reconstruction from HLTOUT data
5  *
6  * Example macro to run detector reconstruction from the HLTOUT data
7  * instead of the original detector data.
8  *
9  * Usage: aliroot -b -q rec-from-hltout.C | tee rec-from-hltout.log
10  *
11  * The macro asumes detector ddl raw data to be available in the HLTOUT,
12  * e.g. simulated by sim-hlt-rawddl.C
13  * Input replacement is run for the ITS (Note that only the ITSSDD was
14  * published to HLTOUT)
15  *
16  * The HLTOUT handler implemented in libAliHLTSample.lib is used to
17  * redirect data blocks of type {DDLRAW :SMPL} from the HLTOUT to the
18  * reconstruction input. \b Note: the origin \em SMPL is a special
19  * id just for the purpose of examples.
20  *
21  * @author Matthias.Richter@ift.uib.no
22  * @ingroup alihlt_tutorial
23  */
24 void rec_from_hltout()
25 {
26   /////////////////////////////////////////////////////////////////////////
27   /////////////////////////////////////////////////////////////////////////
28   //
29   // setup of the HLT system
30   AliHLTSystem* pHLT=AliHLTPluginBase::GetInstance();
31   if (!pHLT) {
32     cerr << "fatal error: can not get HLT instance" << endl;
33   }
34   // load libAliHLTSample in order to make HLTOUT handler available 
35   pHLT->LoadComponentLibraries("libAliHLTSample.so");
36   // disable chains from the library agent, not of interest for
37   // this example of data redirection
38   pHLT->ScanOptions("chains=");
39
40   /////////////////////////////////////////////////////////////////////////
41   /////////////////////////////////////////////////////////////////////////
42   //
43   // setup of the reconstruction
44   AliReconstruction rec;
45   rec.SetInput("./");
46   rec.SetRunLocalReconstruction("ITS HLT");
47   rec.SetRunTracking("ITS");
48   rec.SetFillESD("ITS HLT");
49   rec.SetRunQA(":");
50   rec.SetFillTriggerESD(kFALSE);
51
52   // set the redirection for ITS SDD
53   rec.SetUseHLTData("ITSSDD");
54
55   rec.Run();
56 }