ATLAS Offline Software
Loading...
Searching...
No Matches
MultiplicityCondition.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
8
9#include <sstream>
10#include <cmath>
11#include <algorithm>
12#include <numeric>
13
15 std::size_t multMax):
16 m_multMin{multMin}, m_multMax{multMax} {
17}
18
19
20bool
22 const std::unique_ptr<ITrigJetHypoInfoCollector>& collector) const {
23
24 auto mult = ips.size();
25 bool pass = mult >= m_multMin and mult < m_multMax;
26
27 if(collector){
28 std::stringstream ss0;
29 const void* address = static_cast<const void*>(this);
30 ss0 << "MultCondition: (" << address << ") mult "
31 << mult << " "
32 << std::boolalpha << pass << " jet group: \n";
33
34 collector -> collect(ss0.str(), "");
35 }
36
37 return pass;
38
39}
40
41
43 std::stringstream ss;
44 ss << "MultiplicityCondition: multMin: "
45 << m_multMin
46 << " multMax "
47 << m_multMax << '\n';
48
49 return ss.str();
50}
51
std::vector< pHypoJet > HypoJetVector
Definition HypoJetDefs.h:27
static Double_t ss
std::string toString() const override
MultiplicityCondition(std::size_t multMin, std::size_t multMax)
bool isSatisfied(const HypoJetVector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override