75 ftlbInstance_(conf.getParameter<
std::
string>(
"BarrelClusterName")),
76 ftleInstance_(conf.getParameter<
std::
string>(
"EndcapClusterName")),
77 clusterMode_(conf.getParameter<
std::
string>(
"ClusterMode")) {
82 mtdgeoToken_ = esConsumes<MTDGeometry, MTDDigiGeometryRecord>();
88 clusterizer_ = std::make_unique<MTDThresholdClusterizer>(conf);
90 throw cms::Exception(
"MTDClusterProducer") <<
"[MTDClusterProducer]:" 92 <<
"Possible choices:\n" 93 <<
" MTDThresholdClusterizer";
106 descriptions.
add(
"mtdClusterProducer",
desc);
124 topo_ = mtdTopo.product();
127 auto outputBarrel = std::make_unique<FTLClusterCollection>();
128 auto outputEndcap = std::make_unique<FTLClusterCollection>();
131 run(*inputBarrel, *outputBarrel);
133 edm::LogWarning(
"MTDReco") <<
"MTDClusterProducer:: Missing Barrel Digis";
135 run(*inputEndcap, *outputEndcap);
137 edm::LogWarning(
"MTDReco") <<
"MTDClusterProducer:: Missing Endcap Digis";
146 template <
typename T>
149 throw cms::Exception(
"MTDClusterProducer") <<
" at least one clusterizer is not ready -- can't run!";
155 <<
" MTDClusters for " <<
input.size() <<
" Hits.";
static void fillPSetDescription(edm::ParameterSetDescription &desc)
edm::ESGetToken< MTDTopology, MTDTopologyRcd > mtdtopoToken_
std::unique_ptr< MTDClusterizerBase > clusterizer_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void produce(edm::Event &e, const edm::EventSetup &c) override
The "Event" entrypoint: gets called by framework for every event.
const edm::EDGetTokenT< FTLRecHitCollection > btlHits_
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().
const MTDTopology * topo_
#define DEFINE_FWK_MODULE(type)
EDProducer to cluster FTLRecHits into FTLClusters.
void run(const T &input, FTLClusterCollection &output)
Iterate over DetUnits, and invoke the PixelClusterizer on each.
const std::string clusterMode_
const std::string ftlbInstance_
~MTDClusterProducer() override=default
edm::ESGetToken< MTDGeometry, MTDDigiGeometryRecord > mtdgeoToken_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const std::string ftleInstance_
ESTransientHandle< T > getTransientHandle(const ESGetToken< T, R > &iToken) const
Log< level::Warning, false > LogWarning
const MTDGeometry * geom_