 |
ATLAS Offline Software
|
Go to the documentation of this file.
15 template <
typename...
T>
17 std::unique_ptr<xAOD::CaloCluster>&
dest,
19 for (
const auto& momentId : {momentIds...}) {
21 if (
src.retrieveMoment(momentId, moment)) {
22 dest->insertMoment(momentId, moment);
41 const bool isEC = cp0.
emaxEC >= cp0.emaxF;
42 const float eta = isEC ? cp0.etaEC : cp0.etaF;
43 const float phi = isEC ? cp0.phiEC : cp0.phiF;
52 if (!
pars.recomputeMoments) {
72 for (; cellItr != cellEnd; ++cellItr) {
79 const bool excludeCell = isEC ?
84 double w =
pars.fixCellWeights ? 1. : cellItr.
weight();
static std::unique_ptr< xAOD::CaloCluster > makeCluster(const CaloCellContainer *cellCont)
Creates a valid CaloCluster with a private Aux-Store and CellLink container.
@ SECOND_R
Second Moment in .
Find the reference position (eta, phi) relative to which cells are restricted.
virtual double phi() const override final
get phi (through CaloDetDescrElement)
Scalar phi() const
phi method
@ CENTER_X
Cluster Centroid ( )
Scalar eta() const
pseudorapidity method
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...
const_iterator begin() const
const begin method
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
unsigned index() const
Accessor for the index of the cell in the CaloCellContainer.
@ ENG_FRAC_MAX
Energy fraction of hottest cell.
weight_t weight() const
Accessor for weight associated to this cell.
@ SECOND_LAMBDA
Second Moment in .
@ CENTER_Z
Cluster Centroid ( )
Bookkeeping of cells that make up a cluster Simplified replacement for CaloCellLink,...
@ SECOND_ENG_DENS
Second Moment in E/V.
Description of a calorimeter cluster.
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
std::unique_ptr< xAOD::CaloCluster > cookieCut(const xAOD::CaloCluster &cluster, const CaloDetDescrManager &mgr, const DataLink< CaloCellContainer > &cellCont, const egammaClusterCookieCut::CookieCutPars &pars)
bool addCell(const unsigned cellIdx, const weight_t weight=1.0)
Method to add a cell to the cluster.
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
const_iterator end() const
const end method
This class provides the client interface for accessing the detector description information common to...
@ SIGNIFICANCE
Cluster significance.
static void calculateKine(xAOD::CaloCluster *clu, const bool useweight=true, const bool updateLayers=true, const bool useGPUCriteria=false)
Helper class to calculate cluster kinematics based on cells.
@ LATERAL
Normalized lateral moment.
bool hasSampling(const CaloSample s) const
Checks if certain smapling contributes to cluster.
@ LONGITUDINAL
Normalized longitudinal moment.
const_iterator to loop over cells belonging to a cluster
@ CENTER_Y
Cluster Centroid ( )
virtual double eta() const override final
get eta (through CaloDetDescrElement)