File indexing completed on 2025-05-27 01:56:29
0001 #ifndef RecoLocalCalo_HGCalRecAlgos_interface_alpaka_HGCalRecHitCalibrationAlgorithms_h
0002 #define RecoLocalCalo_HGCalRecAlgos_interface_alpaka_HGCalRecHitCalibrationAlgorithms_h
0003
0004
0005 #include <alpaka/alpaka.hpp>
0006 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0007
0008
0009 #include "DataFormats/HGCalDigi/interface/HGCalElectronicsId.h"
0010 #include "DataFormats/HGCalDigi/interface/HGCROCChannelDataFrame.h"
0011
0012
0013 #include "DataFormats/HGCalDigi/interface/HGCalDigiHost.h"
0014 #include "DataFormats/HGCalDigi/interface/alpaka/HGCalDigiDevice.h"
0015 #include "DataFormats/HGCalRecHit/interface/HGCalRecHitHost.h"
0016 #include "DataFormats/HGCalRecHit/interface/alpaka/HGCalRecHitDevice.h"
0017 #include "CondFormats/HGCalObjects/interface/HGCalCalibrationParameterHost.h"
0018 #include "CondFormats/HGCalObjects/interface/alpaka/HGCalCalibrationParameterDevice.h"
0019 #include "CondFormats/HGCalObjects/interface/HGCalMappingParameterHost.h"
0020 #include "CondFormats/HGCalObjects/interface/alpaka/HGCalMappingParameterDevice.h"
0021
0022 namespace ALPAKA_ACCELERATOR_NAMESPACE {
0023
0024 using namespace hgcaldigi;
0025 using namespace hgcalrechit;
0026 using namespace hgcal;
0027
0028 class HGCalRecHitCalibrationAlgorithms {
0029 public:
0030 HGCalRecHitCalibrationAlgorithms(int n_blocks, int n_threads) : n_blocks_(n_blocks), n_threads_(n_threads) {}
0031
0032 HGCalRecHitDevice calibrate(Queue& queue,
0033 HGCalDigiHost const& host_digis,
0034 HGCalCalibParamDevice const& device_calib,
0035 HGCalMappingCellParamDevice const& device_mapping,
0036 HGCalDenseIndexInfoDevice const& device_index) const;
0037
0038 private:
0039 void print(HGCalDigiHost const& digis, int max = -1) const;
0040 void print_digi_device(HGCalDigiDevice const& digis, int max = -1) const;
0041 void print_recHit_device(Queue& queue,
0042 PortableHostCollection<hgcalrechit::HGCalRecHitSoALayout<> >::View const& recHits,
0043 int max = -1) const;
0044
0045 int n_blocks_;
0046 int n_threads_;
0047 };
0048
0049 }
0050
0051 #endif