lcsim/sandbox/HansWenzel/Tracking
diff -u -r1.4 -r1.5
--- HitLoop.java 4 Oct 2007 20:42:53 -0000 1.4
+++ HitLoop.java 11 Oct 2007 22:08:15 -0000 1.5
@@ -21,7 +21,7 @@
import org.lcsim.contrib.onoprien.tracking.clustering.clusterers.NearestNeighborClusterer;
import org.lcsim.contrib.onoprien.tracking.digitization.DigitizationDriver;
import org.lcsim.contrib.onoprien.tracking.digitization.Digitizer;
-import org.lcsim.contrib.onoprien.tracking.digitization.diagnostics.DigitizerTest;
+import org.lcsim.contrib.onoprien.tracking.tests.DigitizerTest;
import org.lcsim.contrib.onoprien.tracking.digitization.digitizers.DigitizerSmear;
import org.lcsim.contrib.onoprien.tracking.geom.SegmentationManager;
import org.lcsim.contrib.onoprien.tracking.geom.Sensor;
@@ -37,109 +37,120 @@
import org.lcsim.contrib.onoprien.tracking.hitmaking.TrackerHitMaker;
import org.lcsim.contrib.onoprien.tracking.hitmaking.hitmakers.TrackerHitMakerBasic;
+import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruth;
+import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruthDriver;
+import org.lcsim.contrib.onoprien.tracking.mctruth.SimGroup;
public class HitLoop extends Driver {
public HitLoop() {
}
public static void main(String[] args) throws Exception {
LCSimLoop loop = new LCSimLoop();
- // URL location = new URL("http://docdb.fnal.gov/ILC/detsim/datasets/planar/planar_mu_10GeV.slcio");
- URL location = new URL("ftp://ftp-lcd.slac.stanford.edu/lcd/ILC/singleParticle/sid01/slcio/slic/mu_100.0GeV_Theta90_SLIC_v2r0p12_sid01.slcio");
- FileCache cache = new FileCache();
- File input = cache.getCachedFile(location);
+ //URL location = new URL("http://docdb.fnal.gov/ILC/detsim/datasets/planar/planar_mu_10GeV.slcio");
+ URL location = new URL("ftp://ftp-lcd.slac.stanford.edu/lcd/ILC/singleParticle/sid01/slcio/slic/mu_100.0GeV_Theta90_SLIC_v2r0p12_sid01.slcio");
+ FileCache cache = new FileCache();
+ File input = cache.getCachedFile(location);
// File input = new File("/home/wenzel/sid01/planar_mu.slcio");
// File input = new File("/home/wenzel/TrackerHitAccessDriver/planar_mu_1gev.slcio");
+// File input = new File("/home/wenzel/sid01/chargedgeantino_10Gev.slcio");
loop.setLCIORecordSource(input);
- SubdetectorBasedSegmenter mainSegmenter = new SubdetectorBasedSegmenter();
-
- // 25 um pixels in VTX Barrel
-
- CylindricalBarrelSegmenter vtxBarrelSegmenter = new CylindricalBarrelSegmenter("VertexBarrel");
- vtxBarrelSegmenter.setStripLength(25.*SystemOfUnits.micrometer);
- vtxBarrelSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
- mainSegmenter.setSegmenter("VertexBarrel", vtxBarrelSegmenter);
-
- // 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);
- mainSegmenter.setSegmenter("TrackerBarrel", trackerBarrelSegmenter);
-
- // 25 um pixels in VTX Endcap
-
- DiskTrackerToRingsSegmenter vtxEndcapSegmenter = new DiskTrackerToRingsSegmenter("VertexEndcap");
- vtxEndcapSegmenter.setStripLength(25.*SystemOfUnits.micrometer);
- vtxEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
- mainSegmenter.setSegmenter("VertexEndcap", vtxEndcapSegmenter);
-
- // 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);
- mainSegmenter.setSegmenter("TrackerForward", trackerForwardSegmenter);
-
- // 15 degrees stereo wedges in outer Tracker Endcap
-
- DiskTrackerToWedgesSegmenter trackerEndcapSegmenter = new DiskTrackerToWedgesSegmenter("TrackerEndcap");
- trackerEndcapSegmenter.setNumberOfRadialSlices(new int[]{3,5,8,10});
- trackerEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
- trackerEndcapSegmenter.setNumberOfPhiSlices(24);
- mainSegmenter.setSegmenter("TrackerEndcap", trackerEndcapSegmenter);
-
- SegmentationManager segMan = new SegmentationManager(mainSegmenter);
- SegmentationManager.setDefaultInstance(segMan);
-
- // Digitization :
-
- Digitizer digitizer = new DigitizerSmear();
-
- DigitizationDriver digitizationDriver = new DigitizationDriver(digitizer);
- digitizationDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits");
- digitizationDriver.set("DIAGNOSTIC_LIST_NAME", "SimToDigiGroups");
- loop.add(digitizationDriver);
-
- // Digitizer diagnostics :
-
- // digitizationDriver.set("DIAGNOSTIC_LIST_NAME", "SimToDigiGroups");
- DigitizerTest digitizerTest = new DigitizerTest();
- digitizerTest.set("DIAGNOSTIC_LIST_NAME", "SimToDigiGroups");
- loop.add(digitizerTest);
-
- // Clustering :
-
- ClusteringDriver clusteringDriver = new ClusteringDriver(new NearestNeighborClusterer());
- clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits");
- clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters");
- loop.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");
- loop.add(hitMakingDriver);
- //
- // Analyze the result:
- //
- //VSAccessDriver vsaccessDriver = new VSAccessDriver();
- //vsaccessDriver.set("DIGIS_MAP_NAME","DigiTrackerHits");
- //vsaccessDriver.set("CLUSTERS_MAP_NAME","TrackerClusters");
- //loop.add(vsaccessDriver);
- // add(new VSHitsAccessDriver());
- TrackerHitCheaterDriver _TrackerHitCheaterDriver = new TrackerHitCheaterDriver();
- loop.add(_TrackerHitCheaterDriver);
- TrackerHitCheaterAccessDriver _TrackerHitCheaterAccessDriver = new TrackerHitCheaterAccessDriver();
- loop.add(_TrackerHitCheaterAccessDriver);
- // File output = new File("exampleAnalysisJava.slcio");
- // loop.add(new LCIODriver(output));
- long n = loop.loop(5);
- loop.dispose();
- AIDA.defaultInstance().saveAs("exampleAnalysisJava.aida");
+ /// _aida = AIDA.defaultInstance();
+ ///_hFactory = _aida.histogramFactory();
+ ///_eventHistList = new LinkedList<IBaseHistogram>();
+
+ ///add(new MCTruthDriver());
+
+ // Segmentation description :
+ SubdetectorBasedSegmenter mainSegmenter = new SubdetectorBasedSegmenter();
+
+ // 25 um pixels in VTX Barrel
+
+ CylindricalBarrelSegmenter vtxBarrelSegmenter = new CylindricalBarrelSegmenter("VertexBarrel");
+ vtxBarrelSegmenter.setStripLength(25.*SystemOfUnits.micrometer);
+ vtxBarrelSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
+ mainSegmenter.setSegmenter("VertexBarrel", vtxBarrelSegmenter);
+
+ // 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);
+ mainSegmenter.setSegmenter("TrackerBarrel", trackerBarrelSegmenter);
+
+ // 25 um pixels in VTX Endcap
+
+ DiskTrackerToRingsSegmenter vtxEndcapSegmenter = new DiskTrackerToRingsSegmenter("VertexEndcap");
+ vtxEndcapSegmenter.setStripLength(25.*SystemOfUnits.micrometer);
+ vtxEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
+ mainSegmenter.setSegmenter("VertexEndcap", vtxEndcapSegmenter);
+
+ // 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);
+ mainSegmenter.setSegmenter("TrackerForward", trackerForwardSegmenter);
+
+ // 15 degrees stereo wedges in outer Tracker Endcap
+
+ DiskTrackerToWedgesSegmenter trackerEndcapSegmenter = new DiskTrackerToWedgesSegmenter("TrackerEndcap");
+ trackerEndcapSegmenter.setNumberOfRadialSlices(new int[]{3,5,8,10});
+ trackerEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
+ trackerEndcapSegmenter.setNumberOfPhiSlices(24);
+ mainSegmenter.setSegmenter("TrackerEndcap", trackerEndcapSegmenter);
+
+ SegmentationManager segMan = new SegmentationManager(mainSegmenter);
+ SegmentationManager.setDefaultInstance(segMan);
+
+ // Digitization :
+
+ Digitizer digitizer = new DigitizerSmear();
+
+ DigitizationDriver digitizationDriver = new DigitizationDriver(digitizer);
+ digitizationDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits");
+ //hjw digitizationDriver.set("DIAGNOSTIC_LIST_NAME", "SimToDigiGroups");
+ loop.add(digitizationDriver);
+
+ // Digitizer diagnostics :
+
+ // digitizationDriver.set("DIAGNOSTIC_LIST_NAME", "SimToDigiGroups");
+ DigitizerTest digitizerTest = new DigitizerTest();
+ //digitizerTest.set("DIAGNOSTIC_LIST_NAME", "SimToDigiGroups");
+ loop.add(digitizerTest);
+
+ // Clustering :
+
+ ClusteringDriver clusteringDriver = new ClusteringDriver(new NearestNeighborClusterer());
+ clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits");
+ clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters");
+ loop.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");
+ loop.add(hitMakingDriver);
+ //
+ // Analyze the result:
+ //
+ //VSAccessDriver vsaccessDriver = new VSAccessDriver();
+ //vsaccessDriver.set("DIGIS_MAP_NAME","DigiTrackerHits");
+ //vsaccessDriver.set("CLUSTERS_MAP_NAME","TrackerClusters");
+ //loop.add(vsaccessDriver);
+ // add(new VSHitsAccessDriver());
+ TrackerHitCheaterDriver _TrackerHitCheaterDriver = new TrackerHitCheaterDriver();
+ loop.add(_TrackerHitCheaterDriver);
+ TrackerHitCheaterAccessDriver _TrackerHitCheaterAccessDriver = new TrackerHitCheaterAccessDriver();
+ loop.add(_TrackerHitCheaterAccessDriver);
+ // File output = new File("exampleAnalysisJava.slcio");
+ // loop.add(new LCIODriver(output));
+ long n = loop.loop(-1);
+ loop.dispose();
+ AIDA.defaultInstance().saveAs("exampleAnalysisJava.aida");
}
}