Skip to content
Snippets Groups Projects
Commit 556fed87 authored by Wouter Deconinck's avatar Wouter Deconinck
Browse files

fix: support both podio v0.16 and v0.17 relations and vector members

parent 92d2694c
No related branches found
No related tags found
1 merge request!318fix: support both podio v0.16 and v0.17 relations and vector members
......@@ -6,6 +6,7 @@
#include "TProfile.h"
#include "Math/Vector4D.h"
#include <fmt/format.h>
#include <iostream>
R__LOAD_LIBRARY(libedm4eic.so)
......@@ -91,8 +92,14 @@ auto delta_p_over_p = [](const std::vector<double>& tracks, const std::vector<do
int rec_multiple_tracks(const char* fname = "topside/rec_multiple_tracks.root")
{
ROOT::EnableImplicitMT();
ROOT::RDataFrame podio_metadata_df("podio_metadata", fname);
auto podioBuildVersion_major = podio_metadata_df.Take<unsigned short>("PodioBuildVersion.major");
auto podioBuildVersion_minor = podio_metadata_df.Take<unsigned short>("PodioBuildVersion.minor");
auto podioBuildVersion = fmt::format("{:d}.{:d}", podioBuildVersion_major->front(), podioBuildVersion_minor->front());
std::cout << "podioBuildVersion: " << podioBuildVersion << std::endl;
ROOT::RDataFrame df("events", fname);
auto df0 = df.Define("isThrown", "MCParticles.generatorStatus == 1")
......@@ -108,9 +115,15 @@ int rec_multiple_tracks(const char* fname = "topside/rec_multiple_tracks.root")
.Define("N_Hits", [](std::vector<edm4eic::TrackerHitData> hits) { return hits.size();}, {"trackingHits"})
.Define("N_BarrelHits", [](std::vector<edm4eic::TrackerHitData> hits) { return hits.size();}, {"TrackerBarrelRecHits"})
.Define("N_EndcapHits", [](std::vector<edm4eic::TrackerHitData> hits) { return hits.size();}, {"TrackerEndcapRecHits"})
.Define("zTrackSegments", z_segments, {"HcalEndcapNTrackSegments", "HcalEndcapNTrackSegments_0"})
;
if (podioBuildVersion == "0.16") {
df0 = df0.Define("zTrackSegments", z_segments, {"HcalEndcapNTrackSegments", "HcalEndcapNTrackSegments_0"});
}
if (podioBuildVersion == "0.17") {
df0 = df0.Define("zTrackSegments", z_segments, {"HcalEndcapNTrackSegments", "_HcalEndcapNTrackSegments_points"});
}
auto h_zTrackSegment = df0.Histo1D({"h_zTrackSegment", "z ; #z", 400, -400, 400}, "zTrackSegments");
auto h_nTracks_vs_theta = df0.Histo2D({"h_nTracks_vs_theta", "; #theta; N tracks ", 40,0,180,10, 0, 10}, "theta0","nTracks");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment