FAQ:What is the archive event store and how do I access it?

From Daya Bay

Jump to: navigation, search

Archive event store keep data object for not only current event but also a serials of past events.

At the end of Gaudi execution cycle, there is a archive trimming algorithm which compare the time of each data object to time of current event, and remove them whose time interval larger than a trimming window.

You can use nuwa.py -A x(second) to specify the trimming window.

To access it, you should define and access archive data service:

 IDataProviderSvc* p_archiveSvc;
 StatusCode status = service("EventDataArchiveSvc", p_archiveSvc);

then get archive list(take ReadoutHeader as an example):

 SmartDataPtr<DybArchiveList>  archlist(p_archiveSvc,"/Event/Readout/ReadoutHeader");

loop in the archive list to get each data object in AES:

 DybArchiveList::const_iterator iter = archlist->begin();
   for(; iter!=archlist->end(); iter++) {
   ReadoutHeader* roh = dynamic_cast<ReadoutHeader*>(*iter);
 }

Several examples are provided:

$DYBSVN/dybgaudi/Tutorial/TESDemo

http://dayabay.ihep.ac.cn/tracs/dybsvn/browser/people/djaffe/MDR/MDC10a/python/chkFC.py

DYB-doc-4898-v2

Personal tools