]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTDataTypes.h
ALIROOT-5433 Transition to CDHv3 in HLT
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataTypes.h
index 47af9436d22a3a4d20634666fc4c48231732ecf6..0eb46050f6374ad02f870456ee0ccab4f1d97a34 100644 (file)
  *           kAliHLTDataOriginHLT added
  *  11       extended AliHLTComponentStatistics: one more member to store the
  *           cycle time between events per component.
+ *  12       added common data type id 'CLUSTERS'
+ *           added data type 'ECSPARAM' for the full ECS parameter string to
+ *           be sebt during SOR
+ *           added kAliHLTDataTypeTrackMC (TRACK_MC) data type
+ *           added data types (note: interface version stays the same
+ *                 kAliHLTDataTypeDAQRDOUT (DAQRDOUT)
+ *                 kAliHLTDataTypeTriggerDecision (TRIG_DEC)
+ *                 kAliHLTDataTypeGlobalTrigger (GLOBTRIG)
+ *                 kAliHLTDataTypeStreamerInfo (ROOTSTRI)
+ *  13       Changed AliHLTEventDDL to now contain 31 words. The extra word is
+ *           for the EMCAL detector, which needs 46 DDLs after DCAL was added.
+ *  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 11
+#define ALIHLT_DATA_TYPES_VERSION 17
 
 //////////////////////////////////////////////////////////////////////////
 //
@@ -137,6 +157,11 @@ extern const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize];
  */
 extern const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize];
 
+/** Data origin ITSOut 
+ * @ingroup alihlt_component_datatypes
+ */
+extern const char kAliHLTDataOriginITSOut[kAliHLTComponentDataTypefOriginSize];
+
 /** Data origin ITS SPD
  * @ingroup alihlt_component_datatypes
  */
@@ -162,6 +187,52 @@ extern const char kAliHLTDataOriginSample[kAliHLTComponentDataTypefOriginSize];
  */
 extern const char kAliHLTDataOriginEMCAL[kAliHLTComponentDataTypefOriginSize];
 
+/** Data origin TOF
+ * @ingroup alihlt_component_datatypes
+ */
+extern const char kAliHLTDataOriginTOF[kAliHLTComponentDataTypefOriginSize];
+
+/** Data origin HMPID
+ * @ingroup alihlt_component_datatypes
+ */
+extern const char kAliHLTDataOriginHMPID[kAliHLTComponentDataTypefOriginSize];
+
+/** Data origin CPV
+ * @ingroup alihlt_component_datatypes
+ */
+extern const char kAliHLTDataOriginCPV[kAliHLTComponentDataTypefOriginSize];
+
+/** Data origin PMD
+ * @ingroup alihlt_component_datatypes
+ */
+extern const char kAliHLTDataOriginPMD[kAliHLTComponentDataTypefOriginSize];
+
+/** Data origin T0
+ * @ingroup alihlt_component_datatypes
+ */
+extern const char kAliHLTDataOriginT0[kAliHLTComponentDataTypefOriginSize];
+
+/** Data origin VZERO
+ * @ingroup alihlt_component_datatypes
+ */
+extern const char kAliHLTDataOriginVZERO[kAliHLTComponentDataTypefOriginSize];
+
+/** Data origin ZDC
+ * @ingroup alihlt_component_datatypes
+ */
+extern const char kAliHLTDataOriginZDC[kAliHLTComponentDataTypefOriginSize];
+
+/** Data origin ACORDE
+ * @ingroup alihlt_component_datatypes
+ */
+
+extern const char kAliHLTDataOriginACORDE[kAliHLTComponentDataTypefOriginSize];
+
+/** Data origin TRG
+ * @ingroup alihlt_component_datatypes
+ */
+extern const char kAliHLTDataOriginTRG[kAliHLTComponentDataTypefOriginSize];
+
 //////////////////////////////////////////////////////////////////////////
 //
 // HLT common data type defines
@@ -194,6 +265,13 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 # define kAliHLTDDLRawDataTypeID   {'D','D','L','_','R','A','W',' '}
 
+/** CLUSTERS data
+ * Common data type for the output of cluster finders, the exact
+ * format depends on the origin (detector)
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTClustersDataTypeID {'C','L','U','S','T','E','R','S'}
+
 /** calibration data for file exchange subscriber 
  * @ingroup alihlt_component_datatypes
  */
@@ -223,12 +301,29 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 # define kAliHLTDDLDataTypeID      {'D','D','L','L','I','S','T',' '}
 
+/** DAQ readout list 
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTDAQRDOUTDataTypeID "DAQRDOUT"
+
+/** HLT readout list.
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTReadoutListDataTypeID {'H','L','T','R','D','L','S','T'}
+
 /** EventType event 
  * - empty payload, specification gives eventType
  * @ingroup alihlt_component_datatypes
  */
 # define kAliHLTEventDataTypeID    {'E','V','E','N','T','T','Y','P'}
 
+/** ECS parameter event 
+ * - sent during the SOR event by the framework
+ * - contains the full ECS parameter string
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTECSParamDataTypeID {'E','C','S','P','A','R','A','M'}
+
 /** ComponentConfiguration event
  * - payload contains the CDB path as string
  * @ingroup alihlt_component_datatypes
@@ -248,6 +343,39 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 # define kAliHLTMCObjectDataTypeID    {'A','L','I','M','C','_','V','0'}
 
+/** ESDVertex data block
+ * an AliESDVertex object of varying origin
+ * The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# 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
@@ -255,6 +383,12 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 # define kAliHLTESDObjectDataTypeID    {'A','L','I','E','S','D','V','0'}
 
+/** ESD 
+ * data blocks designated for the ESD
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTESDContentDataTypeID   {'E','S','D','_','C','O','N','T'}
+
 /** ESD tree data block
  * TTree with an AliESD object of varying origin
  * @ingroup alihlt_component_datatypes
@@ -308,6 +442,18 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 # define kAliHLTRunSummaryDataTypeID          {'R','U','N','S','U','M','M','A'}
 
+/** Trigger decision
+ * - origin : kAliHLTDataOriginOut ( HLT )
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTTriggerDecisionDataTypeID     {'T','R','I','G','_','D','E','C'}
+
+/** Global trigger decision
+ * - origin : kAliHLTDataOriginOut ( HLT )
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTGlobalTriggerDataTypeID       {'G','L','O','B','T','R','I','G'}
+
 /** Block Statistics
  * - small block statistics info added to the data stream by
  *   the component base class
@@ -323,6 +469,11 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 # define kAliHLTComponentTableDataTypeID      {'C','O','M','P','T','A','B','L'}
 
+/** Forwarded component table
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTComponentFwdTableDataTypeID   {'C','O','M','P','T','A','B','F'}
+
 /** general ROOT TObject
  * - a general TObject exported from the HLT analysis
  * - varying origin
@@ -330,6 +481,13 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 #define kAliHLTTObjectDataTypeID              {'R','O','O','T','T','O','B','J'}
 
+/** ROOT streamer info
+ * - used for the transmission of streamer info for objects in the HLTOUT
+ * - origin kAliHLTDataOriginOut ( HLT )
+ * @ingroup alihlt_component_datatypes
+ */
+#define kAliHLTStreamerInfoDataTypeID         {'R','O','O','T','S','T','R','I'}
+
 /** ROOT TObjArray
  * - a TObjArray exported from the HLT analysis
  * - varying origin
@@ -366,12 +524,50 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 #define kAliHLTTrackDataTypeID                {'H','L','T','T','R','A','C','K'}
 
+/** Track Monte Carlo information
+ * @ingroup alihlt_component_datatypes
+ */
+#define kAliHLTTrackMCDataTypeID              {'T','R','A','C','K','_','M','C'}
+
 /** TClonesArray of AliExternalTrackParam
  * @ingroup alihlt_component_datatypes
  */
 #define kAliHLTExternalTrackParamDataTypeID   {'T','C','A','E','X','T','T','R'}
 
-using namespace std;
+/** HLT Jet
+ * - Struct for jets based on AliHLTJETJets
+ * - varying origin
+ * @ingroup alihlt_component_datatypes
+ */
+#define kAliHLTJetDataTypeID                  {'H','L','T','J','E','T','V','0'}
+
+/** dEdx  data
+ * Common data type for the dEdx 
+ * format depends on the origin (detector)
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTdEdxDataTypeID {'D','E','D','X',' ',' ',' ',' '}
+
+/** 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" {
   //////////////////////////////////////////////////////////////////////////
@@ -521,6 +717,9 @@ extern "C" {
     AliHLTComponentDataType fDataType;
     /** data specification of the data block */
     AliHLTUInt32_t fSpecification;
+
+    AliHLTComponentDataType GetDataType() const {return fDataType;}
+    AliHLTUInt32_t GetSpecification() const {return fSpecification;}
   };
 
   /**
@@ -584,26 +783,33 @@ extern "C" {
 
   /**
    * @struct AliHLTComponentTableEntry
-   * Structure to be send on SOR event through the chain. Each component
-   * adds its chain id and component arguments to the list.
+   * Structure to be send on SOR event through the chain.
    * The 'length' of the structure is variable and depends on the length
-   * of the strings in the buffer at the end.
+   * of the buffer at the end.
    *
-   * ComponentTableEntries are identified by a 32bit Id generated by a CRC
+   * ComponentTableEntries are sent with data type @ref kAliHLTDataTypeComponentTable
+   * and are identified by a 32bit Id specification generated by a CRC
    * algorithm from the chain Id of the component. This is not a 100% unique
    * id but with a high probability. This approach accounts for the fact
-   * that all components are separated processes.
+   * that all components are separated processes. 
+   *
+   * The buffer consists of an array of 32bit Ids containing the Ids of
+   * all direct parents taken from the specification of the data blocks.
+   * The number of parents is stored in fNofParents. Each component forwards the
+   * incoming component table entries with data type @ref kAliHLTDataTypeComponentFwdTable
+   * by that the direct parents can be identified.
+   *
+   * Following this array a description string contains the chain id, component args, and
+   * maybe more properties in the future. The current format is
+   * 'chain_id{component_id:component args}' e.g. TPC-CF_00_0{TPCClusterFinder32Bit:-deconvolute-time}
    */
   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
   };
 
   //////////////////////////////////////////////////////////////////////////
@@ -616,27 +822,56 @@ extern "C" {
   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;
+
+  /** size of the DDL list after DCAL added to EMCAL */
+  const int gkAliHLTDDLListSizeV1 = 31;
 
   /** size of the DDL list */
-  const int gkAliHLTDDLListSize = 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 AliHLTEventDDL
-   * DDL list event.
+   * @struct AliHLTEventDDLV0
+   * First version of the DDL list event.
    * The struct is send with the DDLLIST event.
    * Used in the trigger structure for internal apperance of 
    * the DLLs as well as for the HLT readout list send to DAQ 
    * ( as DataType : kAliHLTDataTypeDDL )
    */
-  struct AliHLTEventDDL
+  struct AliHLTEventDDLV0
+  {
+    AliHLTUInt32_t fCount;                       /// Indicates the number of words in fList.
+    AliHLTUInt32_t fList[gkAliHLTDDLListSizeV0];   /// The list of DDL enable/disable bits.
+  };
+
+  /**
+   * @struct AliHLTEventDDLV1
+   * DDL list event structure with extra word for DCAL bits.
+   */
+  struct AliHLTEventDDLV1
   {
     AliHLTUInt32_t fCount;                       /// Indicates the number of words in fList.
-    AliHLTUInt32_t fList[gkAliHLTDDLListSize];   /// The list of DDL enable/disable bits.
+    AliHLTUInt32_t fList[gkAliHLTDDLListSizeV1];   /// The list of DDL enable/disable bits.
   };
+  
+  /**
+   * @typedef AliHLTEventDDL
+   * Current used default version of the AliHLTEventDDL structure.
+   */
+  typedef AliHLTEventDDLV1 AliHLTEventDDL;
 
   /**
    * @struct AliHLTEventTriggerData
@@ -647,7 +882,12 @@ extern "C" {
     AliHLTUInt64_t fHLTStatus; /// Bit field 
     AliHLTUInt32_t fCommonHeaderWordCnt;  /// Number of words in fCommonHeader.
     AliHLTUInt32_t fCommonHeader[gkAliHLTCommonHeaderCount];  /// The common header words.
-    AliHLTEventDDL fReadoutList;   /// The readout list structure.
+    union
+    {
+      AliHLTEventDDL fReadoutList;   /// The default readout list structure.
+      AliHLTEventDDLV0 fReadoutListV0;   /// Access to the old version of the readout list structure.
+      AliHLTEventDDLV1 fReadoutListV1;   /// Access to the readout list structure with DCAL included.
+    };
   };
 
   /**
@@ -679,6 +919,8 @@ extern "C" {
   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 */
@@ -773,6 +1015,18 @@ extern "C" {
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeDDL;
 
+  /** DAQ readout list 
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeDAQRDOUT;
+
+  /** CLUSTERS data
+   * Common data type for the output of cluster finders, the exact
+   * format depends on the origin (detector)
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeClusters;
+
   /** SOR data type 
    * @ingroup alihlt_component_datatypes
    */
@@ -793,6 +1047,13 @@ extern "C" {
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeEvent;
 
+  /** ECS parameter event 
+   * - sent during the SOR event by the framework
+   * - contains the full ECS parameter string
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeECSParam; // {ECSPARAM:PRIV}
+
   /** Configuration event data type 
    * @ingroup alihlt_component_datatypes
    */
@@ -813,11 +1074,41 @@ extern "C" {
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeMCObject;
 
+  /** ESD vertex object data specification, origin is 'any' 
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeESDVertex;
+
+   /** 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;
+
   /** ESD object data specification, origin is 'any' 
    * @ingroup alihlt_component_datatypes
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeESDObject;
 
+  /** ESD content data specification, origin is 'any' 
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeESDContent;
+
   /** ESD Tree data specification, origin is 'any' 
    * @ingroup alihlt_component_datatypes
    */
@@ -853,11 +1144,29 @@ extern "C" {
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeRunStatistics;
 
-  /** Event summary 
+  /** Run summary 
    * @ingroup alihlt_component_datatypes
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeRunSummary;
 
+  /** Trigger decision
+   * - origin : kAliHLTDataOriginOut ( HLT )
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeTriggerDecision;   // {TRIG_DEC:HLT }
+
+  /** Trigger decision
+   * - origin : kAliHLTDataOriginOut ( HLT )
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeReadoutList;   // {HLTRDLST:HLT }
+
+  /** Global trigger decision
+   * - origin : kAliHLTDataOriginOut ( HLT )
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeGlobalTrigger;     // {GLOBTRIG:HLT }
+
   /** Component block statistics
    * @ingroup alihlt_component_datatypes
    */
@@ -870,6 +1179,20 @@ extern "C" {
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeComponentTable;
 
+  /** Forwarded component table
+   * To be sent on SOR event, each component forwards blocks of type
+   * @ref kAliHLTDataTypeComponentTable was kAliHLTDataTypeComponentFwdTable
+   * after adding the parent ids to its own table struct.
+   * @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
@@ -880,6 +1203,11 @@ extern "C" {
    * @ingroup alihlt_component_datatypes
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeTObject;            // {ROOTTOBJ,"***"}
+
+  /** ROOT streamer info
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeStreamerInfo;       // {ROOTSTRI,HLT }
                                                                                        
   /** ROOT TObjArray 
    * @ingroup alihlt_component_datatypes
@@ -901,6 +1229,18 @@ extern "C" {
    */                                                                  
   extern const AliHLTComponentDataType kAliHLTDataTypeTNtuple;           // {ROOTTUPL,"***"}
 
+  /** Global input trigger counters.
+   * - origin : kAliHLTDataOriginOut ( HLT )
+   * @ingroup alihlt_component_datatypes
+   */
+  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
    *
@@ -908,12 +1248,42 @@ extern "C" {
    * barrel tracks and detector tracks get names 'DETTracks'
    * @ingroup alihlt_component_datatypes
    */  
-  extern const AliHLTComponentDataType kAliHLTDataTypeTrack;             // {HLTTRACK,"***"}
+  extern const AliHLTComponentDataType kAliHLTDataTypeTrack;              // {HLTTRACK,"***"}
+
+  /** Track Monte Carlo information
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeTrackMC;            // {TRACK_MC,"***"}
 
   /** TClonesArray of AliExternalTrackParam
    * @ingroup alihlt_component_datatypes
    */  
-  extern const AliHLTComponentDataType kAliHLTDataTypeExternalTrackParam;// {TCAEXTTR,"***"}
+  extern const AliHLTComponentDataType kAliHLTDataTypeExternalTrackParam; // {TCAEXTTR,"***"}
+
+  /** Container containing jets (AliHLTJETJets)
+   * Containing TClonesArray of AliAODJets 
+   * @ingroup alihlt_component_datatypes
+   */  
+  extern const AliHLTComponentDataType kAliHLTDataTypeJet;                // {HLTJETV0,"***"}
+  
+  /** Container of ITS tracks
+   * @ingroup alihlt_component_datatypes
+   */  
+  extern const AliHLTComponentDataType fgkITSTracksDataType;
+
+  /** Container of calorimeter clusters
+   * @ingroup alihlt_component_datatypes
+   */  
+  extern const AliHLTComponentDataType kAliHLTDataTypeCaloCluster; 
+
+  /** Container of dEdx
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypedEdx;
+
+  /** Container of dNdPt
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypedNdPt;
 
   //////////////////////////////////////////////////////////////////////////
   //
@@ -941,6 +1311,9 @@ extern "C" {
   //
   //////////////////////////////////////////////////////////////////////////
 
+  /** definition of a void fct pointer */
+  typedef void (*AliHLTfctVoid)();
+
   /** logging function */
   typedef int (*AliHLTfctLogging)( void* param, 
                                   AliHLTComponentLogSeverity severity,
@@ -1063,6 +1436,11 @@ extern "C" {
 
 }
 
+#include <bitset>  
+typedef std::bitset<NCTPTRIGGERCLASSES> AliHLTTriggerMask_t;
+
+using namespace std;
+
 //////////////////////////////////////////////////////////////////////////
 //
 // Data type helper functions
@@ -1146,7 +1524,7 @@ inline AliHLTComponentDataType AliHLTComponentDataTypeInitializer(const char id[
 {
   AliHLTComponentDataType dt=kAliHLTVoidDataType;
   int i=0;
-  for (i = 0; i < kAliHLTComponentDataTypefIDsize; i++)
+  for (i = 0; i < kAliHLTComponentDataTypefIDsize && id[i]!=0; i++)
     dt.fID[i]=id[i];
   for (i = 0; i < kAliHLTComponentDataTypefOriginSize && origin[i]!=0; i++ )
     dt.fOrigin[i]=origin[i];