Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef __SeedFinderBase_H__
0002 #define __SeedFinderBase_H__
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "DataFormats/Common/interface/Handle.h"
0006 #include "DataFormats/ParticleFlowReco/interface/PFRecHit.h"
0007 #include "DataFormats/ParticleFlowReco/interface/PFRecHitFwd.h"
0008 #include "CondFormats/DataRecord/interface/HcalPFCutsRcd.h"
0009 #include "CondTools/Hcal/interface/HcalPFCutsHandler.h"
0010 
0011 class SeedFinderBase {
0012 public:
0013   SeedFinderBase(const edm::ParameterSet& conf) : _algoName(conf.getParameter<std::string>("algoName")) {}
0014   SeedFinderBase(const SeedFinderBase&) = delete;
0015   virtual ~SeedFinderBase() = default;
0016   SeedFinderBase& operator=(const SeedFinderBase&) = delete;
0017 
0018   virtual void findSeeds(const edm::Handle<reco::PFRecHitCollection>& input,
0019                          const std::vector<bool>& mask,
0020                          std::vector<bool>& seedable,
0021                          const HcalPFCuts*) = 0;
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<SeedFinderBase*(const edm::ParameterSet&)> SeedFinderFactory;
0031 
0032 #endif