67 std::unique_ptr<pixelgpudetails::SiPixelRawToClusterGPUKernel::WordFedAppender>
wordFedAppender_;
75 pixelDigiToken_(consumes<edm::DetSetVector<
PixelDigi>>(iConfig.getParameter<edm::
InputTag>(
"InputDigis"))),
78 includeErrors_(iConfig.getParameter<bool>(
"IncludeErrors")),
79 clusterThresholds_{iConfig.
getParameter<int32_t>(
"clusterThreshold_layer1"),
80 iConfig.
getParameter<int32_t>(
"clusterThreshold_otherLayers")} {
82 digiErrorPutToken_ = produces<cms::cuda::Product<SiPixelDigiErrorsCUDA>>();
89 desc.
add<
bool>(
"IncludeErrors",
true);
114 for (
auto DSViter =
input.begin(); DSViter !=
input.end(); DSViter++) {
115 unsigned int detid = DSViter->detId();
116 DetId detIdObject(detid);
118 auto const gind = genericDet->
index();
119 for (
auto const& px : *DSViter) {
120 moduleIds[nDigis] = uint16_t(gind);
122 xDigis[nDigis] = uint16_t(px.row());
123 yDigis[nDigis] = uint16_t(px.column());
124 adcDigis[nDigis] = uint16_t(px.adc());
126 packedData[nDigis] = uint32_t(px.packedData());
128 rawIds[nDigis] = uint32_t(detid);
std::unique_ptr< pixelgpudetails::SiPixelRawToClusterGPUKernel::WordFedAppender > wordFedAppender_
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
edm::EDPutTokenT< cms::cuda::Product< SiPixelClustersCUDA > > clusterPutToken_
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > pixelDigiToken_
#define DEFINE_FWK_MODULE(type)
const int32_t otherLayers
std::pair< SiPixelDigisCUDA, SiPixelClustersCUDA > getResults()
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::EDPutTokenT< cms::cuda::Product< SiPixelDigiErrorsCUDA > > digiErrorPutToken_
static std::string const input
cms::cuda::ContextState ctxState_
constexpr SiPixelClusterThresholds kSiPixelClusterThresholdsDefaultPhase2
bool getData(T &iHolder) const
const SiPixelClusterThresholds clusterThresholds_
pixelgpudetails::SiPixelRawToClusterGPUKernel gpuAlgo_
bool get(ProductID const &oid, Handle< PROD > &result) const
SiPixelPhase2DigiToClusterCUDA(const edm::ParameterSet &iConfig)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void makePhase2ClustersAsync(const SiPixelClusterThresholds clusterThresholds, const uint16_t *moduleIds, const uint16_t *xDigis, const uint16_t *yDigis, const uint16_t *adcDigis, const uint32_t *packedData, const uint32_t *rawIds, const uint32_t numDigis, cudaStream_t stream)
edm::EDPutTokenT< cms::cuda::Product< SiPixelDigisCUDA > > digiPutToken_
T getParameter(std::string const &) const
StreamID streamID() const
void acquire(const edm::Event &iEvent, const edm::EventSetup &iSetup, edm::WaitingTaskWithArenaHolder waitingTaskHolder) override
SiPixelDigiErrorsCUDA && getErrors()
const bool includeErrors_
~SiPixelPhase2DigiToClusterCUDA() override=default
constexpr uint32_t maxNumDigis