Summary

The CEL ROOT format is stable. The CompositeEventList should be ok and usable so to write CEL files and read them back, provided the user is developping the main application which drive the task. The Gleam Glue should be ok, and is under test. There is still no glue for the skimmer, and the only kind of path which can be used for the data files is the kind of path which is understood by a TChain (real path or xrootd one).

CEL Topics

  • The ROOT file format, which we could call the CEL ROOT format.
  • The textual file format, which we could call the CEL TXT format, and will prove useful when deeply reusing CompositeEventList within the skimmer.
  • The set of C++ classes for the representation of CELs in memory at runtime, with CompositeEventList at the top.
  • The C++ Gleam Glue for the use of CELs as input or output of Gleam jobs.
  • The C++/Perl Skimmer Glue, for the use of CELs as input or output of the skimmer.
  • The set of C++ classes for the description of components meta data (we have one in the skimmer today).
  • The data file path translation mechanism,  so to enable the use of logical paths, and their automatic translation into physical paths.

What is done ?

  • The CEL ROOT file format should be now ok and rather stable.
  • The C++ class CompositeEventList is quite complete.
  • A Gleam Glue is usable, even if it deserves more testing.

Roadmap 

Today, one can generate CELs with the official format, and read them back, provided he is writing the main C++ program which will reuse the CompositeEventList class. For what concerns something more "ready-to-use", we have a first Gleam glue prototype, with many internal improvements which could be implemented, but the skimmer is not yet instrumented for CELs. That's why, in the short-term, I plan to test the Gleam glue just a little more, and quickly focus on the support of basic use-cases, especially the construction of a CEL from existing data files. The steps during the coming weeks could be :

  1. Consolidate the write of a CEL within a Gleam job.
  2. Provide a way to easily merge CELs, and build a CEL from existing files (with skimmer ?).
  3. Consolidate the read of a CEL within a Gleam job.
  4. Make the skimmer parameters files and the CELs textual format converge, and finally enable the use of CELs as input and output of the skimmer.
  5. Review the dispatch of tasks between rootUtil and RootIo, especially the classes RootInputDesc and RootOutputDesc.
  6. Review the dispatch of tasks between the skimmer main class and CompositeEventList.
  • No labels