55 std::vector<int>
feds(nFeds);
56 for (
int i = 0;
i < nFeds; ++
i)
57 feds[
i] =
i + FEDNumbering::MINHCALuTCAFEDID;
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);
70 confDesc.
add(label, desc);
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;
138 auto const&
data = rawDataHandle->FEDData(fed);
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);
152 inputCPU.offsets[
counter] = currentCummOffset;
156 currentCummOffset += nbytes;
175 #ifdef HCAL_RAWDECODE_CPUDEBUG
176 printf(
"f01he channels = %u f5hb channesl = %u\n",
197 outputCPU_.nchannels.reset();
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
bool getData(T &iHolder) const
cms::cuda::ContextState cudaState_
constexpr int32_t empty_event_size
edm::ESGetToken< hcal::raw::ElectronicsMappingGPU, HcalElectronicsMapRcd > eMappingToken_
printf("params %d %f %f %f\n", minT, eps, errmax, chi2max)
void produce(edm::Event &, edm::EventSetup const &) override
edm::EDPutTokenT< ProductTypef5 > digisF5HBToken_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
constexpr uint8_t OutputF3HB
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 &)
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)