From 9d147f0f1f86c81e861034190091de2dba9925fe Mon Sep 17 00:00:00 2001
From: Danilo Piparo <danilo.piparo@cern.ch>
Date: Mon, 10 Jul 2017 14:46:44 +0200
Subject: [PATCH] [TDF] Showcase jitted filters

---
 tutorials/dataframe/tdf101_h1Analysis.C | 26 ++++++++++++-------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/tutorials/dataframe/tdf101_h1Analysis.C b/tutorials/dataframe/tdf101_h1Analysis.C
index b2806ec3388..814254d70cb 100644
--- a/tutorials/dataframe/tdf101_h1Analysis.C
+++ b/tutorials/dataframe/tdf101_h1Analysis.C
@@ -22,21 +22,19 @@ auto Select = [](ROOT::Experimental::TDataFrame &dataFrame) {
    using Iarrayiew_t = std::array_view<int>;
 
    auto ret =
-      dataFrame.Filter([](float md0_d) { return TMath::Abs(md0_d - 1.8646) < 0.04; }, {"md0_d"})
-         .Filter([](float ptds_d) { return ptds_d > 2.5; }, {"ptds_d"})
-         .Filter([](float etads_d) { return TMath::Abs(etads_d) < 1.5; }, {"etads_d"})
-         .Filter([](int ik, int ipi, std::array_view<int> nhitrp) { return nhitrp[ik - 1] * nhitrp[ipi - 1] > 1; },
+      dataFrame.Filter("TMath::Abs(md0_d - 1.8646) < 0.04")
+         .Filter("ptds_d > 2.5")
+         .Filter("TMath::Abs(etads_d) < 1.5")
+         .Filter([](int ik, int ipi, Iarrayiew_t nhitrp) { return nhitrp[ik - 1] * nhitrp[ipi - 1] > 1; },
                  {"ik", "ipi", "nhitrp"})
-         .Filter([](int ik, std::array_view<float> rstart,
-                    std::array_view<float> rend) { return rend[ik - 1] - rstart[ik - 1] > 22; },
-                 {"ik", "rstart", "rend"})
-         .Filter([](int ipi, std::array_view<float> rstart,
-                    std::array_view<float> rend) { return rend[ipi - 1] - rstart[ipi - 1] > 22; },
-                 {"ipi", "rstart", "rend"})
-         .Filter([](int ik, std::array_view<float> nlhk) { return nlhk[ik - 1] > 0.1; }, {"ik", "nlhk"})
-         .Filter([](int ipi, std::array_view<float> nlhpi) { return nlhpi[ipi - 1] > 0.1; }, {"ipi", "nlhpi"})
-         .Filter([](int ipis, std::array_view<float> nlhpi) { return nlhpi[ipis - 1] > 0.1; }, {"ipis", "nlhpi"})
-         .Filter([](int njets) { return njets >= 1; }, {"njets"});
+         .Filter([](int ik, Farrayiew_t rstart,
+                    Farrayiew_t rend) { return rend[ik - 1] - rstart[ik - 1] > 22; }, {"ik", "rstart", "rend"})
+         .Filter([](int ipi, Farrayiew_t rstart,
+                    Farrayiew_t rend) { return rend[ipi - 1] - rstart[ipi - 1] > 22; }, {"ipi", "rstart", "rend"})
+         .Filter([](int ik, Farrayiew_t nlhk) { return nlhk[ik - 1] > 0.1; }, {"ik", "nlhk"})
+         .Filter([](int ipi, Farrayiew_t nlhpi) { return nlhpi[ipi - 1] > 0.1; }, {"ipi", "nlhpi"})
+         .Filter([](int ipis, Farrayiew_t nlhpi) { return nlhpi[ipis - 1] > 0.1; }, {"ipis", "nlhpi"})
+         .Filter("njets >= 1");
 
    return ret;
 };
-- 
GitLab