3 #ifndef ALIHLTRECONSTRUCTOR_H
4 #define ALIHLTRECONSTRUCTOR_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 #include "AliReconstructor.h"
13 * @class AliHLTReconstructor
14 * AliHLTReconstructor AliRoot event reconstruction plugin for the HLT.
15 * The AliHLTReconstructor holds an instance of the @ref AliHLTSystem
16 * steering class. The actual reconstruction depends on the loaded component
17 * libraries. Each library must implement a module agent (@ref AliHLTModuleAgent)
18 * in order to provide information on the supported features and the
19 * configurations to be run.
21 * The default component libraries which are loaded through the initialization
22 * are determined by the @ref kHLTDefaultLibs array. The library loading can
23 * be overridden by an option to the AliHLTReconstructor through the
24 * <tt>SetOption</tt> method of <tt>AliReconstruction</tt>, e.g.
26 * AliReconstruction rec;
27 * rec.SetOption("HLT", "libAliHLTSample.so");
29 * will only load <tt>libAliHLTSample.so</tt>
31 * Optional arguments:<br>
32 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
33 * \li loglevel=<i>level</i><br>
34 * level can be a hex number encoding the @ref AliHLTComponentLogSeverity
36 * disables the logging of HLT log messages through <tt>AliLog</tt> <br>
38 * For further information on the AliRoot reconstruction refer to the AliRoot
39 * documentation, namely <tt>AliReconstruction</tt>.
41 class AliHLTReconstructor: public AliReconstructor {
43 AliHLTReconstructor();
44 AliHLTReconstructor(Bool_t doTracker, Bool_t doHough);
45 /** not a valid copy constructor, defined according to effective C++ style */
46 AliHLTReconstructor(const AliHLTReconstructor& src);
47 /** not a valid assignment op, but defined according to effective C++ style */
48 AliHLTReconstructor& operator=(const AliHLTReconstructor& src);
50 virtual ~AliHLTReconstructor();
52 /** init the reconstructor */
53 void Init(AliRunLoader* runLoader);
55 /** reconstruct simulated MC data */
56 void Reconstruct(AliRunLoader* runLoader) const;
57 /** reconstruct data from RawReader */
58 void Reconstruct(AliRunLoader* runLoader, AliRawReader* rawReader) const;
60 /** create a tracker */
61 AliTracker* CreateTracker(AliRunLoader*) const;
63 /** fill esd for one event */
64 void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
66 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const{
67 AliReconstructor::Reconstruct(digitsTree,clustersTree);
69 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const {
70 AliReconstructor::Reconstruct(rawReader,clustersTree);
73 virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
75 AliReconstructor::FillESD(digitsTree,clustersTree,esd);
77 virtual void FillESD(AliRawReader* rawReader, TTree* clustersTree,
79 AliReconstructor::FillESD(rawReader,clustersTree,esd);
81 virtual void FillESD(AliRunLoader* runLoader,
82 AliRawReader* rawReader, AliESD* esd) const {
83 AliReconstructor:: FillESD(runLoader,rawReader,esd);
85 void SetDoBench(Bool_t b){fDoBench=b;}
86 void SetDoCleanup(Bool_t b){fDoCleanUp=b;}
87 virtual void FillDHLTRecPoint(AliRawReader* rawReader, Int_t nofEvent, Int_t dcCut) const;
89 void ReconstructWithConformalMapping(AliRunLoader* runLoader,Int_t iEvent) const;
90 void ReconstructWithHoughTransform(AliRunLoader* runLoader,Int_t iEvent) const;
91 void FillESDforConformalMapping(AliESD* esd,Int_t iEvent) const;
92 void FillESDforHoughTransform(AliESD* esd,Int_t iEvent) const;
94 Bool_t fDoHough; //do the hough transform
95 Bool_t fDoTracker; //do the standard conformal tracker
96 Bool_t fDoBench; //store the benchmark results
97 Bool_t fDoCleanUp; //delete tmp tracking files
99 AliHLTSystem* fpSystem; //! HLT steering object
100 Int_t fRecEvents; //! number of reconstructed events
101 Int_t fFilled; //! number of event filled to ESD
103 ClassDef(AliHLTReconstructor, 1) // class for the TPC reconstruction
106 typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility