EDProducer to cluster PixelDigis into Phase2ITPixelClusters. More...
#include <Phase2ITPixelClusterProducer.h>
Public Member Functions | |
Phase2ITPixelClusterProducer (const edm::ParameterSet &conf) | |
Constructor: set the ParameterSet and defer all thinking to setupClusterizer(). More... | |
virtual void | produce (edm::Event &e, const edm::EventSetup &c) override |
The "Event" entrypoint: gets called by framework for every event. More... | |
void | run (const edm::DetSetVector< PixelDigi > &input, edm::ESHandle< TrackerGeometry > &geom, edmNew::DetSetVector< Phase2ITPixelCluster > &output) |
Iterate over DetUnits, and invoke the Phase2ITPixelClusterizer on each. More... | |
void | setupClusterizer () |
virtual | ~Phase2ITPixelClusterProducer () |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
Public Member Functions inherited from edm::stream::EDProducerBase | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Private Attributes | |
Phase2ITPixelClusterizerBase * | clusterizer_ |
std::string | clusterMode_ |
edm::ParameterSet | conf_ |
int32_t | maxTotalClusters_ |
Optional limit on the total number of clusters. More... | |
bool | readyToCluster_ |
edm::InputTag | src_ |
SiPixelGainCalibrationServiceBase * | theSiPixelGainCalibration_ |
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > | tPixelDigi |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer<> | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDProducerBase | |
typedef EDProducerAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::stream::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
EDProducer to cluster PixelDigis into Phase2ITPixelClusters.
Phase2ITPixelClusterProducer is an EDProducer subclass (i.e., a module) which orchestrates clustering of PixelDigis to Phase2ITPixelClusters. Consequently, the input is edm::DetSetVector<PixelDigi> and the output is edmNew::DetSetVector<Phase2ITPixelCluster>.
Phase2ITPixelClusterProducer invokes one of descendents from Phase2ITPixelClusterizerBase, e.g. PixelThresholdClusterizer (which is the only available option right now). Phase2ITPixelClusterProducer loads the PixelDigis, and then iterates over DetIds, invoking Phase2ITPixelClusterizer's clusterizeDetUnit to perform the clustering. clusterizeDetUnit() returns a DetSetVector of Phase2ITPixelClusters, which are then recorded in the event.
The calibrations are not loaded at the moment (v1), although that is being planned for the near future.
Definition at line 49 of file Phase2ITPixelClusterProducer.h.
|
explicit |
Constructor: set the ParameterSet and defer all thinking to setupClusterizer().
Description: see Phase2ITPixelClusterProducer.h Author: P. Maksimovic (porting from original ORCA version) Get rid of the noiseVector. d.k. 28/3/06 Implementation of the DetSetVector container. V.Chiochia, May 06 Phase2ITPixelClusterCollection typedef of DetSetVector V.Chiochia, June 06 Introduce the DetSet local container (cache) for speed. d.k. 05/07
Definition at line 48 of file Phase2ITPixelClusterProducer.cc.
References edm::ParameterSet::getParameter(), Phase2ITPixelClusterizer_cfi::payloadType, setupClusterizer(), src_, AlCaHLTBitMon_QueryRunRegistry::string, theSiPixelGainCalibration_, and tPixelDigi.
|
virtual |
Definition at line 78 of file Phase2ITPixelClusterProducer.cc.
References clusterizer_, and theSiPixelGainCalibration_.
|
overridevirtual |
The "Event" entrypoint: gets called by framework for every event.
Definition at line 87 of file Phase2ITPixelClusterProducer.cc.
References relativeConstraints::geom, edm::EventSetup::get(), edm::Event::getByToken(), input, eostools::move(), convertSQLitetoXML_cfg::output, edm::Event::put(), run(), SiPixelGainCalibrationServiceBase::setESObjects(), theSiPixelGainCalibration_, and tPixelDigi.
void Phase2ITPixelClusterProducer::run | ( | const edm::DetSetVector< PixelDigi > & | input, |
edm::ESHandle< TrackerGeometry > & | geom, | ||
edmNew::DetSetVector< Phase2ITPixelCluster > & | output | ||
) |
Iterate over DetUnits, and invoke the Phase2ITPixelClusterizer on each.
Definition at line 142 of file Phase2ITPixelClusterProducer.cc.
References edm::DetSetVector< T >::begin(), Phase2ITPixelClusterizerBase::clusterizeDetUnit(), clusterizer_, DEFINE_FWK_MODULE, relativeConstraints::empty, edm::DetSetVector< T >::end(), TrackerGeometry::idToDetUnit(), maxTotalClusters_, readyToCluster_, and edmNew::DetSetVector< T >::swap().
Referenced by produce().
void Phase2ITPixelClusterProducer::setupClusterizer | ( | ) |
Set up the specific algorithm we are going to use. TO DO: in the future, we should allow for a different algorithm for each detector subset (e.g. barrel vs forward, per layer, etc).
Definition at line 121 of file Phase2ITPixelClusterProducer.cc.
References clusterizer_, clusterMode_, conf_, edm::ParameterSet::getUntrackedParameter(), readyToCluster_, Phase2ITPixelClusterizerBase::setSiPixelGainCalibrationService(), AlCaHLTBitMon_QueryRunRegistry::string, and theSiPixelGainCalibration_.
Referenced by Phase2ITPixelClusterProducer().
|
private |
Definition at line 71 of file Phase2ITPixelClusterProducer.h.
Referenced by run(), setupClusterizer(), and ~Phase2ITPixelClusterProducer().
|
private |
Definition at line 70 of file Phase2ITPixelClusterProducer.h.
Referenced by setupClusterizer().
|
private |
Definition at line 66 of file Phase2ITPixelClusterProducer.h.
Referenced by setupClusterizer().
|
private |
Optional limit on the total number of clusters.
Definition at line 76 of file Phase2ITPixelClusterProducer.h.
Referenced by run().
|
private |
Definition at line 72 of file Phase2ITPixelClusterProducer.h.
Referenced by run(), and setupClusterizer().
|
private |
Definition at line 73 of file Phase2ITPixelClusterProducer.h.
Referenced by Phase2ITPixelClusterProducer().
|
private |
Definition at line 69 of file Phase2ITPixelClusterProducer.h.
Referenced by Phase2ITPixelClusterProducer(), produce(), setupClusterizer(), and ~Phase2ITPixelClusterProducer().
|
private |
Definition at line 67 of file Phase2ITPixelClusterProducer.h.
Referenced by Phase2ITPixelClusterProducer(), and produce().