Functionality
1.
RawIO 是把km2a的raw data, decode data 和 wcda decode data 转换到LodeStar框架内数据格式RawEvent的Service package。
2. 运行时需要设置读入数据的格式:
RawType =0 是读km2a raw data
RawType =1 是读km2a decode data
RawType =2 是读wcda raw data
Version information (ChangeLog)
2019年12月份加入MD触发模式,km2a在解析二进制文件时需要更新RawFileReader.cc, 判断条件改为streamTag = 0x00000001 || streamTag = 0x00010001,第一个是ED trigger event,第二个是MD trigger event. 2019年12月份之前的数据是没有streamTag == 0x00010001这个标签,
目前可以使用的最新版本为v1.1,能够解析2019年和2020年的数据。(不需要用mjd判断)
How to download
使用如下命令行:
svn co
http://202.122.38.82/People/zhanghy/tags/DataIO/RawIO/v1.1/
DataIO /RawIO
How to use
在python宏文件中加入以下行:
#Raw data input service
import
RawIO iSvc = Algtask.createSvc("RawInputSvc/InputSvc")
iSvc.property("InputStream").set({"/Event/RawEvent" : "/eos/lhaaso/decode/km2a/2020/0220/ES.43468.KM2A_EVENT.PHYSIC_HALF_EDMD_OVERLAP.20200220233144.100.dat.root"})
iSvc.property("RawType").set(1) # 0 for binary data, 1 for root file.
在RawEvent数据的algorithm的package的源文件中加入:
//====================================
//get the pointer to the "RawEvent" in memory
EvtDataPtr<RawHeader> edp(this->getRoot(),"/Event/RawEvent");
//get the header of the event from the pointer
RawHeader* header = edp.data();
//get the event from the header
RawEvent* event = header->event();
Comments