Plugin to load the Clustering algorithm and produce the collection of Clusters that goes in the event content. More...
#include <TTClusterBuilder.h>
Public Member Functions | |
TTClusterBuilder (const edm::ParameterSet &iConfig) | |
Constructors. More... | |
~TTClusterBuilder () | |
Destructor. More... | |
Public Member Functions inherited from edm::EDProducer | |
EDProducer () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducer () |
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 |
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 |
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 Member Functions | |
virtual void | beginRun (const edm::Run &run, const edm::EventSetup &iSetup) |
Mandatory methods. More... | |
virtual void | endRun (const edm::Run &run, const edm::EventSetup &iSetup) |
End run. More... | |
template<> | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) |
Implementation of methods of TTClusterBuilder.h. More... | |
virtual void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) |
template<> | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) |
Implement the producer. More... | |
void | RetrieveRawHits (std::map< DetId, std::vector< T > > &mRawHits, const edm::Event &iEvent) |
Get hits. More... | |
template<> | |
void | RetrieveRawHits (std::map< DetId, std::vector< Ref_Phase2TrackerDigi_ > > &mRawHits, const edm::Event &iEvent) |
Retrieve hits from the event. More... | |
template<> | |
void | RetrieveRawHits (std::map< DetId, std::vector< Ref_Phase2TrackerDigi_ > > &mRawHits, const edm::Event &iEvent) |
Retrieve hits from the event. More... | |
Private Attributes | |
unsigned int | ADCThreshold |
std::vector< edm::EDGetTokenT< edm::DetSetVector< Phase2TrackerDigi > > > | rawHitTokens |
bool | storeLocalCoord |
edm::ESHandle< TTClusterAlgorithm< T > > | theClusterFindingAlgoHandle |
Data members. More... | |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | 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::EDProducer | |
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) |
Plugin to load the Clustering algorithm and produce the collection of Clusters that goes in the event content.
After moving from SimDataFormats to DataFormats, the template structure of the class was maintained in order to accomodate any types other than PixelDigis in case there is such a need in the future.
Definition at line 41 of file TTClusterBuilder.h.
|
explicit |
Constructors.
Close class.
NOTE since pattern hit correlation must be performed within a stacked module, one must store Clusters in a proper way, providing easy access to them in a detector/member-wise way
Implementation of methods
Here, in the header file, the methods which do not depend on the specific type <T> that can fit the template. Other methods, with type-specific features, are implemented in the source file.Constructors
Definition at line 78 of file TTClusterBuilder.h.
References TTClusterBuilder< T >::ADCThreshold, edm::EDConsumerBase::consumes(), edm::ParameterSet::getParameter(), TTClusterBuilder< T >::rawHitTokens, and TTClusterBuilder< T >::storeLocalCoord.
TTClusterBuilder< T >::~TTClusterBuilder | ( | ) |
|
privatevirtual |
Mandatory methods.
Begin run.
Get the clustering algorithm
Definition at line 97 of file TTClusterBuilder.h.
References edm::EventSetup::get(), and TTClusterBuilder< T >::theClusterFindingAlgoHandle.
|
privatevirtual |
End run.
Definition at line 106 of file TTClusterBuilder.h.
References iEvent, genParticles_cff::map, TTClusterBuilder< T >::produce(), and TTClusterBuilder< T >::RetrieveRawHits().
|
private |
Implementation of methods of TTClusterBuilder.h.
Here, in the source file, the methods which do depend on the specific type <T> that can fit the template.
Prepare output
Temp vectors containing the vectors of the hits used to build each cluster
Find the hits in each stack member
If there are hits, cluster them It is the TTClusterAlgorithm::Cluster method which calls the constructor to the Cluster class!
Create TTCluster objects and store them Use the FastFiller with edmNew::DetSetVector
End of loop over detector elements
Put output in the event
Definition at line 14 of file TTClusterBuilder.cc.
References TrackerGeometry::dets(), edmNew::DetSetVector< T >::empty(), edm::EventSetup::get(), TrackerGeometry::getDetectorType(), mps_fire::i, TrackerTopology::isLower(), eostools::move(), TrackerTopology::partnerDetId(), TrackerGeometry::Ph2PSP, edm::ESHandle< T >::product(), edmNew::DetSetVector< T >::push_back(), edm::Event::put(), DetId::subdetId(), and groupFilesInBlocks::temp.
|
privatevirtual |
Referenced by TTClusterBuilder< T >::endRun().
|
private |
Implement the producer.
|
private |
Get hits.
Referenced by TTClusterBuilder< T >::endRun().
|
private |
Retrieve hits from the event.
Loop over the tags used to identify hits in the cfg file
For each tag, get the corresponding handle
Loop over detector elements identifying Digis
Definition at line 83 of file TTClusterBuilder.cc.
References edm::DetSetVector< T >::begin(), edm::DetSetVector< T >::end(), edm::Event::getByToken(), hcalTTPDigis_cfi::id, and edm::makeRefTo().
|
private |
Retrieve hits from the event.
|
private |
Definition at line 55 of file TTClusterBuilder.h.
Referenced by TTClusterBuilder< T >::TTClusterBuilder().
|
private |
Definition at line 54 of file TTClusterBuilder.h.
Referenced by TTClusterBuilder< T >::TTClusterBuilder().
|
private |
Definition at line 56 of file TTClusterBuilder.h.
Referenced by TTClusterBuilder< T >::TTClusterBuilder().
|
private |
Data members.
Definition at line 53 of file TTClusterBuilder.h.
Referenced by TTClusterBuilder< T >::beginRun().