48 maxChi2_(iConfig.getParameter<double>(
"maxChi2")),
96 fill(pblocks_, pblocks_ + NumberOfParamBlocks, pblock);
98 pblocks_[
id1] = pblock;
100 pblocks_[
id2] = pblock;
102 pblocks_[id3] = pblock;
104 pblocks_[id4] = pblock;
106 pblocks_[id5] = pblock;
108 pblocks_[id6] = pblock;
115 doStrip_(iConfig.existsAs<
bool>(
"doStrip") ? iConfig.getParameter<
bool>(
"doStrip") :
true),
116 doPixel_(iConfig.existsAs<
bool>(
"doPixel") ? iConfig.getParameter<
bool>(
"doPixel") :
true),
117 mergeOld_(iConfig.exists(
"oldClusterRemovalInfo")) {
126 readPSet(iConfig,
"Strip", 2, 3, 4, 5);
127 readPSet(iConfig,
"StripInner", 2, 3);
128 readPSet(iConfig,
"StripOuter", 4, 5);
135 bool usingCharge =
false;
139 <<
"SeedClusterRemover: Missing configuration for detector with subDetID = " << (
i + 1);
140 if (
pblocks_[
i].usesCharge_ && !usingCharge) {
141 throw cms::Exception(
"Configuration Error") <<
"SeedClusterRemover: Configuration for subDetID = " << (
i + 1)
142 <<
" uses cluster charge, which is not enabled.";
156 produces<edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster> > >();
157 produces<edm::ContainerMask<edmNew::DetSetVector<SiStripCluster> > >();
164 <<
"SeedClusterRemover: strip cluster ref from Product ID = " << cluster.
id()
165 <<
" does not match with source cluster collection (ID = " <<
stripSourceProdID <<
")\n.";
178 uint32_t subdet =
detid.subdetId();
196 <<
"SeedClusterRemover: pixel cluster ref from Product ID = " << cluster.
id()
197 <<
" does not match with source cluster collection (ID = " <<
pixelSourceProdID <<
")\n.";
215 const type_info &hitType =
typeid(*hit);
234 <<
"Don't know how to handle " << hitType.name() <<
" on detid " <<
detid.rawId() <<
"\n";
268 LogDebug(
"SeedClusterRemover") <<
"to merge in, " << oldStrMask->
size() <<
" strp and " << oldPxlMask->
size()
283 for (
auto const &
hit :
seed.recHits()) {
293 LogDebug(
"SeedClusterRemover") <<
"total strip to skip: " 298 LogDebug(
"SeedClusterRemover") <<
"total pxl to skip: " ClusterRef cluster() const
void copyMaskTo(std::vector< bool > &) const
T getParameter(std::string const &) const
ProductID id() const
Accessor for product ID.
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
static const unsigned int NumberOfParamBlocks
bool exists(std::string const ¶meterName) const
checks if a parameter exists
SeedClusterRemover(const edm::ParameterSet &iConfig)
OmniClusterRef const & stereoClusterRef() const
OmniClusterRef const & omniClusterRef() const
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
OmniClusterRef const & monoClusterRef() const
key_type key() const
Accessor for product key.
std::vector< bool > collectedStrips_
edm::ProductID pixelSourceProdID
void readPSet(const edm::ParameterSet &iConfig, const std::string &name, int id1=-1, int id2=-1, int id3=-1, int id4=-1, int id5=-1, int id6=-1)
ParamBlock pblocks_[NumberOfParamBlocks]
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > stripClusters_
edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > StripMaskContainer
edm::ContainerMask< edmNew::DetSetVector< SiPixelCluster > > PixelMaskContainer
#define DEFINE_FWK_MODULE(type)
edm::EDGetTokenT< TrajectorySeedCollection > trajectories_
edm::ProductID stripSourceProdID
ParamBlock(const edm::ParameterSet &iConfig)
void process(const TrackingRecHit *hit, float chi2, const TrackerGeometry *tg)
const GeomDetEnumerators::SubDetector geomDetSubDetector(int subdet) const
SiStripRecHit2D originalHit() const
std::vector< uint8_t > strips
edm::EDGetTokenT< StripMaskContainer > oldStrMaskToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClusters_
edm::EDGetTokenT< PixelMaskContainer > oldPxlMaskToken_
std::vector< bool > collectedPixels_
std::vector< uint8_t > pixels
ClusterStripRef cluster_strip() const
bool isTrackerPixel(GeomDetEnumerators::SubDetector m)
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > const tTrackerGeom_