CMS 3D CMS Logo

Classes | Namespaces | Typedefs | Functions | Variables
Mahi.dev.cc File Reference
#include <iostream>
#include <alpaka/alpaka.hpp>
#include <Eigen/Dense>
#include "HeterogeneousCore/AlpakaInterface/interface/workdivision.h"
#include "HeterogeneousCore/AlpakaInterface/interface/atomicMaxPair.h"
#include "DataFormats/CaloRecHit/interface/MultifitComputations.h"
#include "DataFormats/HcalRecHit/interface/HcalSpecialTimes.h"
#include "FWCore/Utilities/interface/CMSUnrollLoop.h"
#include "Mahi.h"

Go to the source code of this file.

Classes

struct  alpaka::trait::BlockSharedMemDynSizeBytes< Kernel_minimize< NSAMPLES, NPULSES >, TAcc >
 The trait for getting the size of the block shared dynamic memory for kernel_minimize. More...
 
struct  alpaka::trait::BlockSharedMemDynSizeBytes< Kernel_prep1d_sameNumberOfSamples, TAcc >
 The trait for getting the size of the block shared dynamic memory for Kernel_prep_1d_and_initialize. More...
 
class  ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::Kernel_minimize< NSAMPLES, NPULSES >
 
class  ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::Kernel_prep1d_sameNumberOfSamples
 
class  ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::Kernel_prep_pulseMatrices_sameNumberOfSamples
 

Namespaces

 alpaka::trait
 
 ALPAKA_ACCELERATOR_NAMESPACE
 
 ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction
 
 ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi
 

Typedefs

using ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::PulseShapeConstElement = typename HcalPulseShapeSoA::ConstView::const_element
 

Functions

ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::compute_coder_charge (int const qieType, uint8_t const adc, uint8_t const capid, float const *qieOffsets, float const *qieSlopes)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::compute_diff_charge_gain (int const qieType, uint8_t adc, uint8_t const capid, float const *qieOffsets, float const *qieSlopes, bool const isqie11)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::compute_pulse_shape_value (PulseShapeConstElement const &pulseShape, float const pulse_time, int const sample, int const shift)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::compute_reco_correction_factor (float const par1, float const par2, float const par3, float const x)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::compute_time_slew_delay (float const fC, float const tzero, float const slope, float const tmax)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::did2linearIndexHB (uint32_t const didraw, int const maxDepthHB, int const firstHBRing, int const lastHBRing, int const nEtaHB)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::did2linearIndexHE (uint32_t const didraw, int const maxDepthHE, int const maxPhiHE, int const firstHERing, int const lastHERing, int const nEtaHE)
 
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE uint32_t ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::float_as_uint (float val)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::get_qiecoder_index (uint32_t const capid, uint32_t const range)
 
ALPAKA_FN_ACC float ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::get_raw_charge (double const charge, double const pedestal, float const *shrChargeMinusPedestal, float const parLin1, float const parLin2, float const parLin3, int32_t const nsamplesForCompute, int32_t const soi, int const sipmQTSShift, int const sipmQNTStoSum, float const fcByPE, int32_t const lch, bool const isqie11)
 
void ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::runMahiAsync (Queue &queue, IProductTypef01::ConstView const &f01HEDigis, IProductTypef5::ConstView const &f5HBDigis, IProductTypef3::ConstView const &f3HBDigis, OProductType::View outputGPU, HcalMahiConditionsPortableDevice::ConstView const &mahi, HcalSiPMCharacteristicsPortableDevice::ConstView const &sipmCharacteristics, HcalRecoParamWithPulseShapeDevice::ConstView const &recoParamsWithPS, HcalMahiPulseOffsetsPortableDevice::ConstView const &mahiPulseOffsets, ConfigParameters const &configParameters)
 
constexpr bool ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::TSenergyCompare (std::pair< unsigned int, float > a, std::pair< unsigned int, float > b)
 
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::uint_as_float (uint32_t val)
 
template<int NSAMPLES, int NPULSES>
ALPAKA_FN_ACC ALPAKA_FN_INLINE void ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::update_covariance (calo::multifit::ColumnVector< NPULSES > const &resultAmplitudesVector, calo::multifit::MapSymM< float, NSAMPLES > &covarianceMatrix, Eigen::Map< const calo::multifit::ColMajorMatrix< NSAMPLES, NPULSES >> const &pulseMatrix, Eigen::Map< const calo::multifit::ColMajorMatrix< NSAMPLES, NPULSES >> const &pulseMatrixM, Eigen::Map< const calo::multifit::ColMajorMatrix< NSAMPLES, NPULSES >> const &pulseMatrixP)
 

Variables

constexpr float ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::deltaChi2Threashold = 1e-3
 
constexpr int32_t ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::IPHI_MAX = 72
 
constexpr int ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::nMaxItersMin = 50
 
constexpr int ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::nMaxItersNNLS = 500
 
constexpr double ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::nnlsThresh = 1e-11
 
ALPAKA_STATIC_ACC_MEM_CONSTANT float const ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::qie11shape [257]
 
ALPAKA_STATIC_ACC_MEM_CONSTANT float const ALPAKA_ACCELERATOR_NAMESPACE::hcal::reconstruction::mahi::qie8shape [129]