21 const std::unique_ptr<ITrigJetHypoInfoCollector>& collector)
const{
25 ss <<
"QjetMassCondition::isSatisfied must see exactly 4 particles, but received "
29 throw std::runtime_error(
ss.str());
37 auto rj0 = j0 -> p4();
38 auto rj1 = j1 -> p4();
39 auto rj2 = j2 -> p4();
40 auto rj3 = j3 -> p4();
42 auto mass = (rj0 + rj1 + rj2 + rj3).M();
47 std::stringstream ss0;
48 const void* address =
static_cast<const void*
>(
this);
49 ss0 <<
"QjetMassCondition: (" << address <<
") "
50 << mass <<
" " << std::boolalpha << pass <<
" jet group: \n";
52 std::stringstream ss1;
54 for(
const auto& ip : ips){
55 address =
static_cast<const void*
>(ip.get());
56 ss1 <<
" " << address <<
" eta " << ip->eta()
57 <<
" e " << ip->e() <<
" et: " << ip->et() <<
'\n';
60 collector -> collect(ss0.str(), ss1.str());