|
|
Go to the documentation of this file.
50 clusterMode_(conf.getParameter<
std::
string>(
"ClusterMode")),
51 maxTotalClusters_(conf.getParameter<int32_t>(
"maxNumberOfClusters")) {
81 desc.add<
int>(
"maxNumberOfClusters", -1)->setComment(
"-1 means no limit");
83 ->setComment(
"Options: HLT - column granularity, Offline - gain:col/ped:pix");
88 descriptions.
add(
"SiPixelClusterizerDefault",
desc);
113 auto output = std::make_unique<SiPixelClusterCollectionNew>();
130 cluster.setOriginalId(
id++);
143 clusterizer_ = std::make_unique<PixelThresholdClusterizer>(conf);
146 throw cms::Exception(
"Configuration") <<
"[SiPixelClusterProducer]:"
148 <<
"Possible choices:\n"
149 <<
" PixelThresholdClusterizer";
156 template <
typename T>
160 int numberOfDetUnits = 0;
161 int numberOfClusters = 0;
164 for (
auto const& dsv :
input) {
170 std::vector<short> badChannels;
171 DetId detIdObject(dsv.detId());
179 const PixelGeomDetUnit* pixDet = dynamic_cast<const PixelGeomDetUnit*>(geoUnit);
192 numberOfClusters += spc.size();
197 <<
"Limit on the number of clusters exceeded. An empty cluster collection will be produced instead.\n";
T const * product() const
edm::EDGetTokenT< SiPixelClusterCollectionNew > tPixelClusters
void run(const T &input, const edm::ESHandle< TrackerGeometry > &geom, edmNew::DetSetVector< SiPixelCluster > &output)
Iterate over DetUnits, and invoke the PixelClusterizer on each.
static const std::string input
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const std::string clusterMode_
SiPixelClusterProducer(const edm::ParameterSet &conf)
Constructor: set the ParameterSet and defer all thinking to setupClusterizer().
edm::EDPutTokenT< SiPixelClusterCollectionNew > tPutPixelClusters
#define DEFINE_FWK_MODULE(type)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const TrackerTopology * tTopo_
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > tPixelDigi
void produce(edm::Event &e, const edm::EventSetup &c) override
The "Event" entrypoint: gets called by framework for every event.
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomToken_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
std::unique_ptr< PixelClusterizerBase > clusterizer_
~SiPixelClusterProducer() override
Log< level::Error, false > LogError
static void fillPSetDescription(edm::ParameterSetDescription &desc)
const int32_t maxTotalClusters_
Optional limit on the total number of clusters.
EDProducer to cluster PixelDigis into SiPixelClusters.
T getParameter(std::string const &) const
std::unique_ptr< SiPixelGainCalibrationServiceBase > theSiPixelGainCalibration_
static void fillPSetDescription(edm::ParameterSetDescription &desc)
void setupClusterizer(const edm::ParameterSet &conf)