CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
Phase2ITPixelClusterProducer Class Referencefinal

EDProducer to cluster PixelDigis into Phase2ITPixelClusters. More...

#include <Phase2ITPixelClusterProducer.h>

Inheritance diagram for Phase2ITPixelClusterProducer:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 Phase2ITPixelClusterProducer (const edm::ParameterSet &conf)
 
virtual void produce (edm::Event &e, const edm::EventSetup &c) override
 
void run (const edm::DetSetVector< PixelDigi > &input, edm::ESHandle< TrackerGeometry > &geom, edmNew::DetSetVector< Phase2ITPixelCluster > &output)
 
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
 
 ~EDProducerBase () override
 
- 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 ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
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, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
virtual ~ProducerBase () noexcept(false)
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) 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_
 
SiPixelGainCalibrationServiceBasetheSiPixelGainCalibration_
 
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, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
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)
 

Detailed Description

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.

Author
Petar Maksimovic (JHU). DetSetVector implementation by Vincenzo Chiochia (Uni Zurich) Modify the local container (cache) to improve the speed. D.K. 5/07

Definition at line 49 of file Phase2ITPixelClusterProducer.h.

Constructor & Destructor Documentation

Phase2ITPixelClusterProducer::Phase2ITPixelClusterProducer ( const edm::ParameterSet conf)
explicit
virtual Phase2ITPixelClusterProducer::~Phase2ITPixelClusterProducer ( )
virtual

Member Function Documentation

virtual void Phase2ITPixelClusterProducer::produce ( edm::Event e,
const edm::EventSetup c 
)
overridevirtual
void Phase2ITPixelClusterProducer::run ( const edm::DetSetVector< PixelDigi > &  input,
edm::ESHandle< TrackerGeometry > &  geom,
edmNew::DetSetVector< Phase2ITPixelCluster > &  output 
)
void Phase2ITPixelClusterProducer::setupClusterizer ( )

Member Data Documentation

Phase2ITPixelClusterizerBase* Phase2ITPixelClusterProducer::clusterizer_
private

Definition at line 71 of file Phase2ITPixelClusterProducer.h.

std::string Phase2ITPixelClusterProducer::clusterMode_
private

Definition at line 70 of file Phase2ITPixelClusterProducer.h.

edm::ParameterSet Phase2ITPixelClusterProducer::conf_
private

Definition at line 66 of file Phase2ITPixelClusterProducer.h.

int32_t Phase2ITPixelClusterProducer::maxTotalClusters_
private

Optional limit on the total number of clusters.

Definition at line 76 of file Phase2ITPixelClusterProducer.h.

bool Phase2ITPixelClusterProducer::readyToCluster_
private

Definition at line 72 of file Phase2ITPixelClusterProducer.h.

edm::InputTag Phase2ITPixelClusterProducer::src_
private

Definition at line 73 of file Phase2ITPixelClusterProducer.h.

SiPixelGainCalibrationServiceBase* Phase2ITPixelClusterProducer::theSiPixelGainCalibration_
private

Definition at line 69 of file Phase2ITPixelClusterProducer.h.

edm::EDGetTokenT<edm::DetSetVector<PixelDigi> > Phase2ITPixelClusterProducer::tPixelDigi
private

Definition at line 67 of file Phase2ITPixelClusterProducer.h.