ATLAS Offline Software
SCT_Clusterization.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
12 #ifndef INDETPREPRAWDATAFORMATION_SCT_CLUSTERIZATION_H
13 #define INDETPREPRAWDATAFORMATION_SCT_CLUSTERIZATION_H
14 
17 
23 
31 
33 #include "GaudiKernel/ServiceHandle.h"
34 #include "GaudiKernel/ToolHandle.h"
35 
37 #include <map>
38 #include <string>
39 
40 class ISvcLocator;
41 class SCT_ID;
42 class StatusCode;
44 
45 namespace InDet {
54 public:
56  SCT_Clusterization(const std::string& name, ISvcLocator* pSvcLocator);
57 
62  virtual StatusCode initialize() override;
65  virtual StatusCode execute(const EventContext& ctx) const override;
67  virtual StatusCode finalize() override;
69  virtual bool isClonable() const override { return true; };
71 
72 private:
77  SCT_Clusterization() = delete;
81 
86  ToolHandle<IRegSelTool> m_regionSelector{this, "RegSelTool", "RegSelTool/RegSel_SCT", "region selector tool for HLT"};
87  ToolHandle<ISCT_ClusteringTool> m_clusteringTool{this, "clusteringTool", "InDet::SCT_ClusteringTool"};
88  ToolHandle<IInDetConditionsTool> m_pSummaryTool{this, "conditionsTool", "SCT_ConditionsSummaryTool/InDetSCT_ConditionsSummaryTool", "Tool to retrieve SCT conditions summary"};
89  ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
90  const SCT_ID* m_idHelper{nullptr};
92 
99  SG::ReadHandleKey<SCT_RDO_Container> m_rdoContainerKey{this, "DataObjectName", "SCT_RDOs", "SCT RDOs"};
100  SG::WriteHandleKey<SCT_ClusterContainer> m_clusterContainerKey{this, "ClustersName", "SCT_Clusters", "SCT cluster container"};
101  SG::WriteHandleKey<SiClusterContainer> m_clusterContainerLinkKey{this, "ClustersLinkName_", "SCT_Clusters", "SCT cluster container link name (don't set this)"};
102  SG::WriteHandleKey<IDCInDetBSErrContainer> m_flaggedCondDataKey{this, "SCT_FlaggedCondData", "SCT_FlaggedCondData", "SCT flagged conditions data"};
103 
105  this, "ClusterContainerCacheKey", ""};
107  this, "FlaggedCondCacheKey", ""};
108 
109 
114  {this, "SCTDetElStatus", "", "Key of SiDetectorElementStatus for SCT"};
115 
120  UnsignedIntegerProperty m_maxFiredStrips{this, "maxFiredStrips", 384, "Threshold of number of fired strips per wafer, to mask noisy modules. 0 disables the per-wafer cut."};
121  UnsignedIntegerProperty m_maxTotalOccupancyPercent{this, "maxTotalOccupancyInPercent", 100, "Threshold of percentage of fired strips for the whole SCT. 100 disables the whole SCT cut."};
122  BooleanProperty m_roiSeeded{this, "isRoI_Seeded", false, "Use RoI"};
123  BooleanProperty m_checkBadModules{this, "checkBadModules", true, "Flag to check bad modules using InDetSCT_ConditionsSummaryTool"};
124  Gaudi::Property<bool> m_useDataPoolWithCache{
125  this, "useDataPoolWithCache", false, "use DataPool With Cache"};
126 
128 };
129 
130 }
131 
132 #endif // INDETRIOMAKER_SCT_CLUSTERIZATION_H
IRegSelTool.h
InDet::SCT_Clusterization::SCT_Clusterization
SCT_Clusterization()=delete
IInDetConditionsTool.h
SG::UpdateHandleKey< SCT_ClusterContainerCache >
InDet::SCT_Clusterization::m_flaggedCondDataKey
SG::WriteHandleKey< IDCInDetBSErrContainer > m_flaggedCondDataKey
Definition: SCT_Clusterization.h:102
InDet::SCT_Clusterization::m_idHelper
const SCT_ID * m_idHelper
Definition: SCT_Clusterization.h:90
SiDetectorElementStatus.h
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::SCT_Clusterization::m_roiSeeded
BooleanProperty m_roiSeeded
Definition: SCT_Clusterization.h:122
InDet::SCT_Clusterization::m_maxFiredStrips
UnsignedIntegerProperty m_maxFiredStrips
Definition: SCT_Clusterization.h:120
InDet::SCT_Clusterization::m_sctDetElStatus
SG::ReadHandleKey< InDet::SiDetectorElementStatus > m_sctDetElStatus
Optional read handle to get status data to test whether a SCT detector element is good.
Definition: SCT_Clusterization.h:114
SG::ReadHandleKey< TrigRoiDescriptorCollection >
InDet::SCT_Clusterization::m_clusterContainerCacheKey
SG::UpdateHandleKey< SCT_ClusterContainerCache > m_clusterContainerCacheKey
For HLT cache.
Definition: SCT_Clusterization.h:104
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
InDet::SCT_Clusterization::m_checkBadModules
BooleanProperty m_checkBadModules
Definition: SCT_Clusterization.h:123
InDet::SCT_Clusterization::isClonable
virtual bool isClonable() const override
Make this algorithm clonable.
Definition: SCT_Clusterization.h:69
InDet::SCT_Clusterization::m_clusteringTool
ToolHandle< ISCT_ClusteringTool > m_clusteringTool
Definition: SCT_Clusterization.h:87
InDet::SCT_Clusterization::m_useDataPoolWithCache
Gaudi::Property< bool > m_useDataPoolWithCache
Definition: SCT_Clusterization.h:124
GenericMonitoringTool.h
InDet::SCT_Clusterization::m_pSummaryTool
ToolHandle< IInDetConditionsTool > m_pSummaryTool
Definition: SCT_Clusterization.h:88
SCT_RDO_Container.h
SG::WriteHandleKey< SCT_ClusterContainer >
InDet::SCT_Clusterization::SCT_Clusterization
SCT_Clusterization(const SCT_Clusterization &)=delete
InDet::SCT_Clusterization::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition: SCT_Clusterization.h:86
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::SCT_Clusterization
Form clusters from SCT Raw Data Objects. The class loops over an RDO grouping strips and creating col...
Definition: SCT_Clusterization.h:53
InDet::SCT_Clusterization::m_rdoContainerKey
SG::ReadHandleKey< SCT_RDO_Container > m_rdoContainerKey
Definition: SCT_Clusterization.h:99
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
AthReentrantAlgorithm.h
InDet::SCT_Clusterization::operator=
SCT_Clusterization & operator=(const SCT_Clusterization &)=delete
InDet::SCT_Clusterization::m_clusterContainerLinkKey
SG::WriteHandleKey< SiClusterContainer > m_clusterContainerLinkKey
Definition: SCT_Clusterization.h:101
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
InDet::SCT_Clusterization::m_roiCollectionKey
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
Definition: SCT_Clusterization.h:98
ISCT_ClusteringTool.h
InDet::SCT_Clusterization::m_maxTotalOccupancyPercent
UnsignedIntegerProperty m_maxTotalOccupancyPercent
Definition: SCT_Clusterization.h:121
InDet::SCT_Clusterization::execute
virtual StatusCode execute(const EventContext &ctx) const override
Form clusters and record them in StoreGate by WriteHandle.
Definition: SCT_Clusterization.cxx:72
InDet::SCT_Clusterization::m_flaggedCondCacheKey
SG::UpdateHandleKey< IDCInDetBSErrContainer_Cache > m_flaggedCondCacheKey
For HLT cache.
Definition: SCT_Clusterization.h:106
SiClusterContainer.h
SCT_ID
Definition: SCT_ID.h:68
TrigRoiDescriptorCollection
Definition: TrigRoiDescriptorCollection.h:21
IDCInDetBSErrContainer.h
SCT_ClusterContainer.h
InDet::SCT_Clusterization::finalize
virtual StatusCode finalize() override
Finalize (nothing done actually)
Definition: SCT_Clusterization.cxx:320
InDet::SCT_Clusterization::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: SCT_Clusterization.h:89
InDet::SCT_Clusterization::m_clusterContainerKey
SG::WriteHandleKey< SCT_ClusterContainer > m_clusterContainerKey
Definition: SCT_Clusterization.h:100
InDet::SCT_Clusterization::initialize
virtual StatusCode initialize() override
Retrieve the tools used and initialize handle keys.
Definition: SCT_Clusterization.cxx:34