Commit in lcsim/src/org/lcsim/recon/pfa/structural on MAIN
RunAndWriteOutPFAFullTracking.java+109added 1.1
ReclusterDTreeDriver.java+2-21.16 -> 1.17
ReclusterDriver.java+3-31.13 -> 1.14
+114-5
1 added + 2 modified, total 3 files
MJC: Switch to helix-plus-hit track extrapolation by default since it can work with both cheated and non-cheated tracks. Add a convenience driver to run the PFA with full tracking.

lcsim/src/org/lcsim/recon/pfa/structural
RunAndWriteOutPFAFullTracking.java added at 1.1
diff -N RunAndWriteOutPFAFullTracking.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ RunAndWriteOutPFAFullTracking.java	16 Oct 2008 22:40:47 -0000	1.1
@@ -0,0 +1,109 @@
+package org.lcsim.recon.pfa.structural;
+
+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.pfa.output.*;
+
+/**
+ * Example driver to create PFA output with a list of
+ * ReconstructedParticle objects. The output is written
+ * to "test.slcio". In addition, some dijet mass plots
+ * are written to "output-write.aida".
+ * 
+ * Beware that the LCIO output file will be quite large!
+ * Some attempt is made to slim it down, but if space is
+ * an issue you may need to cut out more of the output
+ * (see code in the writeOutMini() subroutine for how this
+ * is done).
+ *
+ * There is no acceptance cut built in, since this depends
+ * on what kind of event you are looking at.
+ */
+
+public class RunAndWriteOutPFAFullTracking extends Driver
+{
+    /** Constructor sets up daughter drivers. */
+    public RunAndWriteOutPFAFullTracking()
+    {
+	// Prepare to run PFA: Tracks (includes DigiSim)
+	add(new org.lcsim.digisim.DigiPackageDriver());
+	add(new org.lcsim.recon.tracking.seedtracker.example.MyTrackerDriver());
+	// Prepare to run PFA: Photon-finding and DirectedTree
+	add(new SetUpDTreeForReclustering());
+
+	// Set up and run PFA
+	add(new ReclusterDTreeDriver("DTreeClusters", "Tracks", "ReconFSParticles"));
+
+	// Output
+	add(new FlushReconstructedParticlesDriver("DTreeReclusteredParticles", "FlushedDTreeReclusteredParticles", "FlushedDTreeReclusteredClusters"));
+	writeOutMini("full.slcio"); // Write out to an LCIO file
+    }
+
+    void writeOutMini(String filename) {
+	// 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(filename, v));
+    }
+}

lcsim/src/org/lcsim/recon/pfa/structural
ReclusterDTreeDriver.java 1.16 -> 1.17
diff -u -r1.16 -r1.17
--- ReclusterDTreeDriver.java	9 Oct 2008 21:41:20 -0000	1.16
+++ ReclusterDTreeDriver.java	16 Oct 2008 22:40:47 -0000	1.17
@@ -35,7 +35,7 @@
   * in this package, which uses the implementation in
   * org.lcsim.recon.cluster.directedtree developed by NIU).
   *
-  * @version $Id: ReclusterDTreeDriver.java,v 1.16 2008/10/09 21:41:20 mcharles Exp $
+  * @version $Id: ReclusterDTreeDriver.java,v 1.17 2008/10/16 22:40:47 mcharles Exp $
   * @author Mat Charles <[log in to unmask]>
   */
 
@@ -103,7 +103,7 @@
     }
 
     public ReclusterDTreeDriver(String dTreeClusterList, String trackList, String mcList) {
-	System.out.println("ReclusterDTreeDriver version 0.44");
+	System.out.println("ReclusterDTreeDriver version 0.5");
 	initTrackMatch();
 	initCalibration();
 	initPlots();

lcsim/src/org/lcsim/recon/pfa/structural
ReclusterDriver.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- ReclusterDriver.java	9 Oct 2008 21:39:57 -0000	1.13
+++ ReclusterDriver.java	16 Oct 2008 22:40:47 -0000	1.14
@@ -40,7 +40,7 @@
   * This version is superseded by ReclusterDTreeDriver,
   * which derives from it.
   *
-  * @version $Id: ReclusterDriver.java,v 1.13 2008/10/09 21:39:57 mcharles Exp $
+  * @version $Id: ReclusterDriver.java,v 1.14 2008/10/16 22:40:47 mcharles Exp $
   * @author Mat Charles <[log in to unmask]>
   */
 
@@ -89,9 +89,9 @@
     protected boolean m_allowLateralPunchThrough = false; // Set to FALSE for mucal enabled
 
     // Various ways to do track extrapolation:
-    protected HelixExtrapolator m_findCluster = new org.lcsim.recon.pfa.identifier.LocalHelixExtrapolator();
+    //protected HelixExtrapolator m_findCluster = new org.lcsim.recon.pfa.identifier.LocalHelixExtrapolator();
     //protected HelixExtrapolator m_findCluster = new org.lcsim.recon.pfa.identifier.TrackHelixExtrapolator();
-    //protected HelixExtrapolator m_findCluster = new org.lcsim.recon.pfa.identifier.TrackHelixPlusHitExtrapolator();
+    protected HelixExtrapolator m_findCluster = new org.lcsim.recon.pfa.identifier.TrackHelixPlusHitExtrapolator();
 
     boolean m_useBackupTrackMatching = false;
 
CVSspam 0.2.8