lcsim/src/org/lcsim/contrib/uiowa/structural
diff -u -r1.2 -r1.3
--- LikelihoodLinkDriver.java 1 Oct 2005 01:35:41 -0000 1.2
+++ LikelihoodLinkDriver.java 14 Oct 2005 17:51:26 -0000 1.3
@@ -20,36 +20,47 @@
Vector<Link> m_vlinksTrackToTrack = null;
Vector<Link> m_vlinksTrackToClump = null;
Vector<Link> m_vlinksClumpToClump = null;
+ String m_listOfBigClustersName = null;
+ String m_listOfMIPsName = null;
+ String m_listOfClumpsName = null;
+ String m_outputMapName = null;
- public LikelihoodLinkDriver(LikelihoodEvaluator eval, double cutTrackToTrack, double cutTrackToClump, double cutClumpToClump) {
+ public LikelihoodLinkDriver(LikelihoodEvaluator eval, double cutTrackToTrack, double cutTrackToClump, double cutClumpToClump, String listOfBigClustersName, String listOfTrackSegmentsName, String listOfClumpsName, String outputMapName) {
m_eval = eval;
m_cutTrackToTrack = cutTrackToTrack;
m_cutTrackToClump = cutTrackToClump;
m_cutClumpToClump = cutClumpToClump;
+ m_listOfBigClustersName = listOfBigClustersName;
+ m_listOfMIPsName = listOfTrackSegmentsName;
+ m_listOfClumpsName = listOfClumpsName;
+ m_outputMapName = outputMapName;
}
- public List<Cluster> getListOfBigClusters() {
+ public List<Cluster> getListOfBigClusters() {
// Grab from event store
- List<Cluster> vBigClusters = m_event.get(Cluster.class, "MSTCluster Merged");
+ List<Cluster> vBigClusters = m_event.get(Cluster.class, m_listOfBigClustersName);
return vBigClusters;
}
- public boolean ignoreCluster(Cluster clus) {
- // Ignore if < 10 hits
- return (clus.getCalorimeterHits().size() <= 10);
- }
-
public List<Cluster> findTrackSegments(Cluster clus) {
- List<MapClusterToListOfClusters> dummyList = m_event.get(MapClusterToListOfClusters.class, "[string goes here]");
+ List<MapClusterToListOfClusters> dummyList = m_event.get(MapClusterToListOfClusters.class, m_listOfMIPsName );
Map<Cluster, List<Cluster>>mapClustersToMIPs = dummyList.iterator().next();
List<Cluster> vMIPs = mapClustersToMIPs.get(clus);
+ if (vMIPs == null) {
+ // None found -- make it an empty list instead
+ vMIPs = new Vector<Cluster> ();
+ }
return vMIPs;
}
public List<Cluster> findClumps(Cluster clus) {
- List<MapClusterToListOfClusters> dummyList = m_event.get(MapClusterToListOfClusters.class, "[string goes here]");
+ List<MapClusterToListOfClusters> dummyList = m_event.get(MapClusterToListOfClusters.class, m_listOfClumpsName);
Map<Cluster, List<Cluster>>mapClustersToClumps = dummyList.iterator().next();
List<Cluster> vClumps = mapClustersToClumps.get(clus);
+ if (vClumps == null) {
+ // None found -- make it an empty list instead
+ vClumps = new Vector<Cluster> ();
+ }
return vClumps;
}
@@ -73,9 +84,11 @@
}
public void initializeEvent() {
- //Map tmpMap = new HashMap();
- //m_event.put("MapClustersToSkeletons", tmpMap);
- throw new AssertionError("Not implemented");
+ // Set up the output for this event:
+ MapClusterToListOfClusters tmpMap = new MapClusterToListOfClusters();
+ List<MapClusterToListOfClusters> tmpMapList = new Vector<MapClusterToListOfClusters>();
+ tmpMapList.add(tmpMap);
+ m_event.put(m_outputMapName, tmpMapList);
}
public void initializeBigCluster(Cluster bigClus) {
@@ -110,11 +123,10 @@
vLinkedClusters.add(newMergedCluster);
}
- throw new AssertionError("Not implemented");
- //// Output is a vector of MergedCluster objects for this big cluster
- //Map tmpMap = (Map) (m_event.get("MapClustersToSkeletons"));
- //tmpMap.put(bigClus, vLinkedClusters);
- //m_event.put("MapClustersToSkeletons", tmpMap);
+ // Output is a vector of MergedCluster objects for this big cluster
+ List<MapClusterToListOfClusters> tmpMapList = m_event.get(MapClusterToListOfClusters.class, m_outputMapName);
+ MapClusterToListOfClusters tmpMap = tmpMapList.iterator().next();
+ tmpMap.put(bigClus, vLinkedClusters);
}
void recursivelyAddTrack(Cluster currentMIP, Set<Cluster> linkedClusters, Set<Cluster> unassignedMIPs, Set<Cluster> unassignedClumps) {