Classes | |
struct | MapMForPM |
struct | MapSymM |
Typedefs | |
template<int NROWS, int NCOLS> | |
using | ColMajorMatrix = Eigen::Matrix< float, NROWS, NCOLS, Eigen::ColMajor > |
template<int SIZE, typename T = float> | |
using | ColumnVector = Eigen::Matrix< T, SIZE, 1 > |
template<int NROWS, int NCOLS> | |
using | RowMajorMatrix = Eigen::Matrix< float, NROWS, NCOLS, Eigen::RowMajor > |
template<int SIZE, typename T = float> | |
using | RowVector = Eigen::Matrix< T, 1, SIZE > |
Functions | |
template<typename MatrixType1 , typename MatrixType2 , typename MatrixType3 , typename MatrixType4 > | |
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void | calculateChiSq (MatrixType1 const &matrixL, MatrixType2 const &pulseMatrixView, MatrixType3 const &resultAmplitudesVector, MatrixType4 const &inputAmplitudesView, float &chi2) |
template<typename MatrixType1 , typename MatrixType2 > | |
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void | compute_decomposition (MatrixType1 &L, MatrixType2 const &M, int const N) |
template<typename MatrixType1 , typename MatrixType2 , typename VectorType > | |
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void | compute_decomposition_forwardsubst_with_offsets (MatrixType1 &L, MatrixType2 const &M, float b[MatrixType1::stride], VectorType const &Atb, int const N, ColumnVector< MatrixType1::stride, int > const &pulseOffsets) |
template<typename MatrixType1 , typename MatrixType2 > | |
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void | compute_decomposition_unrolled (MatrixType1 &L, MatrixType2 const &M) |
template<typename MatrixType , typename VectorType > | |
EIGEN_DEVICE_FUNC void | fnnls (MatrixType const &AtA, VectorType const &Atb, VectorType &solution, int &npassive, ColumnVector< VectorType::RowsAtCompileTime, int > &pulseOffsets, MapSymM< float, VectorType::RowsAtCompileTime > &matrixL, double eps, const int maxIterations, const int relaxationPeriod, const int relaxationFactor) |
template<typename MatrixType1 , typename MatrixType2 , typename MatrixType3 > | |
EIGEN_DEVICE_FUNC void | solve_forward_subst_matrix (MatrixType1 &A, MatrixType2 const &pulseMatrixView, MatrixType3 const &matrixL) |
template<typename MatrixType1 , typename MatrixType2 > | |
EIGEN_DEVICE_FUNC void | solve_forward_subst_vector (float reg_b[MatrixType1::RowsAtCompileTime], MatrixType1 inputAmplitudesView, MatrixType2 matrixL) |
template<typename MatrixType1 , typename MatrixType2 , typename VectorType > | |
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void | update_decomposition_forwardsubst_with_offsets (MatrixType1 &L, MatrixType2 const &M, float b[MatrixType1::stride], VectorType const &Atb, int const N, ColumnVector< MatrixType1::stride, int > const &pulseOffsets) |
using calo::multifit::ColMajorMatrix = typedef Eigen::Matrix<float, NROWS, NCOLS, Eigen::ColMajor> |
Definition at line 16 of file MultifitComputations.h.
using calo::multifit::ColumnVector = typedef Eigen::Matrix<T, SIZE, 1> |
Definition at line 22 of file MultifitComputations.h.
using calo::multifit::RowMajorMatrix = typedef Eigen::Matrix<float, NROWS, NCOLS, Eigen::RowMajor> |
Definition at line 19 of file MultifitComputations.h.
using calo::multifit::RowVector = typedef Eigen::Matrix<T, 1, SIZE> |
Definition at line 25 of file MultifitComputations.h.
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void calo::multifit::calculateChiSq | ( | MatrixType1 const & | matrixL, |
MatrixType2 const & | pulseMatrixView, | ||
MatrixType3 const & | resultAmplitudesVector, | ||
MatrixType4 const & | inputAmplitudesView, | ||
float & | chi2 | ||
) |
Definition at line 289 of file MultifitComputations.h.
References cms::cudacompat::__ldg(), nano_mu_local_reco_cff::chi2, CMS_UNROLL_LOOP, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), counter, mps_fire::i, and mysort::results.
Referenced by ALPAKA_ACCELERATOR_NAMESPACE::ecal::multifit::Kernel_minimize::operator()().
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void calo::multifit::compute_decomposition | ( | MatrixType1 & | L, |
MatrixType2 const & | M, | ||
int const | N | ||
) |
Definition at line 99 of file MultifitComputations.h.
References mps_fire::i, dqmiolumiharvest::j, dqmdumpme::k, dttmaxenums::L, N, and mathSSE::sqrt().
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void calo::multifit::compute_decomposition_forwardsubst_with_offsets | ( | MatrixType1 & | L, |
MatrixType2 const & | M, | ||
float | b[MatrixType1::stride], | ||
VectorType const & | Atb, | ||
int const | N, | ||
ColumnVector< MatrixType1::stride, int > const & | pulseOffsets | ||
) |
Definition at line 126 of file MultifitComputations.h.
References b, mps_fire::i, dqmiolumiharvest::j, dqmdumpme::k, dttmaxenums::L, SiStripPI::max, SiStripPI::min, N, HLT_2023v12_cff::pulseOffsets, mathSSE::sqrt(), and dqmMemoryStats::total.
Referenced by fnnls().
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void calo::multifit::compute_decomposition_unrolled | ( | MatrixType1 & | L, |
MatrixType2 const & | M | ||
) |
Definition at line 73 of file MultifitComputations.h.
References CMS_UNROLL_LOOP, mps_fire::i, dqmiolumiharvest::j, dqmdumpme::k, dttmaxenums::L, mathSSE::sqrt(), and riemannFit::stride.
Referenced by ALPAKA_ACCELERATOR_NAMESPACE::ecal::multifit::Kernel_minimize::operator()().
EIGEN_DEVICE_FUNC void calo::multifit::fnnls | ( | MatrixType const & | AtA, |
VectorType const & | Atb, | ||
VectorType & | solution, | ||
int & | npassive, | ||
ColumnVector< VectorType::RowsAtCompileTime, int > & | pulseOffsets, | ||
MapSymM< float, VectorType::RowsAtCompileTime > & | matrixL, | ||
double | eps, | ||
const int | maxIterations, | ||
const int | relaxationPeriod, | ||
const int | relaxationFactor | ||
) |
Definition at line 382 of file MultifitComputations.h.
References simBeamSpotPI::alpha, CMS_UNROLL_LOOP, compute_decomposition_forwardsubst_with_offsets(), ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), HLT_2023v12_cff::eps, mps_fire::i, CommonMethods::isnan(), dqmiolumiharvest::j, SiStripPI::max, HLT_2023v12_cff::maxIterations, HLT_2023v12_cff::pulseOffsets, particleFlowDisplacedVertex_cfi::ratio, alignCSCRings::s, edm::swap(), dqmMemoryStats::total, update_decomposition_forwardsubst_with_offsets(), and w().
Referenced by ALPAKA_ACCELERATOR_NAMESPACE::ecal::multifit::Kernel_minimize::operator()().
EIGEN_DEVICE_FUNC void calo::multifit::solve_forward_subst_matrix | ( | MatrixType1 & | A, |
MatrixType2 const & | pulseMatrixView, | ||
MatrixType3 const & | matrixL | ||
) |
Definition at line 197 of file MultifitComputations.h.
References cms::cudacompat::__ldg(), A, CMS_UNROLL_LOOP, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), and mps_fire::i.
Referenced by ALPAKA_ACCELERATOR_NAMESPACE::ecal::multifit::Kernel_minimize::operator()().
EIGEN_DEVICE_FUNC void calo::multifit::solve_forward_subst_vector | ( | float | reg_b[MatrixType1::RowsAtCompileTime], |
MatrixType1 | inputAmplitudesView, | ||
MatrixType2 | matrixL | ||
) |
Definition at line 248 of file MultifitComputations.h.
References CMS_UNROLL_LOOP, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), and mps_fire::i.
Referenced by ALPAKA_ACCELERATOR_NAMESPACE::ecal::multifit::Kernel_minimize::operator()().
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC void calo::multifit::update_decomposition_forwardsubst_with_offsets | ( | MatrixType1 & | L, |
MatrixType2 const & | M, | ||
float | b[MatrixType1::stride], | ||
VectorType const & | Atb, | ||
int const | N, | ||
ColumnVector< MatrixType1::stride, int > const & | pulseOffsets | ||
) |
Definition at line 165 of file MultifitComputations.h.
References b, mps_fire::i, dqmiolumiharvest::j, dqmdumpme::k, dttmaxenums::L, SiStripPI::max, SiStripPI::min, N, HLT_2023v12_cff::pulseOffsets, mathSSE::sqrt(), and dqmMemoryStats::total.
Referenced by fnnls().