Commit in lcsim/src/org/lcsim/recon/tracking/seedtracker/trackingdrivers/clic_sid on MAIN
ClicSidCdrTrackingDriver.java+139added 1.1
Driver that wraps the CLIC CDR default tracker hit digitization and track reconstruction into one driver.

lcsim/src/org/lcsim/recon/tracking/seedtracker/trackingdrivers/clic_sid
ClicSidCdrTrackingDriver.java added at 1.1
diff -N ClicSidCdrTrackingDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ClicSidCdrTrackingDriver.java	4 May 2011 08:50:57 -0000	1.1
@@ -0,0 +1,139 @@
+package org.lcsim.recon.tracking.seedtracker.trackingdrivers.clic_sid;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.fit.helicaltrack.HelicalTrackHitDriver;
+import org.lcsim.recon.cheater.RemoveMultipleTrackHitsCheater;
+import org.lcsim.recon.tracking.digitization.sisim.config.PixelDigiSetupDriver;
+import org.lcsim.recon.tracking.digitization.sisim.config.SiTrackerBarrelSensorSetup;
+import org.lcsim.recon.tracking.digitization.sisim.config.SiTrackerEndcap2SensorSetup;
+import org.lcsim.recon.tracking.digitization.sisim.config.SiVertexBarrelSensorSetup;
+import org.lcsim.recon.tracking.digitization.sisim.config.SiVertexEndcapSensorSetup;
+import org.lcsim.recon.tracking.digitization.sisim.config.SimTrackerHitReadoutDriver;
+import org.lcsim.recon.tracking.digitization.sisim.config.StripDigiSetupDriver;
+import org.lcsim.recon.tracking.seedtracker.steeringwrappers.SeedTrackerWrapper;
+import org.lcsim.util.Driver;
+
+public class ClicSidCdrTrackingDriver extends Driver {
+	
+	protected SeedTrackerWrapper seedTracker;
+	protected String trackingStrategy = "defaultStrategies.xml";
+	
+	/**
+	 * Convenience Driver that wraps all of the tracker hit digitization and track reconstruction.
+	 * Default settings for the CLIC CDR production.
+	 * 
+	 * @author <a href="mailto:[log in to unmask]">Christian Grefe</a>
+	 */
+	public ClicSidCdrTrackingDriver() {
+		
+		RemoveMultipleTrackHitsCheater trackHitRemover = new RemoveMultipleTrackHitsCheater();
+		add(trackHitRemover);
+		
+		SimTrackerHitReadoutDriver readoutDriver = new SimTrackerHitReadoutDriver();
+		readoutDriver.setReadoutCollections(new String[] {"SiVertexBarrelHits", "SiVertexEndcapHits", "SiTrackerBarrelHits", "SiTrackerEndcapHits", "SiTrackerForwardHits"});
+		add(readoutDriver);
+		
+		SiTrackerBarrelSensorSetup trackerBarrelSetup = new SiTrackerBarrelSensorSetup();
+		trackerBarrelSetup.setSubdetectorName("SiTrackerBarrel");
+		trackerBarrelSetup.setReadoutElectrodesPitch(0.050);
+		trackerBarrelSetup.setSenseElectrodesPitch(0.025);
+		trackerBarrelSetup.setTransferEfficiencies(new double[] {0.986, 0.419});
+		add(trackerBarrelSetup);
+		
+		SiTrackerEndcap2SensorSetup trackerEndcapSetup = new SiTrackerEndcap2SensorSetup();
+		trackerEndcapSetup.setSubdetectorName("SiTrackerEndcap");
+		trackerEndcapSetup.setReadoutPitch(0.050);
+		trackerEndcapSetup.setSensePitch(0.025);
+		trackerEndcapSetup.setTransferEfficiencies(new double[] {0.986, 0.419});
+		add(trackerEndcapSetup);
+		
+		SiVertexBarrelSensorSetup vertexBarrelSetup = new SiVertexBarrelSensorSetup();
+		vertexBarrelSetup.setSubdetectorName("SiVertexBarrel");
+		vertexBarrelSetup.setReadoutPitchX(0.02);
+		vertexBarrelSetup.setReadoutPitchY(0.02);
+		vertexBarrelSetup.setSensePitchX(0.02);
+		vertexBarrelSetup.setSensePitchY(0.02);
+		vertexBarrelSetup.setTransferEfficiency(1.0);
+		add(vertexBarrelSetup);
+		
+		SiVertexEndcapSensorSetup vertexEndcapSetup = new SiVertexEndcapSensorSetup();
+		vertexEndcapSetup.setSubdetectorName("SiVertexEndcap");
+		vertexEndcapSetup.setReadoutPitchX(0.02);
+		vertexEndcapSetup.setReadoutPitchY(0.02);
+		vertexEndcapSetup.setSensePitchX(0.02);
+		vertexEndcapSetup.setSensePitchY(0.02);
+		vertexEndcapSetup.setTransferEfficiency(1.0);
+		add(vertexEndcapSetup);
+		
+		SiVertexEndcapSensorSetup trackerForwardSetup = new SiVertexEndcapSensorSetup();
+		trackerForwardSetup.setSubdetectorName("SiTrackerForward");
+		trackerForwardSetup.setReadoutPitchX(0.02);
+		trackerForwardSetup.setReadoutPitchY(0.02);
+		trackerForwardSetup.setSensePitchX(0.02);
+		trackerForwardSetup.setSensePitchY(0.02);
+		trackerForwardSetup.setTransferEfficiency(1.0);
+		add(trackerForwardSetup);
+		
+		StripDigiSetupDriver trackerDigi = new StripDigiSetupDriver();
+		trackerDigi.setSubdetectorNames(new String[] {"SiTrackerBarrel", "SiTrackerEndcap"});
+		trackerDigi.setRawHitsCollectionName("TKR_RawTrackerHits");
+		trackerDigi.setTrackerHitsCollectionName("TKR_TrackerHits");
+		trackerDigi.setMaxClusterSize(10);
+		trackerDigi.setNoiseIntercept(0.);
+		trackerDigi.setNoiseSlope(0.);
+		trackerDigi.setNoiseThreshold(6000.);
+		trackerDigi.setReadoutNeighborThreshold(6000.);
+		trackerDigi.setSeedThreshold(6000.);
+		trackerDigi.setNeighborThreshold(6000.);
+		trackerDigi.setCentralStripAveragingThreshold(4);
+		trackerDigi.setOneClusterErr(0.288675135);
+		trackerDigi.setTwoClusterErr(0.2);
+		trackerDigi.setThreeClusterErr(0.333333333);
+		trackerDigi.setFourClusterErr(0.5);
+		trackerDigi.setFiveClusterErr(1.0);
+		add(trackerDigi);
+		
+		PixelDigiSetupDriver vertexDigi = new PixelDigiSetupDriver();
+		vertexDigi.setSubdetectorNames(new String[] {"SiVertexBarrel", "SiVertexEndcap", "SiTrackerForward"});
+		vertexDigi.setRawHitsCollectionName("VXD_RawTrackerHits");
+		vertexDigi.setTrackerHitsCollectionName("VXD_TrackerHits");
+		vertexDigi.setMaxClusterSize(10);
+		vertexDigi.setNoiseIntercept(0.);
+		vertexDigi.setNoiseSlope(0.);
+		vertexDigi.setNoiseThreshold(100.);
+		vertexDigi.setReadoutNeighborThreshold(100.);
+		vertexDigi.setSeedThreshold(100.);
+		vertexDigi.setNeighborThreshold(100.);
+		vertexDigi.setOneClusterErr(0.288675135);
+		vertexDigi.setTwoClusterErr(0.2);
+		vertexDigi.setThreeClusterErr(0.333333333);
+		vertexDigi.setFourClusterErr(0.5);
+		vertexDigi.setFiveClusterErr(1.0);
+		add(vertexDigi);
+		
+		HelicalTrackHitDriver helicalTrackHitDriver = new HelicalTrackHitDriver();
+		helicalTrackHitDriver.setDigiCollectionNames(new String[] {"VXD_TrackerHits", "TKR_TrackerHits"});
+		helicalTrackHitDriver.setOutputCollectionName("HelicalTrackHits");
+		add(helicalTrackHitDriver);
+		
+		seedTracker = new SeedTrackerWrapper();
+		add(seedTracker);
+		
+	}
+	
+	public void setTrackingStrategy(String trackingStrategy) {
+		this.trackingStrategy = trackingStrategy;
+	}
+	
+	@Override
+	protected void startOfData() {
+		seedTracker.setStrategyFile(trackingStrategy);
+		super.startOfData();
+	}
+	
+	@Override
+	protected void process(EventHeader event) {
+		super.process(event);
+	}
+
+}
CVSspam 0.2.8