Class DCClsComboEngine

java.lang.Object
org.jlab.clas.reco.ReconstructionEngine
org.jlab.service.ai.DCClsComboEngine
All Implemented Interfaces:
org.jlab.clara.engine.Engine

public class DCClsComboEngine extends ReconstructionEngine
  • Constructor Details

    • DCClsComboEngine

      public DCClsComboEngine()
  • Method Details

    • init

      public boolean init()
      Specified by:
      init in class ReconstructionEngine
    • processDataEvent

      public boolean processDataEvent(DataEvent event)
      Specified by:
      processDataEvent in class ReconstructionEngine
    • writeBank

      public void writeBank(DataEvent event, List<DCClusterCombo> clsComboList)
    • generate6ClsCombos

      public void generate6ClsCombos(Map<Integer, List<DCCluster>> map, int sl, DCCluster[] current, List<DCClusterCombo> comboList)
      Recursively generate all possible 6-cluster combinations from a map of clusters per superlayer.
      Parameters:
      map - a map from superlayer index (1-6) to a list of DCClusters in that superlayer
      sl - the current superlayer being processed (1-based)
      current - an array storing the current combination of clusters being built
      comboList - the list to store all generated DCClusterCombo objects
    • generate5ClsCombos

      public void generate5ClsCombos(Map<Integer, List<DCCluster>> mapSL, List<DCClusterCombo> outputList)
      Generate all possible 5-cluster combinations from clusters per superlayer. Each combination has one missing superlayer.
      Parameters:
      mapSL - a map from superlayer index (1-6) to a list of DCClusters
      outputList - the list to store all generated DCClusterCombo objects
    • resolveSharedClusterConflicts

      public List<DCClusterCombo> resolveSharedClusterConflicts(List<DCClusterCombo> comboList)
      Resolve conflicts among a list of DCClusterCombos by removing overlapping combos. Two combos are considered conflicting if they share any DCCluster (same ID). The combos with higher probability are prioritized.
      Parameters:
      comboList - the list of DCClusterCombo objects to process
      Returns:
      a list of DCClusterCombo objects with conflicts resolved
    • shareCluster

      public boolean shareCluster(DCClusterCombo a, DCClusterCombo b)
    • getBatchTranslator6Cls

      public static ai.djl.translate.Translator<float[][], float[]> getBatchTranslator6Cls()
    • getBatchTranslator5Cls

      public static ai.djl.translate.Translator<float[][], float[]> getBatchTranslator5Cls()