lcsim/src/org/lcsim/recon/tracking/seedtracker/ReconTracking
diff -N SiD02ReconTrackingDriver.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ SiD02ReconTrackingDriver.java 15 Oct 2008 18:12:14 -0000 1.1
@@ -0,0 +1,56 @@
+/*
+ * SiD02ReconTrackingDriver.java
+ *
+ * Created on October 13, 2008, 12:58 PM
+ *
+ */
+
+package org.lcsim.recon.tracking.seedtracker.ReconTracking;
+
+import java.util.List;
+
+import org.lcsim.recon.tracking.seedtracker.SeedStrategy;
+import org.lcsim.recon.tracking.seedtracker.SeedTracker;
+import org.lcsim.recon.tracking.seedtracker.StrategyXMLUtils;
+import org.lcsim.util.Driver;
+import org.lcsim.contrib.Partridge.TrackingTest.AnalysisDriver;
+
+/**
+ * Official driver for SiD02 tracking reconstruction.
+ *
+ * This driver uses the FullCCDSimulation package to digitize pixel hits and
+ * the virtual segmentation package to digitize strip hits. Track finding is
+ * performed by SeedTracker. Currently, the Helix fitting is performed
+ * by the fast helix fitter HelicalTrackFitter, which contains a number
+ * of simplifications that would not be present in a full helix fitter.
+ *
+ * An equivalent XML steering file will maintained at:
+ * ./resources/org/lcsim/recon/tracking/seedtracker/steeringdrivers/SiD02ReconTrackingDriverSteering.xml
+ *
+ * @author Cosmin Deaconu and Richard Partridge
+ */
+public class SiD02ReconTrackingDriver extends Driver {
+
+ /**
+ * Creates a new instance of SiD02ReconTrackingDriver
+ */
+ public SiD02ReconTrackingDriver() {
+
+ // Hit digitization driver
+ HybridHitMaker hhm = new HybridHitMaker();
+ add(hhm);
+
+ // Retrieve the track finder's strategy list
+ List<SeedStrategy> stratlist =
+ StrategyXMLUtils.getStrategyListFromResource(
+ StrategyXMLUtils.getDefaultStrategiesPrefix() +
+ "autogen_qqbar500_sid02.xml" );
+
+ // Main tracking driver
+ SeedTracker st = new SeedTracker(stratlist);
+ add(st);
+
+ add(new AnalysisDriver());
+ }
+
+}
\ No newline at end of file
lcsim/src/org/lcsim/recon/tracking/seedtracker/ReconTracking
diff -u -r1.1 -r1.2
--- VSNoVertexDriver.java 10 Oct 2008 23:10:33 -0000 1.1
+++ VSNoVertexDriver.java 15 Oct 2008 18:12:14 -0000 1.2
@@ -23,93 +23,81 @@
import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruthDriver;
/**
- * An Example of how to define virtual segmentation of the tracker,
+ * An Example of how to define virtual segmentation of the tracker,
* and use {@link TrackerHitConverter} to create
* "standard" <tt>org.lcsim.event.TrackerHits</tt>.
* Parameters are chosen to define reasonable segmentation for SiD01.
- *
- *
- *
+ *
+ *
+ *
* @author D. Onoprienko
- * @version $Id: VSNoVertexDriver.java,v 1.1 2008/10/10 23:10:33 cozzyd Exp $
+ * @version $Id: VSNoVertexDriver.java,v 1.2 2008/10/15 18:12:14 partridge Exp $
*/
public class VSNoVertexDriver extends Driver {
-
+
// -- Constructors : ----------------------------------------------------------
-
- public VSNoVertexDriver() {
-
- add(new MCTruthDriver());
-
- // Segmentation description :
-
- Segmenter segmenter = new VSNoVertexSegmenter();
- SegmentationManager segMan = new SegmentationManager(segmenter);
- SegmentationManager.setDefaultInstance(segMan);
- add(segMan);
-
- // Digitization :
-
- SimToDigiConverter converter = new ConverterSimple();
- SimToDigiDriver conversionDriver = new SimToDigiDriver(converter);
- conversionDriver.set("ADD_INPUT_LIST_NAME", "TkrBarrHits");
- conversionDriver.set("ADD_INPUT_LIST_NAME", "TkrEndcapHits");
- conversionDriver.set("ADD_INPUT_LIST_NAME", "TkrForwardHits");
- conversionDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits");
- add(conversionDriver);
-
- // Clustering :
-
- ClusteringDriver clusteringDriver = new ClusteringDriver(new NearestNeighborClusterer());
- clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits");
- clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters");
- add(clusteringDriver);
-
- // Hit making :
-
- TrackerHitMaker hitMaker = new TrackerHitMakerBasic();
- HitMakingDriver hitMakingDriver = new HitMakingDriver(hitMaker);
- hitMakingDriver.set("INPUT_MAP_NAME","TrackerClusters");
- hitMakingDriver.set("OUTPUT_MAP_NAME","NewTrackerHits");
- add(hitMakingDriver);
-
- // Conversion to "standard" org.lcsim.event.TrackerHit : ------------------
-
-// TrackerHitConverter hitConverter = new TrackerHitConverter();
-// hitConverter.set("INPUT_CLUSTER_MAP_NAME", "TrackerClusters");
-// hitConverter.set("OUTPUT_HIT_LIST_NAME", "StandardTrackerHits");
-// add(hitConverter);
- }
-
-
+
+ public VSNoVertexDriver() {
+
+ add(new MCTruthDriver());
+
+ // Segmentation description :
+
+ Segmenter segmenter = new VSNoVertexSegmenter();
+ SegmentationManager segMan = new SegmentationManager(segmenter);
+ SegmentationManager.setDefaultInstance(segMan);
+ add(segMan);
+
+ // Digitization :
+
+ SimToDigiConverter converter = new ConverterSimple();
+ SimToDigiDriver conversionDriver = new SimToDigiDriver(converter);
+ conversionDriver.set("ADD_INPUT_LIST_NAME", "TkrBarrHits");
+ conversionDriver.set("ADD_INPUT_LIST_NAME", "TkrEndcapHits");
+ conversionDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits");
+ add(conversionDriver);
+
+ // Clustering :
+
+ ClusteringDriver clusteringDriver = new ClusteringDriver(new NearestNeighborClusterer());
+ clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits");
+ clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters");
+ add(clusteringDriver);
+
+ // Hit making :
+
+ TrackerHitMaker hitMaker = new TrackerHitMakerBasic();
+ HitMakingDriver hitMakingDriver = new HitMakingDriver(hitMaker);
+ hitMakingDriver.set("INPUT_MAP_NAME","TrackerClusters");
+ hitMakingDriver.set("OUTPUT_MAP_NAME","NewTrackerHits");
+ add(hitMakingDriver);
+
+ }
+
+
// -- Event processing : ------------------------------------------------------
-
- public void process(EventHeader event) {
-// System.out.println(" ");
-// System.out.println("Event "+event.getEventNumber());
-
- super.process(event);
-
- MCTruth mcTruth = (MCTruth) event.get("MCTruth");
-
-// System.out.println(" ");
-
- int n = 0;
- HashMap<Sensor, List<DigiTrackerHit>> digiMap =
- (HashMap<Sensor, List<DigiTrackerHit>>) event.get("DigiTrackerHits");
- for (List<DigiTrackerHit> digiList : digiMap.values()) n += digiList.size();
+ public void process(EventHeader event) {
+
+ super.process(event);
+
+// MCTruth mcTruth = (MCTruth) event.get("MCTruth");
+
+// int n = 0;
+// HashMap<Sensor, List<DigiTrackerHit>> digiMap =
+// (HashMap<Sensor, List<DigiTrackerHit>>) event.get("DigiTrackerHits");
+// for (List<DigiTrackerHit> digiList : digiMap.values()) n += digiList.size();
// System.out.println("Created " + n + " DigiTrackerHits on " + digiMap.keySet().size() + " sensors");
-
- n = 0;
- HashMap<Sensor, List<TrackerCluster>> clusterMap =
- (HashMap<Sensor, List<TrackerCluster>>) event.get("TrackerClusters");
- for (List<TrackerCluster> clusterList : clusterMap.values()) n += clusterList.size();
+
+// n = 0;
+// HashMap<Sensor, List<TrackerCluster>> clusterMap =
+// (HashMap<Sensor, List<TrackerCluster>>) event.get("TrackerClusters");
+// for (List<TrackerCluster> clusterList : clusterMap.values()) n += clusterList.size();
// System.out.println("Created " + n + " TrackerClusters on " + clusterMap.keySet().size() + " sensors");
-
+
// n = 0;
// List<org.lcsim.event.TrackerHit> oldHitList = (List<org.lcsim.event.TrackerHit>) event.get("StandardTrackerHits");
// System.out.println("Created " + oldHitList.size() + " org.lcsim.event.TrackerHits");
- }
-
+ }
+
}
lcsim/src/org/lcsim/recon/tracking/seedtracker/ReconTracking
diff -u -r1.1 -r1.2
--- VSNoVertexSegmenter.java 10 Oct 2008 23:10:33 -0000 1.1
+++ VSNoVertexSegmenter.java 15 Oct 2008 18:12:14 -0000 1.2
@@ -8,44 +8,31 @@
import org.lcsim.contrib.onoprien.tracking.geom.segmenters.SubdetectorBasedSegmenter;
/**
- *
- *
- *
+ * Segmenter for SiD02 to be run with FullCCDSimulation package for pixel
+ * digitization.
*
* @author D. Onoprienko
- * @version $Id: VSNoVertexSegmenter.java,v 1.1 2008/10/10 23:10:33 cozzyd Exp $
+ * @version $Id: VSNoVertexSegmenter.java,v 1.2 2008/10/15 18:12:14 partridge Exp $
*/
public class VSNoVertexSegmenter extends SubdetectorBasedSegmenter {
// -- Constructors : ----------------------------------------------------------
public VSNoVertexSegmenter() {
-
-
+
// 10 cm x 25 um strips in outer Tracker Barrel
CylindricalBarrelSegmenter trackerBarrelSegmenter = new CylindricalBarrelSegmenter("TrackerBarrel");
trackerBarrelSegmenter.setStripLength(10.*SystemOfUnits.cm);
trackerBarrelSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
setSegmenter("TrackerBarrel", trackerBarrelSegmenter);
-
- // 15 degrees stereo wedges in Forward Tracker
-
- DiskTrackerToWedgesSegmenter trackerForwardSegmenter = new DiskTrackerToWedgesSegmenter("TrackerForward");
- trackerForwardSegmenter.setStripLength(10.*SystemOfUnits.cm);
- trackerForwardSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
- trackerForwardSegmenter.setNumberOfPhiSlices(24);
- setSegmenter("TrackerForward", trackerForwardSegmenter);
-
- // 15 degrees stereo wedges in outer Tracker Endcap
+
+ // 12 degrees stereo wedges in outer Tracker Endcap
DiskTrackerToWedgesSegmenter trackerEndcapSegmenter = new DiskTrackerToWedgesSegmenter("TrackerEndcap");
- trackerEndcapSegmenter.setNumberOfRadialSlices(new int[]{3,5,8,10, 10});
+ trackerEndcapSegmenter.setNumberOfRadialSlices(new int[]{3,6,9,12});
trackerEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
- trackerEndcapSegmenter.setNumberOfPhiSlices(24);
+ trackerEndcapSegmenter.setNumberOfPhiSlices(30);
setSegmenter("TrackerEndcap", trackerEndcapSegmenter);
- }
-
-// -- Private parts : ---------------------------------------------------------
-
+ }
}