]>
Commit | Line | Data |
---|---|---|
8c717250 | 1 | // @(#) $Id$ |
2 | ||
de3c3890 | 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 */ | |
7 | ||
de3c3890 | 8 | #include "AliReconstructor.h" |
de3c3890 | 9 | |
73e81c35 | 10 | class AliHLTSystem; |
11 | ||
90ebac25 | 12 | /** |
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. | |
20 | * | |
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. | |
25 | * <pre> | |
26 | * AliReconstruction rec; | |
27 | * rec.SetOption("HLT", "libAliHLTSample.so"); | |
28 | * </pre> | |
29 | * will only load <tt>libAliHLTSample.so</tt> | |
30 | * | |
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 | |
35 | * \li alilog=off <br> | |
36 | * disables the logging of HLT log messages through <tt>AliLog</tt> <br> | |
37 | * | |
38 | * For further information on the AliRoot reconstruction refer to the AliRoot | |
39 | * documentation, namely <tt>AliReconstruction</tt>. | |
40 | */ | |
de3c3890 | 41 | class AliHLTReconstructor: public AliReconstructor { |
42 | public: | |
ff0a6788 | 43 | AliHLTReconstructor(); |
44 | AliHLTReconstructor(Bool_t doTracker, Bool_t doHough); | |
73e81c35 | 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); | |
49 | /** destructor */ | |
ff0a6788 | 50 | virtual ~AliHLTReconstructor(); |
51 | ||
73e81c35 | 52 | /** init the reconstructor */ |
53 | void Init(AliRunLoader* runLoader); | |
54 | ||
55 | /** reconstruct simulated MC data */ | |
56 | void Reconstruct(AliRunLoader* runLoader) const; | |
57 | /** reconstruct data from RawReader */ | |
58 | void Reconstruct(AliRunLoader* runLoader, AliRawReader* rawReader) const; | |
59 | ||
60 | /** create a tracker */ | |
61 | AliTracker* CreateTracker(AliRunLoader*) const; | |
62 | ||
63 | /** fill esd for one event */ | |
64 | void FillESD(AliRunLoader* runLoader, AliESD* esd) const; | |
65 | ||
298edb8a | 66 | virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const{ |
67 | AliReconstructor::Reconstruct(digitsTree,clustersTree); | |
68 | } | |
69 | virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const { | |
70 | AliReconstructor::Reconstruct(rawReader,clustersTree); | |
71 | } | |
73e81c35 | 72 | |
298edb8a | 73 | virtual void FillESD(TTree* digitsTree, TTree* clustersTree, |
74 | AliESD* esd) const { | |
75 | AliReconstructor::FillESD(digitsTree,clustersTree,esd); | |
76 | } | |
77 | virtual void FillESD(AliRawReader* rawReader, TTree* clustersTree, | |
78 | AliESD* esd) const { | |
79 | AliReconstructor::FillESD(rawReader,clustersTree,esd); | |
80 | } | |
298edb8a | 81 | virtual void FillESD(AliRunLoader* runLoader, |
82 | AliRawReader* rawReader, AliESD* esd) const { | |
83 | AliReconstructor:: FillESD(runLoader,rawReader,esd); | |
84 | } | |
2456c180 | 85 | void SetDoBench(Bool_t b){fDoBench=b;} |
86 | void SetDoCleanup(Bool_t b){fDoCleanUp=b;} | |
8a296f1c | 87 | virtual void FillDHLTRecPoint(AliRawReader* rawReader, Int_t nofEvent, Int_t dcCut) const; |
de3c3890 | 88 | private: |
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; | |
93 | ||
2456c180 | 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 | |
8c717250 | 98 | |
73e81c35 | 99 | AliHLTSystem* fpSystem; //! HLT steering object |
100 | Int_t fRecEvents; //! number of reconstructed events | |
101 | Int_t fFilled; //! number of event filled to ESD | |
102 | ||
103 | ClassDef(AliHLTReconstructor, 1) // class for the TPC reconstruction | |
de3c3890 | 104 | }; |
de3c3890 | 105 | |
4aa41877 | 106 | typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility |
107 | ||
de3c3890 | 108 | #endif |