24 float minTime = minTimeSignificance*(std::exp(
a+b*(pt/1000)) + c);
30 if (ips.size() != 1) {
32 ss <<
"TimeSignificanceCondition::isSatisfied must see exactly 1 particle, but received " << ips.size() <<
'\n';
33 throw std::runtime_error(
ss.str());
39 if (!(
jet->getAttribute(
"Timing", timing))) {
40 throw std::runtime_error(
"ERROR: TimeSignificanceCondition cannot retrieve jet moment 'Timing'");
44 if (!(pt =
jet->pt())) {
45 throw std::runtime_error(
"ERROR: TimeSignificanceCondition cannot retrieve jet pt");
50 bool pass = (timing >= t_minTime) and (timing <
m_maxTime);
53 std::stringstream ss0;
54 const void* address =
static_cast<const void*
>(
this);
55 ss0 <<
"TimeSignificanceCondition: (" << address <<
") timing[" << t_minTime <<
", " <<
m_maxTime <<
"]"
56 <<
" pass: " << std::boolalpha << pass <<
'\n';
58 auto j_addr =
static_cast<const void*
>(
jet.get());
59 std::stringstream ss1;
61 ss1 <<
" jet : " << j_addr <<
") timing " << timing <<
'\n';
62 collector->collect(ss0.str(), ss1.str());
72 const void* address =
static_cast<const void*
>(
this);
73 ss <<
"TimeSignificanceCondition: (" << address <<
") Capacity: " <<
s_capacity
std::vector< pHypoJet > HypoJetVector
float getTmin(const float pt, const float m_minTimeSignificance) const
TimeSignificanceCondition(double t_minTimeSignificance, double t_maxTime)
static const unsigned int s_capacity
double m_minTimeSignificance
std::string toString() const override
bool isSatisfied(const HypoJetVector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override