55 ATH_CHECK(inputTracccPixelSpacepoints.isValid());
57 << inputTracccPixelSpacepoints.key() <<
"'");
60 ATH_CHECK(inputTracccMeasurements.isValid());
62 << inputTracccMeasurements.key() <<
"'");
68 traccc::edm::seed_collection::buffer pixel_seeds_gpu_buffer = (*seeding_alg)(*inputTracccPixelSpacepoints, *inputTracccMeasurements);
70 ATH_MSG_DEBUG(
"Reconstructed " << seeding_alg.copy().get_size(pixel_seeds_gpu_buffer) <<
" pixel seeds.");
75 std::make_unique<traccc::edm::seed_collection::buffer>(
76 std::move(pixel_seeds_gpu_buffer))));
79 return StatusCode::SUCCESS;
89 const std::vector<Acts::Experimental::GbtsLayerDescription>& layers =
95 std::vector<Acts::Experimental::GbtsLayerConnection> connections;
96 float etaBinWidth = 0.0f;
101 auto gbtsGeo = std::make_shared<Acts::Experimental::GbtsGeometry>(
102 layers, connections, etaBinWidth, Acts::Experimental::GbtsZ0Range{},
logger());
104 traccc::device::gbts_layerInfo layerInfo;
106 layerInfo.reserve(
static_cast<unsigned int>(gbtsGeo->numLayers()));
109 Acts::Experimental::GbtsLayerBinning binning = gbtsGeo->layerBinning(
index);
110 Acts::Experimental::GbtsLayerDescription desc =
111 gbtsGeo->layerDescription(
index);
112 int vol_id = (desc.id - (desc.id % 1000)) / 1000;
113 bool is_inc_barrel = (vol_id == 97) | (vol_id == 95) | (vol_id == 93) |
114 (vol_id == 77) | (vol_id == 75) | (vol_id == 73);
116 if (desc.technology == Acts::Experimental::GbtsLayerTechnology::Strip) {
118 }
else if (is_inc_barrel) {
120 }
else if (desc.type == Acts::Experimental::GbtsLayerType::Endcap) {
123 layerInfo.addLayer(
type, binning.firstBin, binning.numBins, binning.minEta,
124 binning.etaBinWidth);
127 std::vector<std::pair<std::uint64_t, short>> identifierBinning;
132 for (
const auto& [detrayId, compactId] :
m_idMapping->detrayToAthenaMap()) {
136 int rc =
m_pixelID->get_hash(athenaId, idHash, &pixel_context);
140 identifierBinning.push_back(std::make_pair(
144 ATH_MSG_INFO(identifierBinning.size() <<
" identifiers with a layer");
146 std::vector<std::pair<unsigned int, std::vector<unsigned int>>> binGroups;
147 for (Acts::Experimental::GbtsBinGroup groups : gbtsGeo->binGroups()) {
148 binGroups.emplace_back(groups.bin, groups.links);
151 if (!
m_gbts_config.setLinkingScheme(binGroups, std::move(layerInfo), identifierBinning,
153 return StatusCode::FAILURE;
155 return StatusCode::SUCCESS;
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...