HerdSoftware  0.4.0
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. 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, EA::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 m_snThreshold
 
float m_snSeed
 
FitClustersColl m_fitClustersColl
 
EA::observer_ptr< FitGeoParamsCollm_fitGeoParamsColl
 
EA::observer_ptr< FitChannelInfoCollm_fitChannelInfoColl
 
EA::StorePtr m_evStore
 
EA::StorePtr m_globStore
 
bool m_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,
EA::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

◆ m_evStore

EA::StorePtr Herd::FitClusteringAlgo::m_evStore
private

◆ m_fitChannelInfoColl

EA::observer_ptr<FitChannelInfoColl> Herd::FitClusteringAlgo::m_fitChannelInfoColl
private

◆ m_fitClustersColl

FitClustersColl Herd::FitClusteringAlgo::m_fitClustersColl
private

◆ m_fitGeoParamsColl

EA::observer_ptr<FitGeoParamsColl> Herd::FitClusteringAlgo::m_fitGeoParamsColl
private

◆ m_globStore

EA::StorePtr Herd::FitClusteringAlgo::m_globStore
private

◆ m_hasChannelInfo

bool Herd::FitClusteringAlgo::m_hasChannelInfo = false
private

◆ m_snSeed

float Herd::FitClusteringAlgo::m_snSeed
private

◆ m_snThreshold

float Herd::FitClusteringAlgo::m_snThreshold
private

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