Go to the documentation of this file.
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>();
130 run(*inputBarrel, *outputBarrel);
131 run(*inputEndcap, *outputEndcap);
140 template <
typename T>
143 throw cms::Exception(
"MTDClusterProducer") <<
" at least one clusterizer is not ready -- can't run!";
149 <<
" MTDClusters for " <<
input.size() <<
" Hits.";
void run(const T &input, FTLClusterCollection &output)
Iterate over DetUnits, and invoke the PixelClusterizer on each.
static const std::string input
~MTDClusterProducer() override=default
const std::string ftlbInstance_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const edm::EDGetTokenT< FTLRecHitCollection > etlHits_
edm::ESGetToken< MTDGeometry, MTDDigiGeometryRecord > mtdgeoToken_
EDProducer to cluster FTLRecHits into FTLClusters.
const std::string ftleInstance_
edm::ESGetToken< MTDTopology, MTDTopologyRcd > mtdtopoToken_
const MTDTopology * topo_
#define DEFINE_FWK_MODULE(type)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const MTDGeometry * geom_
const std::string clusterMode_
std::unique_ptr< MTDClusterizerBase > clusterizer_
ESTransientHandle< T > getTransientHandle(const ESGetToken< T, R > &iToken) const
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.
static void fillPSetDescription(edm::ParameterSetDescription &desc)
MTDClusterProducer(const edm::ParameterSet &conf)
Constructor: set the ParameterSet and defer all thinking to setupClusterizer().