Skip to content
Snippets Groups Projects
Commit 3d550154 authored by Ziyue Zhang's avatar Ziyue Zhang
Browse files

WIP: Try out Dummy

parent 512f5cd7
No related branches found
No related tags found
No related merge requests found
...@@ -82,6 +82,7 @@ int vm_mass(const std::string& config_name) ...@@ -82,6 +82,7 @@ int vm_mass(const std::string& config_name)
// util::PrintGeant4(mcparticles2); // util::PrintGeant4(mcparticles2);
// Define analysis flow // Define analysis flow
auto d_im = d.Define("p_rec", momenta_from_tracking, {"outputTrackParameters"}) auto d_im = d.Define("p_rec", momenta_from_tracking, {"outputTrackParameters"})
.Define("p_rec_test", util::p_dummy, "DummyReconstructedParticls")
.Define("N", "p_rec.size()") .Define("N", "p_rec.size()")
.Define("p_sim", util::momenta_from_simulation, {"mcparticles2"}) .Define("p_sim", util::momenta_from_simulation, {"mcparticles2"})
.Define("decay_pair_rec", find_decay_pair, {"p_rec"}) .Define("decay_pair_rec", find_decay_pair, {"p_rec"})
......
...@@ -56,7 +56,7 @@ namespace util { ...@@ -56,7 +56,7 @@ namespace util {
} }
// Get a vector of 4-momenta from raw tracking info, using an externally // Get a vector of 4-momenta from raw tracking info, using an externally
// provided particle mass assumption. // provided particle mass assumption. //outputTrackParameters
inline auto momenta_from_tracking(const std::vector<eic::TrackParametersData>& tracks, inline auto momenta_from_tracking(const std::vector<eic::TrackParametersData>& tracks,
const double mass) const double mass)
{ {
...@@ -75,7 +75,20 @@ namespace util { ...@@ -75,7 +75,20 @@ namespace util {
}); });
return momenta; return momenta;
} }
//=====================================================================================
inline auto p_dummy(const std::vector<eic::ReconstructedParticle>& parts)
{
std::vector<ROOT::Math::PxPyPzMVector> momenta{tracks.size()};
// transform our raw tracker info into proper 4-momenta
std::transform(parts.begin(), parts.end(), momenta.begin(), [](const auto& parts) {
const double px = parts.p.x;
const double py = parts.p.y;
const double pz = parts.p.z;
return ROOT::Math::PxPyPzMVector{px, py, pz, parts.mass};
});
return momenta;
}
//=====================================================================================
// Get a vector of 4-momenta from the simulation data. // Get a vector of 4-momenta from the simulation data.
// TODO: Add PID selector (maybe using ranges?) // TODO: Add PID selector (maybe using ranges?)
inline auto momenta_from_simulation(const std::vector<dd4pod::Geant4ParticleData>& parts) inline auto momenta_from_simulation(const std::vector<dd4pod::Geant4ParticleData>& parts)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment