1 #ifndef RecoLocalCalo_EcalRecProducers_plugins_AmplitudeComputationCommonKernels_h 2 #define RecoLocalCalo_EcalRecProducers_plugins_AmplitudeComputationCommonKernels_h 21 uint16_t
const* digis_in_eb,
22 uint32_t
const* dids_eb,
23 uint16_t
const* digis_in_ee,
24 uint32_t
const* dids_ee,
30 float const* mean_x12,
33 float const* gain6Over1,
34 float const* gain12Over6,
35 bool* hasSwitchToGain6,
36 bool* hasSwitchToGain1,
50 uint32_t
const offsetForHashes,
51 uint32_t
const offsetForInputs,
61 uint32_t
const* dids_eb,
62 uint32_t
const* dids_ee,
66 float const* gain12Over6,
67 float const* gain6Over1,
68 double const* G12SamplesCorrelationEB,
69 double const* G6SamplesCorrelationEB,
70 double const* G1SamplesCorrelationEB,
71 double const* G12SamplesCorrelationEE,
72 double const* G6SamplesCorrelationEE,
73 double const* G1SamplesCorrelationEE,
77 bool const* hasSwitchToGain6,
78 bool const* hasSwitchToGain1,
80 uint32_t
const offsetForHashes,
81 uint32_t
const offsetForInputs);
95 #ifdef RUN_BUILD_AOS_RECHIT 98 #endif // RUN_BUILD_AOS_RECHIT 103 #endif // RecoLocalCalo_EcalRecProducers_plugins_AmplitudeComputationCommonKernels_h
__global__ void kernel_prep_1d_and_initialize(EcalPulseShape const *shapes_in, uint16_t const *digis_in_eb, uint32_t const *dids_eb, uint16_t const *digis_in_ee, uint32_t const *dids_ee, SampleVector *amplitudes, SampleVector *amplitudesForMinimizationEB, SampleVector *amplitudesForMinimizationEE, SampleGainVector *gainsNoise, float const *mean_x1, float const *mean_x12, float const *rms_x12, float const *mean_x6, float const *gain6Over1, float const *gain12Over6, bool *hasSwitchToGain6, bool *hasSwitchToGain1, bool *isSaturated, ::ecal::reco::StorageScalarType *energiesEB, ::ecal::reco::StorageScalarType *energiesEE, ::ecal::reco::StorageScalarType *chi2EB, ::ecal::reco::StorageScalarType *chi2EE, ::ecal::reco::StorageScalarType *pedestalEB, ::ecal::reco::StorageScalarType *pedestalEE, uint32_t *dids_outEB, uint32_t *dids_outEE, uint32_t *flagsEB, uint32_t *flagsEE, char *acState, BXVectorType *bxs, uint32_t const offsetForHashes, uint32_t const offsetForInputs, bool const gainSwitchUseMaxSampleEB, bool const gainSwitchUseMaxSampleEE, int const nchannels)
Eigen::Matrix< data_type, SampleVectorSize, SampleVectorSize > PulseMatrixType
__global__ void kernel_prep_2d(SampleGainVector const *gainNoise, uint32_t const *dids_eb, uint32_t const *dids_ee, float const *rms_x12, float const *rms_x6, float const *rms_x1, float const *gain12Over6, float const *gain6Over1, double const *G12SamplesCorrelationEB, double const *G6SamplesCorrelationEB, double const *G1SamplesCorrelationEB, double const *G12SamplesCorrelationEE, double const *G6SamplesCorrelationEE, double const *G1SamplesCorrelationEE, SampleMatrix *noisecov, PulseMatrixType *pulse_matrix, EcalPulseShape const *pulse_shape, bool const *hasSwitchToGain6, bool const *hasSwitchToGain1, bool const *isSaturated, uint32_t const offsetForHashes, uint32_t const offsetForInputs)
Eigen::Matrix< double, SampleVectorSize, 1 > SampleVector
Eigen::Matrix< double, SampleVectorSize, SampleVectorSize > SampleMatrix
__global__ void kernel_permute_results(SampleVector *amplitudes, BXVectorType const *activeBXs, ::ecal::reco::StorageScalarType *energies, char const *acState, int const nchannels)
Eigen::Matrix< char, SampleVectorSize, 1 > SampleGainVector
bool isSaturated(const Digi &digi, const int &maxADCvalue, int ifirst, int n)
Eigen::Matrix< char, SampleVectorSize, 1 > BXVectorType