15 const std::string& name,
16 const IInterface* parent) :
17 base_class(
type, name, parent) {
28 return StatusCode::FAILURE;
35 return StatusCode::FAILURE;
51 }
catch (
const std::exception& e) {
53 ATH_MSG_ERROR(
"Error initialising eEmEg1BDTSelector " << e.what());
54 return StatusCode::FAILURE;
63 for (ulong i =
m_n_multbits; i != 0; --i) { maxtob *= 2;}
67 return StatusCode::SUCCESS;
72 const EventContext& ctx)
const {
77 CHECK(tobs.isValid());
82 std::vector<bool> tob_pass(tobs->size(),
false);
85 tob_pass[tob_it] =
true;
95 auto count_bits = std::bitset<s_nbits_TIP>(tob_count);
102 for (; p0 != mxb; ++p0, ++p1) {
103 if (count_bits.test(p0)) {word.set(p1);}
110 std::stringstream
ss;
111 ss <<
"\nRun " << ctx <<
' ' <<
"TIP:\n" << word <<
'\n';
114 ss << tob->to_string() <<
' ' << std::boolalpha <<
" pass " << tob_pass[ind++] <<
'\n';
116 ss <<
"tob count " << tob_count <<
'\n';
118 std::ofstream out(name() +
".log", std::ios_base::app);
124 return StatusCode::SUCCESS;
128 std::stringstream
ss;
130 <<
"eEmEg1BDTMultAlgTool read, select, count and report number of related eEmEg1BDTTOBS\n"
#define CHECK(...)
Evaluate an expression and check for errors.
AlgTool that to test whether expected the TIP values generated by data supplied by eEmMultTestBench c...