|
|
Go to the documentation of this file.
64 : doOuterTracker_(iConfig.existsAs<
bool>(
"doOuterTracker") ? iConfig.getParameter<
bool>(
"doOuterTracker") :
true),
65 doPixel_(iConfig.existsAs<
bool>(
"doPixel") ? iConfig.getParameter<
bool>(
"doPixel") :
true),
66 mergeOld_(iConfig.exists(
"oldClusterRemovalInfo")) {
67 produces<edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster> > >();
68 produces<edm::ContainerMask<edmNew::DetSetVector<Phase2TrackerCluster1D> > >();
75 consumes<edmNew::DetSetVector<Phase2TrackerCluster1D> >(iConfig.
getParameter<
InputTag>(
"phase2OTClusters"));
88 const type_info &hitType =
typeid(*hit);
95 LogDebug(
"SeedClusterRemoverPhase2") <<
"Plain Pixel RecHit in det " << detid.
rawId();
99 <<
"SeedClusterRemoverPhase2: pixel cluster ref from Product ID = " << cluster.
id()
100 <<
" does not match with source cluster collection (ID = " <<
pixelSourceProdID <<
")\n.";
115 LogDebug(
"SeedClusterRemoverPhase2") <<
"Plain Phase2TrackerRecHit1D in det " << detid.
rawId();
120 <<
"SeedClusterRemoverPhase2: strip cluster ref from Product ID = " << cluster.
id()
125 OTs[cluster.
key()] =
false;
129 }
else if (hitType ==
typeid(
VectorHit)) {
133 const VectorHit *vhit = static_cast<const VectorHit *>(
hit);
134 LogDebug(
"SeedClusterRemoverPhase2") <<
"Plain VectorHit in det " << detid.
rawId();
140 <<
"SeedClusterRemoverPhase2: strip cluster ref from Product ID = " << cluster.
id()
143 OTs[cluster.
key()] =
false;
151 <<
"SeedClusterRemoverPhase2: strip cluster ref from Product ID = " << cluster.
id()
154 OTs[cluster.
key()] =
false;
159 <<
"I received a hit that was neither SiPixelRecHit nor Phase2TrackerRecHit1D but " << hitType.name()
160 <<
" on detid " << detid.
rawId() <<
"\n";
164 ProductID pixelOldProdID, stripOldProdID;
196 LogDebug(
"SeedClusterRemoverPhase2") <<
"to merge in, " << oldPh2OTMask->
size() <<
" strp and "
197 << oldPxlMask->
size() <<
" pxl";
211 for (
auto const &
hit :
seed.recHits()) {
221 LogDebug(
"SeedClusterRemoverPhase2") <<
"total strip to skip: "
224 iEvent.put(std::make_unique<Phase2OTMaskContainer>(
227 LogDebug(
"SeedClusterRemoverPhase2") <<
"total pxl to skip: "
ClusterRef lowerCluster() const
"lower" is logical, not geometrically lower; in pixel-strip modules the "lower" is always a pixel
T const * product() const
edm::EDGetTokenT< edmNew::DetSetVector< Phase2TrackerCluster1D > > phase2OTClusters_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
ClusterRef upperCluster() const
edm::ContainerMask< edmNew::DetSetVector< Phase2TrackerCluster1D > > Phase2OTMaskContainer
void process(const TrackingRecHit *hit, float chi2, const TrackerGeometry *tg)
edm::EDGetTokenT< PixelMaskContainer > oldPxlMaskToken_
ClusterRef cluster() const
#define DEFINE_FWK_MODULE(type)
edm::ProductID pixelSourceProdID
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
edm::EDGetTokenT< TrajectorySeedCollection > trajectories_
edm::ContainerMask< edmNew::DetSetVector< SiPixelCluster > > PixelMaskContainer
std::vector< uint8_t > pixels
ProductID id() const
Accessor for product ID.
std::vector< bool > collectedPixels_
constexpr uint32_t rawId() const
get the raw id
void copyMaskTo(std::vector< bool > &) const
std::vector< uint8_t > OTs
T getParameter(std::string const &) const
edm::EDGetTokenT< Phase2OTMaskContainer > oldPh2OTMaskToken_
key_type key() const
Accessor for product key.
std::vector< bool > collectedOuterTrackers_
edm::ProductID outerTrackerSourceProdID
SeedClusterRemoverPhase2(const edm::ParameterSet &iConfig)
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClusters_