From abbbcf0114d9c33735f73473675adc648a90e39f Mon Sep 17 00:00:00 2001
From: Wouter Deconinck <wdconinc@gmail.com>
Date: Tue, 1 Mar 2022 21:42:43 +0000
Subject: [PATCH] eic:: to eicd::

---
 benchmarks/single/analysis/analyze.cxx |  2 +-
 benchmarks/tcs/analysis/tcs_tests.cxx  | 18 +++++++++---------
 benchmarks/u_omega/analysis/demo.cxx   |  6 +++---
 options/reconstruction.py              |  4 +++-
 4 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/benchmarks/single/analysis/analyze.cxx b/benchmarks/single/analysis/analyze.cxx
index 79e82383..04107a9f 100644
--- a/benchmarks/single/analysis/analyze.cxx
+++ b/benchmarks/single/analysis/analyze.cxx
@@ -17,7 +17,7 @@ int analyze(std::string file)
     return -1;
   }
 
-  auto n_tracks = [](const std::vector<eic::ReconstructedParticleData> &p) { return (int) p.size(); };
+  auto n_tracks = [](const std::vector<eicd::ReconstructedParticleData> &p) { return (int) p.size(); };
 
   auto d = df
   .Define("n_tracks_gen", n_tracks, {"GeneratedParticles"})
diff --git a/benchmarks/tcs/analysis/tcs_tests.cxx b/benchmarks/tcs/analysis/tcs_tests.cxx
index 72155c43..081e6b1c 100644
--- a/benchmarks/tcs/analysis/tcs_tests.cxx
+++ b/benchmarks/tcs/analysis/tcs_tests.cxx
@@ -30,13 +30,13 @@ void tcs_tests(const char* fname = "rec_tcs.root"){
   ROOT::RDataFrame df("events", fname);
 
   auto ff_theta_mrad = [] (
-      const std::vector<eic::ReconstructedParticleData>& v,
-      const int16_t status
+      const std::vector<eicd::ReconstructedParticleData>& v,
+      const int16_t type
   ) -> std::vector<float> {
     std::vector<float> theta;
     for (const auto& p: v)
-      if (p.status == status) {
-        const auto& mom = p.p;
+      if (p.type == type) {
+        const auto& mom = p.momentum;
         theta.push_back(1000. * std::atan2(std::hypot(mom.x, mom.y), mom.z));
       }
     return theta;
@@ -45,15 +45,15 @@ void tcs_tests(const char* fname = "rec_tcs.root"){
   auto df0 = df.Define("n_parts", "ReconstructedParticles.size()")
                .Define("isQ2gt1", "InclusiveKinematicsTruth.Q2 > 1.0")
                .Define("n_Q2gt1", "isQ2gt1.size()")
-               .Define("ff_theta_mrad_B0", [&](const std::vector<eic::ReconstructedParticleData>& v){return ff_theta_mrad(v,1);}, {"ReconstructedFFParticles"})
-               .Define("ff_theta_mrad_RP", [&](const std::vector<eic::ReconstructedParticleData>& v){return ff_theta_mrad(v,2);}, {"ReconstructedFFParticles"})
-               .Define("ff_theta_mrad_OMD",[&](const std::vector<eic::ReconstructedParticleData>& v){return ff_theta_mrad(v,3);}, {"ReconstructedFFParticles"})
-               .Define("ff_theta_mrad_ZDC",[&](const std::vector<eic::ReconstructedParticleData>& v){return ff_theta_mrad(v,4);}, {"ReconstructedFFParticles"})
+               .Define("ff_theta_mrad_B0", [&](const std::vector<eicd::ReconstructedParticleData>& v){return ff_theta_mrad(v,1);}, {"ReconstructedFFParticles"})
+               .Define("ff_theta_mrad_RP", [&](const std::vector<eicd::ReconstructedParticleData>& v){return ff_theta_mrad(v,2);}, {"ReconstructedFFParticles"})
+               .Define("ff_theta_mrad_OMD",[&](const std::vector<eicd::ReconstructedParticleData>& v){return ff_theta_mrad(v,3);}, {"ReconstructedFFParticles"})
+               .Define("ff_theta_mrad_ZDC",[&](const std::vector<eicd::ReconstructedParticleData>& v){return ff_theta_mrad(v,4);}, {"ReconstructedFFParticles"})
                ;
 
   auto h_n_parts = df0.Histo1D({"h_n_parts", "; h_n_parts n", 10, 0, 10}, "n_parts");
   auto h_Q2      = df0.Histo1D({"h_Q2", "; Q^{2} [GeV^{2}/c^{2}]", 100, 0, 30}, "InclusiveKinematicsTruth.Q2");
-  auto h_FF      = df0.Histo1D({"h_FF", "; FF status", 10, -0.5, 9.5}, "ReconstructedFFParticles.status");
+  auto h_FF      = df0.Histo1D({"h_FF", "; FF type", 10, -0.5, 9.5}, "ReconstructedFFParticles.type");
   auto h_FF_B0   = df0.Histo1D({"h_FF_B0",  "; FF B0 Theta [mrad]",  100, 0.0, 25.0}, "ff_theta_mrad_B0");
   auto h_FF_RP   = df0.Histo1D({"h_FF_RP",  "; FF RP Theta [mrad]",  100, 0.0, 25.0}, "ff_theta_mrad_RP");
   auto h_FF_OMD  = df0.Histo1D({"h_FF_OMD", "; FF OMD Theta [mrad]", 100, 0.0, 25.0}, "ff_theta_mrad_OMD");
diff --git a/benchmarks/u_omega/analysis/demo.cxx b/benchmarks/u_omega/analysis/demo.cxx
index ad63c895..7693c03a 100644
--- a/benchmarks/u_omega/analysis/demo.cxx
+++ b/benchmarks/u_omega/analysis/demo.cxx
@@ -27,7 +27,7 @@ R__LOAD_LIBRARY(libDD4pod.so)
 using ROOT::RDataFrame;
 using namespace ROOT::VecOps;
 
-auto p_track = [](std::vector<eic::TrackParametersData> const& in) {
+auto p_track = [](std::vector<eicd::TrackParametersData> const& in) {
   std::vector<double> result;
   for (size_t i = 0; i < in.size(); ++i) {
     result.push_back(std::abs(1.0/(in[i].qOverP)));
@@ -67,11 +67,11 @@ auto fourvec = [](ROOT::VecOps::RVec<dd4pod::Geant4ParticleData> const& in) {
   }
   return result;
 };
-auto recfourvec = [](ROOT::VecOps::RVec<eic::ReconstructedParticleData> const& in) {
+auto recfourvec = [](ROOT::VecOps::RVec<eicd::ReconstructedParticleData> const& in) {
   std::vector<ROOT::Math::PxPyPzMVector> result;
   ROOT::Math::PxPyPzMVector lv;
   for (size_t i = 0; i < in.size(); ++i) {
-    lv.SetCoordinates(in[i].p.x, in[i].p.y, in[i].p.z, in[i].mass);
+    lv.SetCoordinates(in[i].momentum.x, in[i].momentum.y, in[i].momentum.z, in[i].mass);
     result.push_back(lv);
   }
   return result;
diff --git a/options/reconstruction.py b/options/reconstruction.py
index decc15f7..548c63b8 100644
--- a/options/reconstruction.py
+++ b/options/reconstruction.py
@@ -818,7 +818,8 @@ algorithms.append(parts_from_fit)
 parts_with_truth_pid = ParticlesWithTruthPID("parts_with_truth_pid",
         inputMCParticles = "MCParticles",
         inputTrackParameters = parts_from_fit.outputTrackParameters,
-        outputParticles = "ReconstructedParticles")
+        outputParticles = "ReconstructedParticles",
+        outputAssociations = "ReconstructedParticlesAssoc")
 #        outputParticles = "ReconstructedChargedParticles")
 algorithms.append(parts_with_truth_pid)
 
@@ -842,6 +843,7 @@ algorithms.append(parts_with_truth_pid)
 fast_ff = FFSmearedParticles("fast_ff",
         inputMCParticles = "MCParticles",
         outputParticles  = "ReconstructedFFParticles",
+        outputAssociations = "ReconstructedFFParticlesAssoc",
         enableZDC        = True,
         enableB0         = True,
         enableRP         = True,
-- 
GitLab