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"
28 * @class AliHLTReconstructor
29 * AliHLTReconstructor AliRoot event reconstruction plugin for the HLT.
30 * The AliHLTReconstructor holds an instance of the @ref AliHLTSystem
31 * steering class. The actual reconstruction depends on the loaded component
32 * libraries. Each library must implement a module agent (@ref AliHLTModuleAgent)
33 * in order to provide information on the supported features and the
34 * configurations to be run.
36 * The default component libraries which are loaded through the initialization
37 * are determined by the @ref AliHLTSystem::fgkHLTDefaultLibs array. The library
38 * loading can be overridden by an option to the AliHLTReconstructor through the
39 * <tt>SetOption</tt> method of <tt>AliReconstruction</tt>, e.g.
41 * AliReconstruction rec;
42 * rec.SetOption("HLT", "libAliHLTSample.so");
44 * will only load <tt>libAliHLTSample.so</tt>
46 * Optional arguments:<br>
47 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
48 * \li loglevel=<i>level</i><br>
49 * level can be a hex number encoding the @ref AliHLTComponentLogSeverity
51 * disables the logging of HLT log messages through <tt>AliLog</tt> <br>
53 * For further information on the AliRoot reconstruction refer to the AliRoot
54 * documentation, namely <tt>AliReconstruction</tt>.
56 class AliHLTReconstructor: public AliReconstructor {
58 AliHLTReconstructor();
60 virtual ~AliHLTReconstructor();
62 /** init the reconstructor */
66 * This Reconstructor function is not applicable for the AliHLTReconstructor
67 * as it gets a detector specific digits tree. But HLT processes all detectors.
68 * Furthermore it's purely simulated data. <br>
69 * The function forwards to the default bahavior of AliReconstructor but gives
70 * a warning if there were options set, i.e. the user runs customized
73 void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
76 * Reconstruction from RAW data.
77 * The rawReader holds data for all detectors and this version of Reconstruct
78 * is thus applicable for the HLT. The clustersTree is just ignored.
80 void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
83 * This function is purely for simulated data and not applicable for HLT.
84 * HLT reconstruction on simulated data is processed at the end of
86 * The function forwards to the default bahavior of AliReconstructor but gives
87 * a warning if there were options set, i.e. the user runs customized
90 void FillESD(TTree* digitsTree, TTree* clustersTree, AliESDEvent* esd) const;
93 * Fill the ESD from RAW data.
94 * This is the main entry for HLT reconstruction of RAW data. It performs both
95 * the analysis by the defined chains and the filling of the ESD.
97 void FillESD(AliRawReader* rawReader, TTree* clustersTree, AliESDEvent* esd) const;
100 /** copy constructor prohibited */
101 AliHLTReconstructor(const AliHLTReconstructor& src);
102 /** assignment operator prohibited */
103 AliHLTReconstructor& operator=(const AliHLTReconstructor& src);
105 AliHLTSystem* fpSystem; //! HLT steering object
107 ClassDef(AliHLTReconstructor, 3) // class for the HLT reconstruction
110 typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility