3 #ifndef ALIHLTRECONSTRUCTOR_H
4 #define ALIHLTRECONSTRUCTOR_H
5 /* This file is property of and copyright by the ALICE HLT Project *
6 * ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
9 /** @file AliHLTReconstructor.h
10 @author Matthias Richter
12 @brief Binding class for HLT simulation in AliRoot
14 // see below for class documentation
16 // refer to README to build package
18 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21 #include "AliReconstructor.h"
22 #include "AliHLTReconstructorBase.h"
29 * @class AliHLTReconstructor
30 * AliHLTReconstructor AliRoot event reconstruction plugin for the HLT.
31 * The AliHLTReconstructor holds an instance of the @ref AliHLTSystem
32 * steering class. The actual reconstruction depends on the loaded component
33 * libraries. Each library must implement a module agent (@ref AliHLTModuleAgent)
34 * in order to provide information on the supported features and the
35 * configurations to be run.
37 * The default component libraries which are loaded through the initialization
38 * are determined by the @ref AliHLTSystem::fgkHLTDefaultLibs array. The library
39 * loading can be overridden by an option to the AliHLTReconstructor through the
40 * <tt>SetOption</tt> method of <tt>AliReconstruction</tt>, e.g.
42 * AliReconstruction rec;
43 * rec.SetOption("HLT", "libAliHLTSample.so");
45 * will only load <tt>libAliHLTSample.so</tt>
47 * Optional arguments:<br>
48 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
49 * \li loglevel=<i>level</i><br>
50 * level can be a hex number encoding the @ref AliHLTComponentLogSeverity
52 * disables the logging of HLT log messages through <tt>AliLog</tt> <br>
54 * For further information on the AliRoot reconstruction refer to the AliRoot
55 * documentation, namely <tt>AliReconstruction</tt>.
57 class AliHLTReconstructor: public AliReconstructor, public AliHLTReconstructorBase {
59 AliHLTReconstructor();
61 virtual ~AliHLTReconstructor();
63 /** init the reconstructor */
67 * This Reconstructor function is not applicable for the AliHLTReconstructor
68 * as it gets a detector specific digits tree. But HLT processes all detectors.
69 * Furthermore it's purely simulated data. <br>
70 * The function forwards to the default bahavior of AliReconstructor but gives
71 * a warning if there were options set, i.e. the user runs customized
74 void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
77 * Reconstruction from RAW data.
78 * The rawReader holds data for all detectors and this version of Reconstruct
79 * is thus applicable for the HLT. The clustersTree is just ignored.
81 void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
84 * This function is purely for simulated data and not applicable for HLT.
85 * HLT reconstruction on simulated data is processed at the end of
87 * The function forwards to the default bahavior of AliReconstructor but gives
88 * a warning if there were options set, i.e. the user runs customized
91 void FillESD(TTree* digitsTree, TTree* clustersTree, AliESDEvent* esd) const;
94 * Fill the ESD from RAW data.
95 * This is the main entry for HLT reconstruction of RAW data. It performs both
96 * the analysis by the defined chains and the filling of the ESD.
98 void FillESD(AliRawReader* rawReader, TTree* clustersTree, AliESDEvent* esd) const;
101 /** copy constructor prohibited */
102 AliHLTReconstructor(const AliHLTReconstructor& src);
103 /** assignment operator prohibited */
104 AliHLTReconstructor& operator=(const AliHLTReconstructor& src);
106 ClassDef(AliHLTReconstructor, 4) // class for the HLT reconstruction
109 typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility