23.05.2014 Views

Athena Developer Guide

Athena Developer Guide

Athena Developer Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Athena</strong><br />

Chapter 11 Histogram facilities Version/Issue: 2.0.0<br />

Chapter 11<br />

Histogram facilities<br />

11.1 Overview<br />

The histogram data store is one of the data stores discussed in Chapter 2. Its purpose is to store statistics<br />

based data and user created objects that have a lifetime of more than a single event (e.g. histograms).<br />

As with the other data stores, all access to data is via a service interface. In this case it is via the<br />

IHistogramSvc interface, which is derived from the IDataProviderSvc interface discussed in<br />

Chapter 7. The user asks the Histogram Service to book a histogram and register it in the histogram data<br />

store. The service returns a pointer to the histogram, which can then be used to fill and manipulate the<br />

histogram<br />

The histograms themselves are booked and manipulated using four interfaces as defined by the AIDA<br />

(Abstract Interfaces for Data Analysis) project. These interfaces are documented on the AIDA web<br />

pages: http://wwwinfo.cern.ch/asd/lhc++/AIDA/. The <strong>Athena</strong> implementation uses the transient part of<br />

HTL (Histogram Template Library, http://wwwinfo.cern.ch/asd/lhc++/HTL/), provided by LHC++.<br />

The histogram data model is shown in Figure 11.1. The interface IHistogram is a base class, which<br />

is used for management purposes. It is not a complete histogram interface, it should not be used by the<br />

users. Both interfaces IHistogram1D and IHistogram2D are derived from IHistogram, and<br />

use by reference the IAxis interface. Users can book their 1D or 2D histograms in the histogram data<br />

store in the same type of tree structure as the event data. Concrete 1D and 2D histograms derive from<br />

the DataObject in order to be storable.<br />

page 77

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!