|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   31   return StatusCode::SUCCESS;
 
   41   navInColl = readHandleTower.
cptr();
 
   46   cellColl = readHandleCell.
cptr();
 
   54   for(
const auto *towerItr : *navInColl)
 
   68     towerItr->fillToken(cellToken,
double(1.));
 
   73     if ( cellToken.
size() == 0 ) 
continue;
 
   83       double cell_E_w=(*cellItr)->energy()*geoWeight;
 
   87       cl->addCell(iCell,geoWeight);
 
   90       eta_cl+=cell_E_w*(*cellItr)->eta();
 
   91       phi_cl+=cell_E_w*(*cellItr)->phi();
 
   92       E2_cl+=cell_E_w*cell_E_w;
 
   93       time_cl+=cell_E_w*cell_E_w*(*cellItr)->time();
 
   96       samplingPattern |= (0x1U<<
sample);
 
   99     float eta0=towerItr->eta();
 
  100     float phi0=towerItr->phi();
 
  120     if(E2_cl < 1
e-8) time_cl=0.;
 
  130     cl->setRawEta(eta_cl);
 
  131     cl->setRawPhi(phi_cl);
 
  135     cl->setAltEta(eta_cl);
 
  136     cl->setAltPhi(phi_cl);
 
  140     cl->setCalEta(eta_cl);
 
  141     cl->setCalPhi(phi_cl);
 
  145     cl->setTime(time_cl);
 
  146     cl->setSamplingPattern(samplingPattern);
 
  149                   << std::setw(15) << 
cl->e()
 
  150                   << std::setw(15) << 
cl->eta()
 
  151                   << std::setw(15) << 
cl->phi() );
 
  155   return StatusCode::SUCCESS;
 
  160   return StatusCode::SUCCESS;
 
  168       clusCollIter!= clusColl->
end(); ++clusCollIter)
 
  180       ATH_MSG_ERROR(
"Can't get valid links to CaloCells (CaloClusterCellLink)!");
 
  181       return StatusCode::FAILURE;
 
  184     unsigned int ncells=0;
 
  196       double cell_E_w=pCell->
energy();
 
  199       eta_cl+=cell_E_w*pCell->
eta();
 
  200       phi_cl+=cell_E_w*pCell->
phi();
 
  210                << std::setw(15) << 
cl->e()
 
  211                << std::setw(15) << 
cl->eta()
 
  212                << std::setw(15) << 
cl->phi()
 
  213                << std::setw(15) << E_cl
 
  214                << std::setw(15) << eta_cl
 
  215                << std::setw(15) << phi_cl
 
  216                << std::setw(15) << ncells
 
  217                << std::setw(15) << 
sumw );
 
  219   return StatusCode::SUCCESS;
 
  
static std::unique_ptr< xAOD::CaloCluster > makeCluster(const CaloCellContainer *cellCont)
Creates a valid CaloCluster with a private Aux-Store and CellLink container.
StatusCode dumpClusters(xAOD::CaloClusterContainer *clusColl)
virtual StatusCode finalize()
virtual double phi() const override final
get phi (through CaloDetDescrElement)
static StatusCode AddContainerWriteHandle(SG::WriteHandle< xAOD::CaloClusterContainer > &clusColl)
Creates a new xAOD::CaloClusterContainer in the given WriteHandle + CaloClusterAuxContainer and recor...
const_pointer_type cptr()
Dereference the pointer.
SG::ReadHandleKey< INavigable4MomentumCollection > m_towerContainerKey
Name of input CaloTowerContainer, e.g CmbTower.
bool inTowerBoundary(float eta0, float phi0, float eta, float phi)
virtual StatusCode initialize()
#define ATH_MSG_VERBOSE(x)
__HOSTDEV__ double Phi_mpi_pi(double)
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_outputKey
Name of output CaloClusterContainer, e.g. HIClusters.
double energy() const
get energy (data member)
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Name of input CaloCellContainer, e.g. AllCalo.
Bookkeeping of cells that make up a cluster Simplified replacement for CaloCellLink,...
Handle class for recording to StoreGate.
Description of a calorimeter cluster.
(Non-const) Iterator class for DataVector/DataList.
::StatusCode StatusCode
StatusCode definition for legacy code.
HIClusterMaker(const std::string &name, ISvcLocator *pSvcLocator)
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?
void prefetchNext(Iter iter, Iter endIter)
Prefetch next object in sequence.
const_iterator begin() const
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Container class for CaloCell.
const_iterator end() const
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
Gaudi::Property< float > m_EminMoment
For clusters w/ E less than this, set their eta/phi to tower eta/phi.
Data object for each calorimeter readout cell.
int findIndex(const IdentifierHash theHash) const
Return index of the cell with a given hash.
CHILDPAR getParameter(const_child_ptr data) const
Handle class for reading from StoreGate.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
virtual StatusCode execute(const EventContext &ctx) const
virtual double eta() const override final
get eta (through CaloDetDescrElement)
Functions to prefetch blocks of memory.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.