StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
macros/rumEEmcClusterMaker.C

StEEmcGenericClusterMaker is responsible for storing clusters found by the cluster finding algorithm, forming associations between the clusters found in the different layers of the endcap, for assigning a unique ID ("key") to each cluster.

The user builds clusters using the StEEmcCluster (for tower clusters) and StEEmcSmdCluster (for smd clusters) objects. The add() method is called for every cluster which is found. This inserts the cluster into the storage vector, assigns a unique ID to the cluster, and initializes the data structure which handles the association between clusters in differnt layers.

The user should call StEEmcGenericClusterMaker::Make() once all clusters have been found. This builds the matches between clusters in the different layers. The user can define how clusters are matched by implementing a new version of the match() methods in his/her maker.

Three methods (match()) are defined which are used by the generic cluster maker to match clusters between layers. These defaults may be overridden by implementing a new match() function w/in the user's cluster maker.

The default methods work as follows:

  1. Matching between layers (tower, preshower, postshower)

Tower, preshower and postshower clusters will be matched to each other if the seed of the two clusters are in the same or adjacent towers.

  1. Matching between smd clusters and tower (preshower/postshower) clusters

An SMD cluster is matched to a tower cluster if the mean of the SMD cluster falls within +/- 40 strips (20cm) of the center SMD strip in the seed tower. Matches cannot occur between SMD clusters in one sector and tower clusters with a seed tower in a second sector.

  1. Matching between SMD clusters in different planes.

SMD clusters must have the same energy w/in +/- 20%, and must both match an existing tower cluster.