[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

No Subject



1. Introduction
---------------

   This package provides an add-on library to LHC++. The library is
   useful in LHC++ analysis efforts which create reconstructed objects
   and wish to store them persistently for later analysis. The library
   allows one to create `object stores' in which reconstructed objects
   can be stored and found back on an event-by-event basis.

   The object stores offer automatic reclustering facilities to
   increase performance.  The stores also support concurrent access
   and on-demand reconstruction in multi-user scenarios.  A 'plain'
   store version without automatic reclustering is also provided.

   The object store library is closely coupled to the persistent tag
   facilities of LHC++.


1.1. Situations in which this library can be used
-------------------------------------------------

   This library is useful if you want to work with persistent objects
   which are more complicated than floats and integers in an LHC++
   analysis effort.  This assumes of course that you have enough
   knowledge of Objectivity/DB to define and use your own Objectivity
   persistent objects.

   The base installation of LHC++ also offers mechanisms for creating
   and managing persistent objects, but these have the disadvantage
   that they are currently undocumented.  Aside from that we think
   that the object store library is easier to use than the standard
   LHC++ mechanisms in

     - analysis efforts which are exploratory in nature so that they
       produce many versions of any object, or

     - analysis efforts which access more than a single persistent
       object for each event inside the event loop, or

     - analysis efforts in which reclustering is useful or has to be
       done for performance reasons.

   Compared to the LHC++ mechanisms, the object store has a greater
   ease of use because types and versions can be handled by referring
   to object store names, rather than by building and navigating some
   lower-level indexing structure.

   In spite of its name, a reconstructed object store can also be used
   for storing raw data objects.


1.2. Availability
-----------------

   The library comes in source form, together with some example
   programs.  It requires that LHC++ is installed beforehand.  It
   requires Objectivity V4.0.2 and STL support, so it will not work on
   HP platforms.  It has been developed and tested on Solaris, but may
   work on other platforms with V4.0.2 and STL.  For use outside the
   CERN AFS system some path names in the makefiles will have to be
   changed.

   Note that this software is not officially supported, and will be
   maintained on a best-effort basis only.

   A version for Objectivity V5 is planned but will depend on the
   availability of LHC++ for V5.

   A version which only offers the 'plain' store, but which also works on
   Objectivity 4.0.2 for HP, is available as recostore-1.0.tar.gz .

   Send comments, questions, bug reports to Koen.Holtman@cern.ch .


1.3. Background
---------------

   This library was produced in the context of a prototyping effort
   for the CMS storage manager.  The automatic reclustering object
   store in this library has been presented in the December 1997 RD45
   workshop.  See http://wwwcn.cern.ch/~kholtman/ for links to various
   talks.  A paper which describes the implementation of automatic
   reclustering is available as CMS conference report CMS CR-1998/008.


Koen.