1 #ifndef RecoTracker_PixelSeeding_plugins_alpaka_CAHitNtupletGeneratorKernels_h 2 #define RecoTracker_PixelSeeding_plugins_alpaka_CAHitNtupletGeneratorKernels_h 9 #include <alpaka/alpaka.hpp> 53 template <
typename TrackerTraits,
typename Enable =
void>
56 ALPAKA_FN_ACC ALPAKA_FN_INLINE
bool startAt0(int16_t pid)
const {
return false; };
59 template <
typename TrackerTraits>
67 ALPAKA_FN_ACC ALPAKA_FN_INLINE
bool startAt0(int16_t pid)
const {
70 (pid < 3 || pid == 13 || pid == 15 || pid == 16));
75 template <
typename TrackerTraits>
84 ALPAKA_FN_ACC ALPAKA_FN_INLINE
bool startAt0(int16_t pid)
const {
92 template <
typename TrackerTraits,
typename Enable =
void>
96 inline uint32_t
nPairs()
const {
return 0; }
99 template <
typename TrackerTraits>
101 using TT = TrackerTraits;
110 :
AlgoParams(commonCuts), cellCuts_(cellCuts), qualityCuts_(cutsCuts), caParams_(caParams) {}
114 {0.68177776, 0.74609577, -0.08035491, 0.00315399},
150 template <
typename TrackerTraits>
152 using TT = TrackerTraits;
171 if (caParams_.includeFarForwards_) {
206 template <
typename TTTraits>
277 #endif // RecoTracker_PixelSeeding_plugins_alpaka_CAHitNtupletGeneratorKernels_h ALPAKA_FN_ACC ALPAKA_FN_INLINE bool startAt0(int16_t pid) const
Is this a pair with inner == 0.
caStructures::template TupleMultiplicityT< TrackerTraits > TupleMultiplicity
cms::alpakatools::device_buffer< Device, cms::alpakatools::AtomicPairCounter::DoubleWord[]> device_storage_
cms::alpakatools::device_buffer< Device, CACell[]> device_theCells_
reco::TrackSoAView< TrackerTraits > TkSoAView
const float dcaCutInnerTriplet_
ALPAKA_FN_ACC ALPAKA_FN_INLINE bool startingLayerPair(int16_t pid) const
Is is a starting layer pair?
const float CAThetaCutBarrel_
cms::alpakatools::device_buffer< Device, HitToTuple > device_hitToTuple_
unsigned long long nDupHits
unsigned long long nLooseTracks
const bool includeFarForwards_
const uint32_t minHitsForSharingCut_
CAHitNtupletGeneratorKernels(Params const ¶ms, uint32_t nhits, uint32_t offsetBPIX2, Queue &queue)
ALPAKA_FN_ACC ALPAKA_FN_INLINE bool startingLayerPair(int16_t pid) const
Is is a starting layer pair?
typename std::enable_if< std::is_base_of< Phase2, T >::value >::type isPhase2Topology
const bool doSharedHitCut_
const float dcaCutOuterTriplet_
CellTracks * device_theCellTracksContainer_
cms::alpakatools::AtomicPairCounter * device_hitToTuple_apc_
const bool useSimpleTripletCleaner_
caStructures::template HitToTupleT< TrackerTraits > HitToTuple
typename reco::TrackSoA< TrackerTraits >::HitContainer HitContainer
ParamsT(AlgoParams const &commonCuts, CellCuts const &cellCuts, QualityCuts const &cutsCuts, CAParams const &caParams)
const float CAThetaCutForward_
caHitNtupletGenerator::Counters Counters
unsigned long long nUsedHits
const uint32_t minHitsPerNtuplet_
HitToTuple::View device_hitToTupleView_
unsigned long long nTuples
const bool dupPassThrough_
cms::alpakatools::device_buffer< Device, OuterHitOfCellContainer[]> device_isOuterHitOfCell_
pixelTrack::Quality Quality
TrackingRecHitSoAConstView< TrackerTraits > HitsConstView
static void printCounters()
cms::alpakatools::device_buffer< Device, OuterHitOfCell > isOuterHitOfCell_
~CAHitNtupletGeneratorKernels()=default
unsigned long long nZeroTrackCells
cms::alpakatools::device_buffer< Device, CellTracksVector > device_theCellTracks_
def template(fileName, svg, replaceme="REPLACEME")
unsigned long long nKilledCells
typename std::enable_if< std::is_base_of< Phase1, T >::value >::type isPhase1Topology
const bool includeJumpingForwardDoublets_
uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > OuterHitOfCell< TrackerTraits > int nActualPairs
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh
cms::alpakatools::device_view< Device, uint32_t > device_nCells_
unsigned long long nEmptyCells
typename CACellT< TrackerTraits >::HitsConstView HitsConstView
cms::alpakatools::device_buffer< Device, unsigned char[]> cellStorage_
const bool earlyFishbone_
TrackingRecHitSoAView< TrackerTraits > HitsView
const bool useRiemannFit_
void buildDoublets(const HitsConstView &hh, uint32_t offsetBPIX2, Queue &queue)
unsigned long long nFishCells
cms::alpakatools::device_buffer< Device, CellCuts > device_cellCuts_
ALPAKA_FN_ACC ALPAKA_FN_INLINE bool startingLayerPair(int16_t pid) const
typename TrackingRecHitSoA< TrackerTraits >::template TrackingRecHitSoALayout<>::ConstView TrackingRecHitSoAConstView
unsigned long long nFitTracks
unsigned long long nGoodTracks
TupleMultiplicity const * tupleMultiplicity() const
cms::alpakatools::AtomicPairCounter * device_hitTuple_apc_
unsigned long long nCells
void launchKernels(const HitsConstView &hh, uint32_t offsetBPIX2, TkSoAView &track_view, Queue &queue)
cms::alpakatools::device_buffer< Device, Counters > counters_
typename TrackingRecHitSoA< TrackerTraits >::template TrackingRecHitSoALayout<>::View TrackingRecHitSoAView
cms::alpakatools::device_buffer< Device, TupleMultiplicity > device_tupleMultiplicity_
ParamsT(AlgoParams const &commonCuts, CellCuts const &cellCuts, QualityCuts const &qualityCuts, CAParams const &caParams)
cms::alpakatools::device_buffer< Device, CellNeighborsVector > device_theCellNeighbors_
unsigned long long nEvents
ALPAKA_ASSERT_ACC(offsets)
ALPAKA_FN_ACC ALPAKA_FN_INLINE bool startAt0(int16_t pid) const
Is this a pair with inner == 0?
CellNeighbors * device_theCellNeighborsContainer_
void classifyTuples(const HitsConstView &hh, TkSoAView &track_view, Queue &queue)
static constexpr uint8_t const * layerPairs
ALPAKA_FN_ACC ALPAKA_FN_INLINE bool startAt0(int16_t pid) const
uint32_t nPairs() const
Compute the number of pairs.
cms::alpakatools::device_buffer< Device, uint32_t[]> device_hitToTupleStorage_
static constexpr uint8_t const * layerPairs
const uint32_t maxNumberOfDoublets_
typename reco::TrackSoA< TrackerTraits >::template Layout<>::View TrackSoAView