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 | |
EDProducer (const EDProducer &)=delete | |
bool | hasAbilityToProduceInBeginLumis () const final |
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
bool | hasAbilityToProduceInBeginRuns () const final |
bool | hasAbilityToProduceInEndLumis () const final |
bool | hasAbilityToProduceInEndProcessBlocks () const final |
bool | hasAbilityToProduceInEndRuns () const final |
const EDProducer & | operator= (const EDProducer &)=delete |
Private Member Functions | |
template<> | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override |
Mandatory methods. More... | |
template<> | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) |
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) |
template<> | |
void | RetrieveRawHits (std::map< DetId, std::vector< Ref_Phase2TrackerDigi_ > > &mRawHits, const edm::Event &iEvent) |
Private Attributes | |
unsigned int | ADCThreshold |
std::vector< edm::EDGetTokenT < edm::DetSetVector < Phase2TrackerDigi > > > | rawHitTokens |
bool | storeLocalCoord |
edm::ESGetToken < TrackerGeometry, TrackerDigiGeometryRecord > | tGeomToken |
edm::ESGetToken < TTClusterAlgorithm< T > , TTClusterAlgorithmRecord > | theClusterFindingAlgoToken |
Data members. More... | |
edm::ESGetToken < TrackerTopology, TrackerTopologyRcd > | tTopoToken |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer<> | |
using | CacheTypes = CacheContexts< T...> |
using | GlobalCache = typename CacheTypes::GlobalCache |
using | HasAbility = AbilityChecker< T...> |
using | InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache |
using | LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache |
using | LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > |
using | LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache |
using | RunCache = typename CacheTypes::RunCache |
using | RunContext = RunContextT< RunCache, GlobalCache > |
using | RunSummaryCache = typename CacheTypes::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 77 of file TTClusterBuilder.h.
References HLT_FULL_cff::ADCThreshold, DeDxTools::esConsumes(), and edm::ParameterSet::getParameter().
|
override |
|
private |
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::getData(), TrackerGeometry::getDetectorType(), mps_fire::i, TrackerTopology::isLower(), eostools::move(), TrackerTopology::partnerDetId(), TrackerGeometry::Ph2PSP, edmNew::DetSetVector< T >::push_back(), edm::Event::put(), DetId::subdetId(), and groupFilesInBlocks::temp.
|
overrideprivate |
Mandatory methods.
|
private |
|
private |
Get hits.
|
private |
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 84 of file TTClusterBuilder.cc.
References edm::DetSetVector< T >::begin(), edm::DetSetVector< T >::end(), edm::Event::getByToken(), gpuClustering::id, and edm::makeRefTo().
|
private |
|
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.