Commit in lcsim/sandbox/HansWenzel/Tracking on MAIN
HitLoop.java+73-981.5 -> 1.6
modify to reflect dima's changes and allow for geantino's

lcsim/sandbox/HansWenzel/Tracking
HitLoop.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- HitLoop.java	11 Oct 2007 22:08:15 -0000	1.5
+++ HitLoop.java	18 Oct 2007 16:37:35 -0000	1.6
@@ -5,121 +5,91 @@
 import org.lcsim.event.*;
 import org.lcsim.util.loop.*;
 import org.lcsim.detector.driver.*;
-//import org.lcsim.contrib.onoprien.tracking.*;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
 import hep.aida.*;
 import org.lcsim.event.EventHeader;
 import org.lcsim.units.clhep.SystemOfUnits;
 import org.lcsim.util.Driver;
 import org.lcsim.util.aida.AIDA;
-import org.lcsim.contrib.HansWenzel.Tracking.TrackerHitCheaterDriver;
-import org.lcsim.contrib.HansWenzel.Tracking.TrackerHitCheaterAccessDriver;
+// Monte Carlo Truth:
+import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruthDriver;
+// Segmentation:
+import org.lcsim.contrib.onoprien.tracking.geom.SegmentationManager;
+import org.lcsim.contrib.onoprien.tracking.geom.Segmenter;
+import org.lcsim.contrib.onoprien.tracking.ExampleSegmenter1;
+// Digitization:
+import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiDriver;
+import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiConverter;
+import org.lcsim.contrib.onoprien.tracking.digitization.algorithms.ConverterSimple;
+// Clustering:
 import org.lcsim.contrib.onoprien.tracking.clustering.ClusteringDriver;
 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.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;
-import org.lcsim.contrib.onoprien.tracking.geom.segmenters.CylindricalBarrelSegmenter;
-import org.lcsim.contrib.onoprien.tracking.geom.segmenters.DiskTrackerToWedgesSegmenter;
-import org.lcsim.contrib.onoprien.tracking.geom.segmenters.DiskTrackerToRingsSegmenter;
-import org.lcsim.contrib.onoprien.tracking.geom.segmenters.SubdetectorBasedSegmenter;
 import org.lcsim.contrib.onoprien.tracking.hit.DigiTrackerHit;
-
 import org.lcsim.contrib.onoprien.tracking.hit.TrackerCluster;
-import org.lcsim.contrib.onoprien.tracking.hit.TrackerHit;
+// Hitmaking:
 import org.lcsim.contrib.onoprien.tracking.hitmaking.HitMakingDriver;
 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;
+import org.lcsim.contrib.onoprien.tracking.hitmaking.TrackerHitConverter;
+// Cheater:
+import org.lcsim.contrib.HansWenzel.Tracking.TrackerHitCheaterDriver;
+import org.lcsim.contrib.HansWenzel.Tracking.TrackerHitCheaterAccessDriver;
+//
+import org.lcsim.recon.cat.util.NoSuchParameterException;
 public class HitLoop extends Driver {
+
+    protected static String _filename ="http://docdb.fnal.gov/ILC/detsim/datasets/geantinos/chargedgeantino_10Gev.slcio";
+    protected static boolean _Geantino = true;
+    protected static AIDA _aida;  
+    protected static IHistogramFactory _hFactory;
+    protected static int _iGroup;
     public HitLoop() {
     }
+
+    public void setfilename(String filename) {
+    	_filename = filename;
+    } 
+    public void setGeantino(boolean geantino) {
+    	_Geantino = geantino;
+    }
     public static void main(String[] args) throws Exception {
+	if (args.length > 0)
+	    {
+		_filename = args[0];		
+	    } 
+	else if (args.length > 1)
+	    {
+		_Geantino  = Boolean.parseBoolean(args[1]);
+	    }
+	LinkedList<IBaseHistogram> _eventHistList;
+	_aida = AIDA.defaultInstance();
+	_hFactory = _aida.histogramFactory();
+	_eventHistList = new LinkedList<IBaseHistogram>();
         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");
+	URL location = new URL(_filename);
 	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);
 
-	///	_aida = AIDA.defaultInstance();
-	///_hFactory = _aida.histogramFactory();
-	///_eventHistList = new LinkedList<IBaseHistogram>();
+        loop.setLCIORecordSource(input);
+	loop.add(new MCTruthDriver());
 	
-	///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);
+	Segmenter segmenter = new ExampleSegmenter1();
+	SegmentationManager segMan = new SegmentationManager(segmenter);
 	SegmentationManager.setDefaultInstance(segMan);
+	loop.add(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);
+
+	ConverterSimple converter = new ConverterSimple();
+	if (_Geantino)
+	    {
+		converter.set("SIGNAL", "UNIT");
+	    }
+	SimToDigiDriver conversionDriver = new SimToDigiDriver(converter);
+	conversionDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits");
+	loop.add(conversionDriver);
 	
 	// Clustering :
 	
@@ -127,6 +97,8 @@
 	clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits");
 	clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters");
 	loop.add(clusteringDriver);
+	
+	
 	// Hit making :
 	
 	TrackerHitMaker hitMaker = new TrackerHitMakerBasic();
@@ -134,23 +106,26 @@
 	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());
+	// Conversion to "standard" org.lcsim.event.TrackerHit :  ------------------
+    
+	TrackerHitConverter hitConverter = new TrackerHitConverter();
+	hitConverter.set("INPUT_CLUSTER_MAP_NAME", "TrackerClusters");
+	hitConverter.set("INPUT_HIT_MAP_NAME", "TrackerHits");
+	hitConverter.set("OUTPUT_HIT_LIST_NAME", "StandardTrackerHits");
+	loop.add(hitConverter);	
+
+	// Cheater:
+
 	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");
     }
+
+
 }
 
CVSspam 0.2.8