xAOD::CaloTowerContainer_v1 Class Reference

Basic container storing all information need for xAOD::CaloTower_v1 objects. More...

#include <CaloTowerContainer_v1.h>

Inheritance diagram for xAOD::CaloTowerContainer_v1:
DataVector< CaloTower_v1 > KeepFirstTemplateArguments Base

List of all members.

Public Member Functions

 CaloTowerContainer_v1 (SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
 Default constructor Constructs a tower container without structure (binning) or content. The configureGrid method has to be called after this container is instantiated and an auxiliary store is assigned.
 CaloTowerContainer_v1 (int nEtaBins, double etaMin, double etaMax, int nPhiBins, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
 Loaded constructor.
 CaloTowerContainer_v1 (CaloTowerContainer_v1 &other, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
 Copy constructor used by POOL converter (allows also shallow copies) Constructs a view-container and copies the metadata.
 ~CaloTowerContainer_v1 ()
 Destructor.
Container management

Configure the tower grid with individual parameters

Note:
Invoking the configureGrid method is mandatory to set up a valid tower grid, if the CaloTowerContainer_v1 is constructed with the default constructor.
Parameters:
[in] nEtaBins number of bins in pseudorapidity
[in] etaMin lower boundary of pseudorapidity range
[in] etaMax upper boundary of pseudorapidity range
[in] nPhiBins number of bins in azimuth
Note:
The $ \phi $ boundaries are hardcoded to $ [-\pi,\pi] $
This method will internally invoke CaloTowerContainer_v1::configureGrid() method.


bool configureGrid (int nEtaBins, double etaMin, double etaMax, int nPhiBins)
Tower grid description accessors



int nEtaBins () const
double etaMin () const
 >
double etaMax () const
 >
double deltaEta () const
 >
int nPhiBins () const
 >
double phiMin () const
 >
double phiMax () const
 >
double deltaPhi () const
 >
int nTowers () const
 >
Conversion to/from indices

Returns the nominal number of towers

>



int index (double eta, double phi) const
double eta (size_t index) const
double phi (size_t index) const
const CaloTower_v1tower (double eta, double phi) const

Detailed Description

Basic container storing all information need for xAOD::CaloTower_v1 objects.

This container does not only provide the store for CaloTower_v1 object, but also all meta-data needed to provide the tower grid and kinematics. The tower grid is defined in terms of pseudorapidity ($ \eta $) and azimuth ($ \phi $). In this it follows the CaloCell direction descriptors. As calorimeter towers represented by xAOD::CaloTower_v1 objects are by definition massless, any four-momentum representation extracted from a calorimeter tower (a bin in tower grid specified by this container) yields $ y = \eta $ for rapidity $ y $.

There is no need to rebuild this container event-by-event, because the direction of any given tower never changes, only its energy content; the direction is related to the tower's index in the container.

Usage default tower grid version (without the code recording in the event store):

 // create an empty container
 xAOD::CaloTowerContainer_v1* towCont = new xAOD::CaloTowerContainer_v1();
 // allocate the auxiliary store
 xAOD::CaloTowerAuxContainer_v1* towAuxCont = new xAOD::CaloTowerAuxContainer();
 // associate the two containers
 towCont->setStore(towAuxCont);
 // configure with a typical hadronic tower grid (0.1 x 0.1) and fill in empty CaloTowers
 towCont->configureGrid(100,-5.,5.,64);

Constructor & Destructor Documentation

xAOD::CaloTowerContainer_v1::CaloTowerContainer_v1 ( SG::OwnershipPolicy  ownPolicy = SG::OWN_ELEMENTS,
SG::IndexTrackingPolicy  trackIndices = SG::DEFAULT_TRACK_INDICES 
)

Default constructor Constructs a tower container without structure (binning) or content. The configureGrid method has to be called after this container is instantiated and an auxiliary store is assigned.

Arguments correspond to the DataVector constructor:

Parameters:
[in] ownPolicy ownership policy tag (default owns its elements)
[in] trackIndices tracking indicies policy (default track indices)
xAOD::CaloTowerContainer_v1::CaloTowerContainer_v1 ( int  nEtaBins,
double  etaMin,
double  etaMax,
int  nPhiBins,
SG::OwnershipPolicy  ownPolicy = SG::OWN_ELEMENTS,
SG::IndexTrackingPolicy  trackIndices = SG::DEFAULT_TRACK_INDICES 
)

Loaded constructor.

Constructs a configured CaloTowerContainer_v1 object with tower grid parameters

Note:
Invoking the CaloTowerContainer_v1::configureGrid method will do nothing - the tower grid cannot be overwritten when using this constructor.
The $ \phi $ boundaries are hardcoded to $ [-\pi,\pi] $
Parameters:
[in] nEtaBins number of $ \eta $ bins
[in] etaMin lower boundary of $ \eta $ range
[in] etaMax upper boundary of $ \eta $ range
[in] nPhiBins number of $ \phi $ bins (default 64)
[in] towDescr reference to non-modifiable CaloTowerDescriptor
[in] ownPolicy ownership policy tag (default owns its elements)
[in] trackIndices tracking indicies policy (default track indices)

Member Function Documentation

double xAOD::CaloTowerContainer_v1::deltaEta (  )  const [inline]

>

Returns upper boudnary of $ \eta $ range

double xAOD::CaloTowerContainer_v1::deltaPhi (  )  const [inline]

>

Returns upper boundary of $ \phi $ range

double xAOD::CaloTowerContainer_v1::etaMax (  )  const [inline]

>

Returns lower boundary of $ \eta $ range

double xAOD::CaloTowerContainer_v1::etaMin (  )  const [inline]

>

Returns number of $ \eta $ bins

int xAOD::CaloTowerContainer_v1::nPhiBins (  )  const [inline]

>

Returns grid size in $ \eta $

int xAOD::CaloTowerContainer_v1::nTowers (  )  const [inline]

>

Returns grid size in $ \phi $

double xAOD::CaloTowerContainer_v1::phiMax (  )  const [inline]

>

Returns lower boundary of $ \phi $ range

double xAOD::CaloTowerContainer_v1::phiMin (  )  const [inline]

>

Returns number of $ \phi $ bins


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1