|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef EFLOWRECCLUSTER_H_
13 #define EFLOWRECCLUSTER_H_
21 #include "AthLinks/ElementLink.h"
67 bool isEOverPFail(
bool consistencySigmaCut,
bool useGoldenMode);
129 b->getCluster()->pt());
192 const xAOD::CaloCluster* thisCluster = std::as_const(*m_efRecCluster).getCluster();
194 return thisCluster->
size();
199 <<
"eflowMatchCluster ERROR: No valid link to xAOD::CaloCluster"
207 std::cerr <<
"eflowMatchCluster ERROR: No valid link to eflowRecCluster"
212 virtual const std::vector<double>&
cellEta()
const
219 virtual const std::vector<double>&
cellPhi()
const
230 std::vector<double> tmp_cellEta;
231 std::vector<double> tmp_cellPhi;
233 const xAOD::CaloCluster* thisCluster = std::as_const(*m_efRecCluster).getCluster();
239 for (; itCell != endCell; ++itCell) {
241 tmp_cellEta.push_back(thisCell->
eta());
242 tmp_cellPhi.push_back(thisCell->
phi());
246 <<
"eflowMatchCluster ERROR: No valid link to xAOD::CaloCluster"
250 std::cerr <<
"eflowMatchCluster ERROR: No valid link to eflowRecCluster"
This class extends the information about a xAOD::CaloCluster.
virtual double phi() const
The azimuthal angle ( ) of the particle.
std::map< IdentifierHash, double > m_cellsWeightMap
const T * ptr() const
Return a pointer to the cached value.
virtual double phi() const override final
get phi (through CaloDetDescrElement)
virtual void etaMean(double clusterEtaMean)
eflowRecCluster * m_efRecCluster
int getClusterType() const
Specifies if we have a cluster mainly in ECAL, HCAL or FCAL
void addTrackMatch(eflowTrackClusterLink *trackMatch)
bool isValid() const
Test to see if the value is valid.
const std::vector< eflowTrackClusterLink * > & getTrackMatches() const
double getSumExpectedEnergy()
CalorimeterType
ENUM that defines calorimeter regions as ECAL, HCAL or FCAL
const_iterator begin() const
const begin method
CxxUtils::CachedValue< std::vector< double > > m_cellPhi
virtual double etaMean() const
virtual double phiVariance() const
virtual double phi() const
const std::map< IdentifierHash, double > & getCellsWeight() const
Stores pointers to an eflowRecTrack and an eflowRecCluster.
bool greater(double a, double b)
Compare two FP numbers, working around x87 precision issues.
virtual unsigned int nCells() const
Bookkeeping of cells that make up a cluster Simplified replacement for CaloCellLink,...
virtual void phiVariance(double clusterPhiVariance)
virtual double phiMean() const
Description of a calorimeter cluster.
std::unique_ptr< eflowMatchCluster > m_matchCluster
virtual const std::vector< double > & cellPhi() const
eflowRecCluster(const ElementLink< xAOD::CaloClusterContainer > &clusElementLink, xAOD::CaloClusterContainer &newClusContainer)
ElementLink< xAOD::CaloClusterContainer > m_clusElementLink
std::vector< eflowTrackClusterLink * > m_trackMatches
virtual double eta() const
The pseudorapidity ( ) of the particle.
virtual bool calVarianceStatus() const
Workaround x86 precision issues for FP inequality comparisons.
eflowRecCluster & operator=(const eflowRecCluster &originalEflowRecCluster)=delete
Cached value with atomic update.
size_t size() const
size method (forwarded from CaloClusterCellLink obj)
void setCellsWeight(std::map< IdentifierHash, double > &&cellsWeight)
xAOD::CaloCluster * getCluster()
ElementLink< xAOD::CaloClusterContainer > getOriginalClusElementLink() const
virtual void etaVariance(double clusterEtaVariance)
virtual void setCalVarianceStatus()
virtual const std::vector< double > & cellEta() const
xAOD::CaloCluster * m_cluster
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
eflowRecCluster * getEfRecCluster()
ElementLink implementation for ROOT usage.
virtual double etaVariance() const
eflowMatchCluster * getMatchCluster() const
const xAOD::CaloCluster * getCluster() const
bool isEOverPFail(bool consistencySigmaCut, bool useGoldenMode)
Cached value with atomic update.
virtual ~eflowRecCluster()
void set(const T &val) const
Set the value, assuming it is currently invalid.
ElementLink< xAOD::CaloClusterContainer > m_originalClusElementLink
const_iterator end() const
const end method
An STL vector of pointers that by default owns its pointed-to elements.
Data object for each calorimeter readout cell.
void initCellPositions() const
const eflowRecCluster * getEfRecCluster() const
double m_clusterPhiVariance
This class, which inherits from the pure virtual ICluster, stores a pointer to an eflowRecCluster.
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
virtual double eta() const
virtual void phiMean(double clusterPhiMean)
virtual ~eflowMatchCluster()
bool operator()(const eflowRecCluster *a, const eflowRecCluster *b)
eflowMatchCluster(eflowRecCluster *efRecCluster)
const_iterator to loop over cells belonging to a cluster
macros to associate a CLID to a type
virtual double e() const
The total energy of the particle.
ElementLink< xAOD::CaloClusterContainer > getClusElementLink() const
double m_clusterEtaVariance
double getVarianceOfSumExpectedEnergy()
virtual double eta() const override final
get eta (through CaloDetDescrElement)
void setClusterId(int clusterId)
CxxUtils::CachedValue< std::vector< double > > m_cellEta