66 mergeOld_(iConfig.exists(
"oldClusterRemovalInfo"))
68 produces<edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster> > >();
69 produces<edm::ContainerMask<edmNew::DetSetVector<Phase2TrackerCluster1D> > >();
88 const type_info &hitType =
typeid(*hit);
95 LogDebug(
"SeedClusterRemoverPhase2") <<
"Plain Pixel RecHit in det " << detid.
rawId();
98 "SeedClusterRemoverPhase2: pixel cluster ref from Product ID = " << cluster.
id() <<
99 " does not match with source cluster collection (ID = " <<
pixelSourceProdID <<
")\n.";
114 LogDebug(
"SeedClusterRemoverPhase2") <<
"Plain Phase2TrackerRecHit1D in det " << detid.
rawId();
118 "SeedClusterRemoverPhase2: strip cluster ref from Product ID = " << cluster.
id() <<
123 OTs[cluster.
key()] =
false;
127 }
else throw cms::Exception(
"NOT IMPLEMENTED") <<
"I received a hit that was neither SiPixelRecHit nor Phase2TrackerRecHit1D but " << hitType.name() <<
" on detid " << detid.
rawId() <<
"\n";
135 ProductID pixelOldProdID, stripOldProdID;
156 OTs.resize(phase2OTClusters->dataSize());
fill(
OTs.begin(),
OTs.end(),
true);
166 LogDebug(
"SeedClusterRemoverPhase2") <<
"to merge in, "<<oldPh2OTMask->
size()<<
" strp and "<<oldPxlMask->
size()<<
" pxl";
180 for (
auto const &
seed : (*seeds) ){
184 if (!
hit->isValid())
continue;
std::vector< bool > collectedPixels_
std::vector< bool > collectedOuterTrackers_
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
edm::ProductID outerTrackerSourceProdID
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClusters_
constexpr uint32_t rawId() const
get the raw id
key_type key() const
Accessor for product key.
edm::ContainerMask< edmNew::DetSetVector< Phase2TrackerCluster1D > > Phase2OTMaskContainer
void copyMaskTo(std::vector< bool > &) const
ProductID id() const
Accessor for product ID.
void process(const TrackingRecHit *hit, float chi2, const TrackerGeometry *tg)
#define DEFINE_FWK_MODULE(type)
edm::EDGetTokenT< TrajectorySeedCollection > trajectories_
std::vector< uint8_t > pixels
edm::ContainerMask< edmNew::DetSetVector< SiPixelCluster > > PixelMaskContainer
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
edm::EDGetTokenT< PixelMaskContainer > oldPxlMaskToken_
edm::ProductID pixelSourceProdID
std::vector< uint8_t > OTs
SeedClusterRemoverPhase2(const edm::ParameterSet &iConfig)
ClusterRef cluster() const
edm::EDGetTokenT< Phase2OTMaskContainer > oldPh2OTMaskToken_
edm::EDGetTokenT< edmNew::DetSetVector< Phase2TrackerCluster1D > > phase2OTClusters_
DetId geographicalId() const
T const * product() const
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override