HerdSoftware  0.1.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Herd::FitClusteringAlgo Class Reference

Algorithm that clusters the Monte Carlo FIT detector hits. algorithms/clustering/FitClusteringAlgo.h. More...

#include <FitClusteringAlgo.h>

Inheritance diagram for Herd::FitClusteringAlgo:

Public Member Functions

 FitClusteringAlgo (const std::string &name)
 Constructor. More...
 
bool Initialize () override
 Initialization of the algorithm. More...
 
bool Process () override
 Process a single event. More...
 
std::vector< std::string > FreeObjects (const std::vector< std::string > &objs, Memory::Status memStatus) override
 Free the memory of unneeded objects. More...
 

Private Member Functions

std::vector< Cluster_Clusterize (std::vector< Hit > &hits, const FitGeoParams &geoParams)
 
std::vector< Cluster_Clusterize (std::vector< Hit > &hits, const FitGeoParams &geoParams, const FitChannelInfo &channelInfo)
 

Private Attributes

float _snThreshold
 
float _snSeed
 
FitClustersColl _fitClustersColl
 
observer_ptr< FitGeoParamsColl_fitGeoParamsColl
 
observer_ptr< FitChannelInfoColl_fitChannelInfoColl
 
StorePtr _evStore
 
StorePtr _globStore
 
bool _hasChannelInfo = false
 

Detailed Description

Algorithm that clusters the Monte Carlo FIT detector hits. algorithms/clustering/FitClusteringAlgo.h.

This algorithm creates clusters starting from the channel hits in the FIT detector. A cluster is defined as a group of contiguous channels above a given S/N level, including at least one channel (the seed channel) above a given, higher S/N level. When the FitChannelInfo collection is missing the algorithm falls back to a simple clustering based on the EDep value of the hits, marking the highest in a consecutive set as the cluster seed.

name type store optional description
fitHitsCollADC FitHitsColl evStore no Hits in the FIT.

Needed global objects:

name type store optional description
fitGeoParams FitGeoParamsColl globStore no Geometric parameters of the FIT.
fitChannelInfoColl FitChannelInfoColl globStore yes Channel info of the FIT (if available).

Produced event objects:

name alias type store description
fitClustersCollADC FitClustersColl evStore The clusters of the FIT.

Parameters:

name | type | default value | description -----—|-------—|------------—|--------------------------------------------—

Constructor & Destructor Documentation

◆ FitClusteringAlgo()

Herd::FitClusteringAlgo::FitClusteringAlgo ( const std::string &  name)

Constructor.

Parameters
nameThe name of the algorithm.

Member Function Documentation

◆ _Clusterize() [1/2]

std::vector< Cluster > Herd::FitClusteringAlgo::_Clusterize ( std::vector< Hit > &  hits,
const FitGeoParams geoParams 
)
private

◆ _Clusterize() [2/2]

std::vector< Cluster > Herd::FitClusteringAlgo::_Clusterize ( std::vector< Hit > &  hits,
const FitGeoParams geoParams,
const FitChannelInfo channelInfo 
)
private

◆ FreeObjects()

std::vector< std::string > Herd::FitClusteringAlgo::FreeObjects ( const std::vector< std::string > &  objs,
Memory::Status  memStatus 
)
override

Free the memory of unneeded objects.

Currently this method frees the memory of the clusters if memStatus is EXHAUSTED.

Parameters
objsThe list of objects to be freed.
memStatusThe current memory occupation status.
Returns
a list of freed objects.

◆ Initialize()

bool Herd::FitClusteringAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::FitClusteringAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ _evStore

StorePtr Herd::FitClusteringAlgo::_evStore
private

◆ _fitChannelInfoColl

observer_ptr<FitChannelInfoColl> Herd::FitClusteringAlgo::_fitChannelInfoColl
private

◆ _fitClustersColl

FitClustersColl Herd::FitClusteringAlgo::_fitClustersColl
private

◆ _fitGeoParamsColl

observer_ptr<FitGeoParamsColl> Herd::FitClusteringAlgo::_fitGeoParamsColl
private

◆ _globStore

StorePtr Herd::FitClusteringAlgo::_globStore
private

◆ _hasChannelInfo

bool Herd::FitClusteringAlgo::_hasChannelInfo = false
private

◆ _snSeed

float Herd::FitClusteringAlgo::_snSeed
private

◆ _snThreshold

float Herd::FitClusteringAlgo::_snThreshold
private

The documentation for this class was generated from the following files: