 |
ATLAS Offline Software
|
#include <HgtdTimedClusteringTool.h>
Definition at line 33 of file HgtdTimedClusteringTool.h.
◆ Cell
◆ CellCollection
◆ ClusterCollection
◆ HgtdTimedClusteringTool()
ActsTrk::HgtdTimedClusteringTool::HgtdTimedClusteringTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ clusterize()
StatusCode ActsTrk::HgtdTimedClusteringTool::clusterize |
( |
const EventContext & |
ctx, |
|
|
const RawDataCollection & |
RDOs, |
|
|
ClusterContainer & |
container |
|
) |
| const |
|
overridevirtual |
Definition at line 49 of file HgtdTimedClusteringTool.cxx.
55 cells.reserve(RDOs.size());
58 cells.emplace_back(-1,
66 ATH_MSG_DEBUG(
"Clustering on " << RDOs.size() <<
" RDOs using time information");
68 Acts::Ccl::createClusters<CellCollection, ClusterCollection, 2>
73 std::size_t previousSizeContainer = container.size();
74 std::vector<xAOD::HGTDCluster*>
toAdd;
78 container.insert(container.end(),
toAdd.begin(),
toAdd.end());
81 const typename HgtdTimedClusteringTool::Cluster& cluster =
clusters[
i];
85 return StatusCode::SUCCESS;
◆ initialize()
StatusCode ActsTrk::HgtdTimedClusteringTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ makeCluster()
Definition at line 88 of file HgtdTimedClusteringTool.cxx.
92 if (cluster.ids.empty())
return StatusCode::SUCCESS;
97 for (
size_t i = 0;
i < cluster.ids.size();
i++) {
105 tot_time += cluster.times[
i];
108 pos_acc /= cluster.ids.size();
109 tot_time /= cluster.ids.size();
112 Eigen::Matrix<float, 3, 1> loc_pos(pos_acc.xPhi(), pos_acc.xEta(), tot_time);
115 constexpr
float xWidth = 1.3;
116 constexpr
float yWidth = 1.3;
117 cov_matrix(0,0) = xWidth * xWidth / 12 / cluster.ids.size();
118 cov_matrix(1,1) = yWidth * yWidth / 12 / cluster.ids.size();
119 constexpr
float time_of_arrival_err = 0.035;
120 cov_matrix(2,2) = time_of_arrival_err * time_of_arrival_err / cluster.ids.size();
126 xaodcluster.
setIdentifier(cluster.ids.front().get_compact());
127 xaodcluster.
setRDOlist(std::move(cluster.ids));
128 xaodcluster.
setToTlist(std::move(cluster.tots));
130 return StatusCode::SUCCESS;
◆ m_addCorners
Gaudi::Property<bool> ActsTrk::HgtdTimedClusteringTool::m_addCorners {this, "AddCorners", true} |
|
private |
◆ m_hgtd_det_mgr
◆ m_hgtd_id
const HGTD_ID* ActsTrk::HgtdTimedClusteringTool::m_hgtd_id {nullptr} |
|
private |
◆ m_timeTollerance
Gaudi::Property<double> ActsTrk::HgtdTimedClusteringTool::m_timeTollerance {this, "TimeTollerance", 0.035 * Acts::UnitConstants::ns} |
|
private |
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
SiCellId cellIdFromIdentifier(const Identifier &identifier) const override final
SiCellId from Identifier.
virtual SiLocalPosition localPositionOfCell(const SiCellId &cellId) const
readout or diode id -> position.
void setRDOlist(const std::vector< Identifier > &rdolist)
Sets the list of identifiers of the channels building the cluster.
int eta_index(const Identifier &id) const
virtual IdentifierHash identifyHash() const override final
identifier hash (inline)
const HGTD_ModuleDesign & design() const override final
access to the local description:
int phi_index(const Identifier &id) const
void setIdentifier(const DetectorIdentType measId)
Sets the full Identifier of the measurement.
const InDetDD::HGTD_DetectorElement * getDetectorElement(const Identifier &id) const
access to individual elements : via Identifier
void setToTlist(const std::vector< int > &tots)
Sets the list of ToT of the channels building the cluster.
void setMeasurement(const DetectorIDHashType idHash, MeasVector< N > locPos, MeasMatrix< N > locCov)
Sets IdentifierHash, local position and local covariance of the measurement.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...