ATLAS Offline Software
AthExThinning Package
Author
Sebastien Binet

Introduction

This package serves both as an example on how to perform data thinning and as a unit test, making sure everything is working as planned. It consists of 3 algorithms explaining how to perform thinning of DataVector containers as a possible way of reducing disk size of a given dataset.

Class Overview

The AthExThinning package contains the following transient data classes:

Then, a set of according persistent classes (ie: classes whose layout is optimized to be written on disk) have also been collected into this package:

  • AthExParticles_p1 : the persistent representation of the AthExParticles. There is no "rocket science" in this persistent representation (from a technical point of view), it is mostly to exercise the transient/persistent separation of data classes.
  • AthExDecay_p1 : the persistent representation of the AthExDecay data class. Same comment as above holds.
  • AthExElephantino_p1 : the persistent representation of the AthExElephantino transient data class.

Finally, there are 3 algorithms manipulating the above transient data classes :

The other classes are the usual boiler plate needed to implement the transient/persistent separation: T/P serializers and AthenaPOOL converters. They are implementation details as far as this package is concerned.

Note however that only T/P separated classes can make use of the thinning process as it relies on the T/P separation of the ElementLink to correct the persistent index (to the element in the persistent container) with the according offset, reflecting the removal of elements.