Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:22

0001 #ifndef __RecHitTopologicalCleanerBase_H__
0002 #define __RecHitTopologicalCleanerBase_H__
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "DataFormats/Common/interface/Handle.h"
0006 #include "FWCore/Framework/interface/EventSetup.h"
0007 #include "FWCore/Framework/interface/ConsumesCollector.h"
0008 #include "DataFormats/ParticleFlowReco/interface/PFRecHit.h"
0009 #include "DataFormats/ParticleFlowReco/interface/PFRecHitFwd.h"
0010 
0011 #include <string>
0012 
0013 class RecHitTopologicalCleanerBase {
0014 public:
0015   RecHitTopologicalCleanerBase(const edm::ParameterSet& conf, edm::ConsumesCollector& cc) {}
0016   RecHitTopologicalCleanerBase(const RecHitTopologicalCleanerBase&) = delete;
0017   virtual ~RecHitTopologicalCleanerBase() = default;
0018   RecHitTopologicalCleanerBase& operator=(const RecHitTopologicalCleanerBase&) = delete;
0019 
0020   virtual void clean(const edm::Handle<reco::PFRecHitCollection>&, std::vector<bool>&) = 0;
0021   virtual void update(const edm::EventSetup&) {}
0022 
0023   const std::string& name() const { return _algoName; }
0024 
0025 private:
0026   const std::string _algoName;
0027 };
0028 
0029 #include "FWCore/PluginManager/interface/PluginFactory.h"
0030 typedef edmplugin::PluginFactory<RecHitTopologicalCleanerBase*(const edm::ParameterSet&, edm::ConsumesCollector&)>
0031     RecHitTopologicalCleanerFactory;
0032 
0033 #endif