36 std::unique_ptr<HGChefRecHitCollection>
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>(
"HGCHEF_keV2DIGI");
65 cdata_.xmin_ = ps.getParameter<
double>(
"minValSiPar");
66 cdata_.xmax_ = ps.getParameter<
double>(
"maxValSiPar");
67 cdata_.aterm_ = ps.getParameter<
double>(
"noiseSiPar");
68 cdata_.cterm_ = ps.getParameter<
double>(
"constSiPar");
69 vdata_.fCPerMIP_ = ps.getParameter<std::vector<double>>(
"HGCHEF_fCPerMIP");
70 vdata_.cce_ = ps.getParameter<
edm::ParameterSet>(
"HGCHEF_cce").getParameter<std::vector<double>>(
"values");
71 vdata_.noise_fC_ = ps.getParameter<
edm::ParameterSet>(
"HGCHEF_noise_fC").getParameter<std::vector<double>>(
"values");
72 vdata_.rcorr_ = ps.getParameter<std::vector<double>>(
"rcorr");
73 vdata_.weights_ = ps.getParameter<std::vector<double>>(
"weights");
74 cdata_.uncalib2GeV_ = 1
e-6 / cdata_.keV2DIGI_;
75 cdata_.layerOffset_ = 28;
76 assert_sizes_constants_(vdata_);
79 convert_constant_data_(kcdata_);
81 tools_ = std::make_unique<hgcal::RecHitTools>();
89 std::string str3 =
" to hold the configuration data, but is of size ";
118 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]
std::string to_string(const V &value)
Log< level::Error, false > LogError
std::string assert_error_message_(std::string, const size_t &, const size_t &)
KernelConstantData< HGChefUncalibRecHitConstantData > * kcdata_
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)
void beginRun(edm::Run const &, edm::EventSetup const &) override
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_