30 return StatusCode::SUCCESS;
44 int index = cells->findIndex (cellHash);
50 return StatusCode::SUCCESS;
62 if (samp == CaloSampling::Unknown) {
64 <<
" is not a valid Calorimeter sampling name and will be ignored! " );
67 acceptedSamplings[
static_cast<int> (samp)] =
true;
71 size_t hashMax =
m_caloID->calo_cell_hash_max();
72 for (
size_t cellHash = 0; cellHash < hashMax; ++cellHash) {
73 if (acceptedSamplings[
m_caloID->calo_sample (cellHash)]) {
78 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Thin calorimeter cells by sampling.
Handle class for reading from StoreGate.
Handle for requesting thinning for a data object.
const ServiceHandle< StoreGateSvc > & detStore() const
static CaloSample getSampling(const std::string &name)
Return the sampling code for a given name.
static constexpr unsigned int getNumberOfSamplings()
Get number of available samplings.
StringProperty m_streamName
Name of the stream being thinned.
const CaloCell_ID * m_caloID
Calo ID helper.
StatusCode decodeSamplings()
Decode the provided list of calorimeter samplings.
StringArrayProperty m_samplingNames
SG::ThinningHandleKey< CaloCellContainer > m_cells
Cell container to thin.
std::vector< IdentifierHash > m_cellHashes
Decoded list of cells to save.
virtual StatusCode initialize() override
Gaudi initialize method.
virtual StatusCode execute(const EventContext &ctx) const override
Execute the algorithm.
This is a "hash" representation of an Identifier.
Handle for requesting thinning for a data object.