ATLAS Offline Software
JetGroupUnion.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGHLTJETHYPO_JETGROUPUNION_H
6 #define TRIGHLTJETHYPO_JETGROUPUNION_H
7 
8 #include "./IJetGroupProduct.h"
9 #include "./DebugInfoCollector.h"
11 #include <vector>
12 
13 using CondInd2JetGroupsInds = std::map<int, std::vector<std::size_t>>;
14 
15 using JetGroupInd2ElemInds = std::map<int, std::vector<std::size_t>>;
16 
17 
18 typedef std::unique_ptr<ITrigJetHypoInfoCollector> Collector;
19 
21  /*
22  * Form the union of the sets of jets passing sibling Conditions.
23  */
24  public:
25  JetGroupUnion(const std::vector<std::size_t>& siblings,
26  const CondInd2JetGroupsInds& satisfiedBy);
27 
28  virtual std::vector<std::size_t> next(const Collector&) override;
29  virtual bool valid() const override;
30 
31  private:
32  std::vector<std::size_t> m_jetIndices;
33  bool m_done{false};
34 };
35 
36 #endif
JetGroupUnion
Definition: JetGroupUnion.h:20
IJetGroupProduct
Definition: IJetGroupProduct.h:14
CondInd2JetGroupsInds
std::map< int, std::vector< std::size_t > > CondInd2JetGroupsInds
Definition: JetGroupProduct.h:15
JetGroupUnion::m_done
bool m_done
Definition: JetGroupUnion.h:33
HypoJetDefs.h
JetGroupUnion::JetGroupUnion
JetGroupUnion(const std::vector< std::size_t > &siblings, const CondInd2JetGroupsInds &satisfiedBy)
Definition: JetGroupUnion.cxx:12
JetGroupInd2ElemInds
std::map< int, std::vector< std::size_t > > JetGroupInd2ElemInds
Definition: elementalJetGroups.h:11
JetGroupUnion::valid
virtual bool valid() const override
Definition: JetGroupUnion.cxx:52
DebugInfoCollector.h
JetGroupUnion::next
virtual std::vector< std::size_t > next(const Collector &) override
Definition: JetGroupUnion.cxx:36
Collector
std::unique_ptr< ITrigJetHypoInfoCollector > Collector
Definition: FastReducer.h:22
JetGroupUnion::m_jetIndices
std::vector< std::size_t > m_jetIndices
Definition: JetGroupUnion.h:32
IJetGroupProduct.h
Collector
std::unique_ptr< ITrigJetHypoInfoCollector > Collector
Definition: JetGroupUnion.h:18