Project
Loading...
Searching...
No Matches
o2::its::TrackingKernels< NLayers > Struct Template Reference

#include <TrackingKernels.h>

Static Public Member Functions

static int computeTrackletsInROFsHandler (const IndexTableUtils< NLayers > *utils, const typename ROFMaskTable< NLayers >::View &rofMask, const int linkId, const int fromLayer, const int toLayer, const typename ROFOverlapTable< NLayers >::View &rofOverlaps, const typename ROFVertexLookupTable< NLayers >::View &vertexLUT, const int vertexId, const Vertex *vertices, const bool useDiamond, const Cluster **clusters, const std::vector< unsigned int > &nClusters, const int **ROFClusters, const unsigned char **usedClusters, const int **clustersIndexTables, Tracklet **tracklets, gsl::span< Tracklet * > spanTracklets, gsl::span< int > nTracklets, const int capacity, gsl::span< int * > trackletsLUTsHost, const bool selectUPCVertices, const float NSigmaCut, const typename TrackingTopology< NLayers >::View topology, bounded_vector< float > &linkPhiCuts, const float resolutionPV, const float *minRs, const float *maxRs, bounded_vector< float > &resolutions, std::vector< float > &radii, bounded_vector< float > &linkMSAngles, o2::its::ExternalAllocator *alloc, gpu::Streams &streams)
 
static int computeCellsHandler (const Cluster **sortedClusters, const Cluster **unsortedClusters, const TrackingFrameInfo **tfInfo, Tracklet **tracklets, int **trackletsLUT, const int nTracklets, const int cellTopologyId, const typename TrackingTopology< NLayers >::View topology, CellSeed *cells, const int capacity, int *cellsLUTsHost, const float bz, const float maxChi2ClusterAttachment, const float cellDeltaTanLambdaSigma, const float cellDeltaPhiCut, const float nSigmaCut, const float *layerxX0, CapacityEstimator &estimator, const int iteration, const bool orderCandidates, o2::its::ExternalAllocator *alloc, gpu::Streams &streams)
 
static void computeCellNeighboursHandler (CellSeed **cellsLayersDevice, int **cellsLUTs, CellNeighbour *cellNeighbours, int *outputCounter, const int capacity, const int sourceCellTopologyId, const int targetCellTopologyId, const float maxChi2ClusterAttachment, const float bz, const unsigned int nCells, o2::its::ExternalAllocator *alloc, gpu::Stream &stream)
 
static void processNeighboursHandler (const int startLevel, const int startCellTopologyId, CellSeed **allCellSeeds, CellSeed *currentCellSeeds, const int *currentCellTopologyIds, const int *currentCellIds, const int *nCells, const unsigned char **usedClusters, CellNeighbour **neighbours, int **neighboursDeviceLUTs, const TrackingFrameInfo **foundTrackingFrameInfo, TrackSeed< NLayers > *seedsDevice, const int seedsCapacity, int &seedsCursor, CapacityEstimator &estimator, const int iteration, const float bz, const float MaxChi2ClusterAttachment, const float maxChi2NDF, const int maxHoles, const int minSeedingClusters, const LayerMask holeLayerMask, const LayerMask nonSeedingLayerMask, const float *layerxX0, const o2::base::Propagator *propagator, const o2::base::PropagatorF::MatCorrType matCorrType, o2::its::ExternalAllocator *alloc)
 
static int computeTrackSeedHandler (TrackSeed< NLayers > *trackSeeds, const TrackingFrameInfo **foundTrackingFrameInfo, const Cluster **unsortedClusters, const IndexTableUtils< NLayers > *utils, const typename ROFMaskTable< NLayers >::View &rofMask, const typename ROFOverlapTable< NLayers >::View &rofOverlaps, const Cluster **clusters, const unsigned char **usedClusters, const int **clustersIndexTables, const int **ROFClusters, o2::its::TrackITSExt *tracks, int *trackIndices, int *trackSeedIndices, int *outputCounter, const int trackCapacity, TrackExtensionHypothesis< NLayers > *activeHypotheses, TrackExtensionHypothesis< NLayers > *nextHypotheses, const float *layerRadii, const float *minPts, const float *layerxX0, const unsigned int nSeeds, const float Bz, const float maxChi2ClusterAttachment, const float maxChi2NDF, const int reseedIfShorter, const bool repeatRefitOut, const bool shiftRefToCluster, const int nLayers, const int phiBins, const int maxHypotheses, const bool extendTop, const bool extendBot, const float nSigmaCutPhi, const float nSigmaCutZ, const o2::base::Propagator *propagator, const o2::base::PropagatorF::MatCorrType matCorrType, o2::its::ExternalAllocator *alloc)
 
static void sortClustersHandler (const Cluster *unsorted, Cluster *sorted, const int *clusterOffsets, int *indexTable, const IndexTableUtils< NLayers > *utils, const typename ROFMaskTable< NLayers >::View &rofMask, float beamX, float beamY, int zBins, int phiBins, int nRofs, int nClustersLayer, int iLayer, float *minRadiusLayer, float *maxRadiusLayer, int *keys, int *perm, o2::its::ExternalAllocator *alloc, gpu::Stream &stream)
 
static void registerClusterOwnershipHandler (const CellSeed *cellsLayersDevice, const int nCells, unsigned long long **clusterOwnersDeviceArray, gpu::Stream &stream)
 
static void linearizeCellsToLinesHandler (const int nCells, const CellSeed *cells, const unsigned long long *const *clusterOwners, const int *rofFramesClustersL1, const int nRofsL1, const int ownedClustersCut, o2::its::Line *lines, int *lineRof, int *lineClusters, int *lineSlots, const float beamX, const float beamY, const float bz, const float curvatureScale, const float maxZ, const float minPt, float *linesZs, o2::its::TimeEstBC *lineTimes, float *lineChi2, float *linePt, o2::its::ExternalAllocator *alloc, gpu::Stream &stream)
 
static void sortLinesHandler (const int nLines, const int nRofs, const gpu::LineProjSoA soa, const gpu::LineProjSoA sortedSoa, const int *lineRof, int *rofOffsets, o2::its::ExternalAllocator *alloc, gpu::Stream &stream)
 
static void scanDensityHandler (const int nLines, const gpu::LineProjSoA sortedSoa, const int *rofOffsets, int *density, gpu::LineWindow *win, const float zWindow, gpu::Stream &stream)
 
static void findPeaksHandler (const int nLines, const int nRofs, const gpu::LineProjSoA sortedSoa, const int *rofOffsets, const int *density, const gpu::LineWindow *win, uint8_t *isPeak, const int *densityFine, const gpu::LineWindow *winFine, const int fineMinDensity, uint8_t *isPeakFine, int *peakScan, int *peakLineIdx, int *peakOffsets, o2::its::ExternalAllocator *alloc, gpu::Stream &stream)
 
static void fitPeaksHandler (const int *nPeaksDevice, const int *peakLineIdx, const gpu::LineWindow *win, const gpu::LineProjSoA sortedSoa, const o2::its::Line *lines, const float *lineChi2, const float *linePt, const float goodLineChi2Cut, const float goodLinePtCut, const float pairCut2, const float nSigmaCut, const int minContributors, const float beamX, const float beamY, const uint8_t *isPeakFine, const float fineMaxDrift, gpu::VertexCand *cands, gpu::Stream &stream)
 
static void dedupVertexCandidatesHandler (const int *nPeaksDevice, const int *peakLineIdx, const int *peakOffsets, const gpu::LineProjSoA sortedSoa, const float duplicateZCut, const float duplicateZScale, gpu::VertexCand *cands, gpu::Stream &stream)
 

Detailed Description

template<int NLayers>
struct o2::its::TrackingKernels< NLayers >

Definition at line 47 of file TrackingKernels.h.

Member Function Documentation

◆ computeCellNeighboursHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::computeCellNeighboursHandler ( CellSeed **  cellsLayersDevice,
int **  cellsLUTs,
CellNeighbour *  cellNeighbours,
int *  outputCounter,
const int  capacity,
const int  sourceCellTopologyId,
const int  targetCellTopologyId,
const float  maxChi2ClusterAttachment,
const float  bz,
const unsigned int  nCells,
o2::its::ExternalAllocator *  alloc,
gpu::Stream &  stream 
)
static

◆ computeCellsHandler()

template<int NLayers>
static int o2::its::TrackingKernels< NLayers >::computeCellsHandler ( const Cluster **  sortedClusters,
const Cluster **  unsortedClusters,
const TrackingFrameInfo **  tfInfo,
Tracklet **  tracklets,
int **  trackletsLUT,
const int  nTracklets,
const int  cellTopologyId,
const typename TrackingTopology< NLayers >::View  topology,
CellSeed *  cells,
const int  capacity,
int *  cellsLUTsHost,
const float  bz,
const float  maxChi2ClusterAttachment,
const float  cellDeltaTanLambdaSigma,
const float  cellDeltaPhiCut,
const float  nSigmaCut,
const float *  layerxX0,
CapacityEstimator &  estimator,
const int  iteration,
const bool  orderCandidates,
o2::its::ExternalAllocator *  alloc,
gpu::Streams &  streams 
)
static

◆ computeTrackletsInROFsHandler()

template<int NLayers>
static int o2::its::TrackingKernels< NLayers >::computeTrackletsInROFsHandler ( const IndexTableUtils< NLayers > *  utils,
const typename ROFMaskTable< NLayers >::View &  rofMask,
const int  linkId,
const int  fromLayer,
const int  toLayer,
const typename ROFOverlapTable< NLayers >::View &  rofOverlaps,
const typename ROFVertexLookupTable< NLayers >::View &  vertexLUT,
const int  vertexId,
const Vertex *  vertices,
const bool  useDiamond,
const Cluster **  clusters,
const std::vector< unsigned int > &  nClusters,
const int **  ROFClusters,
const unsigned char **  usedClusters,
const int **  clustersIndexTables,
Tracklet **  tracklets,
gsl::span< Tracklet * >  spanTracklets,
gsl::span< int >  nTracklets,
const int  capacity,
gsl::span< int * >  trackletsLUTsHost,
const bool  selectUPCVertices,
const float  NSigmaCut,
const typename TrackingTopology< NLayers >::View  topology,
bounded_vector< float > &  linkPhiCuts,
const float  resolutionPV,
const float *  minRs,
const float *  maxRs,
bounded_vector< float > &  resolutions,
std::vector< float > &  radii,
bounded_vector< float > &  linkMSAngles,
o2::its::ExternalAllocator *  alloc,
gpu::Streams &  streams 
)
static

◆ computeTrackSeedHandler()

template<int NLayers>
static int o2::its::TrackingKernels< NLayers >::computeTrackSeedHandler ( TrackSeed< NLayers > *  trackSeeds,
const TrackingFrameInfo **  foundTrackingFrameInfo,
const Cluster **  unsortedClusters,
const IndexTableUtils< NLayers > *  utils,
const typename ROFMaskTable< NLayers >::View &  rofMask,
const typename ROFOverlapTable< NLayers >::View &  rofOverlaps,
const Cluster **  clusters,
const unsigned char **  usedClusters,
const int **  clustersIndexTables,
const int **  ROFClusters,
o2::its::TrackITSExt *  tracks,
int *  trackIndices,
int *  trackSeedIndices,
int *  outputCounter,
const int  trackCapacity,
TrackExtensionHypothesis< NLayers > *  activeHypotheses,
TrackExtensionHypothesis< NLayers > *  nextHypotheses,
const float *  layerRadii,
const float *  minPts,
const float *  layerxX0,
const unsigned int  nSeeds,
const float  Bz,
const float  maxChi2ClusterAttachment,
const float  maxChi2NDF,
const int  reseedIfShorter,
const bool  repeatRefitOut,
const bool  shiftRefToCluster,
const int  nLayers,
const int  phiBins,
const int  maxHypotheses,
const bool  extendTop,
const bool  extendBot,
const float  nSigmaCutPhi,
const float  nSigmaCutZ,
const o2::base::Propagator *  propagator,
const o2::base::PropagatorF::MatCorrType  matCorrType,
o2::its::ExternalAllocator *  alloc 
)
static

◆ dedupVertexCandidatesHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::dedupVertexCandidatesHandler ( const int *  nPeaksDevice,
const int *  peakLineIdx,
const int *  peakOffsets,
const gpu::LineProjSoA  sortedSoa,
const float  duplicateZCut,
const float  duplicateZScale,
gpu::VertexCand *  cands,
gpu::Stream &  stream 
)
static

◆ findPeaksHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::findPeaksHandler ( const int  nLines,
const int  nRofs,
const gpu::LineProjSoA  sortedSoa,
const int *  rofOffsets,
const int *  density,
const gpu::LineWindow *  win,
uint8_t *  isPeak,
const int *  densityFine,
const gpu::LineWindow *  winFine,
const int  fineMinDensity,
uint8_t *  isPeakFine,
int *  peakScan,
int *  peakLineIdx,
int *  peakOffsets,
o2::its::ExternalAllocator *  alloc,
gpu::Stream &  stream 
)
static

◆ fitPeaksHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::fitPeaksHandler ( const int *  nPeaksDevice,
const int *  peakLineIdx,
const gpu::LineWindow *  win,
const gpu::LineProjSoA  sortedSoa,
const o2::its::Line *  lines,
const float *  lineChi2,
const float *  linePt,
const float  goodLineChi2Cut,
const float  goodLinePtCut,
const float  pairCut2,
const float  nSigmaCut,
const int  minContributors,
const float  beamX,
const float  beamY,
const uint8_t *  isPeakFine,
const float  fineMaxDrift,
gpu::VertexCand *  cands,
gpu::Stream &  stream 
)
static

◆ linearizeCellsToLinesHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::linearizeCellsToLinesHandler ( const int  nCells,
const CellSeed *  cells,
const unsigned long long *const *  clusterOwners,
const int *  rofFramesClustersL1,
const int  nRofsL1,
const int  ownedClustersCut,
o2::its::Line *  lines,
int *  lineRof,
int *  lineClusters,
int *  lineSlots,
const float  beamX,
const float  beamY,
const float  bz,
const float  curvatureScale,
const float  maxZ,
const float  minPt,
float *  linesZs,
o2::its::TimeEstBC *  lineTimes,
float *  lineChi2,
float *  linePt,
o2::its::ExternalAllocator *  alloc,
gpu::Stream &  stream 
)
static

◆ processNeighboursHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::processNeighboursHandler ( const int  startLevel,
const int  startCellTopologyId,
CellSeed **  allCellSeeds,
CellSeed *  currentCellSeeds,
const int *  currentCellTopologyIds,
const int *  currentCellIds,
const int *  nCells,
const unsigned char **  usedClusters,
CellNeighbour **  neighbours,
int **  neighboursDeviceLUTs,
const TrackingFrameInfo **  foundTrackingFrameInfo,
TrackSeed< NLayers > *  seedsDevice,
const int  seedsCapacity,
int &  seedsCursor,
CapacityEstimator &  estimator,
const int  iteration,
const float  bz,
const float  MaxChi2ClusterAttachment,
const float  maxChi2NDF,
const int  maxHoles,
const int  minSeedingClusters,
const LayerMask  holeLayerMask,
const LayerMask  nonSeedingLayerMask,
const float *  layerxX0,
const o2::base::Propagator *  propagator,
const o2::base::PropagatorF::MatCorrType  matCorrType,
o2::its::ExternalAllocator *  alloc 
)
static

◆ registerClusterOwnershipHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::registerClusterOwnershipHandler ( const CellSeed *  cellsLayersDevice,
const int  nCells,
unsigned long long **  clusterOwnersDeviceArray,
gpu::Stream &  stream 
)
static

◆ scanDensityHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::scanDensityHandler ( const int  nLines,
const gpu::LineProjSoA  sortedSoa,
const int *  rofOffsets,
int *  density,
gpu::LineWindow *  win,
const float  zWindow,
gpu::Stream &  stream 
)
static

◆ sortClustersHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::sortClustersHandler ( const Cluster *  unsorted,
Cluster *  sorted,
const int *  clusterOffsets,
int *  indexTable,
const IndexTableUtils< NLayers > *  utils,
const typename ROFMaskTable< NLayers >::View &  rofMask,
float  beamX,
float  beamY,
int  zBins,
int  phiBins,
int  nRofs,
int  nClustersLayer,
int  iLayer,
float *  minRadiusLayer,
float *  maxRadiusLayer,
int *  keys,
int *  perm,
o2::its::ExternalAllocator *  alloc,
gpu::Stream &  stream 
)
static

◆ sortLinesHandler()

template<int NLayers>
static void o2::its::TrackingKernels< NLayers >::sortLinesHandler ( const int  nLines,
const int  nRofs,
const gpu::LineProjSoA  soa,
const gpu::LineProjSoA  sortedSoa,
const int *  lineRof,
int *  rofOffsets,
o2::its::ExternalAllocator *  alloc,
gpu::Stream &  stream 
)
static

The documentation for this struct was generated from the following file: