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 () override | |
Destructor. More... | |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
bool | hasAbilityToProduceInBeginLumis () const final |
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
bool | hasAbilityToProduceInBeginRuns () const final |
bool | hasAbilityToProduceInEndLumis () const final |
bool | hasAbilityToProduceInEndProcessBlocks () const final |
bool | hasAbilityToProduceInEndRuns () const final |
Private Member Functions | |
void | beginRun (const edm::Run &run, const edm::EventSetup &iSetup) override |
Mandatory methods. More... | |
void | endRun (const edm::Run &run, const edm::EventSetup &iSetup) override |
End run. More... | |
template<> | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) |
Implementation of methods of TTClusterBuilder.h. More... | |
template<> | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) |
Implement the producer. More... | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override |
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... | |
void | RetrieveRawHits (std::map< DetId, std::vector< T > > &mRawHits, const edm::Event &iEvent) |
Get hits. More... | |
Private Attributes | |
unsigned int | ADCThreshold |
std::vector< edm::EDGetTokenT< edm::DetSetVector< Phase2TrackerDigi > > > | rawHitTokens |
bool | storeLocalCoord |
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > | tGeomToken |
edm::ESHandle< TTClusterAlgorithm< T > > | theClusterFindingAlgoHandle |
Data members. More... | |
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > | tTopoToken |
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 |
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 42 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 79 of file TTClusterBuilder.h.
References TTCluster_cfi::ADCThreshold, edm::ParameterSet::getParameter(), and TTCluster_cfi::storeLocalCoord.
|
override |
|
overrideprivate |
Mandatory methods.
Begin run.
Get the clustering algorithm
Definition at line 99 of file TTClusterBuilder.h.
References edm::EventSetup::get(), and get.
|
overrideprivate |
|
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(), TrackerGeometry::getDetectorType(), edm::EventSetup::getHandle(), mps_fire::i, iEvent, TrackerTopology::isLower(), eostools::move(), TrackerTopology::partnerDetId(), TrackerGeometry::Ph2PSP, edm::ESHandle< T >::product(), edmNew::DetSetVector< T >::push_back(), TTCluster_cfi::rawHits, TTCluster_cfi::storeLocalCoord, DetId::subdetId(), and groupFilesInBlocks::temp.
|
private |
Implement the producer.
|
overrideprivate |
|
private |
Retrieve hits from the event.
|
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 86 of file TTClusterBuilder.cc.
References edm::DetSetVector< T >::begin(), edm::DetSetVector< T >::end(), triggerObjects_cff::id, iEvent, and edm::makeRefTo().
|
private |
Get hits.
|
private |
Definition at line 57 of file TTClusterBuilder.h.
|
private |
Definition at line 56 of file TTClusterBuilder.h.
|
private |
Definition at line 58 of file TTClusterBuilder.h.
|
private |
Definition at line 55 of file TTClusterBuilder.h.
|
private |
Data members.
Definition at line 53 of file TTClusterBuilder.h.
|
private |
Definition at line 54 of file TTClusterBuilder.h.