Class ClusterCleanerUtilities

java.lang.Object
org.jlab.rec.dc.cluster.ClusterCleanerUtilities

public class ClusterCleanerUtilities extends Object
  • Constructor Details

    • ClusterCleanerUtilities

      public ClusterCleanerUtilities()
  • Method Details

    • ClusterSplitter

      public List<FittedCluster> ClusterSplitter(FittedCluster clus, int nextClsStartIndex, ClusterFitter cf)
      Pattern Recognition step for identifying clusters in a clump: Find the points that are consistent with belonging to the same cluster. This step precedes the initial estimates of the track segments which require further refining. The method employed is that of Hough Transforms. Define the dimension of the r-theta accumulator array used for pattern recognition of (rho, phi) points.
      Parameters:
      clus - the fitted cluster. This cluster is examined for overlaps and // tracks.
      nextClsStartIndex - the index of the next cluster in the splitted cluster.
      cf -
      Returns:
      a list of fitted clusters
    • byLayerListSorter

      public List<List<Hit>> byLayerListSorter(List<Hit> DCHits, int sector, int superlyr)
    • count_nlayers_hit

      public int count_nlayers_hit(Hit[] hits_inlayer)
      Parameters:
      hits_inlayer - the hits in a given layer
      Returns:
      the number of layers hit at a certain wire coordinate
    • LRAmbiguityResolver

      public FittedCluster LRAmbiguityResolver(DataEvent event, FittedCluster fClus, ClusterFitter cf, IndexedTable tab, DCGeant4Factory DcDetector, TimeToDistanceEstimator tde)
    • SecondariesRemover

      public FittedCluster SecondariesRemover(DataEvent event, FittedCluster clus, ClusterFitter cf, IndexedTable tab, DCGeant4Factory DcDetector, TimeToDistanceEstimator tde)
    • OverlappingClusterResolver

      public FittedCluster OverlappingClusterResolver(FittedCluster thisclus, List<FittedCluster> clusters)
      A method to select the largest cluster among a set of clusters with 4 or more of overlaping hits
      Parameters:
      thisclus - the cluster to be compared to a list of other clusters
      clusters - the list of clusters
      Returns:
      the selected cluster
    • HitListPruner

      public List<Hit> HitListPruner(List<Hit> hits)
      Prunes the input hit list to remove noise candidates; the algorithm finds contiguous hits in a layer (column) and removes hits according to the number (Nc) of such contiguous hits in a given layer.If Nc=3, keep only the middle hit If Nc=4, keep only the first and last hit in that column; if Nc > 4, keep the first 2 and last 2 hits in that column, if Nc > 10 remove all hits in that column.
      Parameters:
      hits - the unfitted hits
      Returns:
    • IsolatedHitsPruner

      public FittedCluster IsolatedHitsPruner(FittedCluster clus)
      Parameters:
      clus -
      Returns:
      a new cluster that is contiguous
    • outOfTimersRemover

      public void outOfTimersRemover(FittedCluster fClus, boolean removeHit)
    • ClusterCleaner

      public FittedCluster ClusterCleaner(FittedCluster clus, ClusterFitter cf, DCGeant4Factory DcDetector)
    • isExceptionalCluster

      public boolean isExceptionalCluster(List hitsInClus)
      Wrapper for checking if a cluster of Hit objects is exceptional.
    • isExceptionalFittedCluster

      public boolean isExceptionalFittedCluster(List hitsInClus)
      Wrapper for checking if a cluster of FittedHit objects is exceptional.
    • ClusterSticher

      public Cluster ClusterSticher(Cluster thisclus, Cluster nextclus, int cid)