 |
ATLAS Offline Software
|
Go to the documentation of this file.
30 #include "CaloEvent/CaloTowerContainer.h"
31 #include "GaudiKernel/Bootstrap.h"
32 #include "GaudiKernel/Service.h"
88 <<
"cannot initialize internal store properly, index offset = "
129 <<
"Can't find element for index " << cellIndex <<
endmsg;
132 double xCell = theElement->
x();
133 double yCell = theElement->
y();
134 double zCell = theElement->
z();
135 double dxCell = theElement->
dx();
136 double dyCell = theElement->
dy();
152 for (
double x = xCell-dxCell/2.;
x < xCell+(dxCell-theXBin/8.)/2.;
x += theXBin ){
153 for (
double y = yCell-dyCell/2.;
y < yCell+(dyCell-theYBin/8.)/2.;
y += theYBin ){
155 double r = sqrt(
x *
x +
y *
y + zCell * zCell );
156 double eta = -0.5 *
log((
r-zCell)/(
r+zCell));
157 double phi = correctPhi.
fix(atan2(
y,
x));
169 if (
i->first==cellIndex){
170 i->second+=theWeight;
176 m_TTCmatrix[towerIndex].push_back(std::make_pair(cellIndex,theWeight));
JetConstituentVector::iterator iterator
Iterator over a rectangular window of towers.
This class defines the phi convention for Calorimeters.
Scalar phi() const
phi method
static SubSegIterator make(TOWER_ITERATOR beg, const SubSeg &subseg)
Construct a new iterator for iterating over a window.
Scalar eta() const
pseudorapidity method
tower_iterator towers() const
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
int module(const Identifier id) const
module [1,3]
index_t getTowerIndex(const CaloTower *aTower) const
Returns the combined index of a tower on the grid.
Definition of CaloDetDescrManager.
A rectangular window within the segmentation.
tower_table_t m_TTCmatrix
Identifier identify() const override final
cell identifier
Storable container class for CaloTower.
void calo_cell_hash_range(const Identifier id, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' cell hashes of one sub-calorimeter alone
bool getTowerIndices(const CaloTower *aTower, index_t &indexEta, index_t &indexPhi) const
Returns both and indices for a given tower.
CaloPhiRange class declaration.
Helper class for offline cell identifiers.
static double fix(double phi)
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
Helpers for checking error return status codes and reporting errors.
std::vector< unsigned int > m_ndxFCal
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
size_t index_t
Tower map index type.
This class provides the client interface for accessing the detector description information common to...
std::vector< unsigned int > m_ndyFCal
~LArFCalTowerStore()
destructor
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Helper class for LArFCAL offline identifiers.
LArFCalTowerStore()
constructor
size_type size() const noexcept
Returns the number of elements in the collection.
const LArFCAL_ID * fcal_idHelper() const
access to FCAL idHelper
index_t flagOutOfRange() const
Returns the index out-of-range indicator.
bool buildLookUp(const CaloCell_ID &cellIdHelper, const CaloDetDescrManager &theManager, CaloTowerContainer *theTowers)
setup trigger