3 /**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * ALICE Experiment at CERN, All rights reserved. *
7 * Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
8 * Timm Steinbeck <timm@kip.uni-heidelberg.de> *
9 * Jochen Thaeder <thaeder@kip.uni-heidelberg.de> *
10 * for The ALICE HLT Project. *
12 * Permission to use, copy, modify and distribute this software and its *
13 * documentation strictly for non-commercial purposes is hereby granted *
14 * without fee, provided that the above copyright notice appears in all *
15 * copies and that both the copyright notice and this permission notice *
16 * appear in the supporting documentation. The authors make no claims *
17 * about the suitability of this software for any purpose. It is *
18 * provided "as is" without express or implied warranty. *
19 **************************************************************************/
21 /** @file AliHLTDataTypes.cxx
22 @author Matthias Richter, Timm Steinbeck, Jochen Thaeder
24 @brief Implementation of data types. */
26 // those types can not be implemented in the header files as rootcint
27 // can not cope with the type id and origin defines.
30 // some compilers can not cope with the fomerly used initialization of the
31 // default data type variable by using the operator | like e.g
32 // const AliHLTComponentDataType kAliHLTDataTypeComponentTable = (AliHLTComponentDataType) {
33 // sizeof(AliHLTComponentDataType),
34 // kAliHLTComponentTableDataTypeID,
35 // kAliHLTDataOriginAny
36 // }|kAliHLTDataOriginPrivate;
37 // Mainly the compined type cast and utilization of the operator| is the problem.
38 // An initializer function has been defined in order to work around this issue.
40 #include "AliHLTDataTypes.h"
42 /** multiple output data types */
43 const char kAliHLTMultipleDataTypeIDstring[8] = {'M','U','L','T','I','P','L','E'};
44 const AliHLTComponentDataType kAliHLTMultipleDataType = AliHLTComponentDataTypeInitializer(kAliHLTMultipleDataTypeIDstring, kAliHLTDataOriginPrivate);
46 /** data to file exchange subscriber */
47 const char kAliHLTFXSCalibDataTypeIDstring[8] = kAliHLTFXSCalibDataTypeID;
48 const AliHLTComponentDataType kAliHLTDataTypeFXSCalib = AliHLTComponentDataTypeInitializer(kAliHLTFXSCalibDataTypeIDstring, kAliHLTDataOriginOut);
50 /** DDL list data type */
51 const char kAliHLTDDLDataTypeIDstring[8] = kAliHLTDDLDataTypeID;
52 const AliHLTComponentDataType kAliHLTDataTypeDDL = AliHLTComponentDataTypeInitializer(kAliHLTDDLDataTypeIDstring, kAliHLTDataOriginOut);
54 /** DAQ readout list */
55 const AliHLTComponentDataType kAliHLTDataTypeDAQRDOUT = AliHLTComponentDataTypeInitializer(kAliHLTDAQRDOUTDataTypeID, kAliHLTDataOriginAny);
58 const char kAliHLTSORDataTypeIDstring[8] = kAliHLTSORDataTypeID;
59 const AliHLTComponentDataType kAliHLTDataTypeSOR = AliHLTComponentDataTypeInitializer(kAliHLTSORDataTypeIDstring, kAliHLTDataOriginPrivate);
62 const char kAliHLTEORDataTypeIDstring[8] = kAliHLTEORDataTypeID;
63 const AliHLTComponentDataType kAliHLTDataTypeEOR = AliHLTComponentDataTypeInitializer(kAliHLTEORDataTypeIDstring, kAliHLTDataOriginPrivate);
65 /** run type data block */
66 const char kAliHLTRunTypeDataTypeIDstring[8] = kAliHLTRunTypeDataTypeID;
67 const AliHLTComponentDataType kAliHLTDataTypeRunType = AliHLTComponentDataTypeInitializer(kAliHLTRunTypeDataTypeIDstring, kAliHLTDataOriginPrivate);
69 /** Event type specification */
70 const char kAliHLTEventDataTypeIDstring[8] = kAliHLTEventDataTypeID;
71 const AliHLTComponentDataType kAliHLTDataTypeEvent = AliHLTComponentDataTypeInitializer(kAliHLTEventDataTypeIDstring, kAliHLTDataOriginPrivate);
73 /** ECS parameter string */
74 const char kAliHLTECSParamDataTypeIDstring[8] = kAliHLTECSParamDataTypeID;
75 const AliHLTComponentDataType kAliHLTDataTypeECSParam = AliHLTComponentDataTypeInitializer(kAliHLTECSParamDataTypeIDstring, kAliHLTDataOriginPrivate);
77 /** Configuration event data type */
78 const char kAliHLTComConfDataTypeIDstring[8] = kAliHLTComConfDataTypeID;
79 const AliHLTComponentDataType kAliHLTDataTypeComConf = AliHLTComponentDataTypeInitializer(kAliHLTComConfDataTypeIDstring, kAliHLTDataOriginPrivate);
81 /** DCS value update event */
82 const char kAliHLTUpdtDCSDataTypeIDstring[8] = kAliHLTUpdtDCSDataTypeID;
83 const AliHLTComponentDataType kAliHLTDataTypeUpdtDCS = AliHLTComponentDataTypeInitializer(kAliHLTUpdtDCSDataTypeIDstring, kAliHLTDataOriginPrivate);
85 /** RAW DDL data specification, data publisher will set type id and origin correctly */
86 const char kAliHLTDDLRawDataTypeIDstring[8] = kAliHLTDDLRawDataTypeID;
87 const AliHLTComponentDataType kAliHLTDataTypeDDLRaw = AliHLTComponentDataTypeInitializer(kAliHLTDDLRawDataTypeIDstring, kAliHLTDataOriginAny);
89 /** CLUSTERS data type */
90 const char kAliHLTClustersDataTypeIDstring[8] = kAliHLTClustersDataTypeID;
91 const AliHLTComponentDataType kAliHLTDataTypeClusters = AliHLTComponentDataTypeInitializer(kAliHLTClustersDataTypeIDstring, kAliHLTDataOriginAny);
93 /** MC data specification */
94 const char kAliHLTMCObjectDataTypeIDstring[8] = kAliHLTMCObjectDataTypeID;
95 const AliHLTComponentDataType kAliHLTDataTypeMCObject = AliHLTComponentDataTypeInitializer(kAliHLTMCObjectDataTypeIDstring, kAliHLTDataOriginOffline);
97 /** ESD vertex data specification */
98 const char kAliHLTESDVertexDataTypeIDstring[8] = kAliHLTESDVertexDataTypeID;
99 const AliHLTComponentDataType kAliHLTDataTypeESDVertex = AliHLTComponentDataTypeInitializer(kAliHLTESDVertexDataTypeIDstring, kAliHLTDataOriginAny);
101 /** KF vertex data specification */
102 const char kAliHLTKFVertexDataTypeIDstring[8] = kAliHLTKFVertexDataTypeID;
103 const AliHLTComponentDataType kAliHLTDataTypeKFVertex = AliHLTComponentDataTypeInitializer(kAliHLTKFVertexDataTypeIDstring, kAliHLTDataOriginAny);
105 /** Global Vertexer data specification */
106 const char kAliHLTDataTypeGlobalVertexerIDstring[8] = kAliHLTDataTypeGlobalVertexerID;
107 const AliHLTComponentDataType kAliHLTDataTypeGlobalVertexer = AliHLTComponentDataTypeInitializer(kAliHLTDataTypeGlobalVertexerIDstring, kAliHLTDataOriginAny);
109 /** Primary finder data specification */
110 const char kAliHLTPrimaryFinderDataTypeIDstring[8] = kAliHLTDataTypePrimaryFinderID;
111 const AliHLTComponentDataType kAliHLTDataTypePrimaryFinder = AliHLTComponentDataTypeInitializer(kAliHLTPrimaryFinderDataTypeIDstring, kAliHLTDataOriginAny);
113 /** V0 finder data specification */
114 const char kAliHLTV0FinderDataTypeIDstring[8] = kAliHLTDataTypeV0FinderID;
115 const AliHLTComponentDataType kAliHLTDataTypeV0Finder = AliHLTComponentDataTypeInitializer(kAliHLTV0FinderDataTypeIDstring, kAliHLTDataOriginAny);
117 /** ESD data specification */
118 const char kAliHLTESDObjectDataTypeIDstring[8] = kAliHLTESDObjectDataTypeID;
119 const AliHLTComponentDataType kAliHLTDataTypeESDObject = AliHLTComponentDataTypeInitializer(kAliHLTESDObjectDataTypeIDstring, kAliHLTDataOriginAny);
121 /** ESD friend data specification */
122 const char kAliHLTESDfriendObjectDataTypeIDstring[8] = kAliHLTESDfriendObjectDataTypeID;
123 const AliHLTComponentDataType kAliHLTDataTypeESDfriendObject = AliHLTComponentDataTypeInitializer(kAliHLTESDfriendObjectDataTypeIDstring, kAliHLTDataOriginAny);
125 /** Flat ESD data specification */
126 const char kAliHLTFlatESDDataTypeIDstring[8] = kAliHLTFlatESDDataTypeID;
127 const AliHLTComponentDataType kAliHLTDataTypeFlatESD = AliHLTComponentDataTypeInitializer(kAliHLTFlatESDDataTypeIDstring, kAliHLTDataOriginAny);
129 /** Flat ESD Vertex data specification */
130 const char kAliHLTFlatESDVertexDataTypeIDstring[8] = kAliHLTFlatESDVertexDataTypeID;
131 const AliHLTComponentDataType kAliHLTDataTypeFlatESDVertex = AliHLTComponentDataTypeInitializer(kAliHLTFlatESDVertexDataTypeIDstring, kAliHLTDataOriginAny);
133 /** ESD content specification */
134 const char kAliHLTESDContentDataTypeIDstring[8] = kAliHLTESDContentDataTypeID;
135 const AliHLTComponentDataType kAliHLTDataTypeESDContent = AliHLTComponentDataTypeInitializer(kAliHLTESDContentDataTypeIDstring, kAliHLTDataOriginAny);
137 /** ESD tree data specification */
138 const char kAliHLTESDTreeDataTypeIDstring[8] = kAliHLTESDTreeDataTypeID;
139 const AliHLTComponentDataType kAliHLTDataTypeESDTree = AliHLTComponentDataTypeInitializer(kAliHLTESDTreeDataTypeIDstring, kAliHLTDataOriginAny);
141 /** AliRoot TreeD data specification */
142 const char kAliHLTTreeDDataTypeIDstring[8] = kAliHLTTreeDDataTypeID;
143 const AliHLTComponentDataType kAliHLTDataTypeAliTreeD = AliHLTComponentDataTypeInitializer(kAliHLTTreeDDataTypeIDstring, kAliHLTDataOriginAny);
145 /** AliRoot TreeR data specification */
146 const char kAliHLTTreeRDataTypeIDstring[8] = kAliHLTTreeRDataTypeID;
147 const AliHLTComponentDataType kAliHLTDataTypeAliTreeR = AliHLTComponentDataTypeInitializer(kAliHLTTreeRDataTypeIDstring, kAliHLTDataOriginAny);
149 /** 16 bit Hardware address selection data specification, origin is 'any' */
150 const char kAliHLTHwAddr16DataTypeIDstring[8] = kAliHLTHwAddr16DataTypeID;
151 const AliHLTComponentDataType kAliHLTDataTypeHwAddr16 = AliHLTComponentDataTypeInitializer(kAliHLTHwAddr16DataTypeIDstring, kAliHLTDataOriginAny);
153 /** Event statistics */
154 const char kAliHLTEventStatisticsDataTypeIDstring[8] = kAliHLTEventStatisticsDataTypeID;
155 const AliHLTComponentDataType kAliHLTDataTypeEventStatistics = AliHLTComponentDataTypeInitializer(kAliHLTEventStatisticsDataTypeIDstring, kAliHLTDataOriginAny);
158 const char kAliHLTEventSummaryDataTypeIDstring[8] = kAliHLTEventSummaryDataTypeID;
159 const AliHLTComponentDataType kAliHLTDataTypeEventSummary = AliHLTComponentDataTypeInitializer(kAliHLTEventSummaryDataTypeIDstring, kAliHLTDataOriginOut);
161 /** Run statistics */
162 const char kAliHLTRunStatisticsDataTypeIDstring[8] = kAliHLTRunStatisticsDataTypeID;
163 const AliHLTComponentDataType kAliHLTDataTypeRunStatistics = AliHLTComponentDataTypeInitializer(kAliHLTRunStatisticsDataTypeIDstring, kAliHLTDataOriginAny);
166 const char kAliHLTRunSummaryDataTypeIDstring[8] = kAliHLTRunSummaryDataTypeID;
167 const AliHLTComponentDataType kAliHLTDataTypeRunSummary = AliHLTComponentDataTypeInitializer(kAliHLTRunSummaryDataTypeIDstring, kAliHLTDataOriginOut);
169 /** Trigger decision */
170 const char kAliHLTTriggerDecisionDataTypeIDstring[8] = kAliHLTTriggerDecisionDataTypeID;
171 const AliHLTComponentDataType kAliHLTDataTypeTriggerDecision = AliHLTComponentDataTypeInitializer(kAliHLTTriggerDecisionDataTypeIDstring, kAliHLTDataOriginOut);
173 /** HLT readout list from trigger component */
174 const char kAliHLTReadoutListDataTypeIDstring[8] = kAliHLTReadoutListDataTypeID;
175 const AliHLTComponentDataType kAliHLTDataTypeReadoutList = AliHLTComponentDataTypeInitializer(kAliHLTReadoutListDataTypeIDstring, kAliHLTDataOriginOut);
177 /** Global trigger decision */
178 const char kAliHLTGlobalTriggerDataTypeIDstring[8] = kAliHLTGlobalTriggerDataTypeID;
179 const AliHLTComponentDataType kAliHLTDataTypeGlobalTrigger = AliHLTComponentDataTypeInitializer(kAliHLTGlobalTriggerDataTypeIDstring, kAliHLTDataOriginOut);
181 /** Component statistics */
182 const char kAliHLTComponentStatisticsDataTypeIDstring[8] = kAliHLTComponentStatisticsDataTypeID;
183 const AliHLTComponentDataType kAliHLTDataTypeComponentStatistics = AliHLTComponentDataTypeInitializer(kAliHLTComponentStatisticsDataTypeIDstring, kAliHLTDataOriginPrivate);
185 /** Component table */
186 const char kAliHLTComponentTableDataTypeIDstring[8] = kAliHLTComponentTableDataTypeID;
187 const AliHLTComponentDataType kAliHLTDataTypeComponentTable = AliHLTComponentDataTypeInitializer(kAliHLTComponentTableDataTypeIDstring, kAliHLTDataOriginPrivate);
189 /** Forwarded component table */
190 const char kAliHLTComponentFwdTableDataTypeIDstring[8] = kAliHLTComponentFwdTableDataTypeID;
191 const AliHLTComponentDataType kAliHLTDataTypeComponentFwdTable = AliHLTComponentDataTypeInitializer(kAliHLTComponentFwdTableDataTypeIDstring, kAliHLTDataOriginPrivate);
193 /** general ROOT TObject */
194 const char kAliHLTTObjectDataTypeIDstring[8] = kAliHLTTObjectDataTypeID;
195 const AliHLTComponentDataType kAliHLTDataTypeTObject = AliHLTComponentDataTypeInitializer(kAliHLTTObjectDataTypeIDstring, kAliHLTDataOriginAny);
197 /** ROOT streamer info */
198 const char kAliHLTStreamerInfoDataTypeIDstring[8] = kAliHLTStreamerInfoDataTypeID;
199 const AliHLTComponentDataType kAliHLTDataTypeStreamerInfo = AliHLTComponentDataTypeInitializer(kAliHLTStreamerInfoDataTypeIDstring, kAliHLTDataOriginHLT);
201 /** ROOT TObjArray */
202 const char kAliHLTTObjArrayDataTypeIDstring[8] = kAliHLTTObjArrayDataTypeID;
203 const AliHLTComponentDataType kAliHLTDataTypeTObjArray = AliHLTComponentDataTypeInitializer(kAliHLTTObjArrayDataTypeIDstring, kAliHLTDataOriginAny);
206 const char kAliHLTTTreeDataTypeIDstring[8] = kAliHLTTTreeDataTypeID;
207 const AliHLTComponentDataType kAliHLTDataTypeTTree = AliHLTComponentDataTypeInitializer(kAliHLTTTreeDataTypeIDstring, kAliHLTDataOriginAny);
209 /** ROOT TH1 (can be used for all histograms, they derive from TH1) */
210 const char kAliHLTHistogramDataTypeIDstring[8] = kAliHLTHistogramDataTypeID;
211 const AliHLTComponentDataType kAliHLTDataTypeHistogram = AliHLTComponentDataTypeInitializer(kAliHLTHistogramDataTypeIDstring, kAliHLTDataOriginAny);
214 const char kAliHLTTNtupleDataTypeIDstring[8] = kAliHLTTNtupleDataTypeID;
215 const AliHLTComponentDataType kAliHLTDataTypeTNtuple = AliHLTComponentDataTypeInitializer(kAliHLTTNtupleDataTypeIDstring, kAliHLTDataOriginAny);
217 /** Array of HLT Tracks (AliHLTTracksData) */
218 const char kAliHLTTrackDataTypeIDstring[8] = kAliHLTTrackDataTypeID;
219 const AliHLTComponentDataType kAliHLTDataTypeTrack = AliHLTComponentDataTypeInitializer(kAliHLTTrackDataTypeIDstring, kAliHLTDataOriginAny);
221 /** Array of Track MC ids */
222 const char kAliHLTTrackMCDataTypeIDstring[8] = kAliHLTTrackMCDataTypeID;
223 const AliHLTComponentDataType kAliHLTDataTypeTrackMC = AliHLTComponentDataTypeInitializer(kAliHLTTrackMCDataTypeIDstring, kAliHLTDataOriginAny);
225 /** TClonesArray of AliExternalTrackParam */
226 const char kAliHLTExternalTrackParamDataTypeIDstring[8] = kAliHLTExternalTrackParamDataTypeID;
227 const AliHLTComponentDataType kAliHLTDataTypeExternalTrackParam = AliHLTComponentDataTypeInitializer(kAliHLTExternalTrackParamDataTypeIDstring, kAliHLTDataOriginAny);
229 /** Container of HLT Jets (AliHLTJETJets) */
230 const char kAliHLTJetDataTypeIDstring[8] = kAliHLTJetDataTypeID;
231 const AliHLTComponentDataType kAliHLTDataTypeJet = AliHLTComponentDataTypeInitializer(kAliHLTJetDataTypeIDstring, kAliHLTDataOriginAny);
233 /** Container of HLT ITS tracks */
234 const AliHLTComponentDataType fgkITSTracksDataType = AliHLTComponentDataTypeInitializer( "ITSTRACK", kAliHLTDataOriginITS );
236 /** Container of HLT ITS SAP tracker data */
237 const AliHLTComponentDataType kAliHLTDataTypeITSSAPData = AliHLTComponentDataTypeInitializer( "SAPTRACK", kAliHLTDataOriginITS );
239 /** Container of HLT calorimeter clusters */
240 const AliHLTComponentDataType kAliHLTDataTypeCaloCluster = AliHLTComponentDataTypeInitializer( "CALOCLUS", kAliHLTDataOriginAny );
242 /** Container of dEdx */
243 const AliHLTComponentDataType kAliHLTDataTypedEdx = AliHLTComponentDataTypeInitializer( "DEDX ", kAliHLTDataOriginAny );
245 /** Container of dNdPt */
246 const AliHLTComponentDataType kAliHLTDataTypedNdPt = AliHLTComponentDataTypeInitializer( "DNDPT ", kAliHLTDataOriginAny );
248 /** Input trigger counters */
249 const char kAliHLTInputTriggerCountersDataTypeIDstring[8] = kAliHLTInputTriggerCountersDataTypeID;
250 const AliHLTComponentDataType kAliHLTDataTypeInputTriggerCounters = AliHLTComponentDataTypeInitializer(kAliHLTInputTriggerCountersDataTypeIDstring, kAliHLTDataOriginHLT);
252 /** Input trigger counters */
253 const char kAliHLTOutputTriggerCountersDataTypeIDstring[8] = kAliHLTOutputTriggerCountersDataTypeID;
254 const AliHLTComponentDataType kAliHLTDataTypeOutputTriggerCounters = AliHLTComponentDataTypeInitializer(kAliHLTOutputTriggerCountersDataTypeIDstring, kAliHLTDataOriginHLT);
256 /** Meta data block for the Common Data Header (CDH) and readout list forwarded by TCPDumpSubscriber. */
257 const char kAliHLTMetaDataTypeIDstring[8] = kAliHLTMetaDataTypeID;
258 const AliHLTComponentDataType kAliHLTDataTypeTriggerMetaBlock = AliHLTComponentDataTypeInitializer(kAliHLTMetaDataTypeIDstring, kAliHLTDataOriginPrivate);
260 //////////////////////////////////////////////////////////////////////////
262 // Data origin variables, to be used with the operator|
264 // AliHLTComponentDataType dt;
265 // dt = kAliHLTDataTypeDDLRaw | gkAliHLTDataOriginTPC;
267 //////////////////////////////////////////////////////////////////////////
270 const char kAliHLTDataOriginOut[kAliHLTComponentDataTypefOriginSize] = {'H','L','T',' '};
273 const char kAliHLTDataOriginHLT[kAliHLTComponentDataTypefOriginSize] = {'H','L','T',' '};
276 const char kAliHLTDataOriginOffline[kAliHLTComponentDataTypefOriginSize] = {'O','F','F','L'};
278 /** HLT/PubSub private internal */
279 const char kAliHLTDataOriginPrivate[kAliHLTComponentDataTypefOriginSize] = {'P','R','I','V'};
282 const char kAliHLTDataOriginTPC[kAliHLTComponentDataTypefOriginSize] = {'T','P','C',' '};
285 const char kAliHLTDataOriginPHOS[kAliHLTComponentDataTypefOriginSize] = {'P','H','O','S'};
288 const char kAliHLTDataOriginFMD[kAliHLTComponentDataTypefOriginSize] = {'F','M','D',' '};
291 const char kAliHLTDataOriginMUON[kAliHLTComponentDataTypefOriginSize] = {'M','U','O','N'};
294 const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize] = {'T','R','D',' '};
297 const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize] = {'I','T','S',' '};
300 const char kAliHLTDataOriginITSOut[kAliHLTComponentDataTypefOriginSize] = {'I','T','S','O'};
303 const char kAliHLTDataOriginITSSPD[kAliHLTComponentDataTypefOriginSize] = {'I','S','P','D'};
306 const char kAliHLTDataOriginITSSDD[kAliHLTComponentDataTypefOriginSize] = {'I','S','D','D'};
309 const char kAliHLTDataOriginITSSSD[kAliHLTComponentDataTypefOriginSize] = {'I','S','S','D'};
312 const char kAliHLTDataOriginSample[kAliHLTComponentDataTypefOriginSize] = {'S','M','P','L'};
315 const char kAliHLTDataOriginEMCAL[kAliHLTComponentDataTypefOriginSize] = {'E','M','C','A'};
318 const char kAliHLTDataOriginTOF[kAliHLTComponentDataTypefOriginSize] = {'T','O','F',' '};
321 const char kAliHLTDataOriginHMPID[kAliHLTComponentDataTypefOriginSize] = {'H','M','P','I'};
324 const char kAliHLTDataOriginCPV[kAliHLTComponentDataTypefOriginSize] = {'C','P','V',' '};
327 const char kAliHLTDataOriginPMD[kAliHLTComponentDataTypefOriginSize] = {'P','M','D',' '};
330 const char kAliHLTDataOriginT0[kAliHLTComponentDataTypefOriginSize] = {'T','Z','R','O'};
333 const char kAliHLTDataOriginVZERO[kAliHLTComponentDataTypefOriginSize] = {'V','Z','R','O'};
336 const char kAliHLTDataOriginZDC[kAliHLTComponentDataTypefOriginSize] = {'Z','D','C',' '};
339 const char kAliHLTDataOriginACORDE[kAliHLTComponentDataTypefOriginSize] = {'A','C','O','R'};
342 const char kAliHLTDataOriginTRG[kAliHLTComponentDataTypefOriginSize] = {'T','R','G',' '};