16#ifndef O2_ITS_TRACKING_VERTEXER_TRAITS_H_
17#define O2_ITS_TRACKING_VERTEXER_TRAITS_H_
37#include <oneapi/tbb/task_arena.h>
71 void setNThreads(
int n, std::shared_ptr<tbb::task_arena>& arena);
73 virtual bool isGPU() const noexcept {
return false; }
74 virtual const char*
getName() const noexcept {
return "CPU"; }
76 void setMemoryPool(std::shared_ptr<BoundedMemoryResource> pool) { mMemoryPool = pool; }
84 std::unordered_map<o2::MCCompLabel, size_t> frequency;
85 for (
const auto&
element : elements) {
86 ++frequency[composeVtxLabel(
element)];
90 for (
const auto& [
key,
count] : frequency) {
99 return std::make_pair(elem,
static_cast<float>(
maxCount) /
static_cast<float>(elements.size()));
109 bool skipROF(
int iteration,
int rof)
const;
111 std::shared_ptr<BoundedMemoryResource> mMemoryPool;
112 std::shared_ptr<tbb::task_arena> mTaskArena;
static constexpr int maxTrackID()
void setNThreads(int n, std::shared_ptr< tbb::task_arena > &arena)
auto getVertexingParameters() const
virtual void computeVertices(const int iteration)
virtual ~VertexerTraits()=default
IndexTableUtilsN mIndexTableUtils
static VertexLabel computeMain(const bounded_vector< o2::MCCompLabel > &elements)
virtual void initialise(const TrackingParameters &trackingParams)
auto & getVertexingParameters()
std::vector< VertexingParameters > mVrtParams
void setVertexingParameters(std::vector< VertexingParameters > &vertParams)
virtual void updateVertexingParameters(const std::vector< VertexingParameters > &vrtPar)
virtual void computeTrackletMatching(const int iteration)
virtual bool usesMemoryPool() const noexcept
virtual void computeTracklets(const int iteration)
virtual bool isGPU() const noexcept
virtual const char * getName() const noexcept
void setMemoryPool(std::shared_ptr< BoundedMemoryResource > pool)
virtual void adoptTimeFrame(TimeFrameN *tf) noexcept
void addTruthSeedingVertices()
std::pmr::vector< T > bounded_vector
std::pair< o2::MCCompLabel, float > VertexLabel
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::unique_ptr< GPUReconstructionTimeframe > tf