From 06605a3de278eefb6deade344614d9e70d997dc6 Mon Sep 17 00:00:00 2001 From: Valerio Pia <vpia@bo.infn.it> Date: Thu, 28 Mar 2024 17:23:18 +0100 Subject: [PATCH 1/3] Branch to be used with KF only --- include/EDEPHit.h | 2 +- include/{utils.h => utils_edepreader.h} | 4 ++-- src/EDEPTrajectory.cpp | 13 ++++++++----- 3 files changed, 11 insertions(+), 8 deletions(-) rename include/{utils.h => utils_edepreader.h} (87%) diff --git a/include/EDEPHit.h b/include/EDEPHit.h index 36b76c1..3347694 100644 --- a/include/EDEPHit.h +++ b/include/EDEPHit.h @@ -3,7 +3,7 @@ #include <iostream> -#include "utils.h" +#include "utils_edepreader.h" #include "TG4Event.h" diff --git a/include/utils.h b/include/utils_edepreader.h similarity index 87% rename from include/utils.h rename to include/utils_edepreader.h index f338798..a5e9d08 100644 --- a/include/utils.h +++ b/include/utils_edepreader.h @@ -1,5 +1,5 @@ -#ifndef UTILS_H -#define UTILS_H +#ifndef UTILS_EDEPREADER_H +#define UTILS_EDEPREADER_H #include <iostream> #include <initializer_list> diff --git a/src/EDEPTrajectory.cpp b/src/EDEPTrajectory.cpp index fdc4782..5d76ab8 100644 --- a/src/EDEPTrajectory.cpp +++ b/src/EDEPTrajectory.cpp @@ -10,7 +10,11 @@ TGeoNode* GetNode(const TG4TrajectoryPoint& tpoint, TGeoManager* geo) { node = geo->FindNode(position.X(), position.Y(), position.Z()); geo->SetCurrentDirection(mom.X(), mom.Y(), mom.Z()); - geo->FindNextBoundary(1); + + if (abs(mom.X()) == 0 || abs(mom.Y()) == 0 || abs(mom.Z()) == 0) { + return node; + } + geo->FindNextBoundary(1000); if (geo->GetStep() < 1E-5) { geo->Step(); @@ -26,10 +30,8 @@ EDEPTrajectory::EDEPTrajectory(const TG4Trajectory& trajectory, const TG4HitSegm id_(trajectory.GetTrackId()), parent_id_(trajectory.GetParentId()), pdg_code_(trajectory.GetPDGCode()) { - - for (auto it = trajectory.Points.begin(); it != trajectory.Points.end(); ++it) { - trajectory_points_.push_back(*it); + for (auto it = trajectory.Points.begin(); it != trajectory.Points.end(); ++it) { auto next_it = std::next(it); if (next_it == trajectory.Points.end()) { @@ -46,7 +48,8 @@ EDEPTrajectory::EDEPTrajectory(const TG4Trajectory& trajectory, const TG4HitSegm bool in_ecal = Match(current_volume, ecal_names); bool in_mag = Match(current_volume, magnet_names); bool in_world = Match(current_volume, world_names); - + if (!in_stt) continue; + trajectory_points_.push_back(*it); bool next_grain = Match(next_volume, grain_names); bool next_stt = Match(next_volume, stt_names); bool next_ecal = Match(next_volume, ecal_names); -- GitLab From 40adcb7324e03630d047a3a561c3a3364b6ec0f2 Mon Sep 17 00:00:00 2001 From: Valerio Pia <valerio.pia@bo.infn.it> Date: Thu, 10 Oct 2024 14:51:15 +0200 Subject: [PATCH 2/3] renamed TrajectoryHits to TrajectoryPoints. They are now a map with components as keys --- include/EDEPHit.h | 2 +- include/EDEPTrajectory.h | 4 ++-- include/EDEPTrajectoryPoint.h | 8 ++++---- include/{utils_edepreader.h => EDEPUtils.h} | 0 src/EDEPTrajectory.cpp | 11 +++++++++-- 5 files changed, 16 insertions(+), 9 deletions(-) rename include/{utils_edepreader.h => EDEPUtils.h} (100%) diff --git a/include/EDEPHit.h b/include/EDEPHit.h index 3347694..48837d8 100644 --- a/include/EDEPHit.h +++ b/include/EDEPHit.h @@ -3,7 +3,7 @@ #include <iostream> -#include "utils_edepreader.h" +#include "EDEPUtils.h" #include "TG4Event.h" diff --git a/include/EDEPTrajectory.h b/include/EDEPTrajectory.h index 62f8291..edbb809 100644 --- a/include/EDEPTrajectory.h +++ b/include/EDEPTrajectory.h @@ -49,7 +49,7 @@ class EDEPTrajectory { // EDEPHitsMap& GetHitMap() {return hit_map_;}; const EDEPHitsMap& GetHitMap() const {return hit_map_;}; - const EDEPTrajectoryHits& GetTrajectoryPoints() const {return trajectory_points_;}; + const EDEPTrajectoryPoints& GetTrajectoryPoints() const {return trajectory_points_;}; // Setters void SetId(int id) {id_ = id;}; @@ -98,7 +98,7 @@ class EDEPTrajectory { private: TLorentzVector p0_; EDEPHitsMap hit_map_; - EDEPTrajectoryHits trajectory_points_; + EDEPTrajectoryPoints trajectory_points_; std::vector<EDEPTrajectory> children_trajectories_; std::map<component, bool> exiting_map_; std::map<component, bool> entering_map_; diff --git a/include/EDEPTrajectoryPoint.h b/include/EDEPTrajectoryPoint.h index edcf3e7..77dd6e2 100644 --- a/include/EDEPTrajectoryPoint.h +++ b/include/EDEPTrajectoryPoint.h @@ -2,12 +2,12 @@ #include "TG4Event.h" -class EDEPTrajectoryHit { +class EDEPTrajectoryPoint { public: - EDEPTrajectoryHit(const TG4TrajectoryPoint& trajectory_hit) : position_(trajectory_hit.GetPosition()), momentum_(trajectory_hit.GetMomentum()), + EDEPTrajectoryPoint(const TG4TrajectoryPoint& trajectory_hit) : position_(trajectory_hit.GetPosition()), momentum_(trajectory_hit.GetMomentum()), process_(trajectory_hit.GetProcess()), sub_process_(trajectory_hit.GetSubprocess()) {}; - ~EDEPTrajectoryHit() {}; + ~EDEPTrajectoryPoint() {}; const TLorentzVector& GetPosition() const {return position_;}; const TVector3& GetMomentum() const {return momentum_;}; @@ -22,4 +22,4 @@ class EDEPTrajectoryHit { }; -using EDEPTrajectoryHits = std::vector<EDEPTrajectoryHit>; \ No newline at end of file +using EDEPTrajectoryPoints = std::map<component, std::vector<EDEPTrajectoryPoint>>; \ No newline at end of file diff --git a/include/utils_edepreader.h b/include/EDEPUtils.h similarity index 100% rename from include/utils_edepreader.h rename to include/EDEPUtils.h diff --git a/src/EDEPTrajectory.cpp b/src/EDEPTrajectory.cpp index 5d76ab8..51e8eb9 100644 --- a/src/EDEPTrajectory.cpp +++ b/src/EDEPTrajectory.cpp @@ -43,13 +43,20 @@ EDEPTrajectory::EDEPTrajectory(const TG4Trajectory& trajectory, const TG4HitSegm auto next_node = GetNode(*next_it, geo); auto next_volume = next_node->GetName(); + component comp; bool in_grain = Match(current_volume, grain_names); + if(in_grain) comp = component::GRAIN; bool in_stt = Match(current_volume, stt_names); + if(in_stt) comp = component::STRAW; bool in_ecal = Match(current_volume, ecal_names); + if(in_ecal) comp = component::ECAL; bool in_mag = Match(current_volume, magnet_names); + if(in_mag) comp = component::MAGNET; bool in_world = Match(current_volume, world_names); - if (!in_stt) continue; - trajectory_points_.push_back(*it); + if(in_world) comp = component::WORLD; + + trajectory_points_[comp].push_back(*it); + bool next_grain = Match(next_volume, grain_names); bool next_stt = Match(next_volume, stt_names); bool next_ecal = Match(next_volume, ecal_names); -- GitLab From 2c2d3c7fe105ef2c7e10ddaa01711183ce0d6306 Mon Sep 17 00:00:00 2001 From: Valerio Pia <valerio.pia@bo.infn.it> Date: Thu, 10 Oct 2024 14:56:18 +0200 Subject: [PATCH 3/3] Commented KF related part --- src/EDEPTrajectory.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/EDEPTrajectory.cpp b/src/EDEPTrajectory.cpp index 51e8eb9..824d5ea 100644 --- a/src/EDEPTrajectory.cpp +++ b/src/EDEPTrajectory.cpp @@ -11,10 +11,13 @@ TGeoNode* GetNode(const TG4TrajectoryPoint& tpoint, TGeoManager* geo) { geo->SetCurrentDirection(mom.X(), mom.Y(), mom.Z()); - if (abs(mom.X()) == 0 || abs(mom.Y()) == 0 || abs(mom.Z()) == 0) { - return node; - } - geo->FindNextBoundary(1000); + // Notice: this was added for the KF. Check if really needed. + // Commented at the moment. + // if (abs(mom.X()) == 0 || abs(mom.Y()) == 0 || abs(mom.Z()) == 0) { + // return node; + // } + // geo->FindNextBoundary(1000); + geo->FindNextBoundary(1); if (geo->GetStep() < 1E-5) { geo->Step(); -- GitLab