Commit in lcsim/src/org/lcsim/contrib/uiowa on MAIN
MinimalRunPFANewTracking.java+121added 1.1
MJC: (contrib) A test version of the PFA that uses real tracking

lcsim/src/org/lcsim/contrib/uiowa
MinimalRunPFANewTracking.java added at 1.1
diff -N MinimalRunPFANewTracking.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MinimalRunPFANewTracking.java	11 Sep 2008 00:45:58 -0000	1.1
@@ -0,0 +1,121 @@
+package org.lcsim.contrib.uiowa;
+
+import java.util.*;
+import org.lcsim.util.Driver;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.loop.LCIODriver;
+import org.lcsim.util.*;
+import org.lcsim.event.*;
+import org.lcsim.recon.cluster.structural.likelihood.LikelihoodEvaluatorWrapper;
+import org.lcsim.recon.cluster.directedtree.*;
+import org.lcsim.util.hitmap.*;
+import org.lcsim.recon.pfa.output.EnergySumPlotter;
+import org.lcsim.recon.cluster.util.*;
+import org.lcsim.event.util.*;
+import org.lcsim.digisim.*;
+import org.lcsim.mc.fast.tracking.*;
+import org.lcsim.util.decision.*;
+
+public class MinimalRunPFANewTracking extends Driver
+{
+    public MinimalRunPFANewTracking() {
+	// Prepare to run PFA: Tracks (includes DigiSim)
+	add(new org.lcsim.contrib.Cassell.recon.Cheat.CheatReconDriver());
+	add(new org.lcsim.recon.tracking.seedtracker.example.MyTrackerDriver());
+
+	// Prepare to run PFA: Photon-finding and DirectedTree
+	add(new org.lcsim.contrib.uiowa.SetUpDTreeForReclustering());
+
+	// Set up and run PFA
+	//ReclusterDTreeDriver reclusTree = new ReclusterDTreeDriver("DTreeClusters", "FSReconTracks", "ReconFSParticles");
+	ReclusterDTreeDriver reclusTree = new ReclusterDTreeDriver("DTreeClusters", "Tracks", "ReconFSParticles");
+	reclusTree.writeExtraEventOutput(false);
+	add(reclusTree);
+
+	// Write out, make plots
+	flushParticles();
+	writeOutMini();
+	checkPerf();
+
+	//add(new org.lcsim.util.loop.LCIODriver("test-full.slcio"));
+    }
+
+    void flushParticles() {
+	// Flush things for output
+	add(new FlushReconstructedParticlesDriver("DTreeReclusteredParticles", "Flushed_DTreeReclusteredParticles", "FlushedClusters_DTreeReclusteredParticles"));
+    }
+
+    void writeOutMini() {
+
+	// Avoid writing out a lot of things that were not in the original event and
+	//   a) were generated and used by us internally, and will not be needed; or
+	//   b) were generated by someone else.
+	
+	Vector<String> v = new Vector<String>();
+	// Particles
+        v.add("CheatReconstructedParticles");
+	v.add("TempCheatParticles");
+	v.add("GenPerfectReconParticles");
+	v.add("GenPerfectReconParticles");
+	v.add("ReconPerfectReconParticles");
+	v.add("GenPerfectVisReconParticles");
+	v.add("ReconPerfectVisReconParticles");
+	// Tracks & track hits
+        v.add("TkrEndcapHitsCheatTrackerHits");
+        v.add("VtxEndcapHitsCheatTrackerHits");
+        v.add("VtxBarrHitsCheatTrackerHits");
+	v.add("TkrForwardHitsCheatTrackerHits");
+	v.add("TkrBarrHitsCheatTrackerHits");
+        v.add("VtxEndcapHitsCheatTracks");
+        v.add("VtxBarrHitsCheatTracks");
+        v.add("TkrBarrHitsCheatTracks");
+        v.add("TkrForwardHitsCheatTracks");
+        v.add("TkrEndcapHitsCheatTracks");
+	v.add("TempCheatTracks");
+	v.add("PerfectTracks");
+	v.add("RefinedCheatTracks");
+	// CalorimeterHits
+	v.add("EcalBarrRawHits");
+	v.add("ForwardEcalEndcapRawHits");
+	v.add("EcalEndcapRawHits");
+	v.add("HcalBarrRawHits");
+	v.add("HcalEndcapRawHits");
+	// Clusters
+        v.add("EcalEndcapDigiHitsCheatClusters");
+        v.add("EcalBarrDigiHitsCheatClusters");
+        v.add("HcalBarrDigiHitsCheatClusters");
+        v.add("HcalEndcapDigiHitsCheatClusters");
+	v.add("ReDTEcalClusters");
+	v.add("HcalEndcapDigiHitsDTreeClusters");
+	v.add("HcalBarrDigiHitsDTreeClusters");
+	v.add("NonFSReconClusters");
+	v.add("ReconClusters");
+	v.add("EcalBarrDigiHitsDTreeClusters");
+	v.add("EcalEndcapDigiHitsDTreeClusters");
+	v.add("RefinedCheatClusters");
+	v.add("DTEcalClusters");
+	v.add("TMClusters");
+	// Maps
+        v.add("EcalEndcapRaw2sim");
+	v.add("HcalBarrRaw2sim");
+        v.add("HcalEndcapRaw2sim");
+        v.add("EcalBarrRaw2sim");
+	v.add("ForwardEcalEndcapRaw2sim");
+	v.add("TracksToMCP");
+	v.add("CheatTracksToMCP");
+	// Misc
+        v.add("MCParticleEndPointEnergy");
+
+	add(new org.lcsim.util.loop.LCIODriver("test-mini.slcio", v));
+    }
+
+    void checkPerf() {
+	add(new EnergySumPlotter("DTreeReclusteredParticles", "dtree-energysum.aida"));
+    }
+
+    int count = 0;
+    public void process(EventHeader event) {
+	System.out.println("DEBUG: Looking at event "+count); count++;
+	super.process(event);
+    }
+}
CVSspam 0.2.8