31 std::vector<std::unique_ptr<RecHitTopologicalCleanerBase> >
_cleaners;
32 std::vector<std::unique_ptr<RecHitTopologicalCleanerBase> >
_seedcleaners;
44 #define LOGVERB(x) edm::LogVerbatim(x)
45 #define LOGWARN(x) edm::LogWarning(x)
46 #define LOGERR(x) edm::LogError(x)
47 #define LOGDRESSED(x) edm::LogInfo(x)
49 #define LOGVERB(x) LogTrace(x)
50 #define LOGWARN(x) edm::LogWarning(x)
51 #define LOGERR(x) edm::LogError(x)
52 #define LOGDRESSED(x) LogDebug(x)
56 : _prodInitClusters(conf.getUntrackedParameter<bool>(
"prodInitialClusters",
false)) {
62 for (
const auto& conf : cleanerConfs) {
67 if (conf.
exists(
"seedCleaners")) {
70 for (
const auto& conf : seedcleanerConfs) {
86 if (!pfcConf.
empty()) {
104 produces<reco::PFClusterCollection>(
"initialClusters");
106 produces<reco::PFClusterCollection>();
131 std::vector<bool> mask(rechits->size(),
true);
133 cleaner->clean(rechits, mask);
137 std::vector<bool> seedmask = mask;
139 cleaner->clean(rechits, seedmask);
142 std::vector<bool> seedable(rechits->size(),
false);
143 _seedFinder->findSeeds(rechits, seedmask, seedable);
145 auto initialClusters = std::make_unique<reco::PFClusterCollection>();
149 auto pfClusters = std::make_unique<reco::PFClusterCollection>();
150 pfClusters = std::make_unique<reco::PFClusterCollection>();
155 pfClusters->insert(pfClusters->end(), initialClusters->begin(), initialClusters->end());
std::unique_ptr< SeedFinderBase > _seedFinder
std::unique_ptr< PFClusterEnergyCorrectorBase > _energyCorrector
VParameterSet const & getParameterSetVector(std::string const &name) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
std::vector< ParameterSet > VParameterSet
std::unique_ptr< PFClusterBuilderBase > _pfClusterBuilder
RecHitTopologicalCleanerBase RHCB
bool exists(std::string const ¶meterName) const
checks if a parameter exists
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) override
std::vector< std::unique_ptr< RecHitTopologicalCleanerBase > > _seedcleaners
~PFClusterProducer() override=default
PFCPositionCalculatorBase PosCalc
std::unique_ptr< PFCPositionCalculatorBase > _positionReCalc
PFClusterBuilderBase PFCBB
std::vector< std::unique_ptr< RecHitTopologicalCleanerBase > > _cleaners
const bool _prodInitClusters
edm::EDGetTokenT< reco::PFRecHitCollection > _rechitsLabel
std::unique_ptr< InitialClusteringStepBase > _initialClustering
void produce(edm::Event &, const edm::EventSetup &) override
ParameterSet const & getParameterSet(std::string const &) const
T getParameter(std::string const &) const
InitialClusteringStepBase ICSB
PFClusterProducer(const edm::ParameterSet &)