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