* 14 Adding new data block type for HLT global trigger counters.
* Adding data block type for ESD content
* Adding data block type for forwarded component table blocks
+ * Adding new event type for software triggers.
+ * 15 Modifying data block types for trigger counter blocks.
+ * 16 Adding data type for the meta data block to be forwarded by the
+ * TCPDumpSubscriber for the Common Data Header (CDH) and readout
+ * list information.
+ * 17 New CDH v3 (10 32bit words, 100 trigger classes, etc.)
*/
-#define ALIHLT_DATA_TYPES_VERSION 14
+#define ALIHLT_DATA_TYPES_VERSION 17
//////////////////////////////////////////////////////////////////////////
//
*/
# define kAliHLTESDVertexDataTypeID {'E','S','D','V','T','X','V','0'}
+/** KFVertex data block
+ * an AliKFVertex object of varying origin
+ * The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTKFVertexDataTypeID {'A','L','I','K','F','V','V','0'}
+
+
/** output of the GlobalVertexer data block
* The 'V0' at the end allows a versioning
* @ingroup alihlt_component_datatypes
*/
# define kAliHLTDataTypeGlobalVertexerID {'G','L','B','V','T','X','V','0'}
+/** output of the PrimaryFinder data block
+ * The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTDataTypePrimaryFinderID {'P','R','I','V','T','X','V','0'}
+
+/** output of the V0Finder data block
+ * The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTDataTypeV0FinderID {'V','0','S','V','T','X','V','0'}
+
/** ESD data block
* an AliESD object of varying origin
* The 'V0' at the end allows a versioning
*/
# define kAliHLTESDObjectDataTypeID {'A','L','I','E','S','D','V','0'}
+/** ESD friend data block
+ * an AliESDfriend object of varying origin
+ * The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTESDfriendObjectDataTypeID {'E','S','D','F','R','N','D','0'}
+
+/** Flat ESD Vertex data block
+ * The '0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTFlatESDVertexDataTypeID {'F','L','A','T','V','T','X','0'}
+
+/** Flat ESD data block
+ * an AliFlatESD object of varying origin
+ * The '0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTFlatESDDataTypeID {'F','L','A','T','E','S','D','0'}
+
+/** Flat ESD data block
+ * an AliFlatESDFriend object of varying origin
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTFlatESDFriendDataTypeID {'F','L','A','T','F','R','N','D'}
+
/** ESD
* data blocks designated for the ESD
* @ingroup alihlt_component_datatypes
*/
#define kAliHLTTNtupleDataTypeID {'R','O','O','T','T','U','P','L'}
-/** HLT trigger counters.
- * - For the AliHLTTriggerCounters object. Normally with HLT as origin.
- * @ingroup alihlt_component_datatypes
- */
-# define kAliHLTTriggerCountersDataTypeID {'T','R','G','C','O','U','N','T'}
-
/** HLT Track
* - Struct for Tracks based on AliExternalTrackParam
* - varying origin
*/
# define kAliHLTdEdxDataTypeID {'D','E','D','X',' ',' ',' ',' '}
-using namespace std;
+/** dNdPt data
+ * Common data type for the dNdPt output object
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTdNdPtDataTypeID {'D','N','D','P','T',' ',' ',' '}
+
+/** Global input trigger counters data block type.
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTInputTriggerCountersDataTypeID {'I','N','T','R','G','C','N','T'}
+
+/** Global output trigger counters data block type.
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTOutputTriggerCountersDataTypeID {'O','T','T','R','G','C','N','T'}
+
+/** Generic meta data block type ID.
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTMetaDataTypeID {'M','E','T','A','D','A','T','A'}
extern "C" {
//////////////////////////////////////////////////////////////////////////
AliHLTComponentDataType fDataType;
/** data specification of the data block */
AliHLTUInt32_t fSpecification;
+
+ AliHLTComponentDataType GetDataType() const {return fDataType;}
+ AliHLTUInt32_t GetSpecification() const {return fSpecification;}
};
/**
*/
struct AliHLTComponentTableEntry
{
- /** Size of this structure in bytes. */
- AliHLTUInt32_t fStructSize;
- /** size of the array of parent ids */
- AliHLTUInt16_t fNofParents;
- /** size of the description string in the appended buffer */
- AliHLTUInt8_t fSizeDescription;
- /** the strings: chain id, component args, reserved */
- AliHLTUInt8_t fBuffer[1];
+ AliHLTUInt32_t fStructSize; /// Size of this structure in bytes.
+ AliHLTUInt32_t fLevel; /// Indicates from which processing stage this information is from.
+ AliHLTUInt16_t fNofParents; /// size of the array of parent ids
+ AliHLTUInt8_t fSizeDescription; /// size of the description string in the appended buffer
+ AliHLTUInt8_t fBuffer[1]; /// the strings: chain id, component args, reserved
};
//////////////////////////////////////////////////////////////////////////
const int gkAliHLTBlockDAttributeCount = 8;
/** field size of fCommonHeader */
- const int gkAliHLTCommonHeaderCount = 8;
+ const int gkAliHLTCommonHeaderCountV2 = 8;
+ const int gkAliHLTCommonHeaderCountV3 = 10;
+ const int gkAliHLTCommonHeaderCount = gkAliHLTCommonHeaderCountV3;
/** size of the DDL list first version */
const int gkAliHLTDDLListSizeV0 = 30;
const int gkAliHLTDDLListSize = gkAliHLTDDLListSizeV1;
/** Number of Trigger Classes of CTP in CDH */
- const int gkNCTPTriggerClasses = 50;
+ const int gkNCTPTriggerClassesV2 = 50;
+ const int gkNCTPTriggerClassesV3 = 100;
+ const int gkNCTPTriggerClasses = gkNCTPTriggerClassesV3;
+
+ // make it also available as define for templates
+#define NCTPTRIGGERCLASSES 100
/**
* @struct AliHLTEventDDLV0
const AliHLTUInt32_t gkAliEventTypeCorruptID=8;
/** Calibration eventType specification */
const AliHLTUInt32_t gkAliEventTypeCalibration=16;
+ /** Software eventType specification */
+ const AliHLTUInt32_t gkAliEventTypeSoftware=24;
/** DataReplay eventType specification */
const AliHLTUInt32_t gkAliEventTypeDataReplay=32;
/** Configuration eventType specification */
*/
extern const AliHLTComponentDataType kAliHLTDataTypeESDVertex;
- /** global vertexer data specification, origin is 'any'
+ /** KF vertex object data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeKFVertex;
+
+ /** global vertexer data specification, origin is 'any'
* @ingroup alihlt_component_datatypes
*/
extern const AliHLTComponentDataType kAliHLTDataTypeGlobalVertexer;
+ /** primary finder data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypePrimaryFinder;
+
+ /** primary finder data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeV0Finder;
+
+ /** flat ESD object data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeFlatESD;
+
+ /** flat ESD friend object data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeFlatESDFriend;
+
+ /** flat ESD vertex object data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeFlatESDVertex;
+
/** ESD object data specification, origin is 'any'
* @ingroup alihlt_component_datatypes
*/
extern const AliHLTComponentDataType kAliHLTDataTypeESDObject;
+ /** ESD friend object data specification, origin is 'any'
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeESDfriendObject;
+
/** ESD content data specification, origin is 'any'
* @ingroup alihlt_component_datatypes
*/
*/
extern const AliHLTComponentDataType kAliHLTDataTypeComponentFwdTable;
+ /**
+ * Data type for the Common Data Header and readout list information sent by TCPDumpSubscriber.
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeTriggerMetaBlock; // {METADATA:PRIV}
+
//////////////////////////////////////////////////////////////////////////
//
// Data Types for Monitoring objects
*/
extern const AliHLTComponentDataType kAliHLTDataTypeTNtuple; // {ROOTTUPL,"***"}
- /** AliHLTTriggerCounters object for HLT global trigger counters.
+ /** Global input trigger counters.
+ * - origin : kAliHLTDataOriginOut ( HLT )
* @ingroup alihlt_component_datatypes
- */
- extern const AliHLTComponentDataType kAliHLTDataTypeTriggerCounters; // {TRGCOUNT,"HLT "}
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeInputTriggerCounters; // {INTRGCNT:HLT }
+
+ /** Global output trigger counters.
+ * - origin : kAliHLTDataOriginOut ( HLT )
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeOutputTriggerCounters; // {OTTRGCNT:HLT }
/** General track array for the barrel tracks based on AliExternalTrackParam
* Data format defined by AliHLTTracksData
*/
extern const AliHLTComponentDataType fgkITSTracksDataType;
+ /** Container of ITS SAP tracker data
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypeITSSAPData;
+
/** Container of calorimeter clusters
* @ingroup alihlt_component_datatypes
*/
*/
extern const AliHLTComponentDataType kAliHLTDataTypedEdx;
+ /** Container of dNdPt
+ * @ingroup alihlt_component_datatypes
+ */
+ extern const AliHLTComponentDataType kAliHLTDataTypedNdPt;
+
//////////////////////////////////////////////////////////////////////////
//
// FXS subscriber meta information
}
+#include <bitset>
+typedef std::bitset<NCTPTRIGGERCLASSES> AliHLTTriggerMask_t;
+
+using namespace std;
+
//////////////////////////////////////////////////////////////////////////
//
// Data type helper functions