ATLAS Offline Software
Loading...
Searching...
No Matches
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
23};
24
25
26 namespace Gep
27 {
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
WTAConeMakerEnum
@ TwoPass
@ Baseline
virtual std::string toString() const override
virtual std::vector< Gep::Jet > makeJets(const std::vector< Gep::Cluster > &TopoTowers) const override
unsigned int m_SeedCleaningAlgo
WTAParameters m_GEPWTAParameters
unsigned int m_RollOffBufferSize
void SetRollOffBufferSize(int rolloff_buffersize)
void SetBlockN(unsigned int block_n)
void SetSeedCleaningAlgo(unsigned int algo)
WTAConeJetMaker(unsigned int block_n=4, unsigned int rolloff_buffersize=155)
std::unique_ptr< WTAConeMaker > CreateWTAConeMaker(enum WTAConeMakerEnum seed_cleaning_algo) const