90 clusterizer_ = std::make_unique<MTDThresholdClusterizer>(conf);
93 throw cms::Exception(
"MTDClusterProducer") <<
"[MTDClusterProducer]:" 95 <<
"Possible choices:\n" 96 <<
" MTDThresholdClusterizer";
110 descriptions.
add(
"mtdClusterProducer", desc);
134 auto outputBarrel = std::make_unique<FTLClusterCollection>();
135 auto outputEndcap = std::make_unique<FTLClusterCollection>();
137 run(*inputBarrel, *outputBarrel );
138 run(*inputEndcap, *outputEndcap );
155 <<
" at least one clusterizer is not ready -- can't run!" ;
160 LogDebug (
"MTDClusterProducer") <<
" Executing " 162 <<
" MTDClusters for " << input.size() <<
" Hits.";
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::unique_ptr< MTDClusterizerBase > clusterizer_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const edm::EDGetTokenT< FTLRecHitCollection > btlHits_
void produce(edm::Event &e, const edm::EventSetup &c) override
The "Event" entrypoint: gets called by framework for every event.
const edm::EDGetTokenT< FTLRecHitCollection > etlHits_
static std::string const input
MTDClusterProducer(const edm::ParameterSet &conf)
Constructor: set the ParameterSet and defer all thinking to setupClusterizer().
static void fillDescriptions(edm::ParameterSetDescription &desc)
#define DEFINE_FWK_MODULE(type)
const MTDTopology * topo_
EDProducer to cluster FTLRecHits into FTLClusters.
void run(const T &input, FTLClusterCollection &output)
Iterate over DetUnits, and invoke the PixelClusterizer on each.
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const std::string clusterMode_
const std::string ftlbInstance_
~MTDClusterProducer() override=default
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const std::string ftleInstance_
T const * product() const
const MTDGeometry * geom_