![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
23 return StatusCode::SUCCESS;
35 if (!caloClustersReadHandle.
isValid()){
36 ATH_MSG_WARNING(
" Invalid ReadHandle for xAOD::CaloCluster with key: " << caloClustersReadHandle.
key());
37 return StatusCode::SUCCESS;
43 calclusters = caloCalClustersReadHandle.
get();
50 unsigned int nClusters = caloClustersReadHandle->
size();
51 for (
unsigned int iCluster = 0; iCluster < nClusters; ++iCluster) {
56 std::map<IdentifierHash,double> cellsWeightMap;
57 retrieveLCCalCellWeight(caloClustersReadHandle->
at(iCluster)->e(), iCluster, cellsWeightMap, *calclusters,**caloMgrHandle);
63 theEFlowRecClusterContainer.
push_back(std::move(thisEFRecCluster));
66 return StatusCode::SUCCESS;
70 return StatusCode::SUCCESS;
76 const unsigned&
index,
77 std::map<IdentifierHash, double>& cellsWeight,
87 if (matchedCalCluster){
88 if (!(fabs(
energy - matchedCalCluster->
rawE()) < 0.001)) {
89 matchedCalCluster =
nullptr;
90 for (
const auto *iCalCalCluster : caloCalClustersContainer) {
91 matchedCalCluster = iCalCalCluster;
92 if (fabs(
energy - matchedCalCluster->
rawE()) < 0.001) {
96 if (!matchedCalCluster)
ATH_MSG_WARNING(
"Invalid pointer to matched cluster - failed to find cluster match");
98 if (not matchedCalCluster){
99 throw std::runtime_error(
"matchedCluster is a null pointer in PFClusterSelectorTool::retrieveLCCalCellWeight");
105 for (; itCell != endCell; ++itCell) {
109 cellsWeight[myHashId] = itCell.
weight();
111 }
else ATH_MSG_WARNING(
"Invalid pointer to matched cluster - could not look up local hadron cell weights");
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
const std::string & key() const
Return the StoreGate ID for the referenced object.
weight_t weight() const
Accessor for weight associated to this cell.
Description of a calorimeter cluster.
::StatusCode StatusCode
StatusCode definition for legacy code.
const_pointer_type get() const
Dereference the pointer, but don't cache anything.
void setCellsWeight(std::map< IdentifierHash, double > &&cellsWeight)
Helper class for offline cell identifiers.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ElementLink implementation for ROOT usage.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode initialize(bool used=true)
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.
This class provides the client interface for accessing the detector description information common to...
Data object for each calorimeter readout cell.
#define ATH_MSG_WARNING(x)
const CaloCell_ID * getCaloCell_ID() const
get calo cell ID helper
const T * at(size_type n) const
Access an element, as an rvalue.
const_iterator to loop over cells belonging to a cluster
size_type size() const noexcept
Returns the number of elements in the collection.
void setClusterId(int clusterId)