9#include <TLorentzVector.h>
22 const std::unique_ptr<ITrigJetHypoInfoCollector>& collector)
const{
26 ss <<
"DijetMassCondition::isSatisfied must see exactly 2 particles, but received "
30 throw std::runtime_error(
ss.str());
36 auto rj0 = j0 -> p4();
37 auto rj1 = j1 -> p4();
39 auto mass = (rj0 + rj1).M();
44 std::stringstream ss0;
45 const void* address =
static_cast<const void*
>(
this);
46 ss0 <<
"DijetMassCondition: (" << address <<
") "
48 << std::boolalpha << pass <<
" jet group: \n";
50 std::stringstream ss1;
52 for(
const auto& ip : ips){
53 address =
static_cast<const void*
>(ip.get());
54 ss1 <<
" " << address <<
" " << ip->eta() <<
" e " << ip->e() <<
'\n';
57 collector -> collect(ss0.str(), ss1.str());
67 const void* address =
static_cast<const void*
>(
this);
68 ss <<
"DijetMassCondition: (" << address <<
") Capacity: " <<
s_capacity
70 <<
" mass min: " <<
m_min
71 <<
" mass max: " <<
m_max <<
'\n';
std::vector< pHypoJet > HypoJetVector
std::string toString() const override
DijetMassCondition(double massMin, double massMax)
bool isSatisfied(const HypoJetVector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override
static const unsigned int s_capacity