65 mergeOld_(iConfig.exists(
"oldClusterRemovalInfo")) {
66 produces<edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster> > >();
67 produces<edm::ContainerMask<edmNew::DetSetVector<Phase2TrackerCluster1D> > >();
74 consumes<edmNew::DetSetVector<Phase2TrackerCluster1D> >(iConfig.
getParameter<
InputTag>(
"phase2OTClusters"));
87 const type_info &hitType =
typeid(*hit);
94 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();
119 <<
"SeedClusterRemoverPhase2: strip cluster ref from Product ID = " << cluster.
id()
124 OTs[cluster.
key()] =
false;
130 <<
"I received a hit that was neither SiPixelRecHit nor Phase2TrackerRecHit1D but " << hitType.name()
131 <<
" on detid " << detid.
rawId() <<
"\n";
135 ProductID pixelOldProdID, stripOldProdID;
155 OTs.resize(phase2OTClusters->dataSize());
159 pixels.resize(pixelClusters->dataSize());
167 LogDebug(
"SeedClusterRemoverPhase2") <<
"to merge in, " << oldPh2OTMask->
size() <<
" strp and " 168 << oldPxlMask->
size() <<
" pxl";
181 for (
auto const &
seed : (*seeds)) {
194 LogDebug(
"SeedClusterRemoverPhase2") <<
"total strip to skip: " 197 iEvent.
put(std::make_unique<Phase2OTMaskContainer>(
200 LogDebug(
"SeedClusterRemoverPhase2") <<
"total pxl to skip: "
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