135 : src_(conf.getParameter<edm::
InputTag>(
"src")),
136 tPixelCluster_(consumes<edmNew::DetSetVector<
SiPixelCluster>>(src_)),
182 edm::LogError(
"SiPixelRecHitConverter") <<
" at least one CPE is not ready -- can't run!";
188 int numberOfDetUnits = 0;
189 int numberOfClusters = 0;
196 auto hitsModuleStart = hmsp.get();
198 std::array<uint32_t, gpuClustering::maxNumModules + 1> clusInModule{};
199 for (
auto const& dsv : input) {
200 unsigned int detid = dsv.detId();
201 DetId detIdObject(detid);
203 auto gind = genericDet->
index();
207 auto const nclus = dsv.size();
209 clusInModule[gind] = nclus;
210 numberOfClusters += nclus;
212 hitsModuleStart[0] = 0;
214 for (
int i = 1,
n = clusInModule.size();
i <
n; ++
i)
215 hitsModuleStart[
i] = hitsModuleStart[
i - 1] + clusInModule[
i - 1];
221 numberOfClusters = 0;
222 for (
auto const& dsv : input) {
224 unsigned int detid = dsv.detId();
225 DetId detIdObject(detid);
233 for (; clustIt != clustEnd; clustIt++) {
235 std::tuple<LocalPoint, LocalError, SiPixelRecHitQuality::QualWordType> tuple =
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > const tPixelCluster_
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)
const edm::EventSetup & c
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
edm::EDPutTokenT< HMSstorage > const tHost_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
data_type const * const_iterator
Log< level::Error, false > LogError
edm::ESGetToken< PixelClusterParameterEstimator, TkPixelCPERecord > const tCPE_
static std::string const input
bool getData(T &iHolder) const
ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det) const override
~SiPixelRecHitConverter() override
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.
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
Pixel cluster – collection of neighboring pixels above threshold.
unsigned int QualWordType
void run(edm::Event &e, edm::Handle< edmNew::DetSetVector< SiPixelCluster >> inputhandle, SiPixelRecHitCollectionNew &output, TrackerGeometry const &geom)
PixelCPEBase const * cpe_
const PixelClusterParameterEstimator * cpe_; // what we got (for now, one ptr to base class) ...
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > const tTrackerGeom_