15 const std::string& name,
16 const IInterface* parent) :
17 base_class(
type, name, parent) {
36 return StatusCode::SUCCESS;
42 const EventContext& ctx)
const {
44 if (dc){dc->collect(*
this,
"start");}
50 CHECK(tobs.isValid());
55 std::make_unique<IOBitwise::CommonTOBContainer>(tobs->size());
59 std::vector<IOBitwise::CommonTOB*>(tobs->size());
61 std::transform(std::begin(*tobs),
63 std::back_inserter(tmp_tobs),
64 [](
const auto& tobptr) {
68 std::copy_if(std::begin(tmp_tobs),
70 std::back_inserter(*out_tobs),
72 return selector->select(*tob);});
76 <<
" " << out_tobs->size());
79 out_tobs->resize(std::min(maxTOBs, out_tobs->size()));
83 [](
const auto& l,
const auto&
r) {
84 return l->et_bits().to_ulong() <
r->et_bits().to_ulong();
90 CHECK(h_out.record(std::move(out_tobs)));
92 if (dc){dc->collect(*
this,
"end");}
94 return StatusCode::SUCCESS;
100 <<
"CommonSortSelectAlgTool read, select, and sort CommonTOBS\n"
#define CHECK(...)
Evaluate an expression and check for errors.
AlgTool to read in LArStripNeighborhoods, and run the eRatio Algorithm.
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.