Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-08 03:36:29

0001 #ifndef RecoLocalTracker_SiStripClusterizer_h
0002 #define RecoLocalTracker_SiStripClusterizer_h
0003 
0004 #include "FWCore/Framework/interface/Frameworkfwd.h"
0005 #include "FWCore/Framework/interface/stream/EDProducer.h"
0006 #include "RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithm.h"
0007 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0010 #include "FWCore/Utilities/interface/InputTag.h"
0011 
0012 #include <vector>
0013 #include <memory>
0014 
0015 class SiStripClusterizer : public edm::stream::EDProducer<> {
0016 public:
0017   explicit SiStripClusterizer(const edm::ParameterSet& conf);
0018   void produce(edm::Event&, const edm::EventSetup&) override;
0019   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0020 
0021 private:
0022   template <class T>
0023   bool findInput(const edm::EDGetTokenT<T>&, edm::Handle<T>&, const edm::Event&);
0024   const std::vector<edm::InputTag> inputTags;
0025   std::unique_ptr<StripClusterizerAlgorithm> algorithm;
0026   typedef edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > token_t;
0027   typedef std::vector<token_t> token_v;
0028   token_v inputTokens;
0029 };
0030 
0031 #endif