ATLAS Offline Software
Loading...
Searching...
No Matches
PixelClusteringTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSTRK_DATAPREPARATION_PIXEL_CLUSTERING_TOOL_H
6#define ACTSTRK_DATAPREPARATION_PIXEL_CLUSTERING_TOOL_H
7
8
17
18
19namespace ActsTrk {
20
21class PixelClusteringTool : public extends<AthAlgTool,IPixelClusteringTool> {
22public:
23 PixelClusteringTool(const std::string& type,
24 const std::string& name,
25 const IInterface* parent);
26
27 virtual StatusCode
28 clusterize(const EventContext& ctx,
29 const RawDataCollection& RDOs,
30 const InDet::SiDetectorElementStatus& pixelDetElStatus,
31 const InDetDD::SiDetectorElement& element,
32 Acts::Ccl::ClusteringData& data,
33 std::vector<ClusterCollection>& collection) const override;
34
35 virtual StatusCode
36 makeClusters(const EventContext& ctx,
38 const InDetDD::SiDetectorElement& element,
39 typename ClusterContainer::iterator itrContainer) const override;
40
41 virtual StatusCode initialize() override;
42
43private:
44 // N.B. the cluster is added to the container
45 // and the tots and charges vectors will be moved to the xAOD object
46
47 StatusCode makeCluster(PixelClusteringTool::Cluster &cluster,
48 const InDetDD::SiDetectorElement* element,
49 const InDetDD::PixelModuleDesign& design,
50 const PixelChargeCalibCondData *calibData,
52 double lorentz_shift,
54
56 unpackRDOs(const RawDataCollection& RDOs,
57 const InDet::SiDetectorElementStatus& stripDetElStatus,
58 const InDetDD::SiDetectorElement& element) const;
59
60 static inline
61 std::optional<Identifier>
62 isGanged(const Identifier& rdoID,
63 const InDetDD::SiDetectorElement& element);
64
65private:
66 ToolHandle< ISiLorentzAngleTool > m_pixelLorentzAngleTool {this, "PixelLorentzAngleTool", "", "Tool to retreive Lorentz angle of Pixel"};
67
69 "Pixel charge calibration data"};
70
71 Gaudi::Property<bool> m_addCorners {this, "AddCorners", true};
72 Gaudi::Property<bool> m_useWeightedPos {this, "UseWeightedPosition", false};
73 Gaudi::Property<bool> m_broadErrors {this, "UseBroadErrors", false};
74 Gaudi::Property<bool> m_checkGanged {this, "CheckGanged", false};
75 Gaudi::Property<bool> m_isITk {this, "isITk", true, "True if running in ITk"};
76 const PixelID* m_pixelID {nullptr};
77};
78
79} // namespace ActsTrk
80
81#endif // ACTS_PIXEL_CLUSTERING_TOOL_H
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
This is an Identifier helper class for the Pixel subdetector.
PixelClusteringTool(const std::string &type, const std::string &name, const IInterface *parent)
IPixelClusteringTool::CellCollection unpackRDOs(const RawDataCollection &RDOs, const InDet::SiDetectorElementStatus &stripDetElStatus, const InDetDD::SiDetectorElement &element) const
Gaudi::Property< bool > m_broadErrors
virtual StatusCode clusterize(const EventContext &ctx, const RawDataCollection &RDOs, const InDet::SiDetectorElementStatus &pixelDetElStatus, const InDetDD::SiDetectorElement &element, Acts::Ccl::ClusteringData &data, std::vector< ClusterCollection > &collection) const override
virtual StatusCode makeClusters(const EventContext &ctx, typename IPixelClusteringTool::ClusterCollection &clusters, const InDetDD::SiDetectorElement &element, typename ClusterContainer::iterator itrContainer) const override
SG::ReadCondHandleKey< PixelChargeCalibCondData > m_chargeDataKey
virtual StatusCode initialize() override
static std::optional< Identifier > isGanged(const Identifier &rdoID, const InDetDD::SiDetectorElement &element)
Gaudi::Property< bool > m_checkGanged
StatusCode makeCluster(PixelClusteringTool::Cluster &cluster, const InDetDD::SiDetectorElement *element, const InDetDD::PixelModuleDesign &design, const PixelChargeCalibCondData *calibData, const PixelChargeCalibCondData::CalibrationStrategy calibStrategy, double lorentz_shift, xAOD::PixelCluster &container) const
Gaudi::Property< bool > m_addCorners
ToolHandle< ISiLorentzAngleTool > m_pixelLorentzAngleTool
Gaudi::Property< bool > m_isITk
Gaudi::Property< bool > m_useWeightedPos
Class used to describe the design of a module (diode segmentation and readout scheme)
Class to hold geometrical description of a silicon detector element.
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.