22 {
23
24 auto htsum = std::accumulate(ips.begin(),
25 ips.end(),
26 0.0,
28 return sum + jp->et();});
30
31 if(collector){
32 std::stringstream ss0;
33 const void* address = static_cast<const void*>(this);
34 ss0 << "HTCondition: (" << address << ") Sum(et) "
35 << htsum << " "
36 << std::boolalpha << pass << " jet group: \n";
37
38 std::stringstream ss1;
39
40 for(const auto& ip : ips){
41 address =
static_cast<const void*
>(
ip.get());
42 ss1 <<
" " << address <<
" " <<
ip->eta() <<
" e " <<
ip->e() <<
'\n';
43 }
44 ss1 << '\n';
45 collector ->
collect(ss0.str(), ss1.str());
46 }
47
48 return pass;
49
50}
std::shared_ptr< const HypoJet::IJet > pHypoJet
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...