ATLAS Offline Software
WTAConeJetMaker.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef TRIGGEPPERF_WTACONEJETMAKER_H
6 #define TRIGGEPPERF_WTACONEJETMAKER_H
7 
8 #include "IJetMaker.h"
9 #include "Jet.h"
10 #include "Cluster.h"
11 
12 #include "WTAConeMaker.h" // WTAConeMaker is the core header
13 #include "WTACone2PassMaker.h" // WTACone2PassMaker is the 2-Pass header
14 
15 #include <iostream>
16 #include <string>
17 #include <vector>
18 #include <memory>
19 
20  enum WTAConeMakerEnum{ // use WTAConeMakerEnum for algorithm variants
21  Baseline = 0,
22  TwoPass = 1
23 };
24 
25 
26  namespace Gep
27  {
28  class WTAConeJetMaker : public IJetMaker
29  {
30  public:
31 
32  WTAConeJetMaker(unsigned int block_n = 4, unsigned int rolloff_buffersize = 155) :
34  // m_WTAParallelHelper(block_n),
35  m_BlockN(block_n), m_SeedCleaningAlgo(0), m_RollOffBufferSize(rolloff_buffersize)
36  {};
37 
38 
39  virtual std::string toString() const override{ return "WTAConeJet"; }
40  virtual std::vector<Gep::Jet> makeJets(const std::vector<Gep::Cluster>& TopoTowers) const override; // To makeJet, m_seeds and m_consts must not be empty vectors
41 
42  std::unique_ptr<WTAConeMaker> CreateWTAConeMaker(enum WTAConeMakerEnum seed_cleaning_algo) const
43  { // Allow user to choose the seed cleaning algorithm
44  switch(seed_cleaning_algo)
45  {
46  case Baseline:
47  return std::make_unique<WTAConeMaker>();
48  case TwoPass:
49  return std::make_unique<WTACone2PassMaker>();
50  std::cerr << "Invalid seed cleaning algorithm" << std::endl;
51  }
52  return nullptr;
53  }
54 
55  void SetBlockN(unsigned int block_n){m_BlockN = block_n; /* m_WTAParallelHelper.SetBlockN(m_BlockN);*/ };
56  void SetSeedCleaningAlgo(unsigned int algo){m_SeedCleaningAlgo = algo;};
57  void SetRollOffBufferSize(int rolloff_buffersize){m_RollOffBufferSize = rolloff_buffersize;}
59 
61 
62  private:
63  // WTAConeParallelHelper m_WTAParallelHelper;
64  unsigned int m_BlockN{};
65  unsigned int m_SeedCleaningAlgo{};
66  unsigned int m_RollOffBufferSize{}; // Only for TwoPass
67 
68  };
69 
70  }
71 
72  #endif //TRIGL0GEPPERF_EXCONEJETMAKER_H
73 
TwoPass
@ TwoPass
Definition: WTAConeJetMaker.h:22
Gep::WTAConeJetMaker::m_BlockN
unsigned int m_BlockN
Definition: WTAConeJetMaker.h:64
WTACone2PassMaker.h
Gep::WTAConeJetMaker::SetRollOffBufferSize
void SetRollOffBufferSize(int rolloff_buffersize)
Definition: WTAConeJetMaker.h:57
Jet.h
Gep::WTAConeJetMaker::SetSeedCleaningAlgo
void SetSeedCleaningAlgo(unsigned int algo)
Definition: WTAConeJetMaker.h:56
WTAParameters
Definition: WTAConeMaker.h:9
WTAConeMaker.h
Gep
Definition: BasicGepClusterMaker.h:13
Gep::WTAConeJetMaker::m_SeedCleaningAlgo
unsigned int m_SeedCleaningAlgo
Definition: WTAConeJetMaker.h:65
Baseline
@ Baseline
Definition: WTAConeJetMaker.h:21
Cluster.h
WTAConeMakerEnum
WTAConeMakerEnum
Definition: WTAConeJetMaker.h:20
Gep::IJetMaker
Definition: IJetMaker.h:15
Gep::WTAConeJetMaker::GetRollOffBufferSize
int GetRollOffBufferSize()
Definition: WTAConeJetMaker.h:58
IJetMaker.h
Gep::WTAConeJetMaker::WTAConeJetMaker
WTAConeJetMaker(unsigned int block_n=4, unsigned int rolloff_buffersize=155)
Definition: WTAConeJetMaker.h:32
Gep::WTAConeJetMaker::m_GEPWTAParameters
WTAParameters m_GEPWTAParameters
Definition: WTAConeJetMaker.h:60
Gep::WTAConeJetMaker::m_RollOffBufferSize
unsigned int m_RollOffBufferSize
Definition: WTAConeJetMaker.h:66
Gep::WTAConeJetMaker::makeJets
virtual std::vector< Gep::Jet > makeJets(const std::vector< Gep::Cluster > &TopoTowers) const override
Definition: WTAConeJetMaker.cxx:8
Gep::WTAConeJetMaker
Definition: WTAConeJetMaker.h:29
Gep::WTAConeJetMaker::CreateWTAConeMaker
std::unique_ptr< WTAConeMaker > CreateWTAConeMaker(enum WTAConeMakerEnum seed_cleaning_algo) const
Definition: WTAConeJetMaker.h:42
Gep::WTAConeJetMaker::SetBlockN
void SetBlockN(unsigned int block_n)
Definition: WTAConeJetMaker.h:55
Gep::WTAConeJetMaker::toString
virtual std::string toString() const override
Definition: WTAConeJetMaker.h:39