17#ifndef O2_MID_CLUSTERIZER_H
18#define O2_MID_CLUSTERIZER_H
21#include <unordered_map>
22#include <unordered_set>
42 bool init(std::function<
void(
size_t,
size_t)>
func = [](
size_t,
size_t) {});
52 void process(gsl::span<const PreCluster>
preClusters, gsl::span<const ROFRecord> rofRecords);
55 const std::vector<Cluster>&
getClusters() {
return mClusters; }
67 bool loadPreClusters(gsl::span<const PreCluster>&
preClusters);
84 void makeCluster(
const MpArea& area,
const uint8_t deId,
int cathode);
93 gsl::span<const PreCluster> mPreClusters;
94 std::unordered_map<uint8_t, PreClustersDE> mPreClustersDE{};
95 std::unordered_set<uint8_t> mActiveDEs{};
96 PreClusterHelper mPreClusterHelper{};
97 std::vector<Cluster> mClusters{};
98 std::vector<ROFRecord> mROFRecords{};
99 size_t mPreClusterOffset{0};
101 std::function<
void(
size_t,
size_t)> mFunction{[](size_t, size_t) {}};
Timeframe settings Average distance in cm of events merged into Randomize distance around average distance of merged events Simulate correct bunch interactions instead of placing only the average number of events A value[n] sets TFlen for[n] collisions in Number of bunches per trainsort Number of bunch trains Instantaneous interaction rate Do not simulate border Total number of collisions to be placed in the interior of all time Do not select random but walk over array of events in stride steps h Event generator settings h configStandalone Use CPU for GPU Force usage of the specified GPU device no CPU fallback Continue processing after an error First event to process
Pre-cluster structure for MID.
Pre-clusters helper for MID.
Structure with pre-clusters in the MID detection element.
Clusterizing algorithm for MID.
const std::vector< Cluster > & getClusters()
Gets the vector of reconstructed clusters.
const std::vector< ROFRecord > & getROFRecords()
Gets the vector of clusters RO frame records.
bool init(std::function< void(size_t, size_t)> func=[](size_t, size_t) {})
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
gsl::span< const PreCluster > preClusters(preClusterizer.getPreClusters().data(), preClusterizer.getPreClusters().size())
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...