17 return StatusCode::SUCCESS;
25 std::string hittree_str =
"FPGATrackSimHit_reg" +
m_region.value();
26 m_hit_tree =
new TTree(hittree_str.c_str(), hittree_str.c_str());
43 std::string GNNhittree_str =
"FPGATrackSimGNNHit_reg" +
m_region.value();
44 m_GNNHit_tree =
new TTree(GNNhittree_str.c_str(), GNNhittree_str.c_str());
67 std::string GNNedgetree_str =
"FPGATrackSimGNNEdge_reg" +
m_region.value();
68 m_GNNEdge_tree =
new TTree(GNNedgetree_str.c_str(), GNNedgetree_str.c_str());
79 std::string roadtree_str =
"FPGATrackSimRoad_reg" +
m_region.value();
80 m_road_tree =
new TTree(roadtree_str.c_str(), roadtree_str.c_str());
95 return StatusCode::SUCCESS;
99 const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> & gnn_hits,
100 const std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges,
101 const std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads)
105 for (
const auto& hit :
hits) {
108 m_hit_x.push_back(hit->getX());
109 m_hit_y.push_back(hit->getY());
110 m_hit_z.push_back(hit->getZ());
111 m_hit_r.push_back(hit->getR());
115 m_hit_hitType.push_back(
static_cast<int>(hit->getHitType()));
126 for (
const auto& hit : gnn_hits) {
152 for (
const auto& edge : edges) {
165 for (
const auto& road : roads) {
171 std::vector<std::vector<HepMcParticleLink::barcode_type>> road_hit_uniqueID(road->getNLayers());
172 std::vector<std::vector<HepMcParticleLink::barcode_type>> road_hit_barcode(road->getNLayers());
173 std::vector<std::vector<float>> road_hit_z(road->getNLayers());
174 std::vector<std::vector<float>> road_hit_r(road->getNLayers());
175 for (
size_t l = 0;
l < road->getNLayers(); ++
l) {
176 for (
const auto &layerH : road->getHits(
l)) {
177 road_hit_uniqueID[
l].push_back((*layerH).getUniqueID());
178 road_hit_barcode[
l].push_back((*layerH).getBarcode());
179 road_hit_z[
l].push_back((*layerH).getOriginalHit().getZ());
180 road_hit_r[
l].push_back((*layerH).getOriginalHit().getR());
194 return StatusCode::SUCCESS;