35 std::unique_ptr<HGChefRecHitCollection>
rechits_;
46 std::unique_ptr<hgcal::RecHitTools>
tools_;
60 : uncalibRecHitCPUToken_{consumes<HGCUncalibratedRecHitCollection>(
62 recHitGPUToken_{produces<cms::cuda::Product<HGCRecHitGPUProduct>>()} {
63 cdata_.keV2DIGI_ = ps.getParameter<
double>(
"HGCHEF_keV2DIGI");
64 cdata_.xmin_ = ps.getParameter<
double>(
"minValSiPar");
65 cdata_.xmax_ = ps.getParameter<
double>(
"maxValSiPar");
66 cdata_.aterm_ = ps.getParameter<
double>(
"noiseSiPar");
67 cdata_.cterm_ = ps.getParameter<
double>(
"constSiPar");
68 vdata_.fCPerMIP_ = ps.getParameter<std::vector<double>>(
"HGCHEF_fCPerMIP");
69 vdata_.cce_ = ps.getParameter<
edm::ParameterSet>(
"HGCHEF_cce").getParameter<std::vector<double>>(
"values");
70 vdata_.noise_fC_ = ps.getParameter<
edm::ParameterSet>(
"HGCHEF_noise_fC").getParameter<std::vector<double>>(
"values");
71 vdata_.rcorr_ = ps.getParameter<std::vector<double>>(
"rcorr");
72 vdata_.weights_ = ps.getParameter<std::vector<double>>(
"weights");
73 cdata_.uncalib2GeV_ = 1
e-6 / cdata_.keV2DIGI_;
74 cdata_.layerOffset_ = 28;
75 assert_sizes_constants_(vdata_);
78 convert_constant_data_(kcdata_);
80 tools_ = std::make_unique<hgcal::RecHitTools>();
88 std::string str3 =
" to hold the configuration data, but is of size ";
115 rechits_ = std::make_unique<HGCRecHitCollection>();
std::vector< double > cce_
std::unique_ptr< HGChefRecHitCollection > rechits_
void convert_constant_data_(KernelConstantData< HGChefUncalibRecHitConstantData > *)
T getParameter(std::string const &) const
edm::EDPutTokenT< cms::cuda::Product< HGCRecHitGPUProduct > > recHitGPUToken_
for(int i=first, nt=offsets[nh];i< nt;i+=gridDim.x *blockDim.x)
double fCPerMIP_[hef_fCPerMIP]
Log< level::Error, false > LogError
std::string assert_error_message_(std::string, const size_t &, const size_t &)
KernelConstantData< HGChefUncalibRecHitConstantData > * kcdata_
static std::string to_string(const XMLCh *ch)
void convert_collection_data_to_soa_(const uint32_t &, const HGChefUncalibratedRecHitCollection &)
static constexpr size_t hef_rcorr
HGChefUncalibRecHitConstantData cdata_
void assert_sizes_constants_(const HGCConstantVectorData &)
static constexpr size_t hef_noise_fC
HGCRecHitGPUProduct prod_
void run_kernels(const KernelConstantData< HGCeeUncalibRecHitConstantData > *, const cudaStream_t &)
#define DEFINE_FWK_MODULE(type)
HGCConstantVectorData vdata_
static constexpr size_t hef_cce
double weights_[hef_weights]
std::vector< DeviationSensor2D * > vd
HEFRecHitGPU(const edm::ParameterSet &ps)
static constexpr size_t hef_weights
HGCUncalibRecHitDevice d_uncalib_
std::unique_ptr< hgcal::RecHitTools > tools_
HGCUncalibRecHitSoA get() const
edm::EDGetTokenT< HGChefUncalibratedRecHitCollection > uncalibRecHitCPUToken_
std::vector< double > noise_fC_
HGCConstantVectorData vdata_
void produce(edm::Event &, const edm::EventSetup &) override
HGCUncalibRecHitHost< HGChefUncalibratedRecHitCollection > h_uncalib_
std::vector< double > rcorr_
double noise_fC_[hef_noise_fC]
std::vector< double > fCPerMIP_
static constexpr size_t hef_fCPerMIP
std::vector< double > weights_