[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.