1 #include <alpaka/alpaka.hpp> 29 template <
typename TrackerTraits>
53 template <
typename TrackerTraits>
55 : algo_(conf.getParameter<
bool>(
"oneKernel"),
56 conf.getParameter<
bool>(
"useDensity"),
57 conf.getParameter<
bool>(
"useDBSCAN"),
58 conf.getParameter<
bool>(
"useIterative"),
59 conf.getParameter<
bool>(
"doSplitting"),
60 conf.getParameter<
int>(
"minT"),
61 conf.getParameter<double>(
"eps"),
62 conf.getParameter<double>(
"errmax"),
63 conf.getParameter<double>(
"chi2max")),
64 ptMin_(conf.getParameter<double>(
"PtMin")),
65 ptMax_(conf.getParameter<double>(
"PtMax")),
66 tokenDeviceTrack_(consumes(conf.getParameter<
edm::
InputTag>(
"pixelTrackSrc"))),
67 tokenDeviceVertex_(produces()) {
69 #ifdef ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLED 70 producesTemporarily(
"edm::DeviceProduct<alpaka_cuda_async::ZVertexSoACollection>");
74 template <
typename TrackerTraits>
80 desc.add<
bool>(
"oneKernel",
true);
81 desc.add<
bool>(
"useDensity",
true);
82 desc.add<
bool>(
"useDBSCAN",
false);
83 desc.add<
bool>(
"useIterative",
false);
84 desc.add<
bool>(
"doSplitting",
true);
86 desc.add<
int>(
"minT", 2);
87 desc.add<
double>(
"eps", 0.07);
88 desc.add<
double>(
"errmax", 0.01);
89 desc.add<
double>(
"chi2max", 9.);
91 desc.add<
double>(
"PtMin", 0.5);
92 desc.add<
double>(
"PtMax", 75.);
98 template <
typename TrackerTraits>
102 auto const& hTracks =
iEvent.get(tokenDeviceTrack_);
104 iEvent.emplace(tokenDeviceVertex_, algo_.makeAsync(
iEvent.queue(), hTracks.view(), ptMin_, ptMax_));
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
TracksSoACollection< TrackerTraits > TkSoADevice
device::EDPutToken< ZVertexSoACollection > tokenDeviceVertex_
PixelVertexProducerAlpaka< pixelTopology::HIonPhase1 > PixelVertexProducerAlpakaHIonPhase1
PixelVertexProducerAlpaka< pixelTopology::Phase1 > PixelVertexProducerAlpakaPhase1
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
PixelVertexProducerAlpaka(const edm::ParameterSet &iConfig)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::conditional_t< std::is_same_v< Device, alpaka::DevCpu >, TracksHost< TrackerTraits >, TracksDevice< TrackerTraits, Device > > TracksSoACollection
#define DEFINE_FWK_ALPAKA_MODULE(name)
device::EDGetToken< TkSoADevice > tokenDeviceTrack_
void produce(edm::StreamID streamID, device::Event &iEvent, const device::EventSetup &iSetup) const override
PixelVertexProducerAlpaka< pixelTopology::Phase2 > PixelVertexProducerAlpakaPhase2