135 cpeName_(conf.getParameter<
std::
string>(
"CPE")),
181 edm::LogError(
"SiPixelRecHitConverter") <<
" at least one CPE is not ready -- can't run!";
187 int numberOfDetUnits = 0;
188 int numberOfClusters = 0;
195 auto hitsModuleStart = hmsp.get();
197 std::array<uint32_t, gpuClustering::maxNumModules + 1> clusInModule{};
198 for (
auto const& dsv :
input) {
199 unsigned int detid = dsv.detId();
200 DetId detIdObject(detid);
202 auto gind = genericDet->
index();
206 auto const nclus = dsv.size();
208 clusInModule[gind] = nclus;
209 numberOfClusters += nclus;
211 hitsModuleStart[0] = 0;
213 for (
int i = 1,
n = clusInModule.size();
i <
n; ++
i)
214 hitsModuleStart[
i] = hitsModuleStart[
i - 1] + clusInModule[
i - 1];
220 numberOfClusters = 0;
221 for (
auto const& dsv :
input) {
223 unsigned int detid = dsv.detId();
224 DetId detIdObject(detid);
232 for (; clustIt != clustEnd; clustIt++) {
234 std::tuple<LocalPoint, LocalError, SiPixelRecHitQuality::QualWordType>
tuple =
245 LogDebug(
"SiPixelRecHitConverter") <<
"RecHit " << (numberOfClusters - 1)
246 <<
" with local position " << lp <<
" and local error " << le;
249 LogDebug(
"SiPixelRecHitConverter") <<
"Found " << recHitsOnDetUnit.
size() <<
" RecHits on " << detid;
253 LogDebug(
"SiPixelRecHitConverter") <<
cpeName_ <<
" converted " << numberOfClusters
254 <<
" SiPixelClusters into SiPixelRecHits, in " << numberOfDetUnits
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
void push_back(data_type const &d)
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
edm::EDPutTokenT< HMSstorage > const tHost_
data_type const * const_iterator
Log< level::Error, false > LogError
edm::ESGetToken< PixelClusterParameterEstimator, TkPixelCPERecord > const tCPE_
edm::EDGetTokenT< SiPixelClusterCollectionNew > const tPixelCluster_
static std::string const input
void run(edm::Event &e, edm::Handle< SiPixelClusterCollectionNew > inputhandle, SiPixelRecHitCollectionNew &output, TrackerGeometry const &geom)
ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det) const override
~SiPixelRecHitConverter() override
#define DEFINE_FWK_MODULE(type)
edm::EDPutTokenT< SiPixelRecHitCollection > const tPut_
constexpr uint16_t maxNumModules
void produce(edm::Event &e, const edm::EventSetup &c) override
The "Event" entrypoint: gets called by framework for every event.
Namespace of DDCMS conversion namespace.
unsigned int QualWordType
std::string const cpeName_
PixelCPEBase const * cpe_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > const tTrackerGeom_