This tutorial shows how to get information about the efficiency of the filters applied.
using FourVectors = std::vector<FourVector>;
void fill_tree(const char *treeName, const char *fileName)
{
int i(0);
d.Define("b1", [&i]() { return (double)i; })
.Define("b2",
[&i]() {
auto j = i * i;
++i;
return j;
})
.Snapshot(treeName, fileName);
}
{
auto fileName = "tdf004_cutFlowReport.root";
auto treeName = "myTree";
fill_tree(treeName, fileName);
auto cut1 = [](double b1) { return b1 > 25.; };
auto cut2 = [](int b2) { return 0 == b2 % 2; };
auto filtered1 = d.
Filter(cut1, {
"b1"},
"Cut1");
auto filtered2 = d.Filter(cut2, {"b2"}, "Cut2");
auto augmented1 = filtered2.Define("b3", [](double b1, int b2) { return b1 / b2; });
auto cut3 = [](
double x) {
return x < .5; };
auto filtered3 = augmented1.Filter(cut3, {"b3"}, "Cut3");
std::cout << "Cut3 stats:" << std::endl;
filtered3.Report();
std::cout << "All stats:" << std::endl;
d.Report();
}
- Date
- December 2016
- Author
- Danilo Piparo
Definition in file tdf004_cutFlowReport.C.