![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
44 #include "GaudiKernel/IChronoStatSvc.h"
48 ISvcLocator* pSvcLocator)
51 , m_clusterCellLinkOutput(
"")
52 , m_clusterMakerTools(this)
53 , m_clusterCorrectionTools(this)
54 , m_chrono(
"ChronoStatSvc",
name)
55 , m_saveSignalState(true)
56 , m_chronoTools(false)
103 ATH_MSG_ERROR(
"Failed to retrieve correction ToolHandleArray "
106 ATH_MSG_DEBUG(
"Successfully retrieved correction ToolHandleArray "
111 msg(MSG::INFO) <<
"Will use ChronoStatSvc to monitor ClusterMaker and ClusterCorrection tools" <<
endmsg;
122 return StatusCode::SUCCESS;
128 return StatusCode::SUCCESS;
140 ToolHandleArray<CaloClusterCollectionProcessor>::const_iterator toolIt, toolIt_e;
146 for(;toolIt!=toolIt_e;++toolIt) {
147 const std::string chronoName = this->
name() +
"_" +toolIt->name();
157 ATH_MSG_DEBUG(
"found cluster with state "<< fClus->signalState());
158 fClus->setRawE(fClus->calE());
159 fClus->setRawEta(fClus->calEta());
160 fClus->setRawPhi(fClus->calPhi());
161 fClus->setRawM(fClus->calM());
170 for(;toolIt!=toolIt_e;++toolIt) {
171 const std::string&
toolname=(*toolIt).name();
174 const std::string chronoName = this->
name() +
"_" +
toolname;
180 ATH_MSG_DEBUG(
"Created cluster container with " << clusColl->
size() <<
" clusters");
185 return StatusCode::SUCCESS;
bool m_saveSignalState
controls saving the uncalibrated signal state just before the first CaloClusterCorrectionTool is invo...
static StatusCode finalizeClusters(SG::WriteHandle< CaloClusterCellLinkContainer > &h, xAOD::CaloClusterContainer *pClusterColl)
Finalize clusters (move CaloClusterCellLink to a separate container).
ServiceHandle< IChronoStatSvc > m_chrono
static StatusCode AddContainerWriteHandle(SG::WriteHandle< xAOD::CaloClusterContainer > &clusColl)
Creates a new xAOD::CaloClusterContainer in the given WriteHandle + CaloClusterAuxContainer and recor...
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
ToolHandleArray< CaloClusterCollectionProcessor > m_clusterMakerTools
a list of names for tools to make clusters
CaloClusterMaker(const std::string &name, ISvcLocator *pSvcLocator)
const std::string & key() const
Return the StoreGate ID for the referenced object.
An algorithm that can be simultaneously executed in multiple threads.
ToolHandleArray< CaloClusterCollectionProcessor > m_clusterCorrectionTools
the actual list of tools corresponding to above names
virtual ~CaloClusterMaker() override
Description of a calorimeter cluster.
virtual StatusCode initialize() override
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
bool m_chronoTools
Use ChronotStatSvc to monitor each tool.
virtual StatusCode execute(const EventContext &ctx) const override
Helpers for checking error return status codes and reporting errors.
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_clusterCellLinkOutput
the name of the key in StoreGate for the output CaloClusterCellLinkContainer
virtual StatusCode finalize() override
const std::string & getOutputContainerName() const
size_type size() const noexcept
Returns the number of elements in the collection.
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_clusterOutput
the name of the key in StoreGate for the output CaloClusterContainer