36 std::unique_ptr<HGChebRecHitCollection>
rechits_;
47 std::unique_ptr<hgcal::RecHitTools>
tools_;
61 : uncalibRecHitCPUToken_{consumes<HGCUncalibratedRecHitCollection>(
63 recHitGPUToken_{produces<cms::cuda::Product<HGCRecHitGPUProduct>>()} {
64 cdata_.keV2DIGI_ = ps.getParameter<
double>(
"HGCHEB_keV2DIGI");
65 cdata_.noise_MIP_ = ps.getParameter<
edm::ParameterSet>(
"HGCHEB_noise_MIP").getParameter<double>(
"noise_MIP");
66 vdata_.weights_ = ps.getParameter<std::vector<double>>(
"weights");
67 cdata_.uncalib2GeV_ = 1
e-6 / cdata_.keV2DIGI_;
68 cdata_.layerOffset_ = 28;
69 assert_sizes_constants_(vdata_);
72 convert_constant_data_(kcdata_);
74 tools_ = std::make_unique<hgcal::RecHitTools>();
82 std::string str3 =
" to hold the configuration data.";
97 unsigned int nhits(hits.size());
98 rechits_ = std::make_unique<HGCRecHitCollection>();
HEBRecHitGPU(const edm::ParameterSet &ps)
HGCConstantVectorData vdata_
#define DEFINE_FWK_MODULE(type)
HGCUncalibRecHitSoA get() const
std::string to_string(const V &value)
std::string assert_error_message_(std::string, const size_t &)
Log< level::Error, false > LogError
void convert_collection_data_to_soa_(const uint32_t &, const HGChebUncalibratedRecHitCollection &)
edm::EDPutTokenT< cms::cuda::Product< HGCRecHitGPUProduct > > recHitGPUToken_
HGChebUncalibRecHitConstantData cdata_
HGCUncalibRecHitDevice d_uncalib_
HGCRecHitGPUProduct prod_
void convert_constant_data_(KernelConstantData< HGChebUncalibRecHitConstantData > *)
void run_kernels(const KernelConstantData< HGCeeUncalibRecHitConstantData > *, const cudaStream_t &)
std::unique_ptr< HGChebRecHitCollection > rechits_
std::unique_ptr< hgcal::RecHitTools > tools_
HGCUncalibRecHitHost< HGChebUncalibratedRecHitCollection > h_uncalib_
std::vector< DeviationSensor2D * > vd
double weights_[heb_weights]
static constexpr size_t heb_weights
T getParameter(std::string const &) const
edm::EDGetTokenT< HGChebUncalibratedRecHitCollection > uncalibRecHitCPUToken_
void beginRun(edm::Run const &, edm::EventSetup const &) override
HGCConstantVectorData vdata_
const T & get(const Product< T > &data)
void produce(edm::Event &, const edm::EventSetup &) override
KernelConstantData< HGChebUncalibRecHitConstantData > * kcdata_
void assert_sizes_constants_(const HGCConstantVectorData &)
std::vector< double > fCPerMIP_
std::vector< double > weights_