51 ATH_MSG_DEBUG(
"Null Acts::TrackingGeometry from tracking geometry service");
52 return StatusCode::FAILURE;
57 ATH_MSG_DEBUG(
"Null detector element to Acts geometry ID map from "
58 "tracking geometry service");
59 return StatusCode::FAILURE;
85 return StatusCode::SUCCESS;
92 std::vector<TracccCell> cells;
93 auto cell_start = std::chrono::high_resolution_clock::now();
95 auto cell_end = std::chrono::high_resolution_clock::now();
96 std::chrono::duration<double, std::milli> cell_time = cell_end - cell_start;
97 ATH_MSG_INFO(
"Cell reading time: " << cell_time.count() <<
" ms");
99 std::unordered_map<int64_t, int> cluster_map;
106 std::vector<TracccTrackParameters> TracccTrackParams;
107 std::vector<LocalMeasurementInfoInTracks> TracccMeasurementsInfoInTracks;
110 auto traccc_start = std::chrono::high_resolution_clock::now();
112 auto traccc_end = std::chrono::high_resolution_clock::now();
113 std::chrono::duration<double, std::milli> traccc_time = traccc_end - traccc_start;
114 ATH_MSG_INFO(
"Traccc total inference time: " << traccc_time.count() <<
" ms");
117 unsigned int nb_output_tracks = 0;
118 auto convert_start = std::chrono::high_resolution_clock::now();
120 cluster_map, nb_output_tracks));
121 auto convert_end = std::chrono::high_resolution_clock::now();
122 std::chrono::duration<double, std::milli> convert_time = convert_end - convert_start;
123 ATH_MSG_INFO(
"Traccc total conversion time: " << convert_time.count() <<
" ms");
125 return StatusCode::SUCCESS;
135 std::vector<int> result;
137 if (
index == low_bound) {
138 result.push_back(
index);
139 result.push_back(
index + 1);
140 }
else if (
index == low_bound + 1) {
141 result.push_back(
index + 1);
142 result.push_back(
index + 2);
143 }
else if (
index == low_bound + 2) {
144 result.push_back(
index + 2);
145 result.push_back(
index + 3);
146 }
else if (
index == high_bound) {
147 result.push_back(
index + 3);
148 result.push_back(
index + 4);
150 result.push_back(
index + shift);
152 result.push_back(
index);
159 int phiIndex,
int etaIndex,
int rows,
172 int middle_row = rows / 2;
173 int middle_column = columns / 2;
175 std::vector<std::pair<int, int>> index_vec;
177 std::vector<int> mapped_x =
178 map_index(phiIndex, middle_row - 2, middle_row + 1, middle_row + 1, 4);
180 etaIndex, middle_column - 2, middle_column + 1, middle_column + 1, 4);
182 if ((middle_row - 2 <= phiIndex && phiIndex <= middle_row + 1) and
183 (middle_column - 2 <= etaIndex && etaIndex <= middle_column + 1)) {
187 for (
auto [
phi,
eta] : std::views::cartesian_product(mapped_x, mapped_y)) {
188 index_vec.emplace_back(
phi,
eta);
189 if ((middle_row - 2 <= phiIndex && phiIndex <= middle_row + 1) and
190 (middle_column - 2 <= etaIndex &&
191 etaIndex <= middle_column + 1)) {
200 std::vector<TracccCell>& cells,
201 const EventContext& evtcontext)
const
225 int layer_disk =
m_pixelID->layer_disk(Pixel_ModuleID);
226 int barrel_ec =
m_pixelID->barrel_ec(Pixel_ModuleID);
228 int64_t
const geometry_id = Pixel_ModuleID.
get_compact();
232 if ((barrel_ec != 0 && layer_disk > 1) ||
233 (barrel_ec == 0 && layer_disk > 0)) {
237 std::vector<std::pair<int, int>> cell_vec =
240 for (std::size_t c = 0; c < cell_vec.size(); c++) {
242 std::tuple<int, int> indices = cell_vec.at(c);
243 const int phiIndex = std::get<0>(indices);
244 const int etaIndex = std::get<1>(indices);
247 geometry_id, 0,
static_cast<int64_t
>(phiIndex),
248 static_cast<int64_t
>(etaIndex),
249 static_cast<float>(pixelRawData->getToT()),
255 geometry_id, 0,
static_cast<int64_t
>(
id.phiIndex()),
256 static_cast<int64_t
>(
id.etaIndex()),
257 static_cast<float>(pixelRawData->getToT()),
275 if (strip_Collection ==
nullptr) {
280 const Identifier rdoId = stripRawData->identify();
292 m_stripID->wafer_id(Strip_ModuleHash + side);
296 int64_t
const geometry_id = Strip_ModuleID.
get_compact();
298 if (
m_stripID->barrel_ec(Strip_ModuleID) == 0) {
303 for (
int i = 0; i < stripRawData->getGroupSize(); i++) {
307 static_cast<int64_t
>(
id.phiIndex() + i), 0, 1,
320 for (
int i = 0; i < stripRawData->getGroupSize(); i++) {
324 static_cast<int64_t
>(
id.phiIndex() + i), 1,
339 return StatusCode::SUCCESS;
343 const EventContext& eventContext)
const
347 std::unordered_map<int64_t, int> traccc_to_xaod_cluster_map;
351 xAODPixelContainerFromInDetClusters(
353 if ((xAODPixelContainerFromInDetClusters.
record(
354 std::make_unique<xAOD::PixelClusterContainer>(),
355 std::make_unique<xAOD::PixelClusterAuxContainer>()))
358 "Could not record xAOD Pixel container from InDet Clusters");
359 throw std::runtime_error(
360 "creation of xAOD Pixel container from InDet Clusters failed");
364 xAODStripContainerFromInDetClusters(
366 if ((xAODStripContainerFromInDetClusters.
record(
367 std::make_unique<xAOD::StripClusterContainer>(),
368 std::make_unique<xAOD::StripClusterAuxContainer>()))
371 "Could not record xAOD Strip container from InDet Clusters");
372 throw std::runtime_error(
373 "creation of xAOD Strip container from InDet Clusters failed");
381 pixElements ==
nullptr) {
383 std::ostringstream errMsg;
385 throw std::runtime_error(errMsg.str());
392 if (not stripDetEleHandle.
isValid() or stripElements ==
nullptr) {
394 std::ostringstream errMsg;
396 throw std::runtime_error(errMsg.str());
400 xAODSpacepointContainerFromInDetClusters(
402 if (xAODSpacepointContainerFromInDetClusters
403 .record(std::make_unique<xAOD::SpacePointContainer>(),
404 std::make_unique<xAOD::SpacePointAuxContainer>())
406 throw std::runtime_error(
407 "creation of InDet spacepoint containers failed");
412 const InDet::PixelClusterContainer* inputPixelClusterContainer{};
416 inputPixelClusterContainer ==
nullptr) {
418 <<
" is not available.");
419 std::ostringstream errMsg;
421 <<
" is not available.";
422 throw std::runtime_error(errMsg.str());
425 for (
const auto*
const clusterCollection : *inputPixelClusterContainer) {
426 if (!clusterCollection)
428 for (
const auto*
const theCluster : *clusterCollection) {
431 theCluster->detectorElement();
434 auto pixelCl = xAODPixelContainerFromInDetClusters->push_back(
435 std::make_unique<xAOD::PixelCluster>());
438 ATH_MSG_FATAL(
"Could not convert InDet pixel cluster to xAOD");
439 throw std::runtime_error(
440 "conversion of InDet pixel cluster to xAOD failed");
443 auto xaod_sp = xAODSpacepointContainerFromInDetClusters->push_back(
444 std::make_unique<xAOD::SpacePoint>());
451 xaod_sp->setSpacePoint(Pixel_ModuleHash, globalPosition,
452 globalVariance(0, 0), globalVariance(1, 0),
455 size_t index = xAODPixelContainerFromInDetClusters->size() - 1;
463 const InDet::SCT_ClusterContainer* inputStripClusterContainer{};
467 inputStripClusterContainer ==
nullptr) {
469 <<
" is not available.");
470 std::ostringstream errMsg;
472 <<
" is not available.";
473 throw std::runtime_error(errMsg.str());
476 for (
const auto*
const clusterCollection : *inputStripClusterContainer) {
477 if (!clusterCollection)
479 for (
const auto*
const theCluster : *clusterCollection) {
482 theCluster->detectorElement();
486 xAODStripContainerFromInDetClusters->push_back(stripCl);
489 ATH_MSG_FATAL(
"Could not convert InDet strip cluster to xAOD");
490 throw std::runtime_error(
491 "conversion of InDet strip cluster to xAOD failed");
493 size_t index = xAODStripContainerFromInDetClusters->size() - 1;
502 return traccc_to_xaod_cluster_map;
517 localCovariance.setZero();
518 localCovariance(0, 0) = localCov(0, 0);
519 localCovariance(1, 1) = localCov(1, 1);
522 Eigen::Matrix<float, 3, 1> globalPosition(globalPos.x(), globalPos.y(),
525 const auto& RDOs = indetCluster.
rdoList();
526 const auto& ToTs = indetCluster.
totList();
527 const auto& charges = indetCluster.
chargeList();
530 xaodCluster.
setMeasurement<2>(idHash, localPosition, localCovariance);
540 return StatusCode::SUCCESS;
554 localCovariance.setZero();
557 localPosition(0, 0) = localPos.x();
558 localCovariance(0, 0) =
565 if (design ==
nullptr) {
566 return StatusCode::FAILURE;
570 localPosition(0, 0) = localInPolar.
xPhi();
571 localCovariance(0, 0) =
576 Eigen::Matrix<float, 3, 1> globalPosition(globalPos.x(), globalPos.y(),
579 const auto& RDOs = indetCluster.
rdoList();
582 xaodCluster.
setMeasurement<1>(idHash, localPosition, localCovariance);
588 return StatusCode::SUCCESS;
594 const bool isPixel =
m_pixelID->is_pixel(atlasID);
601 measType,
static_cast<unsigned int>(hash));
610 ATH_MSG_DEBUG(
"No Acts surface corresponding to this ATLAS id: " << atlasID);
618 Acts::BoundMatrix cov = Acts::BoundMatrix::Zero();
619 for (
unsigned int i = 0; i < 5; i++) {
620 for (
unsigned int j = 0; j < 5; j++) {
621 size_t index = i * 5 + j;
628 constexpr double kUnconstrainedTimeVariance = 1e6;
629 cov(Acts::eBoundTime, Acts::eBoundTime) = kUnconstrainedTimeVariance;
634std::optional<Acts::BoundTrackParameters>
638 using namespace Acts::UnitLiterals;
639 std::shared_ptr<const Acts::Surface> actsSurface;
640 Acts::BoundVector params;
649 actsSurface = surface->getSharedPtr();
658 Acts::ParticleHypothesis hypothesis{Acts::ParticleHypothesis::pion()};
660 return Acts::BoundTrackParameters(actsSurface, params, cov, hypothesis);
664 EventContext
const& eventContext,
665 std::vector<TracccTrackParameters>& trackParams,
666 std::vector<LocalMeasurementInfoInTracks>& measInfo,
667 const std::unordered_map<int64_t, int>& cluster_map,
668 unsigned& nb_output_tracks)
const
670 nb_output_tracks = 0;
672 Acts::VectorTrackContainer track_backend;
673 Acts::VectorMultiTrajectory track_state_backend;
675 std::move(track_backend), std::move(track_state_backend));
680 Acts::GeometryContext tgContext =
m_ctxProvider.getGeometryContext(eventContext);
690 float chi2_min = std::numeric_limits<float>::max();
691 float chi2_max = std::numeric_limits<float>::min();
693 float ndf_min = std::numeric_limits<float>::max();
694 float ndf_max = std::numeric_limits<float>::min();
696 unsigned meas_min = std::numeric_limits<unsigned>::max();
697 unsigned meas_max = std::numeric_limits<unsigned>::min();
699 int excluded_ndf = 0;
700 int excluded_no_sp = 0;
701 int excluded_weird_state = 0;
703 for (std::size_t i = 0; i < trackParams.size(); i++) {
704 auto fit_res = trackParams.at(i);
705 auto& states = measInfo.at(i);
706 if (states.local_x.size() < 1) {
714 static_cast<float>(std::numeric_limits<unsigned int>::max()) ||
716 static_cast<float>(std::numeric_limits<unsigned int>::min())) {
722 auto actsTrack = track_container.makeTrack();
723 enum TrackValidity { VALID, INVALID_STATE, INVALID_GLOBAL };
724 TrackValidity track_validity = VALID;
727 actsTrack.chi2() = fit_res.chi2;
728 actsTrack.nDoF() = fit_res.ndf;
730 Acts::TrackStatePropMask
const mask =
731 Acts::TrackStatePropMask::Smoothed;
733 bool first_state =
true;
734 for (
size_t j = 0; j < states.local_x.size(); ++j) {
735 auto actsTSOS = actsTrack.appendTrackState(mask);
739 singleState.
local_x = {states.local_x[j]};
740 singleState.
local_y = {states.local_y[j]};
741 singleState.
phi = {states.phi[j]};
742 singleState.
theta = {states.theta[j]};
743 singleState.
qop = {states.qop[j]};
744 singleState.
time = {states.time[j]};
746 for (
size_t k = 0; k < 25; ++k) {
747 singleState.
covariances.push_back(states.covariances[j * 25 + k]);
749 singleState.
athena_id = {states.athena_id[j]};
751 std::optional<Acts::BoundTrackParameters> params_opt =
753 if (!params_opt.has_value()) {
756 "convertToActsParameters failed: track state is weird");
757 track_validity = INVALID_STATE;
762 Acts::BoundTrackParameters
const& parameters = params_opt.value();
763 ATH_MSG_DEBUG(
"Track parameters: " << parameters.parameters());
770 pixelClustersHandle.
cptr();
776 stripClustersHandle.
cptr();
780 if (
auto it = cluster_map.find(states.athena_id[j]);
781 it != cluster_map.end()) {
782 cl_index = it->second;
784 return StatusCode::FAILURE;
788 Identifier id(
static_cast<Identifier::value_type
>(states.athena_id[j]));
793 umeas = inputPixelClusters->
at(cl_index);
795 umeas = inputStripClusters->
at(cl_index);
798 actsTSOS.setUncalibratedSourceLink(
813 std::optional<Acts::BoundTrackParameters> params_gl =
816 if (!params_gl.has_value()) {
819 "convertToActsParameters failed: track state is weird");
820 track_validity = INVALID_GLOBAL;
824 Acts::BoundTrackParameters
const& parameters_gl =
828 actsTrack.parameters() = parameters_gl.parameters();
829 actsTrack.covariance() = *parameters_gl.covariance();
830 actsTrack.setReferenceSurface(
831 parameters_gl.referenceSurface().getSharedPtr());
836 actsTSOS.setReferenceSurface(
837 parameters.referenceSurface().getSharedPtr());
838 actsTSOS.smoothed() = parameters.parameters();
839 actsTSOS.smoothedCovariance() = *parameters.covariance();
841 actsTSOS.typeFlags().setIsMeasurement();
842 if (!(actsTSOS.hasSmoothed() &&
843 actsTSOS.hasReferenceSurface())) {
845 "TrackState does not have smoothed state ["
846 << actsTSOS.hasSmoothed()
847 <<
"] or reference surface ["
848 << actsTSOS.hasReferenceSurface() <<
"].");
851 "TrackState has smoothed state and reference "
857 if (track_validity == INVALID_STATE) {
858 ATH_MSG_INFO(
"excluding track " << i <<
" for weird state");
859 excluded_weird_state += 1;
860 track_container.removeTrack(actsTrack.index());
861 }
else if (track_validity == INVALID_GLOBAL) {
863 <<
" for weird global params");
864 track_container.removeTrack(actsTrack.index());
869 chi2_min = std::min(fit_res.chi2, chi2_min);
870 chi2_max = std::max(fit_res.chi2, chi2_max);
871 ndf_min = std::min(fit_res.ndf, ndf_min);
872 ndf_max = std::max(fit_res.ndf, ndf_max);
873 meas_min = std::min<unsigned>(states.local_x.size(), meas_min);
874 meas_max = std::max<unsigned>(states.local_x.size(), meas_max);
877 nb_output_tracks = track_container.size();
878 ATH_MSG_DEBUG(
"Wrote out "<< nb_output_tracks <<
" tracks from " << trackParams.size() <<
" candidates"
880 <<
" no sp: " << excluded_no_sp
881 <<
", weird sp: " << excluded_weird_state
882 <<
", ndf: " << excluded_ndf
885 Acts::ConstVectorTrackContainer ctrack_backend(
886 std::move(track_container.container()));
887 Acts::ConstVectorMultiTrajectory ctrack_state_backend(
888 std::move(track_container.trackStateContainer()));
889 std::unique_ptr<ActsTrk::TrackContainer> ctrack_container =
890 std::make_unique<ActsTrk::TrackContainer>(
891 std::move(ctrack_backend), std::move(ctrack_state_backend));
895 return StatusCode::SUCCESS;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
static constexpr double one_over_twelve
InDetRawDataContainer< InDetRawDataCollection< PixelRDORawData > > PixelRDO_Container
InDetRawDataContainer< InDetRawDataCollection< SCT_RDORawData > > SCT_RDO_Container
static Acts::SourceLink pack(const Ptr_t &measurement)
Pack the measurement type pointer to an Acts::SourceLink including the intermediate conversion into a...
const ServiceHandle< StoreGateSvc > & detStore() const
const T * at(size_type n) const
Access an element, as an rvalue.
This is a "hash" representation of an Identifier.
value_type get_compact() const
Get the compact id.
Class used to describe the design of a module (diode segmentation and readout scheme).
int columns() const
Number of cell columns per module:
int rows() const
Number of cell rows per module:
Identifier for the strip or pixel cell.
Class to hold the SiDetectorElement objects to be put in the detector store.
Class to hold geometrical description of a silicon detector element.
virtual SiCellId cellIdFromIdentifier(const Identifier &identifier) const override final
SiCellId from Identifier.
virtual const SiDetectorDesign & design() const override final
access to the local description (inline):
double phiPitch() const
Pitch (inline methods).
Class to represent a position in the natural frame of a silicon sensor, for Pixel and SCT For Pixel: ...
double xPhi() const
position along phi direction:
SiCellId cellIdOfPosition(const Amg::Vector2D &localPos) const
As in previous method but returns SiCellId.
virtual IdentifierHash identifyHash() const override final
identifier hash (inline)
virtual Identifier identify() const override final
identifier of this detector element (inline)
double phiPitchPhi(const SiLocalPosition &localPosition) const
SiLocalPosition localPositionOfCellPC(const SiCellId &cellId) const
This is for debugging only.
const std::vector< int > & totList() const
const std::vector< float > & chargeList() const
const Amg::Vector3D & globalPosition() const
return global position reference
const InDet::SiWidth & width() const
return width class reference
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type cptr()
Dereference the pointer.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
SG::ReadHandleKey< InDet::SCT_ClusterContainer > m_inputStripClusterContainerKey
const Acts::Surface * actsSurfaceFromAtlasId(const Identifier &atlasID) const
Acts::BoundMatrix buildBoundCovariance(const LocalMeasurementInfoInTracks &state) const
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
const InDetDD::PixelDetectorManager * m_pixelManager
std::shared_ptr< const Acts::TrackingGeometry > m_trackingGeometry
StatusCode convertInDetToXaodCluster(const InDet::PixelCluster &indetCluster, const InDetDD::SiDetectorElement &element, xAOD::PixelCluster &xaodCluster) const
StringProperty m_featureNames
ActsTrk::MutableTrackContainerHandlesHelper m_tracksBackendHandlesHelper
std::unordered_map< int64_t, int > readAndConvertClusters(const EventContext &eventContext) const
StatusCode read_cells(std::vector< TracccCell > &cells, const EventContext &evtcontext) const
StatusCode convertTracks(EventContext const &eventContext, std::vector< TracccTrackParameters > &trackParams, std::vector< LocalMeasurementInfoInTracks > &measInfo, const std::unordered_map< int64_t, int > &cluster_map, unsigned &nb_output_tracks) const
const InDetDD::SCT_DetectorManager * m_stripManager
SG::WriteHandleKey< xAOD::SpacePointContainer > m_xAODSpacepointFromInDetClusterKey
SG::ReadHandleKey< PixelRDO_Container > m_pixelRDOKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_ActsTracccTrackContainerKey
SG::ReadHandleKey< SCT_RDO_Container > m_stripRDOKey
SG::ReadHandleKey< InDet::PixelClusterContainer > m_inputPixelClusterContainerKey
ActsTrk::ContextUtility m_ctxProvider
Utility to fetch the geometry, magnetic field and calibration context in the event.
SG::ReadHandleKey< ActsTrk::MeasurementToTruthParticleAssociation > m_stripClustersToTruth
const ActsTrk::DetectorElementToActsGeometryIdMap * m_detEleToGeoIdMap
virtual StatusCode execute(const EventContext &ctx) const override
const PixelID * m_pixelID
SG::WriteHandleKey< xAOD::PixelClusterContainer > m_xAODPixelClusterFromInDetClusterKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_stripDetEleCollKey
std::optional< Acts::BoundTrackParameters > convertToActsParameters(const LocalMeasurementInfoInTracks &state) const
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
std::vector< int > map_index(int index, int low_bound, int high_bound, int threshold, int shift) const
Gaudi::Property< bool > m_doTruth
Truth association for plotting and debugging.
virtual StatusCode initialize() override
std::vector< std::string > m_featureNamesVec
std::vector< std::pair< int, int > > correct_indices(int phiIndex, int etaIndex, int rows, int columns) const
SG::ReadHandleKey< ActsTrk::MeasurementToTruthParticleAssociation > m_pixelClustersToTruth
SG::WriteHandleKey< xAOD::StripClusterContainer > m_xAODStripClusterFromInDetClusterKey
ToolHandle< ITracccTritonTool > m_tracccTrackingTool
const Amg::Vector2D & localPosition() const
return the local position reference
Identifier identify() const
return the identifier
const Amg::MatrixX & localCovariance() const
return const ref to the error matrix
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
void setChannelsInPhiEta(int channelsInPhi, int channelsInEta)
Sets the dimensions of the cluster in numbers of channels in phi (x) and eta (y) directions.
ConstVectorMap< 3 > globalPosition() const
Returns the global position of the pixel cluster.
void setChargelist(const std::vector< float > &charges)
Sets the list of charges of the channels building the cluster.
void setToTlist(const std::vector< int > &tots)
Sets the list of ToT of the channels building the cluster.
void setLVL1A(int lvl1a)
Sets the LVL1 accept.
void setRDOlist(const std::vector< Identifier > &rdolist)
Sets the list of identifiers of the channels building the cluster.
void setWidthInEta(float widthInEta)
Sets the width of the cluster in eta (y) direction.
ConstVectorMap< 3 > globalPosition() const
Returns the global position of the strip cluster.
void setRDOlist(const std::vector< Identifier > &rdolist)
Sets the list of identifiers of the channels building the cluster.
void setChannelsInPhi(int channelsInPhi)
Sets the dimensions of the cluster in numbers of channels in phi (x).
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.
std::string prefixFromTrackContainerName(const std::string &tracks)
Parse TrackContainer name to get the prefix for backends The name has to contain XYZTracks,...
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
DetectorElementKey makeDetectorElementKey(xAOD::UncalibMeasType meas_type, unsigned int identifier_hash)
std::vector< std::string > tokenize(std::string_view the_str, std::string_view delimiters)
Splits the string into smaller substrings.
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
PixelClusterContainer_v1 PixelClusterContainer
Define the version of the pixel cluster container.
StripCluster_v1 StripCluster
Define the version of the strip cluster class.
Eigen::Matrix< float, N, N > MeasMatrix
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
StripClusterContainer_v1 StripClusterContainer
Define the version of the strip cluster container.
MeasVector< N > toStorage(const AmgVector(N)&amgVec)
Converts the double precision of the AmgVector into the floating point storage precision of the MeasV...
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.
static const Acts::GeometryIdentifier & getValue(const value_type &element)
std::vector< int64_t > athena_id
std::vector< float > covariances
std::vector< float > time
std::vector< float > local_x
std::vector< float > theta
std::vector< float > local_y
bool operator()(const TracccCell &lhs, const TracccCell &rhs) const