]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/VZERO/AliHLTVZERORecoComponent.h
possibility to exclude events with SDD clusters plus a fix on the histogram filling...
[u/mrichter/AliRoot.git] / HLT / VZERO / AliHLTVZERORecoComponent.h
CommitLineData
e7918895 1//-*- Mode: C++ -*-
2// $Id: AliHLTVZERORecoComponent $
3
4#ifndef ALIHLTVZERORECOCOMPONENT_H
5#define ALIHLTVZERORECOCOMPONENT_H
6
7/* This file is property of and copyright by the ALICE HLT Project *
8 * ALICE Experiment at CERN, All rights reserved. *
9 * See cxx source for full Copyright notice */
10
11/** @file AliHLTVZERORecoComponent.h
12 @author Jochen Thaeder <jochen@thaeder.de>
13 @brief VZERO reconstruction component
14*/
15
16// see below for class documentation
17// or
18// refer to README to build package
19// or
20// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21
22
23#include "AliHLTProcessor.h"
24
25class TTree;
26
27class AliRunInfo;
28class AliESDVZERO;
29class AliRawReaderMemory;
30class AliVZERORecoParam;
31class AliVZEROReconstructor;
32
33/**
34 * @class AliHLTVZERORecoComponent
35 * Reconstruction of VZERO data
36 *
37 * <h2>General properties:</h2>
38 *
39 * Component ID: \b VZEROReconstruction <br>
40 * Library: \b libAliHLTVZERO.so <br>
41 * Input Data Types: @ref kAliHLTDataTypeDDLRaw <br>
42 * Output Data Types: @ref kAliHLTDataTypeESDContent|kAliHLTDataOriginVZERO <br>
43 *
44 * <h2>Mandatory arguments:</h2>
45 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
46 *
47 * <h2>Optional arguments:</h2>
48 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
49 *
50 * <h2>Configuration:</h2>
51 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
52 *
53 * <h2>Default CDB entries:</h2>
54 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
55 *
56 * <tt>HLT/ConfigVZERO/VZEROReconstruction</tt>
57 * \li -TObjString object holding a string with the configuration parameters
58 * currently empty
59 *
60 * <tt>GRP/GRP/Data</tt>
61 * \li -GRP object - run information
62 *
63 * <tt>GRP/CTP/CTPtiming</tt>
64 * \li -GRP object - CTP information
65 *
66 * <tt>GRP/CTP/TimeAlign</tt>
67 * \li -GRP object - CTP information
68 *
69 * <tt>GRP/Calib/LHCClockPhase</tt>
70 * \li -GRP object - time calibration
71 *
72 * <tt>VZERO/Calib/Data</tt>
73 * \li -VZERO calibration object
74 *
75 * <tt>VZERO/Calib/TimeDelays</tt>
76 * \li -VZERO calibration object
77 *
78 * <tt>VZERO/Calib/TimeSlewing</tt>
79 * \li -VZERO calibration object
80 *
81 * <h2>Performance:</h2>
82 *
83 * <h2>Memory consumption:</h2>
84 *
85 * <h2>Input size:</h2>
86 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
87 *
88 * \li pp: 5968 Byte
89 *
90 * <h2>Output size:</h2>
91 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
92 *
93 * \li pp: Average : 1.8 kByte
94 *
95 * <h2>Macros Tests</h2>
96 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
97 *
98 * <tt>macros/makeConfigurationObjectVZEROReconstruction.C</tt>
99 * \li - Create configuration TObjString
100 *
101 * <tt>macros/HLTVZEROTest.C</tt>
102 * \li - Test macro for VZERO test in off-line environment
103 *
104 * <tt>macros/runVZEROTest.sh</tt>
105 * \li - Run Test macro HLTVZEROTest.C
106 *
107 * @ingroup alihlt_vzero
108 */
109class AliHLTVZERORecoComponent : public AliHLTProcessor {
110public:
111
112 /*
113 * ---------------------------------------------------------------------------------
114 * Constructor / Destructor
115 * ---------------------------------------------------------------------------------
116 */
117
118 /** constructor */
119 AliHLTVZERORecoComponent();
120
121 /** destructor */
122 virtual ~AliHLTVZERORecoComponent();
123
124 /*
125 * ---------------------------------------------------------------------------------
126 * Public functions to implement AliHLTComponent's interface.
127 * These functions are required for the registration process
128 * ---------------------------------------------------------------------------------
129 */
130
131 /** interface function, see @ref AliHLTComponent for description */
132 const Char_t* GetComponentID();
133
134 /** interface function, see @ref AliHLTComponent for description */
135 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
136
137 /** interface function, see @ref AliHLTComponent for description */
138 AliHLTComponentDataType GetOutputDataType();
139
140 /** interface function, see @ref AliHLTComponent for description */
141 void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier );
142
143 /** interface function, see @ref AliHLTComponent for description */
144 void GetOCDBObjectDescription( TMap* const targetMap);
145
146 /** interface function, see @ref AliHLTComponent for description */
147 AliHLTComponent* Spawn();
148
149 protected:
150
151 /*
152 * ---------------------------------------------------------------------------------
153 * Protected functions to implement AliHLTComponent's interface.
154 * These functions provide initialization as well as the actual processing
155 * capabilities of the component.
156 * ---------------------------------------------------------------------------------
157 */
158
159 // AliHLTComponent interface functions
160
161 /** interface function, see @ref AliHLTComponent for description */
162 Int_t DoInit( Int_t argc, const Char_t** argv );
163
164 /** interface function, see @ref AliHLTComponent for description */
165 Int_t DoDeinit();
166
167 /** interface function, see @ref AliHLTComponent for description */
168 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
169
170 using AliHLTProcessor::DoEvent;
171
172 /** interface function, see @ref AliHLTComponent for description */
173 Int_t ScanConfigurationArgument(Int_t argc, const Char_t** argv);
174
175 /** interface function, see @ref AliHLTComponent for description */
176 Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId);
177
178 /** interface function, see @ref AliHLTComponent for description */
179 Int_t ReadPreprocessorValues(const Char_t* modules);
180
181 ///////////////////////////////////////////////////////////////////////////////////
182
183private:
184
185 /*
186 * ---------------------------------------------------------------------------------
187 * Private functions to implement AliHLTComponent's interface.
188 * These functions provide initialization as well as the actual processing
189 * capabilities of the component.
190 * ---------------------------------------------------------------------------------
191 */
192
193 /** copy constructor prohibited */
194 AliHLTVZERORecoComponent(const AliHLTVZERORecoComponent&);
195
196 /** assignment operator prohibited */
197 AliHLTVZERORecoComponent& operator=(const AliHLTVZERORecoComponent&);
198
199 /*
200 * ---------------------------------------------------------------------------------
201 * Members - private
202 * ---------------------------------------------------------------------------------
203 */
204
205 /** runInfo Object */
206 AliRunInfo *fRunInfo; // see above
207
e7918895 208 /** VZERO reco param instance */
209 AliVZERORecoParam *fVZERORecoParam; //! transient
210
211 /** VZERO reconstructor instance */
212 AliVZEROReconstructor *fVZEROReconstructor; //! transient
213
214 /** Rawreader instance */
215 AliRawReaderMemory *fRawReader; //! transient
216
217 ClassDef(AliHLTVZERORecoComponent, 0)
218};
219#endif