#include <cstdint>
#include <cuda_runtime.h>
#include "CUDADataFormats/TrackingRecHit/interface/TrackingRecHitsUtilities.h"
#include "HeterogeneousCore/CUDAUtilities/interface/cudaCheck.h"
#include "HeterogeneousCore/CUDAUtilities/interface/cuda_assert.h"
#include "RecoLocalTracker/SiPixelRecHits/interface/pixelCPEforGPU.h"
#include "RecoTracker/PixelTrackFitting/interface/BrokenLine.h"
#include "HelixFitOnGPU.h"
Go to the source code of this file.
Typedefs | |
template<typename TrackerTraits > | |
using | OutputSoAView = TrackSoAView< TrackerTraits > |
template<typename TrackerTraits > | |
using | TupleMultiplicity = caStructures::TupleMultiplicityT< TrackerTraits > |
template<typename TrackerTraits > | |
using | Tuples = typename TrackSoA< TrackerTraits >::HitContainer |
Functions | |
template<int N, typename TrackerTraits > | |
__attribute__ ((always_inline)) void kernel_BLFastFit(Tuples< TrackerTraits > const *__restrict__ foundNtuplets | |
assert (hitsInFit<=nHitsL) | |
assert (nHitsL<=nHitsH) | |
assert (phits) | |
assert (pfast_fit) | |
assert (foundNtuplets) | |
assert (tupleMultiplicity) | |
assert (totTK<=int(tupleMultiplicity->size())) | |
assert (totTK >=0) | |
assert (results_view.eta()) | |
for (int local_idx=local_start, nt=riemannFit::maxNumberOfConcurrentFits;local_idx< nt;local_idx+=gridDim.x *blockDim.x) | |
Variables | |
double | bField |
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > | hh |
constexpr auto | invalidTkId = std::numeric_limits<typename TrackerTraits::tindex_type>::max() |
auto | local_start = blockIdx.x * blockDim.x + threadIdx.x |
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > TrackerTraits::tindex_type *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ uint32_t uint32_t | nHitsH |
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > TrackerTraits::tindex_type *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ uint32_t | nHitsL |
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > TrackerTraits::tindex_type *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ uint32_t uint32_t int32_t | offset |
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > TrackerTraits::tindex_type *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ | pfast_fit |
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > TrackerTraits::tindex_type *__restrict__ double *__restrict__ | phits |
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > TrackerTraits::tindex_type *__restrict__ double *__restrict__ float *__restrict__ | phits_ge |
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > TrackerTraits::tindex_type *__restrict__ | ptkids |
double OutputSoAView< TrackerTraits > | results_view |
int | totTK = tupleMultiplicity->end(nHitsH) - tupleMultiplicity->begin(nHitsL) |
TupleMultiplicity< TrackerTraits > const *__restrict__ | tupleMultiplicity |
using OutputSoAView = TrackSoAView<TrackerTraits> |
Definition at line 22 of file BrokenLineFitOnGPU.h.
using TupleMultiplicity = caStructures::TupleMultiplicityT<TrackerTraits> |
Definition at line 24 of file BrokenLineFitOnGPU.h.
Definition at line 20 of file BrokenLineFitOnGPU.h.
|
inline |
assert | ( | hitsInFit<= | nHitsL | ) |
Referenced by for().
assert | ( | nHitsL<= | nHitsH | ) |
assert | ( | phits | ) |
assert | ( | pfast_fit | ) |
assert | ( | foundNtuplets | ) |
assert | ( | tupleMultiplicity | ) |
assert | ( | totTK<= | inttupleMultiplicity->size() | ) |
assert | ( | totTK >= | 0 | ) |
assert | ( | results_view. | eta() | ) |
for | ( | int | local_idx = local_start | ) |
Definition at line 62 of file BrokenLineFitOnGPU.h.
References cms::cudacompat::__syncthreads(), funct::abs(), assert(), cms::cudacompat::atomicAdd(), newFWLiteAna::bin, fileCollector::done, Calorimetry_cff::dp, GCP_Ntuples_cfg::dump, PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, f, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::fast_fit, brokenline::fastFit(), caHitNtupletGeneratorKernels::foundNtuplets, hh, hfClusterShapes_cfi::hits, mps_fire::i, createfilelist::int, invalidTkId, dqmiolumiharvest::j, CPEFastParametrisation::kGenErrorQBins, CPEFastParametrisation::kNumErrorBins, SiStripPI::max, dqmiodumpmetadata::n, nHits, nHitsH, nHitsL, offset, pfast_fit, phits, phits_ge, ptkids, mps_update::status, totTK, and tupleMultiplicity.
uint32_t double bField |
Definition at line 170 of file BrokenLineFitOnGPU.h.
TupleMultiplicity<TrackerTraits> const* __restrict__ TrackingRecHitSoAConstView<TrackerTraits> hh |
Definition at line 30 of file BrokenLineFitOnGPU.h.
Referenced by for().
constexpr auto invalidTkId = std::numeric_limits<typename TrackerTraits::tindex_type>::max() |
Definition at line 40 of file BrokenLineFitOnGPU.h.
Referenced by for(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFastFit< N, TrackerTraits >::operator()(), and ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFit< N, TrackerTraits >::operator()().
auto local_start = blockIdx.x * blockDim.x + threadIdx.x |
Definition at line 50 of file BrokenLineFitOnGPU.h.
TupleMultiplicity<TrackerTraits> const* __restrict__ TrackingRecHitSoAConstView<TrackerTraits> TrackerTraits::tindex_type* __restrict__ double* __restrict__ float* __restrict__ double* __restrict__ uint32_t uint32_t nHitsH |
Definition at line 30 of file BrokenLineFitOnGPU.h.
Referenced by for(), and ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFastFit< N, TrackerTraits >::operator()().
TupleMultiplicity<TrackerTraits> const* __restrict__ TrackingRecHitSoAConstView<TrackerTraits> TrackerTraits::tindex_type* __restrict__ double* __restrict__ float* __restrict__ double* __restrict__ uint32_t nHitsL |
Definition at line 30 of file BrokenLineFitOnGPU.h.
Referenced by for(), and ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFastFit< N, TrackerTraits >::operator()().
uint32_t double OutputSoAView< TrackerTraits > double *__restrict__ float *__restrict__ double *__restrict__ riemannFit::CircleFit *__restrict__ uint32_t offset |
double OutputSoAView< TrackerTraits > TrackerTraits::tindex_type const *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ pfast_fit |
Definition at line 30 of file BrokenLineFitOnGPU.h.
Referenced by for(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFastFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_FastFit< N, TrackerTraits >::operator()(), and ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFit< N, TrackerTraits >::operator()().
uint32_t double OutputSoAView< TrackerTraits > double *__restrict__ phits |
Definition at line 30 of file BrokenLineFitOnGPU.h.
Referenced by EcalTBValidation::analyze(), EcalSimpleTBAnalyzer::analyze(), EcalSimple2007H4TBAnalyzer::analyze(), ElectronCalibration::analyze(), FWTrackingParticleProxyBuilderFullFramework::build(), ZeeCalibration::duringLoop(), ElectronCalibration::findMaxHit(), for(), JetMatchingTools::getGenParticles(), PhotonConversionTrajectorySeedProducerFromQuadrupletsAlgo::inspect(), JetMatchingTools::lostEnergyFraction(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFastFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_FastFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_CircleFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_LineFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFit< N, TrackerTraits >::operator()(), and SeedForPhotonConversionFromQuadruplets::trajectorySeed().
uint32_t double OutputSoAView< TrackerTraits > double *__restrict__ float *__restrict__ phits_ge |
Definition at line 30 of file BrokenLineFitOnGPU.h.
Referenced by for(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_FastFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFastFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_CircleFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_LineFit< N, TrackerTraits >::operator()(), and ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFit< N, TrackerTraits >::operator()().
double OutputSoAView< TrackerTraits > TrackerTraits::tindex_type const *__restrict__ ptkids |
Definition at line 30 of file BrokenLineFitOnGPU.h.
Referenced by for(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFastFit< N, TrackerTraits >::operator()(), and ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFit< N, TrackerTraits >::operator()().
double OutputSoAView<TrackerTraits> results_view |
Definition at line 170 of file BrokenLineFitOnGPU.h.
Referenced by ALPAKA_ACCELERATOR_NAMESPACE::Kernel_LineFit< N, TrackerTraits >::operator()(), and ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFit< N, TrackerTraits >::operator()().
int totTK = tupleMultiplicity->end(nHitsH) - tupleMultiplicity->begin(nHitsL) |
Definition at line 51 of file BrokenLineFitOnGPU.h.
Referenced by for(), and ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFastFit< N, TrackerTraits >::operator()().
TupleMultiplicity<TrackerTraits> const* __restrict__ tupleMultiplicity |
Definition at line 30 of file BrokenLineFitOnGPU.h.
Referenced by ALPAKA_ACCELERATOR_NAMESPACE::HelixFit< TrackerTraits >::allocate(), HelixFitOnGPU< TrackerTraits >::allocateOnGPU(), for(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_BLFastFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_FastFit< N, TrackerTraits >::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::Kernel_CircleFit< N, TrackerTraits >::operator()(), and ALPAKA_ACCELERATOR_NAMESPACE::Kernel_LineFit< N, TrackerTraits >::operator()().