26 {
27
28 if(collector){
29 std::stringstream ss0;
30 const void* address = static_cast<const void*>(this);
31 ss0 << "DipzMLPLCondition: (" << address << ") starts\n";
32 collector ->
collect(ss0.str(),
"");
33 }
34
36
38
39 if(collector){
40 std::stringstream ss0;
41 const void* address = static_cast<const void*>(this);
42 ss0 << "DipzMLPLCondition: (" << address << ") logproduct term "
43 << logproduct << " >= "
45 << std::boolalpha << pass << " jet group: \n";
46
47 std::stringstream ss1;
48
49 for(const auto& ip : ips){
50 address =
static_cast<const void*
>(
ip.get());
51 ss1 <<
" " << address <<
" " <<
ip->eta() <<
" e " <<
ip->e() <<
'\n';
52 }
53 ss1 << '\n';
54 collector ->
collect(ss0.str(), ss1.str());
55 }
56
57 return pass;
58
59}
void collect(const HLT::TriggerElement *te, std::vector< Trig::Feature< T > > &data, const std::string &label, unsigned int condition, const std::string &teName, const HLT::TrigNavStructure *navstructure)
actual feature acceess implementation It has (thanks to the ClassTraits) functionality to flatten con...