1、BESIII 在线数据格式BESIII 在线数据格式说明V1.12007.4.26BESIII DAQ GroupBESIII 在线数据格式2目录目录 .21 事例格式 .31.1 通用格式 .31.2 事例片断头部格式 .41.3 ROD 片段格式 .61.4 其他片段格式 .61.4.1 ROB 对 ROD 的封装 .61.4.2 读出 PC 级(ROS) .21.4.3 探测器级 Sub-detector .21.4.4 完整事例 .32 数据单元格式定义 .32.1 MDC .32.2 TOF.42.3 EMC.42.4 MUC .43 数据文件结构 .43.1 文件名 .43.2 文
2、件结构 .53.3 文件示例 .7BESIII 在线数据格式31 事例格式BESIII 实验的数据获取系统(DAQ)是在 ATLAS TDAQ 软件基础上开发的,在线数据事例格式也参考了 ATLAS 实验的事例格式。1.1 通用格式BESIII DAQ 的一个完整事例的格式如 图 1 所示。事例格式建立在片断(Fragment)的基础上:一个完整事例由一或多个子探测器片断(Sub-detector Fragment)构成;每个子探测器片断由一个或多个 ROS 片断(ROS Fragment)构成;每个 ROS 片断由一个或多个ROB 片断(ROB Fragment)构成;每个 ROB 片断包含
3、一个 ROD 片断;ROD 片段比较特殊,和其它片段有较大不同。每个片断均含有自身的头部(Header) 。图 1 完整事例的通用格式如 图 2 所示为事例格式实现的类图。相应于完整事例、子探测器、ROS 和 ROB 这些对象的差别,其各自的事例片断类:FullEventFragment,SubDetectorFragment ,ROSFragment和 ROBFragment 也有所不同,但是它们的组织结构是相同的:头部(header)+数据区(data) 。因此很自然地这些事例片断类都继承了头部类。它们包含在名字空间 eformat 中,定义在 eformat 库中。BESIII 在线数据
4、格式4ROB 和 ROD 的对应是个例外,一个 ROB 固定封装一个 ROD,它们可以等价看待。只有 ROD 包含的才是具体的以 32 位为单元的探测器击中信息。图 2 事例格式的类图如 图 3 为在线事例层次结构与硬件的对应关系。 FulEventSbDcorROBD完 整 事 例探 测 器读 出 PC/rate完 整 事 例探 测 器读 出图 3 层次与硬件的对应关系1.2 事例片断头部格式头部分为通用部分和专用部分。前者在所有的事例片断类中都存在,而后者则根据事例片断类型的不同而不同。事例片段通用头部格式如 图 4 所示,各个字段含义分别介绍如下:BESIII 在线数据格式5图 4 事例
5、片段通用头部格式 Header marker 头部标记,指示一个 fragment 的开始。不同的 fragment 的标记不同,详见 eformat/HeadMarker.h 文件:enum HeaderMarker ROD = 0xee1234ee, / ROD 标记ROB = 0xdd1234dd, / ROB 标记ROS = 0xcc1234cc, / ROS 标记SUB_DETECTOR = 0xbb1234bb, /子探测器标记FULL_EVENT = 0xaa1234aa /完整事例标记; Fragment size 和 Header size 顾名思义,前者是整个事例片断的大小
6、,包括头部和数据,后者只是头部的大小。两者均以字为单位计数。 Format version Number,事例格式的版本号。目前最新的事例格式版本号是 3.0,不同版本的事例格式有略微区别。当处理到有区别的地方时,软件会做版本号的判断,以防止程序出错。 Source identifier,该域指明了事例的来源。如它包含了两部分信息:子探测器 ID 号和模块 ID 号。这两个值的组合在整个 BESIII DAQ 软件中能唯一标明事例来源。表 1 Source identifier 格式字节位置 3 2 1 0内容 保留 子探测器 ID 号 模块 ID 号子探测器 ID 已经事先静态分配了,如 表
7、 2 所示。由于事例筛选将追加数据到事例数据中,追加的数据内容以一个单独的子探测片断的方式添加,该片断的子探测器 ID 定义为0x7C, Source identifier 一般为 0x7C0000。表 2 子探测器 ID 号定义探测器类型 EF MDC TOF EMC MUC TRGID 值 0x7C 0xA1 0xA2 0xA3 0xA4 0xA5在 ROB 和 ROD 一级,模块 ID 号也就是 PowerPC 的编号。BESIII 在线数据格式6 Number of status elements,status element 的数目。 Status element,描述了事例片断中数
8、据的状态。该字段由构造这个事例片断的软件模块负责定义和填写。 Number of fragment specific,专用部分的数目。 Specific element,每个 element 占据 4 个字节,不同的事例片断有不同的专用部分,详细介绍见后节各个字段说明。1.3 ROD 片段格式ROD 的事例片断结构如 图 5 所示,一共分为三个部分。具体的字段的格式如 表 3 所示,头部各字段和其它片段类似。但在 ROD 还有一个尾部字段,如果状态项目位置为 0,则在数据区中状态字段位于数据块的前面;如果该值为 1,则反过来放置这两个部分。表 3 ROD 片断格式0xEE1234EE头长度数据
9、格式版本号事例来源Run 号触发号保留保留保留状态单元 1.数据单元 1(32 位).状态字段单元数量数据字段单元数量状态字段位置 =0headrttraile图 5 ROD 的事例片断结构1.4 其他片段格式1.4.1 ROB 对 ROD 的封装ROBFragment 的格式如 表 4 所示。表 4 ROB 格式0xDD1234DDBESIII 在线数据格式7总长度头长度数据格式版本号事例来源状态字段单元数量状态单元 1.专有字段数量=0子片断(只有一个 ROD)1.4.2 读出 PC 级(ROS)ROSFragment 的格式如 表 5 所示。表 5 ROS 格式0xCC1234CC总长度
10、头长度数据格式版本号事例来源状态单元数量状态单元 1.专有字段数量=3Run 号保留触发号子片段(ROBs)1.4.3 探测器级 Sub-detectorSubDetectorFragment 的格式如 表 6 所示。表 6 Sub-detector 格式0xBB1234BB总长度头长度数据格式版本号事例来源状态记录数量状态单元 1.专有字段数量=0子片段(ROSs)BESIII 在线数据格式81.4.4 完整事例FullEventFragment 格式如 表 7 所示:表 7 FullEventFragment 格式0xAA1234AA总长度头长度数据格式版本号事例来源状态字段单元数量状态单
11、元 1.专有字段单元数量=10事例组装时间(秒自 1970.1.1 00:00:00)Global event id(Run 内事例号)Run 号Level 1 ID保留保留事例筛选标记 1事例筛选标记 2事例筛选标记 3事例筛选标记 4子片段(SubDetectors).BESIII 在线数据格式92 数据单元格式BESIII DAQ 系统在线数据的数据单元均为 32 位(四个字节)的数据,不同的子探测器单元格式的表示不同,分别说明如下:2.1 MDC表 7 所示为 MDC 的数据单元格式,其中第 26-31 位为层号,这 6 位数值的 1-31 表示第1-31 层(第 31 位为 0) ,
12、第 18-25 位为对应层的丝号;由于 MDC 部分外层的信号丝数大于255,所以从第 32 层开始,即 26-31 位的值大于 31 时,改由第 27-31 位表示层号(第 31 位为 1) ,这五位的值加 16 就是其实际的层号,第 18-26 位表示丝号。表 7 MDC 数据单元格式二进制位 3126 2518 17 16 150位数 6 8 1 1 16层数据内容131 丝 T/Q 溢出 ADC/TDC 值二进制位 3127 2618位数 5 9 1 1 16层16数据内容3243 丝 T/Q 溢出 ADC/TDC 值2.2 TOF如表 8 所示为 TOF 的数据单元格式,其中第 25
13、-26 位区分层号,1 表示第 1 层,2 表示第 2 层,3 表示端盖。第 18-24 位区分单元号,1-88 分别表示桶部第 1-88 个单元,1-48 分别表示端盖第 1-48 个单元。另外 0 表示东、1 表示西;0 表示 T,1 表示 Q。表 8 TOF 数据单元格式二进制位 3128 27 26 25 2418 17 16 150位数 4 1 2 7 1 1 16数据 保留 东/ 西 层 单元 T/Q 溢出 ADC/TDC 值2.3 EMC如表 9 所示为 EMC 的数据单元格式,其中第 26-30 位代表每一圈晶体的位置,1-22 表示桶部晶体第 1-22 圈,23-28 表示端
14、盖晶体第 1-6 圈。第 19-25 位代表每一块晶体在该圈中的位置,1-120 表示桶部第 1-120 块晶体,1-64(64、80、80、96、96)表示端盖第 1-64(64、80、80、96、96)块晶体。0 表示东、1 表示西。BESIII 在线数据格式10表 9 EMC 数据单元格式二进制位 31 3026 2519 1813 1211 100位数 1 5 7 6 2 11数据内容 东/ 西 圈 晶体 时间信息 量程 电荷信息2.4 MUC如表 10 所示为 MUC 的数据单元格式。表 10 MUC 数据单元格式二进制位 3126 2516 150位数 6 10 16数据内容 保留 FEC 地址 FEC 数据