Discussion: Piotr. How do you use your approach for several detectors? Yves. For every detector you can use a task What is the main difference: we have only one event (one gAlice object in the memory) We have only one getter. The runLoader is unique, and the DetectorLoaders are provided by each detector. The two approaches are similar, but the NewIO is somehow redundant. There is some things which cannot be done easily in the Piotr's approach. The problem was when the hits want to access the geometry. Poitr tried to use a fixed names in order to solve it (a folder name where you can get the information). If we fix the folder names and use only one gAlice, then the two approaches are very similar. In this case probably one can avoid the storage of folders. What is wrong with the storage of folders? It gives you a possibility to change for example the simulation. The overhead is negligible. Yves. The schema should do only the minimal set of required things, and everything one might imagine. Jiri. If the only question is the redundancy, then it is not very important, we already have a lot of redundant information. The Piotr's approach allows to change of the folder names, but the default system is similar. The NewIO has possibility for many event headers in the folder, which is not the case in the PHOS approach. PHOS NewIO EV: EV1: - Eheader - Eheader - SDigits1 - SDigits - SDigits2 - Hits - Hits - Digits - Digits EV2: - Eheader - SDigits - Digits - Hits Marian: In case of NewIO it is easier to access events and the question of cleaning is easier. Predrag: The NewIO also has better separation between the data structure and algorithm. Mixing is when you take tracks from several events to produce an uncorrelated background event. It is need for the analysis of HBT and fluctuations. When you do physics, you know what you mix with what you mix. Merging is the adding of signal events to a background event. At the level of merging both approaches have the same features. The HBT analysis is independent from the IO structure. The mixing probably will be done at the level ESD. The PHOS approach is you load data from the first event and select what you need, then Do we need two complete event structure (not full events) in the memory? Andreas. Having two headers is good for sanity checks, for the TPC you can compare the time structure, combine beam halo and end central event, etc. Nico. Analysis point of view. The first (PHOS) schema is more clear, even if the second (Piotr) has probably some advantages in certain cases. Yves: the analysis and the IO should be separated. The whole complexity has to be avoided, and the PHOS approach is simpler. Federico. Proposed a working session between the experts in order to converge on the NewIO pending questions. The work group decided to produce the requirements and the use cases for the IO: Requirements: - single and split files (trees/files) - single and multiple detector - access more than one event - access to all levels of the data structure - load data on demand (file -> memory) Use cases - Digitization (needs Header, Geometry/Field, Hit data) - Merging - Reconstruction - Analysis - Mixing New IO approach File Structure <-> RunLoader <-> Digitizer Both approaches can meet the requirements. The PHOS approach is still to be generalized, while the NewIO is already general enough. From a design point of view the hiding of the way we use the file structure is good. The work of the interface should continue.