ATLAS Offline Software
CombinationsGrouper.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
7 
8 
10 
12  m_groupSize{groupSize}{}
13 
14 
16  const HypoJetVector& jets):
17  m_groupSize(groupSize), m_jets{jets}{
18 }
19 
20 
22  const HypoJetCIter& b,
23  const HypoJetCIter& e):
24  m_groupSize(groupSize), m_jets{b, e}{
25 }
26 
27 
29  HypoJetGroupVector hjgv;
30 
31  // create a combinations generator. Used to select the jets
32  // to be tested by the condition objects
33  CombinationsGen combgen(m_jets.size(), m_groupSize);
34 
35  auto combs = combgen.next();
36  if (combs.second == false){
37  return HypoJetVector{};
38  }
39 
41  for(auto i : combs.first){ v.push_back(*(m_jets.begin() + i));}
42 
43  return HypoJetVector(std::move(v));
44 }
45 
46 std::string CombinationsGrouper::getName() const {
47  return "CombinationsGrouper";
48 }
49 
50 std::string CombinationsGrouper::toString() const {
51 
52  std::string s= "CombinationsGrouper - create all combinations of jets of length ";
53  s+= std::to_string(m_groupSize) + '\n';
54 
55  return s;
56 }
57 
58 
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
CombinationsGrouper.h
HypoJetGroupVector
std::vector< HypoJetVector > HypoJetGroupVector
Definition: HypoJetDefs.h:35
CombinationsGen
Definition: CombinationsGen.h:20
CombinationsGrouper::next
virtual HypoJetVector next() override
Definition: CombinationsGrouper.cxx:28
defineDB.jets
jets
Definition: JetTagCalibration/share/defineDB.py:24
MuonR4::to_string
std::string to_string(const SectorProjector proj)
Definition: MsTrackSeeder.cxx:66
CombinationsGrouper::CombinationsGrouper
CombinationsGrouper()
Definition: CombinationsGrouper.cxx:9
HypoJetCIter
HypoJetVector::const_iterator HypoJetCIter
Definition: HypoJetDefs.h:29
lumiFormat.i
int i
Definition: lumiFormat.py:85
CombinationsGen.h
HypoJetVector
std::vector< pHypoJet > HypoJetVector
Definition: HypoJetDefs.h:27
CombinationsGrouper::m_jets
HypoJetVector m_jets
Definition: CombinationsGrouper.h:26
CombinationsGrouper::getName
virtual std::string getName() const override
Definition: CombinationsGrouper.cxx:46
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:76
CombinationsGen::next
std::pair< std::vector< unsigned int >, bool > next()
Definition: CombinationsGen.h:33
python.PyAthena.v
v
Definition: PyAthena.py:154
python.SystemOfUnits.s
float s
Definition: SystemOfUnits.py:147
CombinationsGrouper::toString
virtual std::string toString() const override
Definition: CombinationsGrouper.cxx:50
CombinationsGrouper::m_groupSize
unsigned int m_groupSize
Definition: CombinationsGrouper.h:25