]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliHLTReconstructor.h
HLT sample applications
[u/mrichter/AliRoot.git] / HLT / src / AliHLTReconstructor.h
CommitLineData
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 10class 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 41class AliHLTReconstructor: public AliReconstructor {
42public:
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 88private:
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 106typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility
107
de3c3890 108#endif