21void RCutFlowReport::Print()
25 const auto &
name = ci.GetName();
26 const auto pass = ci.GetPass();
27 const auto all = ci.GetAll();
28 const auto eff = ci.GetEff();
29 const auto cumulativeEff = 100.f * float(pass) / float(allEntries);
30 Printf(
"%-10s: pass=%-10lld all=%-10lld -- eff=%3.2f %% cumulative eff=%3.2f %%",
name.c_str(), pass, all, eff, cumulativeEff);
33const TCutInfo &RCutFlowReport::operator[](std::string_view cutName)
35 if (cutName.empty()) {
36 throw std::runtime_error(
"Cannot look for an unnamed cut.");
38 auto pred = [&cutName](
const TCutInfo &ci) {
return ci.GetName() == cutName; };
40 const auto it = std::find_if(
fCutInfos.begin(), ciItEnd, pred);
42 std::string err =
"Cannot find a cut called \"";
44 err +=
"\". Available named cuts are: \n";
46 err +=
" - " + ci.GetName() +
"\n";
48 throw std::runtime_error(err);
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
std::vector< TCutInfo > fCutInfos
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...