ATLAS Offline Software
Loading...
Searching...
No Matches
ClusterizationAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSTRK_DATAPREPARATION_CLUSTERIZATIONALG_H
6#define ACTSTRK_DATAPREPARATION_CLUSTERIZATIONALG_H
7
10#include <GaudiKernel/ToolHandle.h>
15#include "src/Cache.h"
17
18namespace ActsTrk {
19
20template <typename IClusteringTool, bool useCache>
22public:
23 using RDOContainer = typename IClusteringTool::RDOContainer;
24 using ClusterContainer = typename IClusteringTool::ClusterContainer;
25 using ClusterAuxContainer = typename IClusteringTool::ClusterAuxContainer;
26 using IDHelper = typename IClusteringTool::IDHelper;
27 using BaseClusterType = typename ClusterContainer::base_value_type;
28
29 //cache related handles
36
37 ClusterizationAlg(const std::string& name, ISvcLocator* pSvcLocator);
38 virtual ~ClusterizationAlg() = default;
39 virtual StatusCode initialize() override;
40 virtual StatusCode execute(const EventContext& ctx) const override;
41 virtual StatusCode finalize() override;
42
43private:
44 ToolHandle<IClusteringTool> m_clusteringTool {this, "ClusteringTool", "",
45 "Clustering Tool"};
46
47 ToolHandle<GenericMonitoringTool> m_monTool {this, "MonTool", "",
48 "Monitoring tool"};
49
50 ToolHandle<IRegSelTool> m_regionSelector {this, "RegSelTool", "",
51 "Region selector tool"};
52
55
57 "Input RDO container key"};
58
60 "RoIs to read in"};
61
63 "Key of output xAOD pixel cluster container"};
64
65 Cache_WriteHandleKey m_ClusterCache{this,"ClusterCache",""};
67
68 Gaudi::Property<std::string> m_idHelperName {this, "IDHelper", "",
69 "Name of ID helper to fetch from detstore" };
70
71 const IDHelper* m_idHelper = nullptr;
72
73private:
79
80 mutable std::array<std::atomic<unsigned int>, kNStat> m_stat ATLAS_THREAD_SAFE {};
81};
82
83} // namespace ActsTrk
84
85#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
SG::UpdateHandle< IDCBackend > BackendUpdateHandle
Definition Cache.h:44
SG::UpdateHandleKey< IDCBackend > BackendUpdateHandleKey
Definition Cache.h:43
SG::WriteHandle< IDC > WriteHandle
Definition Cache.h:47
IdentifiableContainer< CacheEntry< OT > > IDC
Definition Cache.h:41
SG::WriteHandleKey< IDC > WriteHandleKey
Definition Cache.h:46
virtual StatusCode execute(const EventContext &ctx) const override
ToolHandle< IClusteringTool > m_clusteringTool
typename IClusteringTool::ClusterContainer ClusterContainer
SG::ReadHandleKey< RDOContainer > m_rdoContainerKey
typename IClusteringTool::IDHelper IDHelper
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_detEleCollKey
Gaudi::Property< std::string > m_idHelperName
ToolHandle< IRegSelTool > m_regionSelector
std::array< std::atomic< unsigned int >, kNStat > m_stat ATLAS_THREAD_SAFE
typename Cache::Handles< BaseClusterType >::IDC::IDC_WriteHandle Cache_IDCLock
typename Cache::Handles< BaseClusterType >::WriteHandleKey Cache_WriteHandleKey
typename IClusteringTool::RDOContainer RDOContainer
ClusterizationAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
SG::ReadHandleKey< InDet::SiDetectorElementStatus > m_detElStatus
Cache_WriteHandleKey m_ClusterCache
ToolHandle< GenericMonitoringTool > m_monTool
typename ClusterContainer::base_value_type BaseClusterType
virtual ~ClusterizationAlg()=default
virtual StatusCode finalize() override
typename Cache::Handles< BaseClusterType >::BackendUpdateHandleKey Cache_BackendUpdateHandleKey
SG::WriteHandleKey< ClusterContainer > m_clusterContainerKey
typename IClusteringTool::ClusterAuxContainer ClusterAuxContainer
Cache_BackendUpdateHandleKey m_ClusterCacheBackend
typename Cache::Handles< BaseClusterType >::WriteHandle Cache_WriteHandle
typename Cache::Handles< BaseClusterType >::BackendUpdateHandle Cache_BackendUpdateHandle
typename Cache::Handles< BaseClusterType >::IDC Cache_IDC
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...