 |
ATLAS Offline Software
|
Go to the documentation of this file.
7 #include "Acts/Clusterization/TimedClusterization.hpp"
24 cl.tots.push_back(
cell.TOT);
25 cl.times.push_back(
cell.TOA);
32 const std::string&
name,
46 return StatusCode::SUCCESS;
50 const RawDataCollection& RDOs,
51 ClusterContainer& container)
const
55 cells.reserve(RDOs.size());
58 cells.emplace_back(-1,
66 ATH_MSG_DEBUG(
"Clustering on " << RDOs.size() <<
" RDOs using time information");
67 Acts::Ccl::ClusteringData
data;
69 Acts::Ccl::createClusters<CellCollection, ClusterCollection, 2>
74 std::size_t previousSizeContainer = container.size();
75 std::vector<xAOD::HGTDCluster*>
toAdd;
79 container.insert(container.end(),
toAdd.begin(),
toAdd.end());
86 return StatusCode::SUCCESS;
93 if (cluster.
ids.empty())
return StatusCode::SUCCESS;
98 for (
size_t i = 0;
i < cluster.
ids.size();
i++) {
106 tot_time += cluster.
times[
i];
109 pos_acc /= cluster.
ids.size();
110 tot_time /= cluster.
ids.size();
113 Eigen::Matrix<float, 3, 1> loc_pos(pos_acc.
xPhi(), pos_acc.
xEta(), tot_time);
116 constexpr
float xWidth = 1.3;
117 constexpr
float yWidth = 1.3;
118 cov_matrix(0,0) = xWidth * xWidth / 12 / cluster.
ids.size();
119 cov_matrix(1,1) = yWidth * yWidth / 12 / cluster.
ids.size();
120 constexpr
float time_of_arrival_err = 0.035;
121 cov_matrix(2,2) = time_of_arrival_err * time_of_arrival_err / cluster.
ids.size();
131 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
char data[hepevt_bytes_allocation_ATLAS]
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:
double xPhi() const
position along phi direction:
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
double xEta() const
position along eta direction:
::StatusCode StatusCode
StatusCode definition for legacy code.
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.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]