Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:30

0001 // Authors: Felice Pantaleo, Marco Rovere
0002 // Emails: felice.pantaleo@cern.ch, marco.rovere@cern.ch
0003 // Date: 06/2019
0004 
0005 #ifndef RecoHGCal_TICL_SeedingRegionAlgoBase_H__
0006 #define RecoHGCal_TICL_SeedingRegionAlgoBase_H__
0007 
0008 #include <memory>
0009 #include <vector>
0010 #include "DataFormats/HGCalReco/interface/Common.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0013 #include "DataFormats/HGCalReco/interface/TICLSeedingRegion.h"
0014 #include "FWCore/Framework/interface/ConsumesCollector.h"
0015 
0016 namespace edm {
0017   class Event;
0018   class EventSetup;
0019 }  // namespace edm
0020 
0021 namespace ticl {
0022   class SeedingRegionAlgoBase {
0023   public:
0024     SeedingRegionAlgoBase(const edm::ParameterSet& conf, edm::ConsumesCollector& sumes)
0025         : algo_verbosity_(conf.getParameter<int>("algo_verbosity")) {}
0026     virtual ~SeedingRegionAlgoBase() {}
0027 
0028     virtual void initialize(const edm::EventSetup& es) = 0;
0029 
0030     virtual void makeRegions(const edm::Event& ev,
0031                              const edm::EventSetup& es,
0032                              std::vector<TICLSeedingRegion>& result) = 0;
0033 
0034     static void fillPSetDescription(edm::ParameterSetDescription& desc) { desc.add<int>("algo_verbosity", 0); }
0035 
0036   protected:
0037     int algo_verbosity_;
0038     int algoId_;
0039   };
0040 }  // namespace ticl
0041 
0042 #endif