72 {
73 unsigned int icluster=xaodcluster.index();
74 unsigned int n_rdos = auxDataCache->
rdoList.getBeginIndex(icluster);
75 assert(icluster==0 || n_rdos == auxDataCache->totList.getBeginIndex(icluster));
76 assert( n_rdos+cluster.ids.size() <= auxDataCache->rdoList.nObjects() );
77 assert( cluster.tots.size() == cluster.ids.size());
78 assert( cluster.times.size() == cluster.ids.size());
79 assert( cluster.ids.size() == 1);
80 for (size_t rdo_i = 0; rdo_i < cluster.ids.size(); ++rdo_i) {
81 Identifier rdo_id( cluster.ids[rdo_i]);
82
83 const InDetDD::HGTD_DetectorElement* element =
m_hgtd_det_mgr->getDetectorElement(rdo_id);
84
86
88
89
90 Eigen::Matrix<float, 3, 1> loc_pos(si_pos.
xPhi(), si_pos.
xEta(),cluster.times[rdo_i]);
91 Eigen::Matrix<float, 3, 3> cov_matrix= Eigen::Matrix<float, 3, 3>::Zero();
92
93 float xWidth = 1.3;
94 float yWidth = 1.3;
95 cov_matrix(0,0) = xWidth * xWidth / 12;
96 cov_matrix(1,1) = yWidth * yWidth / 12;
97 float time_of_arrival_err = 0.035;
98 cov_matrix(2,2) = time_of_arrival_err * time_of_arrival_err;
99
100 auxDataCache->rdoList.setValue(n_rdos,rdo_id.get_compact());
101 auxDataCache->totList.setValue(n_rdos,cluster.tots[rdo_i]);
102 ++n_rdos;
103
106 }
107
108
109
111 auxDataCache->rdoList.updateEndIndex(icluster,n_rdos);
112 auxDataCache->totList.updateEndIndex(icluster,n_rdos);
113
114 return StatusCode::SUCCESS;
115 }
SiCellId cellIdFromIdentifier(const Identifier &identifier) const override final
SiCellId from Identifier.
const HGTD_ModuleDesign & design() const override final
access to the local description:
virtual SiLocalPosition localPositionOfCell(const SiCellId &cellId) const
readout or diode id -> position.
double xPhi() const
position along phi direction:
double xEta() const
position along eta direction:
virtual IdentifierHash identifyHash() const override final
identifier hash (inline)
SG::ConstAccessor< SG::JaggedVecElt< Identifier::value_type > >::element_type rdoList() const
Returns the list of identifiers 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.
void setIdentifier(const DetectorIdentType measId)
Sets the full Identifier of the measurement.