![]() |
![]() |
EDProducer to cluster PixelDigis into SiPixelClusters. More...
#include <SiPixelClusterProducer.h>
Public Member Functions | |
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< SiPixelCluster > &output) |
Iterate over DetUnits, and invoke the PixelClusterizer on each. More... | |
void | setupClusterizer () |
SiPixelClusterProducer (const edm::ParameterSet &conf) | |
Constructor: set the ParameterSet and defer all thinking to setupClusterizer(). More... | |
virtual | ~SiPixelClusterProducer () |
![]() | |
EDProducer ()=default | |
![]() | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
![]() | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
![]() | |
std::vector< ConsumesInfo > | consumesInfo () const |
EDConsumerBase () | |
ProductHolderIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
std::vector < ProductHolderIndexAndSkipBit > const & | itemsToGetFromEvent () const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
Private Attributes | |
PixelClusterizerBase * | 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 | |
![]() | |
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 |
![]() | |
typedef EDProducerAdaptorBase | ModuleType |
![]() | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
![]() | |
typedef ProductLabels | Labels |
![]() | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
![]() | |
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 SiPixelClusters.
SiPixelClusterProducer is an EDProducer subclass (i.e., a module) which orchestrates clustering of PixelDigis to SiPixelClusters. Consequently, the input is edm::DetSetVector<PixelDigi> and the output is edm::DetSetVector<SiPixelCluster>.
SiPixelClusterProducer invokes one of descendents from PixelClusterizerBase, e.g. PixelThresholdClusterizer (which is the only available option right now). SiPixelClusterProducer loads the PixelDigis, and then iterates over DetIds, invoking PixelClusterizer's clusterizeDetUnit to perform the clustering. clusterizeDetUnit() returns a DetSetVector of SiPixelClusters, 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 52 of file SiPixelClusterProducer.h.
|
explicit |
Constructor: set the ParameterSet and defer all thinking to setupClusterizer().
Description: see SiPixelClusterProducer.h Author: P. Maksimovic (porting from original ORCA version) History: Oct 14, 2005, initial version Get rid of the noiseVector. d.k. 28/3/06 Implementation of the DetSetVector container. V.Chiochia, May 06 SiPixelClusterCollection typedef of DetSetVector V.Chiochia, June 06 Introduce the DetSet local container (cache) for speed. d.k. 05/07
Definition at line 49 of file SiPixelClusterProducer.cc.
References edm::ParameterSet::getParameter(), HLT_25ns14e33_v1_cff::payloadType, setupClusterizer(), src_, AlCaHLTBitMon_QueryRunRegistry::string, theSiPixelGainCalibration_, and tPixelDigi.
|
virtual |
Definition at line 79 of file SiPixelClusterProducer.cc.
References clusterizer_, and theSiPixelGainCalibration_.
|
overridevirtual |
The "Event" entrypoint: gets called by framework for every event.
Implements edm::stream::EDProducerBase.
Definition at line 88 of file SiPixelClusterProducer.cc.
References relativeConstraints::geom, edm::EventSetup::get(), edm::Event::getByToken(), input, convertSQLitetoXML_cfg::output, edm::Event::put(), run(), SiPixelGainCalibrationServiceBase::setESObjects(), theSiPixelGainCalibration_, and tPixelDigi.
void SiPixelClusterProducer::run | ( | const edm::DetSetVector< PixelDigi > & | input, |
edm::ESHandle< TrackerGeometry > & | geom, | ||
edmNew::DetSetVector< SiPixelCluster > & | output | ||
) |
Iterate over DetUnits, and invoke the PixelClusterizer on each.
Definition at line 143 of file SiPixelClusterProducer.cc.
References assert(), edm::DetSetVector< T >::begin(), PixelClusterizerBase::clusterizeDetUnit(), clusterizer_, relativeConstraints::empty, edm::DetSetVector< T >::end(), maxTotalClusters_, readyToCluster_, and edmNew::DetSetVector< T >::swap().
Referenced by produce().
void SiPixelClusterProducer::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 122 of file SiPixelClusterProducer.cc.
References clusterizer_, clusterMode_, conf_, edm::ParameterSet::getUntrackedParameter(), readyToCluster_, PixelClusterizerBase::setSiPixelGainCalibrationService(), AlCaHLTBitMon_QueryRunRegistry::string, and theSiPixelGainCalibration_.
Referenced by SiPixelClusterProducer().
|
private |
Definition at line 74 of file SiPixelClusterProducer.h.
Referenced by run(), setupClusterizer(), and ~SiPixelClusterProducer().
|
private |
Definition at line 73 of file SiPixelClusterProducer.h.
Referenced by setupClusterizer().
|
private |
Definition at line 69 of file SiPixelClusterProducer.h.
Referenced by setupClusterizer().
|
private |
Optional limit on the total number of clusters.
Definition at line 79 of file SiPixelClusterProducer.h.
Referenced by run().
|
private |
Definition at line 75 of file SiPixelClusterProducer.h.
Referenced by run(), and setupClusterizer().
|
private |
Definition at line 76 of file SiPixelClusterProducer.h.
Referenced by SiPixelClusterProducer().
|
private |
Definition at line 72 of file SiPixelClusterProducer.h.
Referenced by produce(), setupClusterizer(), SiPixelClusterProducer(), and ~SiPixelClusterProducer().
|
private |
Definition at line 70 of file SiPixelClusterProducer.h.
Referenced by produce(), and SiPixelClusterProducer().