Commit in lcsim/src/org/lcsim/contrib/uiowa on MAIN
SetUpPFA.java+70added 1.1
MinimalRunPFA.java+1-491.9 -> 1.10
SetUpDTreeForReclustering.java+2-21.11 -> 1.12
+73-51
1 added + 2 modified, total 3 files
MJC: (contrib) Simplify PFA to a single Driver again

lcsim/src/org/lcsim/contrib/uiowa
SetUpPFA.java added at 1.1
diff -N SetUpPFA.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SetUpPFA.java	21 Oct 2008 23:55:26 -0000	1.1
@@ -0,0 +1,70 @@
+package org.lcsim.contrib.uiowa;
+
+import java.util.*;
+import org.lcsim.util.Driver;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.*;
+import org.lcsim.event.*;
+import org.lcsim.util.decision.*;
+import org.lcsim.recon.pfa.identifier.*;
+import org.lcsim.recon.cluster.util.UpperSubLayerDecision;
+
+public class SetUpPFA extends Driver {
+    public SetUpPFA(String trackList) {
+	// Filter muon system hits
+	{
+	    DecisionMakerSingle<CalorimeterHit> upperLayer = new UpperSubLayerDecision();
+	    DecisionMakerSingle<CalorimeterHit> lowerLayer = new NotDecisionMakerSingle(upperLayer);
+	    DecisionMakerSingle<CalorimeterHit> timeCut = new CalorimeterHitTimeCutDecision(100);
+	    AndDecisionMakerSingle<CalorimeterHit> lowerLayerAndTimeCut = new AndDecisionMakerSingle<CalorimeterHit>();
+	    lowerLayerAndTimeCut.addDecisionMaker(lowerLayer);
+	    lowerLayerAndTimeCut.addDecisionMaker(timeCut);
+	    add(new ListFilterDriver(lowerLayerAndTimeCut, "MuonBarrHits", "CorrMuonBarrDigiHits", CalorimeterHit.class));
+	    add(new ListFilterDriver(lowerLayerAndTimeCut, "MuonEndcapHits", "CorrMuonEndcapDigiHits", CalorimeterHit.class));
+	}
+
+	// Set up track extrapolation
+	HelixExtrapolator findCluster = new org.lcsim.recon.pfa.identifier.TrackHelixPlusHitExtrapolator();
+	add(findCluster);
+
+	// Set up input lists of calorimeter hits
+	{
+	    List<String> recoHitLists = new Vector<String>(); // Hits to use in main clustering
+	    List<String> allHitLists = new Vector<String>(); // All hits (used in muon-finding)
+	    List<String> mstHitLists = new Vector<String>(); // Hits from subsystems where we have to use MST
+	    recoHitLists.add("EcalBarrDigiHits");
+	    recoHitLists.add("EcalEndcapDigiHits");
+	    recoHitLists.add("HcalBarrDigiHits");
+	    recoHitLists.add("HcalEndcapDigiHits");
+	    recoHitLists.add("CorrMuonEndcapDigiHits");
+	    allHitLists.addAll(recoHitLists);
+	    allHitLists.add("CorrMuonBarrDigiHits");
+	    mstHitLists.add("CorrMuonEndcapDigiHits");
+	    add(new org.lcsim.contrib.uiowa.SetUpDTreeForReclustering(trackList, allHitLists, recoHitLists, mstHitLists, findCluster));
+	}
+
+	// Set up and run PFA
+	ReclusterDTreeDriver reclusTree = new ReclusterDTreeDriver("DTreeClusters", "UnmatchedTracksAfterAmbigClusterMap", "ReconFSParticles", "MuonTrackClusterMap", findCluster);
+	reclusTree.writeExtraEventOutput(false);
+	reclusTree.addInputMips("OldMipsInsideTreesECAL");
+	reclusTree.addInputMips("NewMipsInsideTreesECAL");
+	reclusTree.addInputMips("OldMipsInsideTreesHCAL");
+	reclusTree.addInputMips("NewMipsInsideTreesHCAL");
+	reclusTree.addInputMips("OldMipsInsideTreesMCAL");
+	reclusTree.addInputMips("NewMipsInsideTreesMCAL");
+	reclusTree.addInputClumps("ClumpsInsideTreesECAL");
+	reclusTree.addInputClumps("ClumpsInsideTreesHCAL");
+	reclusTree.addInputClumps("ClumpsInsideTreesMCAL");
+	reclusTree.addInputBlocks("BlocksInsideTreesECAL");
+	reclusTree.addInputBlocks("BlocksInsideTreesHCAL");
+	reclusTree.addInputBlocks("BlocksInsideTreesMCAL");
+	reclusTree.addInputLeftoverHits("LeftoverHitsInsideTreesECAL");
+	reclusTree.addInputLeftoverHits("LeftoverHitsInsideTreesHCAL");
+	reclusTree.addInputLeftoverHits("LeftoverHitsInsideTreesMCAL");
+	reclusTree.addTrackToClusterMap("MapPreShowerMipTracksToClusterSeeds");
+	reclusTree.addTrackToClusterMap("MapMipClusterTracksToClusterSeeds");
+	reclusTree.addTrackToClusterMap("MapGenClusterTracksToClusterSeeds");
+	reclusTree.addTrackToClusterMap("MapAmbigClusterTracksToClusterSeeds");
+	add(reclusTree);
+    }
+}

lcsim/src/org/lcsim/contrib/uiowa
MinimalRunPFA.java 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- MinimalRunPFA.java	21 Oct 2008 23:05:48 -0000	1.9
+++ MinimalRunPFA.java	21 Oct 2008 23:55:26 -0000	1.10
@@ -27,57 +27,9 @@
     public MinimalRunPFA() {
 	// Prepare to run PFA: Tracks (includes DigiSim)
 	add(new org.lcsim.contrib.Cassell.recon.Cheat.CheatReconDriver());
-	// Prepare by filtering muon system hits
-	{
-	    DecisionMakerSingle<CalorimeterHit> upperLayer = new UpperSubLayerDecision();
-	    DecisionMakerSingle<CalorimeterHit> lowerLayer = new NotDecisionMakerSingle(upperLayer);
-	    DecisionMakerSingle<CalorimeterHit> timeCut = new CalorimeterHitTimeCutDecision(100);
-	    AndDecisionMakerSingle<CalorimeterHit> lowerLayerAndTimeCut = new AndDecisionMakerSingle<CalorimeterHit>();
-	    lowerLayerAndTimeCut.addDecisionMaker(lowerLayer);
-	    lowerLayerAndTimeCut.addDecisionMaker(timeCut);
-	    add(new ListFilterDriver(lowerLayerAndTimeCut, "MuonBarrHits", "CorrMuonBarrDigiHits", CalorimeterHit.class));
-	    add(new ListFilterDriver(lowerLayerAndTimeCut, "MuonEndcapHits", "CorrMuonEndcapDigiHits", CalorimeterHit.class));
-	}
-	// Prepare to run PFA: Photon-finding and DirectedTree
-	List<String> recoHitLists = new Vector<String>(); // Hits to use in main clustering
-	List<String> allHitLists = new Vector<String>(); // All hits (used in muon-finding)
-	List<String> mstHitLists = new Vector<String>(); // Hits from subsystems where we have to use MST
-	recoHitLists.add("EcalBarrDigiHits");
-	recoHitLists.add("EcalEndcapDigiHits");
-	recoHitLists.add("HcalBarrDigiHits");
-	recoHitLists.add("HcalEndcapDigiHits");
-	recoHitLists.add("CorrMuonEndcapDigiHits");
-	allHitLists.addAll(recoHitLists);
-	allHitLists.add("CorrMuonBarrDigiHits");
-	mstHitLists.add("CorrMuonEndcapDigiHits");
-	//HelixExtrapolator findCluster = new org.lcsim.recon.pfa.identifier.TrackHelixPlusHitExtrapolator();
-	HelixExtrapolator findCluster = new org.lcsim.recon.pfa.identifier.LocalHelixExtrapolator();
-	add(findCluster);
-	add(new org.lcsim.contrib.uiowa.SetUpDTreeForReclustering(allHitLists, recoHitLists, mstHitLists, findCluster));
 
 	// Set up and run PFA
-	ReclusterDTreeDriver reclusTree = new ReclusterDTreeDriver("DTreeClusters", "UnmatchedTracksAfterAmbigClusterMap", "ReconFSParticles", "MuonTrackClusterMap", findCluster);
-	reclusTree.writeExtraEventOutput(writeExtraOutput);
-	reclusTree.addInputMips("OldMipsInsideTreesECAL");
-	reclusTree.addInputMips("NewMipsInsideTreesECAL");
-	reclusTree.addInputMips("OldMipsInsideTreesHCAL");
-	reclusTree.addInputMips("NewMipsInsideTreesHCAL");
-	reclusTree.addInputMips("OldMipsInsideTreesMCAL");
-	reclusTree.addInputMips("NewMipsInsideTreesMCAL");
-	reclusTree.addInputClumps("ClumpsInsideTreesECAL");
-	reclusTree.addInputClumps("ClumpsInsideTreesHCAL");
-	reclusTree.addInputClumps("ClumpsInsideTreesMCAL");
-	reclusTree.addInputBlocks("BlocksInsideTreesECAL");
-	reclusTree.addInputBlocks("BlocksInsideTreesHCAL");
-	reclusTree.addInputBlocks("BlocksInsideTreesMCAL");
-	reclusTree.addInputLeftoverHits("LeftoverHitsInsideTreesECAL");
-	reclusTree.addInputLeftoverHits("LeftoverHitsInsideTreesHCAL");
-	reclusTree.addInputLeftoverHits("LeftoverHitsInsideTreesMCAL");
-	reclusTree.addTrackToClusterMap("MapPreShowerMipTracksToClusterSeeds");
-	reclusTree.addTrackToClusterMap("MapMipClusterTracksToClusterSeeds");
-	reclusTree.addTrackToClusterMap("MapGenClusterTracksToClusterSeeds");
-	reclusTree.addTrackToClusterMap("MapAmbigClusterTracksToClusterSeeds");
-	add(reclusTree);
+	add(new SetUpPFA("FSReconTracks"));
 
 	// Write out, make plots
 	flushParticles();

lcsim/src/org/lcsim/contrib/uiowa
SetUpDTreeForReclustering.java 1.11 -> 1.12
diff -u -r1.11 -r1.12
--- SetUpDTreeForReclustering.java	15 Oct 2008 22:10:25 -0000	1.11
+++ SetUpDTreeForReclustering.java	21 Oct 2008 23:55:26 -0000	1.12
@@ -17,7 +17,7 @@
     // Dummy -- fix these
     public SetUpDTreeForReclustering() {}
 
-    public SetUpDTreeForReclustering(Collection<String> allHitLists, Collection<String> recoHitLists, Collection<String> hitsForMST, HelixExtrapolator findCluster) {
+    public SetUpDTreeForReclustering(String inputTrackList, Collection<String> allHitLists, Collection<String> recoHitLists, Collection<String> hitsForMST, HelixExtrapolator findCluster) {
 	// Convert DigiSim's lists to hitmaps:
 	Map<String,String> mapListToHitMap = new HashMap<String,String>();
 	for (String inputName : allHitLists) {
@@ -64,7 +64,7 @@
 	    add(new TransientFlagDriver("PreliminaryPhotonClustersForDTree"));
 
 	    // Check for electrons and set those to one side so we don't accidentally cluster them or use their tracks:
-	    add(new TrackToElectronMapMaker(findCluster, "PreliminaryPhotonClustersForDTree", "FSReconTracks", "MapElectronTracksToClusters", "TracksWithoutElectrons", "ElectronMapClusters"));
+	    add(new TrackToElectronMapMaker(findCluster, "PreliminaryPhotonClustersForDTree", inputTrackList, "MapElectronTracksToClusters", "TracksWithoutElectrons", "ElectronMapClusters"));
 	    add(new ListSubtractDriver("PreliminaryPhotonClustersForDTree", "ElectronMapClusters", "PreliminaryPhotonClustersForDTreeMinusElectrons"));
 	    add(new ClusterListToHitMapDriver("ElectronMapClusters", "ElectronHitMap"));
 	    add(new HitMapSubtractDriver("RecoDigiHitMap", "ElectronHitMap", "RecoDigiHitMapWithoutElectrons"));
CVSspam 0.2.8