31 {
33
34
35
36 auto in =
38 ctx);
40
41 ATH_MSG_DEBUG(
"read in " << (*in).size() <<
" neighborhoods");
42
43 SG::WriteHandle<IOBitwise::IeEmEg1BDTTOBContainer> h_BDTResult(
m_BDTResultKey, ctx);
44 CHECK(h_BDTResult.record(std::make_unique<IOBitwise::IeEmEg1BDTTOBContainer>()));
45
46 for (const auto nbhdTOB : *in) {
48 if (c_phi.empty()) {continue;}
50
52 ap_int<10>* c_input = &
input[0];
53
55
56
57 bdt.decision_function(c_input, scores);
58 if (msgLevel() <= MSG::DEBUG) {
61 for (
const auto& i : input) {
ss <<
i <<
' ';}
63 }
64
65 if (msgLevel() <= MSG::DEBUG) {
67 ss <<
"C BDT output: ";
68 for (
const auto& i : scores) {
ss <<
i <<
' ';}
70 }
71
72
73 std::bitset<IOBitwise::IeEmEg1BDTTOB::s_eGamma1BDT_width>
result;
74 for (
int i=0;
i<scores[0].length();
i++){
76 }
77
78 h_BDTResult->push_back(std::make_unique<IOBitwise::eEmEg1BDTTOB>(*nbhdTOB, result));
79
80 }
81 return StatusCode::SUCCESS;
82 }
constexpr int fn_classes(int n_classes)
static const BDT::BDT< n_trees, n_classes, input_arr_t, score_t, threshold_t > bdt
static const int n_features
ap_fixed< 10, 5 > score_t
static const int n_classes
static std::vector< ap_int< 10 > > digitize10(const std::vector< double > &v)