CMS 3D CMS Logo

List of all members | Public Member Functions
ALPAKA_ACCELERATOR_NAMESPACE::ECLCCFlatten Class Reference

#include <PFClusterECLCC.h>

Public Member Functions

template<typename TAcc , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
ALPAKA_FN_ACC void operator() (const TAcc &acc, reco::PFRecHitHostCollection::ConstView pfRecHits, reco::PFClusteringVarsDeviceCollection::View pfClusteringVars, reco::PFClusteringEdgeVarsDeviceCollection::View pfClusteringEdgeVars) const
 

Detailed Description

Definition at line 149 of file PFClusterECLCC.h.

Member Function Documentation

◆ operator()()

template<typename TAcc , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
ALPAKA_FN_ACC void ALPAKA_ACCELERATOR_NAMESPACE::ECLCCFlatten::operator() ( const TAcc &  acc,
reco::PFRecHitHostCollection::ConstView  pfRecHits,
reco::PFClusteringVarsDeviceCollection::View  pfClusteringVars,
reco::PFClusteringEdgeVarsDeviceCollection::View  pfClusteringEdgeVars 
) const
inline

Definition at line 152 of file PFClusterECLCC.h.

References GetRecoTauVFromDQM_MC_cff::next, HLT_2024v14_cff::pfRecHits, cms::alpakatools::uniform_elements(), and findQualityFiles::v.

155  {
156  const int nRH = pfRecHits.size();
157 
158  for (int v : cms::alpakatools::uniform_elements(acc, nRH)) {
159  int next, vstat = pfClusteringVars[v].pfrh_topoId();
160  const int old = vstat;
161  while (vstat > (next = pfClusteringVars[vstat].pfrh_topoId())) {
162  vstat = next;
163  }
164  if (old != vstat)
165  pfClusteringVars[v].pfrh_topoId() = vstat;
166  }
167  }
ALPAKA_FN_ACC auto uniform_elements(TAcc const &acc, TArgs... args)
Definition: workdivision.h:311