  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
   28   return StatusCode::SUCCESS;
 
   40   if (!caloClustersReadHandle.
isValid()){
 
   41     ATH_MSG_WARNING(
" Invalid ReadHandle for xAOD::CaloCluster with key: " <<  caloClustersReadHandle.
key());
 
   42     return StatusCode::SUCCESS;
 
   48     calclusters = caloCalClustersReadHandle.
get();
 
   55   unsigned int nClusters = caloClustersReadHandle->
size();
 
   56   for (
unsigned int iCluster = 0; iCluster < nClusters; ++iCluster) {
 
   61       std::map<IdentifierHash,double> cellsWeightMap;
 
   62       retrieveLCCalCellWeight(caloClustersReadHandle->
at(iCluster)->e(), iCluster, cellsWeightMap, *calclusters,**caloMgrHandle);
 
   70       std::string::size_type 
pos = decorHandleName.find(
".");
 
   71       std::string decorName = decorHandleName.substr(
pos+1);
 
   74       accessor(*theCaloClusterContainer[iCluster]) = 
accessor(*caloClustersReadHandle->
at(iCluster));
 
   78     theEFlowRecClusterContainer.
push_back(std::move(thisEFRecCluster));
 
   81   return StatusCode::SUCCESS;
 
   85   return StatusCode::SUCCESS;
 
   91   const unsigned& 
index,
 
   92   std::map<IdentifierHash, double>& cellsWeight,
 
  102   if (matchedCalCluster){
 
  103     if (!(fabs(
energy - matchedCalCluster->
rawE()) < 0.001)) {
 
  104       matchedCalCluster = 
nullptr;
 
  105       for (
const auto *iCalCalCluster : caloCalClustersContainer) {
 
  106         matchedCalCluster = iCalCalCluster;
 
  107         if (fabs(
energy - matchedCalCluster->
rawE()) < 0.001) {
 
  111       if (!matchedCalCluster) 
ATH_MSG_WARNING(
"Invalid pointer to matched cluster - failed to find cluster match");
 
  113     if (not matchedCalCluster){ 
 
  114       throw std::runtime_error(
"matchedCluster is a null pointer in PFClusterSelectorTool::retrieveLCCalCellWeight");
 
  120     for (; itCell != endCell; ++itCell) {
 
  124       cellsWeight[myHashId] = itCell.
weight();
 
  126   } 
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
 
Helper class to provide type-safe access to aux data.
 
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.
 
const AccessorWrapper< T > * accessor(xAOD::JetAttribute::AttributeID id)
Returns an attribute accessor corresponding to an AttributeID.
 
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.
 
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
 
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)