This package is used to provide the Transient/Persistent separation for TileCal classes.
- Author
- Aranzazu Ruiz Martinez Aranz.nosp@m.azu..nosp@m.Ruiz..nosp@m.Mart.nosp@m.inez@.nosp@m.cern.nosp@m..ch
-
Alexander Solodkov Sanya.nosp@m..Sol.nosp@m.odkov.nosp@m.@cer.nosp@m.n.ch
Introduction
- Two separate data models are used:
- Transient data model: principal, used almost everywhere
- Persistent data model: supplementary, used for data storage
- The primary motivation of T/P separation is to provide backwards compatibility (i.e. when the transient representation of a TileEvent class is modified, the old persistent representations can still be read)
- Additionally, the persistent model introduces class versioning (ClassName_p1, ClassName_p2, etc.)
- It allows more efficient and performant data storage, important to include information in ESD or AOD files
- Data is being copied between transient and persistent objects before writing and after reading by the T/P converters
Related Packages
The persistent classes and containers in TileTPCnv package have the correspondent transient classes and containers in TileSimEvent and TileEvent packages:
- TileHit: stores the total energy visible by one PMT
- TileL2: stores TileMuId and \( E_{\rm{T}} \) quantities as computed in the ROD DSPs
- TileMu: stores TileMuId (processed offline) related information
- TileCosmicMuon: stores information on TileMuonFitter results
- TileTTL1Cell: stores the trigger tower energy, average time and quality factor built from Tile cell information
Note that a GUID is assigned for each transient class in TileSimEvent/selection.xml and TileEvent/selection.xml files.
The AthenaPool converters, where these GUIDs are used, are stored in TileEventAthenaPool package.
Persistent Classes
The following persistent classes are implemented in this package:
This persistent classes are meant to reduce the size of the objects, i.e. converting variables from double to float, for data storage. Note that a GUID is assigned for each persistent class in TileTPCnv/selection.xml file.
Persistent Containers
The following persistent containers are implemented in this package:
T/P Converters
The following T/P converters are implemented in this package:
In the T/P converters, the methods transToPers and persToTrans are used for the conversion from transient to persistent or vice versa.
T/P Container Converters
The following T/P container converters are implemented in this package:
- TileHitVectorCnv_p1
- TileL2ContainerCnv_p1
- TileMuContainerCnv_p1
- TileCosmicMuonContainerCnv_p1
- TileTTL1CellContainerCnv_p1