StFms
0.0.0
FMS software in the STAR framework
|
#include <StFmsClusterFinder.h>
Public Types | |
typedef std::list < FMSCluster::StFmsTower * > | TowerList |
Public Member Functions | |
StFmsClusterFinder () | |
~StFmsClusterFinder () | |
void | calculateClusterMoments (StFmsTowerCluster *cluster) const |
int | categorise (StFmsTowerCluster *cluster) |
void | setMomentEnergyCutoff (float cutoff=0.5) |
float | momentEnergyCutoff () const |
int | findClusters (TowerList *towers, ClusterList *clusters) |
Private Member Functions | |
unsigned | locateClusterSeeds (TowerList *towers, TowerList *neighbors, ClusterList *clusters) const |
unsigned | associateTowersWithClusters (TowerList *neighbors, ClusterList *clusters, TObjArray *valleys) const |
unsigned | associateValleyTowersWithClusters (TowerList *neighbors, ClusterList *clusters, TObjArray *valleys) const |
unsigned | associateResidualTowersWithClusters (TowerList *neighbors, ClusterList *clusters) const |
void | associateSubThresholdTowersWithClusters (TowerList *towers, ClusterList *clusters) const |
Private Attributes | |
Float_t | mEnergyCutoff |
Tower energy cutoff for cluster moments. More... | |
Int_t | mNClusts |
Counter for number of found clusters. More... | |
Static Private Attributes | |
static const unsigned | kMaxNClusters = 6 |
We stop looking after this many. More... | |
Form clusters from a collection of FMS towers.
Generate a list of StFmsTowerCluster from a collection of StFmsTower.
Definition at line 36 of file StFmsClusterFinder.h.
typedef std::list<FMSCluster::StFmsTower*> FMSCluster::StFmsClusterFinder::TowerList |
Definition at line 39 of file StFmsClusterFinder.h.
FMSCluster::StFmsClusterFinder::StFmsClusterFinder | ( | ) |
Constructor.
Definition at line 321 of file StFmsClusterFinder.cxx.
FMSCluster::StFmsClusterFinder::~StFmsClusterFinder | ( | ) |
Destructor
Definition at line 325 of file StFmsClusterFinder.cxx.
|
private |
Distribute leftover tower to clusters
These are towers that remain after the valley tower association.
Return the number of neighbors associated with clusters.
Definition at line 523 of file StFmsClusterFinder.cxx.
|
private |
Add "zero" energy towers to the clusters
These low-energy towers were ignored in all prior clustering steps. They serve the purpose of preventing the creation of bogus peaks, where there is no energy deposited at the tower
Definition at line 550 of file StFmsClusterFinder.cxx.
|
private |
Associate towers with cluster seeds.
Go through a list of unassociated neighbor towers and try to associate each tower with a cluster.
Return the number of neighbors either associated with clusters or placed in the valley i.e. the number removed from the neighbor list.
Definition at line 466 of file StFmsClusterFinder.cxx.
|
private |
Associate valley towers with clusters
Valleys towers are those that were equidistant between seeds after the first round of association. Now that the seeds have some other towers associated with them, use a calculation of the cluster center (using all towers) to find the tower-cluster distance and associate each valley with its nearest cluster.
Return the number of valley neighbors moved to clusters.
Definition at line 500 of file StFmsClusterFinder.cxx.
void FMSCluster::StFmsClusterFinder::calculateClusterMoments | ( | StFmsTowerCluster * | cluster | ) | const |
Calculate moments (mean and sigma of tower (x, y) positions) for a cluster.
Also update the cluster with the current number of towers in it.
Definition at line 329 of file StFmsClusterFinder.cxx.
int FMSCluster::StFmsClusterFinder::categorise | ( | StFmsTowerCluster * | cluster | ) |
Categorise a cluster based on its energy and tower distribution.
Set the cluster's category field and return that category. See EFmsClusterCategory in StEvent/StFmsCluster.h for valid categories.
Definition at line 338 of file StFmsClusterFinder.cxx.
int FMSCluster::StFmsClusterFinder::findClusters | ( | TowerList * | towers, |
ClusterList * | clusters | ||
) |
Find clusters from a collection of input towers.
Populate the cluster list with the found clusters. Arguments:
Return the number of found clusters.
Definition at line 368 of file StFmsClusterFinder.cxx.
|
private |
Look for cluster seed towers.
These are the high towers around which the clusters will grow. Fill the cluster list with the found seeds, and the neighbor list with adjacent, non-seed towers that we will later assign to a cluster.
Definition at line 414 of file StFmsClusterFinder.cxx.
|
inline |
Return energy cutoff on towers used when calculating cluster moments
Definition at line 66 of file StFmsClusterFinder.h.
|
inline |
Set energy cutoff on towers used when calculating cluster moments.
Towers below this energy will not be included in the calculation of the cluster's position (mean and sigma x, y).
Definition at line 64 of file StFmsClusterFinder.h.
|
staticprivate |
We stop looking after this many.
Definition at line 85 of file StFmsClusterFinder.h.
|
private |
Tower energy cutoff for cluster moments.
Definition at line 147 of file StFmsClusterFinder.h.
|
private |
Counter for number of found clusters.
Definition at line 148 of file StFmsClusterFinder.h.