ATLAS Offline Software
Loading...
Searching...
No Matches
ClusterizationAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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 RawDataCollection = typename RDOContainer::base_value_type;
25 using ClusterContainer = typename IClusteringTool::ClusterContainer;
26 using ClusterAuxContainer = typename IClusteringTool::ClusterAuxContainer;
27 using IDHelper = typename IClusteringTool::IDHelper;
28 using BaseClusterType = typename ClusterContainer::base_value_type;
29
30 //cache related handles
37
38 ClusterizationAlg(const std::string& name, ISvcLocator* pSvcLocator);
39 virtual ~ClusterizationAlg() = default;
40 virtual StatusCode initialize() override;
41 virtual StatusCode execute(const EventContext& ctx) const override;
42 virtual StatusCode finalize() override;
43
44private:
45 ToolHandle<IClusteringTool> m_clusteringTool {this, "ClusteringTool", "",
46 "Clustering Tool"};
47
48 ToolHandle<GenericMonitoringTool> m_monTool {this, "MonTool", "",
49 "Monitoring tool"};
50
51 ToolHandle<IRegSelTool> m_regionSelector {this, "RegSelTool", "",
52 "Region selector tool"};
53
56
58 "Input RDO container key"};
59
61 "RoIs to read in"};
62
64 "Key of output xAOD pixel cluster container"};
65
66 Cache_WriteHandleKey m_ClusterCache{this,"ClusterCache",""};
68
69 Gaudi::Property<std::string> m_idHelperName {this, "IDHelper", "",
70 "Name of ID helper to fetch from detstore" };
71
72 const IDHelper* m_idHelper = nullptr;
73
74private:
80
81 mutable std::array<std::atomic<unsigned int>, kNStat> m_stat ATLAS_THREAD_SAFE {};
82};
83
84} // namespace ActsTrk
85
86#include "ClusterizationAlg.icc"
87
88#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 RDOContainer::base_value_type RawDataCollection
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...