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"
15 * @class AliHLTReconstructor
16 * AliHLTReconstructor AliRoot event reconstruction plugin for the HLT.
17 * The AliHLTReconstructor holds an instance of the @ref AliHLTSystem
18 * steering class. The actual reconstruction depends on the loaded component
19 * libraries. Each library must implement a module agent (@ref AliHLTModuleAgent)
20 * in order to provide information on the supported features and the
21 * configurations to be run.
23 * The default component libraries which are loaded through the initialization
24 * are determined by the @ref kHLTDefaultLibs array. The library loading can
25 * be overridden by an option to the AliHLTReconstructor through the
26 * <tt>SetOption</tt> method of <tt>AliReconstruction</tt>, e.g.
28 * AliReconstruction rec;
29 * rec.SetOption("HLT", "libAliHLTSample.so");
31 * will only load <tt>libAliHLTSample.so</tt>
33 * Optional arguments:<br>
34 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
35 * \li loglevel=<i>level</i><br>
36 * level can be a hex number encoding the @ref AliHLTComponentLogSeverity
38 * disables the logging of HLT log messages through <tt>AliLog</tt> <br>
40 * For further information on the AliRoot reconstruction refer to the AliRoot
41 * documentation, namely <tt>AliReconstruction</tt>.
43 class AliHLTReconstructor: public AliReconstructor {
45 AliHLTReconstructor();
47 virtual ~AliHLTReconstructor();
49 /** init the reconstructor */
53 * This Reconstructor function is not applicable for the AliHLTReconstructor
54 * as it gets a detector specific digits tree. But HLT processes all detectors.
55 * Furthermore it's purely simulated data.
57 void Reconstruct(TTree* digitsTree, TTree* clustersTree) const{
58 AliReconstructor::Reconstruct(digitsTree,clustersTree);
62 * Reconstruction from RAW data.
63 * The rawReader holds data for all detectors and this version of Reconstruct
64 * is thus applicable for the HLT. The clustersTree is just ignored.
66 void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
69 * This function is purely for simulated data and not applicable for HLT.
70 * HLT reconstruction on simulated data is processed at the end of
73 void FillESD(TTree* digitsTree, TTree* clustersTree, AliESDEvent* esd) const {
74 AliReconstructor::FillESD(digitsTree,clustersTree,esd);
78 * Fill the ESD from RAW data.
79 * This is the main entry for HLT reconstruction of RAW data. It performs both
80 * the analysis by the defined chains and the filling of the ESD.
82 void FillESD(AliRawReader* rawReader, TTree* clustersTree, AliESDEvent* esd) const;
85 /** copy constructor prohibited */
86 AliHLTReconstructor(const AliHLTReconstructor& src);
87 /** assignment operator prohibited */
88 AliHLTReconstructor& operator=(const AliHLTReconstructor& src);
90 AliHLTSystem* fpSystem; //! HLT steering object
92 ClassDef(AliHLTReconstructor, 3) // class for the HLT reconstruction
95 typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility