Display cut/Filter efficiencies with RDataFrame.
This tutorial shows how to get information about the efficiency of the filters applied
{
int i(0);
d.Define(
"b1", [&i]() {
return (
double)i; })
.Define("b2",
[&i]() {
++i;
})
}
{
auto fileName = "df004_cutFlowReport.root";
auto cut1 = [](
double b1) {
return b1 > 25.; };
auto cut2 = [](
int b2) {
return 0 == b2 % 2; };
auto cut3 = [](
double x) {
return x < .5; };
std::cout << "Cut3 stats:" << std::endl;
std::cout << "All stats:" << std::endl;
std::cout << "Name\tAll\tPass\tEfficiency" << std::endl;
<<
cutInfo.GetEff() <<
" %" << std::endl;
}
std::cout <<
cutName <<
" efficiency is " << cut.GetEff() <<
" %" << std::endl;
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...
DisplacementVector3D< CylindricalEta3D< double >, DefaultCoordinateSystemTag > RhoEtaPhiVector
3D Vector based on the eta based cylindrical coordinates rho, eta, phi in double precision.
LorentzVector< PxPyPzE4D< double > > XYZTVector
LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in double precision with metric (-,...
Cut3 stats:
Cut2 : pass=25 all=50 -- eff=50.00 % cumulative eff=50.00 %
Cut3 : pass=23 all=25 -- eff=92.00 % cumulative eff=46.00 %
All stats:
Cut1 : pass=24 all=50 -- eff=48.00 % cumulative eff=48.00 %
Cut2 : pass=25 all=50 -- eff=50.00 % cumulative eff=50.00 %
Cut3 : pass=23 all=25 -- eff=92.00 % cumulative eff=46.00 %
Name All Pass Efficiency
Cut1 50 24 48 %
Cut2 50 25 50 %
Cut3 25 23 92 %
Cut1 efficiency is 48 %
- Date
- December 2016
- Author
- Danilo Piparo (CERN)
Definition in file df004_cutFlowReport.C.