1 #include <alpaka/alpaka.hpp> 29 template <
typename TrackerTraits>
55 template <
typename TrackerTraits>
59 tokenHit_(consumes(iConfig.getParameter<
edm::
InputTag>(
"pixelRecHitSrc"))),
60 tokenTrack_(produces()),
61 deviceAlgo_(iConfig) {
63 #ifdef ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLED 64 if constexpr (std::is_same_v<TrackerTraits, pixelTopology::Phase1>) {
65 producesTemporarily(
"edm::DeviceProduct<alpaka_cuda_async::pixelTrack::TracksSoACollectionPhase1>");
70 template <
typename TrackerTraits>
77 cpe += TrackerTraits::nameModifier;
84 template <
typename TrackerTraits>
86 auto bf = 1. / es.
getData(tokenField_).inverseBzAtOriginInGeV();
88 auto& fcpe = es.
getData(cpeToken_);
92 iEvent.emplace(tokenTrack_, deviceAlgo_.makeTuplesAsync(
hits, fcpe.const_buffer().data(), bf,
iEvent.queue()));
const device::EDGetToken< HitsOnDevice > tokenHit_
void produce(device::Event &iEvent, const device::EventSetup &es) override
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
const device::EDPutToken< TkSoADevice > tokenTrack_
CAHitNtupletAlpaka(const edm::ParameterSet &iConfig)
const device::ESGetToken< PixelCPEFastParams< TrackerTraits >, PixelCPEFastParamsRecord > cpeToken_
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tokenField_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
~CAHitNtupletAlpaka() override=default
TracksSoACollection< TrackerTraits > TkSoADevice
TrackingRecHitsSoACollection< TrackerTraits > HitsOnDevice
TrackingRecHitSoAConstView< TrackerTraits > HitsConstView
std::conditional_t< std::is_same_v< Device, alpaka::DevCpu >, TrackingRecHitHost< TrackerTraits >, TrackingRecHitDevice< TrackerTraits, Device > > TrackingRecHitsSoACollection
T const & getData(edm::ESGetToken< T, R > const &iToken) const
void fillPSetDescription(edm::ParameterSetDescription &desc)
typename TrackingRecHitSoA< TrackerTraits >::template TrackingRecHitSoALayout<>::ConstView TrackingRecHitSoAConstView
std::conditional_t< std::is_same_v< Device, alpaka::DevCpu >, TracksHost< TrackerTraits >, TracksDevice< TrackerTraits, Device > > TracksSoACollection
#define DEFINE_FWK_ALPAKA_MODULE(name)
CAHitNtupletAlpaka< pixelTopology::Phase2 > CAHitNtupletAlpakaPhase2
CAHitNtupletAlpaka< pixelTopology::Phase1 > CAHitNtupletAlpakaPhase1