[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Handling ROOT files
Mark,
Just a few comment on your last message.
> I guess just like in the STAF case, where there is all this "behind the
> scenes" work to
> present an event to the user from the event id set that gets sent, a similar
> thing will need to
> be done with ROOT, though less complicated. Once the user code has the
> event id list + file name, it could make a loop over the event id numbers
> and then for the appropriate number, reads the event information.
One further question si whether root files will contain multiple components,
i.e. each event id list may need a set of files, one for each component.
Also, in discussing this with Henrik we were wondering what is the format of
an event id in root. Is it a 64 bit integer?
> It can be done efficiently if the ROOT tree contains two branches, one with
> the event id listing and a pointer to the event and the other with the event
> data. The "header" information and the event information are then contained
> in two separate buffers. You can also make it so that the two parts are in
> separate files (split mode) but still one logical tree.
>
> Looping over the event id listing will be quick, since it is stored
> contiguously on disk, either in several large buffers contained in 1 file,
> or in a completely separate file. Then dereferencing the pointer will give
> you direct access to the event object data.