diff --git a/benchmarks/tracking/scripts/rec_multiple_tracks.cxx b/benchmarks/tracking/scripts/rec_multiple_tracks.cxx index bf07ff9cb3c87faf6885fe61719151dce1c597ee..84ab315104e1aac9565bdb131e020d6a36e6fb2e 100644 --- a/benchmarks/tracking/scripts/rec_multiple_tracks.cxx +++ b/benchmarks/tracking/scripts/rec_multiple_tracks.cxx @@ -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");