Plugin to load the Clustering algorithm and produce the collection of Clusters that goes in the event content. More...
#include <TTClusterBuilder.h>
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... | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override |
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 | |
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::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
static bool | wantsGlobalLuminosityBlocks () |
static bool | wantsGlobalRuns () |
static bool | wantsStreamLuminosityBlocks () |
static bool | wantsStreamRuns () |
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<typename ESProduct , Transition Tr = Transition::Event> | |
auto | esConsumes (eventsetup::EventSetupRecordKey const &, ESInputTag const &tag) |
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.
|
override |
|
overrideprivate |
Mandatory methods.
Begin run.
Get the clustering algorithm
Definition at line 97 of file TTClusterBuilder.h.
References edm::EventSetup::get(), and TTClusterBuilder< T >::theClusterFindingAlgoHandle.
|
overrideprivate |
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.
|
overrideprivate |
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(), triggerObjects_cff::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().