21 return StatusCode::SUCCESS;
30 return StatusCode::SUCCESS;
34 if (!caloCellInHandle.
isValid()) {
35 ATH_MSG_ERROR (
"Could not retrieve HiveDataObj with key " << caloCellInHandle.
key());
36 return StatusCode::FAILURE;
40 std::vector<const CaloCell*> removed_cells;
43 if (!removedClustersHandle.
isValid()){
44 ATH_MSG_ERROR (
"Could not retrieve HiveDataObj with key " << removedClustersHandle.
key());
45 return StatusCode::FAILURE;
49 for (
auto cluster : *removed_clusters_cont){
50 for(
auto cell_it = cluster->cell_cbegin(); cell_it != cluster->cell_cend(); cell_it++){
51 removed_cells.push_back(*cell_it);
60 std::vector<CaloCell_ID::SUBCALO> emSubCaloBlocks;
62 std::unique_ptr<CaloCellList> cellList = std::make_unique<CaloCellList>(caloDDMgr, cellContainer, emSubCaloBlocks);
67 std::vector<const CaloCell*> shotCells;
69 for (
const CaloCell* cell : *cellList) {
71 int sampling = cell->caloDDE()->getSampling();
72 if (sampling > 7)
continue;
74 if (
m_removeElectronCells &&
inEleRM() && std::find(removed_cells.cbegin(), removed_cells.cend(), cell) != removed_cells.cend())
continue;
78 if (!addedCellsMap.test(cellHash)) {
80 addedCellsMap.
set(cellHash);
83 if (sampling == CaloCell_ID::EMB1 || sampling == CaloCell_ID::EME1) {
84 shotCells.push_back(cell);
90 acc_shotCells(tau) = shotCells;
92 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Container class for CaloCell.
Data object for each calorimeter readout cell.
void set(const CaloDetDescrElement *caloDDE, const Identifier &ID)
Fast method to change the identity of a cell.
CaloCellContainer that can accept const cell pointers.
This class provides the client interface for accessing the detector description information common to...
value_type push_back(value_type pElem)
Add an element to the end of the collection.
This is a "hash" representation of an Identifier.
Helper class to provide type-safe access to aux data.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type cptr()
Dereference the pointer.
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
virtual StatusCode executePi0CreateROI(xAOD::TauJet &pTau, CaloConstCellContainer &Pi0CellContainer, boost::dynamic_bitset<> &map) const override
TauPi0CreateROI(const std::string &name)
Gaudi::Property< bool > m_removeElectronCells
SG::ReadHandleKey< CaloCellContainer > m_caloCellInputContainer
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_removedClusterInputContainer
Gaudi::Property< double > m_maxDeltaRTauCells
virtual StatusCode initialize() override
Tool initializer.
virtual double phi() const
The azimuthal angle ( ) of the particle.
virtual double eta() const
The pseudorapidity ( ) of the particle.
TauJet_v3 TauJet
Definition of the current "tau version".
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.