12 const std::map<std::string,unsigned>& n2idx,
13 const std::vector<double>&
values,
21 for(
const auto&
val : n2idx ) {
28 unsigned internal_idx = 0;
34 <<
"index = " << idx <<
" has no corresponding cut name!";
41 << idx <<
" is out of bounds for this cut flow!";
48 if( found_name ==
names_.end() || *found_name !=
name ) {
50 <<
"Cut name: " << name
51 <<
" is not known for this cutflow!";
59 << idx <<
" is out of bounds for this cut flow!";
66 if( found_name ==
names_.end() || *found_name !=
name ) {
68 <<
"Cut name: " << name
69 <<
" is not known for this cutflow!";
77 << idx <<
" is out of bounds for this cut flow!";
84 if( found_name ==
names_.end() || *found_name !=
name ) {
86 <<
"Cut name: " << name
87 <<
" is not known for this cutflow!";
96 for(
const unsigned idx : idxs ) {
99 <<
idx <<
" is out of bounds for this cut flow!";
101 mask = mask | 1 <<
idx;
103 bitmap = bitmap |
mask;
113 if( found_name ==
names_.end() || *found_name !=
name ) {
115 <<
"Cut name: " <<
name 116 <<
" is not known for this cutflow!";
120 bitmap = bitmap |
mask;
130 << idx <<
" is out of bounds for this cut flow!";
132 mask = mask | 1 <<
idx;
133 bitmap = bitmap |
mask;
142 if( found_name ==
names_.end() || *found_name !=
name ) {
144 <<
"Cut name: " << name
145 <<
" is not known for this cutflow!";
148 bitmap = bitmap |
mask;
bool getCutResultByIndex(const unsigned idx) const
std::vector< unsigned > indices_
std::vector< std::string > names_
bool getCutResultByName(const std::string &name) const
const std::string names[nVars_]
bool isCutMasked(const unsigned idx) const
std::vector< double > values_
double getCutValue(const unsigned idx) const
bool getCutBit(const unsigned idx) const
const std::string & getNameAtIndex(const unsigned idx) const
CutFlowResult getCutFlowResultMasking(const unsigned idx) const
double getValueCutUpon(const unsigned idx) const
bool getMaskBit(const unsigned idx) const