Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
7 #include "CaloEvent/CaloTowerContainer.h"
9 #include "CaloEvent/CaloClusterContainer.h"
18 ISvcLocator* pSvcLocator)
22 , m_cellContainerKey(
"AllCalo")
23 , m_clusterKey(
"CaloTopoClusters")
24 , m_cellToClusterMapKey(
"CaloCell2TopoCluster")
25 , m_towerContainerKey(
"CmbTower")
26 , m_newTowerContainerKey(
"TopoTower")
27 , m_caloSelection(false)
104 msg() << MSG::INFO <<
" subcalo selected ";
119 return StatusCode::FAILURE;
124 unsigned int toolCtr = 0;
130 if ( checkOut.isFailure() )
133 return StatusCode::FAILURE;
136 for (ToolHandle<ICaloTopoTowerBuilderToolBase>&
tool :
m_ptools)
166 return StatusCode::SUCCESS;
181 IChronoStatSvc* theTicker = chronoSvc();
188 if ( !towerContainer.
isValid() ) {
190 return StatusCode::SUCCESS;
197 return StatusCode::SUCCESS;
199 ATH_MSG_DEBUG(
"CaloTopoTowerAlgorithm::execute " << theCells.
name() <<
" size= " << theCells->
size() );
208 return StatusCode::SUCCESS;
213 if ( !cellToClusterMap.
isValid() ){
215 << cellToClusterMap.
name() <<
">" );
216 return StatusCode::SUCCESS;
219 ATH_MSG_DEBUG(
"Successfully retrieved CaloCell2ClusterMap <"<< cellToClusterMap.
name() <<
">" );
249 ToolHandleArray<ICaloTopoTowerBuilderToolBase>::const_iterator firstITool =
m_ptools.begin();
250 ToolHandleArray<ICaloTopoTowerBuilderToolBase>::const_iterator lastITool =
m_ptools.end();
251 StatusCode processStatus = StatusCode::SUCCESS;
258 while ( ! processStatus.isFailure() && firstITool != lastITool )
267 if ( theTicker !=
nullptr )
270 theTicker->chronoStart((*firstITool)->name());
280 processStatus = (*firstITool)->execute(ctx, theTowers.
ptr());
285 if ( theTicker !=
nullptr )
288 theTicker->chronoStop((*firstITool)->name());
290 if ( ! processStatus.isFailure() )
293 <<
": CaloTopoTowerContainer::size() = "
294 << theTowers->
size() );
300 ATH_MSG_ERROR(
"problems while or after processing tool \042"
301 << (*firstITool)->name()
302 <<
"\042 - cross-check CaloTopoTowerContainer::size() = "
303 << theTowers->
size() );
308 return StatusCode::SUCCESS;
317 return StatusCode::SUCCESS;
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
void SetClusters(const CaloClusterContainer *c)
void SetNoiseSigma(float c)
const_pointer_type cptr()
Dereference the pointer.
SG::ReadHandleKey< CaloClusterContainer > m_clusterKey
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const std::string & name() const
Return the StoreGate ID for the referenced object.
std::vector< CaloCell_ID::SUBCALO > m_caloIndices
std::vector< std::string > m_includedCalos
void SetCellToClusterMap(const CaloCell2ClusterMap *c)
An algorithm that can be simultaneously executed in multiple threads.
void SetMinimumCellEnergy(double c)
virtual ~CaloTopoTowerAlgorithm()
double m_minimumCellEnergy
void SetCellESignificanceThreshold(float c)
void SetCaloSelection(bool c)
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
CaloTopoTowerAlgorithm(const std::string &name, ISvcLocator *pService)
Algorithm constructor.
void SetMinimumClusterEnergy(double c)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
SG::ReadHandleKey< CaloTowerContainer > m_towerContainerKey
virtual bool isValid() override final
Can the handle be successfully dereferenced?
float m_cellESignificanceThreshold
const CaloTowerSeg & towerseg() const
Return a copy of the attached CaloTowerSeg.
SG::ReadHandleKey< CaloCell2ClusterMap > m_cellToClusterMapKey
virtual StatusCode initialize() override
inherited from Algorithm
SG::WriteHandleKey< CaloTopoTowerContainer > m_newTowerContainerKey
double m_minimumClusterEnergy
void SetCells(const CaloCellContainer *c)
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
#define ATH_MSG_WARNING(x)
void SetCaloIndices(const std::vector< CaloCell_ID::SUBCALO > &c)
void SetUseCellWeights(bool c)
virtual StatusCode finalize() override
ToolHandleArray< ICaloTopoTowerBuilderToolBase > m_ptools
virtual StatusCode execute(const EventContext &ctx) const override
size_type size() const noexcept
Returns the number of elements in the collection.
void SetTowers(const CaloTowerContainer *c)