lcsim/src/org/lcsim/contrib/uiowa
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);
+ }
+}