110 likes | 128 Views
C. Cheshkov 20 Oct 2008 ALICE Offline Week. Status of Raw-Data Readers. Contents. Overview of existing raw-readers New AliRawReaderChain Event type and trigger selection Other recent developments Improvements in AliMDC Conclusions. AliRoot Raw-Readers. AliRawReader. AliRawReaderMemory.
E N D
C. Cheshkov 20 Oct 2008 ALICE Offline Week Status of Raw-Data Readers
Status of Raw-Data Readers (C. Cheshkov) Contents • Overview of existing raw-readers • New AliRawReaderChain • Event type and trigger selection • Other recent developments • Improvements in AliMDC • Conclusions
Status of Raw-Data Readers (C. Cheshkov) AliRoot Raw-Readers AliRawReader AliRawReaderMemory AliRawReaderFile AliRawReaderDate AliRawReaderRoot AliRawReaderDateOnline AliRawReaderChain
Status of Raw-Data Readers (C. Cheshkov) AliRoot Raw-Readers • AliRawReader – base class • Fixes the common interface and functionality of all raw-readers • AliRawReaderMemory • Reads DDL raw data from memory • Equipment ID and in some cases raw-data size are not available, set explicitly in the user code
Status of Raw-Data Readers (C. Cheshkov) AliRoot Raw-Readers • AliRawReaderFile – reads directories (one per event) of DDL files • No event/sub-event header • some information read from the first DDL file • Run# written in separate file • Detector pattern constructed from the list of existing files • AliRawReaderDate – reads DATE raw data • AliRawReaderDateOnline – reads DATE raw-data events from shared memory • Uses DATE monitoring library
Status of Raw-Data Readers (C. Cheshkov) AliRoot Raw-Readers • AliRawReaderRoot – main raw-reader • Reads ROOT formatted raw-data file (or single event) • AliRawReaderChain • Reads TChain of ROOT raw-data files • Provides event-based selection via TEntryList • Used to initialize raw-data reconstruction with PROOF
Status of Raw-Data Readers (C. Cheshkov) How to instantiate proper reader AliRawReaderRoot AliRawReaderFile AliRawReaderDate „alien://xxx.root” „root://xxx.root” „xxx.root” „folder/” „any other filename” AliRawReader::Create(const char*uri) „collection://xxx.root”-TEntryList obj in ROOT file „collection://xxx.xml”-XML file, tag analysis (w event list) „collection://xxx”-text file with file list (TFileCollection) „mem://str_for_DATE_mon_lib” can be file, GDC, LDC AliRawReaderDateOnline AliRawReaderChain
Status of Raw-Data Readers (C. Cheshkov) Event Type and Trigger Selection • Can be done by adding follwing to uri given as input to ::Create() method: • „?EventType=X” (physics event = 7) • „?Trigger=Y” (Y is trigger mask to be applied)Y & TriggerPattern == YFor example Y=5 will select events for which trigger pattern bits 0 and 2 are set • Plans to extend functionality so that it accepts string with trigger classes names and logic • Raw-reader -> Run# -> Trigger Config from OCDB -> Raw-reader • Note: at the moment reconstruction of raw-data collection does not accept selection, because it uses TTree players
Status of Raw-Data Readers (C. Cheshkov) Other Recent Developments • Simulation: • Some missing event fields propagated to ROOT raw-data file • HLT reconstruction plugged in between production of DDL files and DATE/ROOT raw files (Matthias) • Reconstruction: • Quite some fixes in AliRawReaderFile (Matthias) • Direct access to given event – GotoEvent() (used in AliEVE)
Status of Raw-Data Readers (C. Cheshkov) Improvement in AliMDC • Online ROOT-ification of some special runs (high rate, small event size – SPD only runs) turned out to be very slow creating heavy load on DAQ GDCs • Thanks to Rene and Philippe we got some improvements in ROOT I/O and AliMDC • Speed up of 1.5-2.0 in case of SPD-only runs • Disabling pointer tracking in all branches • Smaller size of internal map tracking object class names • Caching length of event and sub-event headers (calculated via CINT) disabling support for pointer tracking in all the branches disabling support for pointer tracking in all the branches
Status of Raw-Data Readers (C. Cheshkov) Conclusions • Framework proven to be quite solid • TBs of cosmic/beam raw data were successfully ROOT-ified online and processed offline • Check and possibly revise interface with tag-analysis code (AliRawReaderChain), both in local and PROOF mode • Implement missing and needed methods (if any) in some raw-readers (AliRawReaderMemory, AliRawReaderFile, AliRawReaderDate, AliRawReaderDateOnline) • AliMDC: possibility to write separate stream with HLT ESD files