16#ifndef ALICEO2_ITS_FASTMULTEST_
17#define ALICEO2_ITS_FASTMULTEST_
47 int selectROFs(
const std::array<gsl::span<const o2::itsmft::ROFRecord>,
NLayers>& rofs,
48 const std::array<gsl::span<const o2::itsmft::CompClusterExt>,
NLayers>& clus,
49 const gsl::span<const o2::itsmft::PhysTrigger> trig,
52 const ROFOverlapTableN::View& overlapView,
57 if (!multEstConf.isVtxMultCutRequested()) {
61 for (
const auto&
vertex : vertices) {
62 if (!multEstConf.isPassingVtxMultCut(
vertex.getNContributors())) {
63 const auto& timestamp{
vertex.getTimeStamp()};
65 uint32_t startROF = sel.getLayer(
layer).getROF(timestamp.lower());
66 uint32_t endROF = sel.getLayer(
layer).getROF(timestamp.upper());
67 for (
uint32_t rof = startROF; rof <= endROF; ++rof) {
68 sel.setROFsEnabled(
layer, rof, 0);
Definition of the ITSMFT compact cluster.
Configuration parameters for ITS fast multiplicity estimator.
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
Definition Physics trigger record extracted from the ITS/MFT stream.
static const FastMultEstConfig & Instance()
static constexpr int NLayers
GLenum GLuint GLint GLint layer
ROFOverlapTable< NLayers > ROFOverlapTableN
FastMultEst()
state of the gRandom before
static uint32_t getCurrentRandomSeed()
void selectROFsWithVertices(const auto &vertices, const ROFOverlapTableN::View &overlapView, ROFMaskTableN &sel) const
ROFMaskTable< NLayers > ROFMaskTableN
float process(const gsl::span< const o2::itsmft::CompClusterExt > &clusters)
float processNoiseFree(int nClusters)
int countClustersOnLayer(const gsl::span< const o2::itsmft::CompClusterExt > &clusters) const
int selectROFs(const std::array< gsl::span< const o2::itsmft::ROFRecord >, NLayers > &rofs, const std::array< gsl::span< const o2::itsmft::CompClusterExt >, NLayers > &clus, const gsl::span< const o2::itsmft::PhysTrigger > trig, uint32_t firstTForbit, bool doStaggering, const ROFOverlapTableN::View &overlapView, ROFMaskTableN &sel)
float process(int nClusters)
int nLayersUsed
retained for compatibility; set to zero in single-layer mode
uint32_t lastRandomSeed
number of layers used by estimator (0/1 in single-layer mode)
float cov[3]
imposed noise per chip (when enabled by configuration)
float noisePerChip
estimated signal clusters multiplicity on the selected multiplicity layer
float chi2
retained for compatibility; set to zero in single-layer mode
static constexpr int NLayers
float processNoiseImposed(int nClusters)
std::vector< Cluster > clusters