|
ATLAS Offline Software
|
Go to the documentation of this file.
44 #include "GaudiKernel/IChronoStatSvc.h"
51 ISvcLocator* pSvcLocator)
54 , m_clusterCellLinkOutput(
"")
55 , m_clusterMakerTools(this)
56 , m_clusterCorrectionTools(this)
57 , m_chrono(
"ChronoStatSvc",
name)
58 , m_saveSignalState(true)
59 , m_chronoTools(false)
101 ATH_MSG_DEBUG(
"Successfully retrieved maker ToolHandleArray "
106 ATH_MSG_ERROR(
"Failed to retrieve correction ToolHandleArray "
109 ATH_MSG_DEBUG(
"Successfully retrieved correction ToolHandleArray "
114 msg(MSG::INFO) <<
"Will use ChronoStatSvc to monitor ClusterMaker and ClusterCorrection tools" <<
endmsg;
130 return StatusCode::SUCCESS;
136 return StatusCode::SUCCESS;
148 ATH_CHECK( clusColl.
record(std::make_unique<xAOD::CaloClusterContainer>(),
149 std::make_unique<xAOD::CaloClusterTrigAuxContainer>()) );
155 ToolHandleArray<CaloClusterCollectionProcessor>::const_iterator toolIt, toolIt_e;
161 for(;toolIt!=toolIt_e;++toolIt) {
162 const std::string chronoName = this->
name() +
"_" +toolIt->name();
172 ATH_MSG_DEBUG(
"found cluster with state "<< fClus->signalState());
173 fClus->setRawE(fClus->calE());
174 fClus->setRawEta(fClus->calEta());
175 fClus->setRawPhi(fClus->calPhi());
176 fClus->setRawM(fClus->calM());
185 for(;toolIt!=toolIt_e;++toolIt) {
186 const std::string&
toolname=(*toolIt).name();
189 const std::string chronoName = this->
name() +
"_" +
toolname;
201 decor_handle(*
cl) = 0;
204 decor_handle(*
cl) = cell_links->
size();
209 ATH_MSG_DEBUG(
"Created cluster container with " << clusColl->
size() <<
" clusters");
214 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.
Bookkeeping of cells that make up a cluster Simplified replacement for CaloCellLink,...
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.
Handle class for adding a decoration to an object.
Handle class for adding a decoration to an object.
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
SG::WriteDecorHandleKey< xAOD::CaloClusterContainer > m_mDecor_ncells
Key to the handle for writing the number of cells as a decoration.
size_t size() const
size method
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
Gaudi::Property< bool > m_writeTriggerSpecificInfo
If true, writes some trigger-specific decorations.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
const std::string & getOutputContainerName() const
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
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