ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
JetGroupSingleClique Class Reference

#include <JetGroupSingleClique.h>

Inheritance diagram for JetGroupSingleClique:
Collaboration diagram for JetGroupSingleClique:

Public Member Functions

 JetGroupSingleClique (const std::vector< std::size_t > &satisfyingJets, std::size_t n_required)
 
virtual std::vector< std::size_t > next (const Collector &) override
 
virtual bool valid () const override
 

Private Attributes

std::vector< std::size_t > m_jetGroupIndices
 
bool m_done {false}
 

Detailed Description

Definition at line 20 of file JetGroupSingleClique.h.

Constructor & Destructor Documentation

◆ JetGroupSingleClique()

JetGroupSingleClique::JetGroupSingleClique ( const std::vector< std::size_t > &  satisfyingJets,
std::size_t  n_required 
)

Definition at line 11 of file JetGroupSingleClique.cxx.

12  {
13 
14  // Make a jet group for the special case of a simple mono-clique tree.
15  // Only check needed is that there are enough jets. As the three is mono-clique
16  // all Conditions pass the same jets. Only the first condition need be checked.
17  // No unions need be made.
18 
19  if (satisfyingJets.empty()) {
20  m_done = true;
21  } else if (satisfyingJets.size() < n_required) {
22  m_done = true;
23  } else {
24  m_jetGroupIndices = satisfyingJets;
26  m_jetGroupIndices.end());
27  m_done = false;
28  }
29 
30 }

Member Function Documentation

◆ next()

std::vector< std::size_t > JetGroupSingleClique::next ( const Collector collector)
overridevirtual

Implements IJetGroupProduct.

Definition at line 33 of file JetGroupSingleClique.cxx.

33  {
34  if(collector){
35  std::stringstream sstr;
36  sstr << "no of indices " << m_jetGroupIndices.size()
37  << " done " << std::boolalpha << m_done;
38  collector->collect("JetGroupSingleClique::next()", sstr.str());
39  }
40 
41  if (m_done) {
42  return std::vector<std::size_t>();
43  }
44 
45  m_done = true;
46  return m_jetGroupIndices;
47 }

◆ valid()

bool JetGroupSingleClique::valid ( ) const
overridevirtual

Implements IJetGroupProduct.

Definition at line 49 of file JetGroupSingleClique.cxx.

49 {return true;}

Member Data Documentation

◆ m_done

bool JetGroupSingleClique::m_done {false}
private

Definition at line 34 of file JetGroupSingleClique.h.

◆ m_jetGroupIndices

std::vector<std::size_t> JetGroupSingleClique::m_jetGroupIndices
private

Definition at line 33 of file JetGroupSingleClique.h.


The documentation for this class was generated from the following files:
JetGroupSingleClique::m_done
bool m_done
Definition: JetGroupSingleClique.h:34
JetGroupSingleClique::m_jetGroupIndices
std::vector< std::size_t > m_jetGroupIndices
Definition: JetGroupSingleClique.h:33
std::sort
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
Definition: DVL_algorithms.h:623