14 const std::string& name,
15 const IInterface* parent) :
16 base_class(
type, name, parent) {
27 return StatusCode::FAILURE;
34 return StatusCode::FAILURE;
54 }
catch (
const std::exception& e) {
57 return StatusCode::FAILURE;
66 for (ulong i =
m_TIP_width; i != 0; --i) { maxtob *= 2;}
70 return StatusCode::SUCCESS;
75 const EventContext& ctx)
const {
80 CHECK(tobs.isValid());
85 std::vector<bool> tob_pass(tobs->size(),
false);
88 tob_pass[tob_it] =
true;
100 auto count_bits = std::bitset<s_nbits_TIP>(tob_count);
107 for (; p0 != mxb; ++p0, ++p1) {
108 if (count_bits.test(p0)) {word.set(p1);}
115 std::stringstream
ss;
116 ss <<
"\nRun " << ctx <<
' ' <<
"TIP:\n" << word <<
'\n';
119 ss << tob->to_string() <<
' ' << std::boolalpha <<
" pass " << tob_pass[ind++] <<
'\n';
121 ss <<
"tob count " << tob_count <<
'\n';
123 std::ofstream out(name() +
".log", std::ios_base::app);
129 return StatusCode::SUCCESS;
133 std::stringstream
ss;
135 <<
"eEmMultAlgTool read, select, count and report number of related eEmTOBS\n"
#define CHECK(...)
Evaluate an expression and check for errors.
AlgTool to read in LArStripNeighborhoods, and run the eRatio Algorithm.