55 std::vector<int>
feds(nFeds);
56 for (
int i = 0;
i < nFeds; ++
i)
58 desc.add<std::vector<int>>(
"FEDs",
feds);
59 desc.add<uint32_t>(
"maxChannelsF01HE", 10000u);
60 desc.add<uint32_t>(
"maxChannelsF5HB", 10000u);
61 desc.add<uint32_t>(
"maxChannelsF3HB", 10000u);
62 desc.add<uint32_t>(
"nsamplesF01HE", 8);
63 desc.add<uint32_t>(
"nsamplesF5HB", 8);
64 desc.add<uint32_t>(
"nsamplesF3HB", 8);
75 rawDataToken_{consumes<FEDRawDataCollection>(ps.getParameter<
edm::InputTag>(
"InputLabel"))},
76 digisF01HEToken_{produces<ProductTypef01>(ps.getParameter<
std::string>(
"digisLabelF01HE"))},
77 digisF5HBToken_{produces<ProductTypef5>(ps.getParameter<
std::string>(
"digisLabelF5HB"))},
78 digisF3HBToken_{produces<ProductTypef3>(ps.getParameter<
std::string>(
"digisLabelF3HB"))},
79 fedsToUnpack_{ps.getParameter<std::vector<int>>(
"FEDs")} {
80 config_.maxChannelsF01HE = ps.getParameter<uint32_t>(
"maxChannelsF01HE");
81 config_.maxChannelsF5HB = ps.getParameter<uint32_t>(
"maxChannelsF5HB");
82 config_.maxChannelsF3HB = ps.getParameter<uint32_t>(
"maxChannelsF3HB");
83 config_.nsamplesF01HE = ps.getParameter<uint32_t>(
"nsamplesF01HE");
84 config_.nsamplesF5HB = ps.getParameter<uint32_t>(
"nsamplesF5HB");
85 config_.nsamplesF3HB = ps.getParameter<uint32_t>(
"nsamplesF3HB");
135 uint32_t currentCummOffset = 0;
139 auto const nbytes =
data.size();
145 #ifdef HCAL_RAWDECODE_CPUDEBUG 146 printf(
"fed = %d nbytes = %lu\n", fed, nbytes);
150 std::memcpy(inputCPU.
data.get() + currentCummOffset,
data.data(), nbytes);
156 currentCummOffset += nbytes;
175 #ifdef HCAL_RAWDECODE_CPUDEBUG 176 printf(
"f01he channels = %u f5hb channesl = %u\n",
hcal::raw::OutputDataGPU outputGPU_
~HcalRawToDigiGPU() override
#define DEFINE_FWK_MODULE(type)
DigiCollection< Flavor5, ::calo::common::DevStoragePolicy > digisF5HB
constexpr uint32_t nbytes_per_fed_max
constexpr uint8_t OutputF5HB
cms::cuda::ContextState cudaState_
constexpr int32_t empty_event_size
edm::ESGetToken< hcal::raw::ElectronicsMappingGPU, HcalElectronicsMapRcd > eMappingToken_
void produce(edm::Event &, edm::EventSetup const &) override
edm::EDPutTokenT< ProductTypef5 > digisF5HBToken_
constexpr uint8_t OutputF3HB
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
edm::EDGetTokenT< FEDRawDataCollection > rawDataToken_
DigiCollection< Flavor1, ::calo::common::DevStoragePolicy > digisF01HE
edm::EDPutTokenT< ProductTypef01 > digisF01HEToken_
void entryPoint(InputDataCPU const &, InputDataGPU &, OutputDataGPU &, ScratchDataGPU &, OutputDataCPU &, ConditionsProducts const &, ConfigurationParameters const &, cudaStream_t cudaStream, uint32_t const, uint32_t const)
hcal::raw::OutputDataCPU outputCPU_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &)
cms::cuda::host::unique_ptr< uint32_t[]> nchannels
constexpr uint32_t numOutputCollections
hcal::raw::ConfigurationParameters config_
char data[epos_bytes_allocation]
edm::EDPutTokenT< ProductTypef3 > digisF3HBToken_
std::vector< int > fedsToUnpack_
static std::atomic< unsigned int > counter
device::impl::make_device_unique_selector< T >::non_array make_device_unique(cudaStream_t stream)
void acquire(edm::Event const &, edm::EventSetup const &, edm::WaitingTaskWithArenaHolder) override
host::impl::make_host_unique_selector< T >::non_array make_host_unique(cudaStream_t stream)
DigiCollection< Flavor3, ::calo::common::DevStoragePolicy > digisF3HB
void allocate(ConfigurationParameters const &config, cudaStream_t cudaStream)
constexpr uint8_t OutputF01HE
constexpr uint32_t utca_nfeds_max
HcalRawToDigiGPU(edm::ParameterSet const &ps)