Print

Print


Commit in lcsim/src/org/lcsim/contrib/seedtracker/veryoldexample on MAIN
AnalysisDriver.java+54added 1.1
SeedTrackerDriver.java+65added 1.1
SmearMCHits.java+51added 1.1
VSExampleDriver.java+118added 1.1
VSExampleSegmenter.java+65added 1.1
+353
5 added files
Move obsolete example code to it's own subdirectory

lcsim/src/org/lcsim/contrib/seedtracker/veryoldexample
AnalysisDriver.java added at 1.1
diff -N AnalysisDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ AnalysisDriver.java	17 Jun 2008 00:40:06 -0000	1.1
@@ -0,0 +1,54 @@
+/*
+ * AnalysisDriver.java
+ *
+ * Created on February 11, 2008, 11:47 AM
+ *
+ */
+
+package org.lcsim.contrib.seedtracker.veryoldexample;
+
+import hep.aida.ICloud1D;
+
+import java.util.List;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.Track;
+import org.lcsim.util.aida.AIDA;
+import org.lcsim.util.Driver;
+
+
+/**
+ *
+ * @author Richard Partridge
+ * @version 1.0
+ */
+public class AnalysisDriver extends Driver {
+    private AIDA aida = AIDA.defaultInstance();
+    
+    /** Creates a new instance of AnalysisDriver */
+    public AnalysisDriver() {
+    }
+    
+    /**
+     * Process the current event
+     * @param event EventHeader for this event
+     */
+    public void process(EventHeader event) {
+        List<Track> tracklist = event.getTracks();
+        for (Track track : tracklist) {
+            aida.cloud1D("Chi squared").fill(track.getChi2());
+            double px = track.getPX();
+            double py = track.getPY();
+            double pz = track.getPZ();
+            double pt = Math.sqrt(Math.pow(px,2)+Math.pow(py,2));
+            double p = Math.sqrt(Math.pow(pt,2)+Math.pow(pz,2));
+            double cth = pz / p;
+            aida.cloud1D("Pt").fill(pt);
+            aida.cloud1D("Cos(Theta)").fill(cth);
+            
+        }
+//        super.process(event);
+        return;
+    }
+    
+}

lcsim/src/org/lcsim/contrib/seedtracker/veryoldexample
SeedTrackerDriver.java added at 1.1
diff -N SeedTrackerDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SeedTrackerDriver.java	17 Jun 2008 00:40:06 -0000	1.1
@@ -0,0 +1,65 @@
+/*
+ * SeedTrackerDriver.java
+ *
+ * Created on March 29, 2006, 4:58 PM
+ *
+ */
+
+package org.lcsim.contrib.seedtracker.veryoldexample;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.lcsim.contrib.CosminDeaconu.StripMakerDriver;
+import org.lcsim.contrib.seedtracker.*;
+import org.lcsim.contrib.seedtracker.diagnostic.SeedTrackerDiagnostics;
+import org.lcsim.event.EventHeader;
+import org.lcsim.fit.helicaltrack.HelicalTrackHitDriver;
+import org.lcsim.fit.helicaltrack.HelicalTrackHitDriver.HitType;
+import org.lcsim.util.Driver;
+
+/**
+ * Driver for testing the SeedTracker track finding algorithm.  This driver causes
+ * the SmearMCHits and SeedTracker drivers to be invoked for each event.
+ * @author Richard Partridge
+ * @version 1.0
+ */
+public class SeedTrackerDriver extends Driver
+{  
+    /** Creates a new instance of SeedTrackerDriver */
+    
+    private static final boolean useDigitizedHits = false;
+    private static final boolean useVSHits = true; 
+    
+    
+    
+    public SeedTrackerDriver()
+    {
+        if(useVSHits) add(new VSExampleDriver());
+        if (useDigitizedHits) add(new StripMakerDriver()); 
+        HelicalTrackHitDriver hitdriver = new HelicalTrackHitDriver();
+       
+        if(useVSHits) hitdriver.addCollection("StandardTrackerHits",HitType.VirtualSegmentation);
+        
+        if (useDigitizedHits){
+            hitdriver.addCollection("BarrelSiStrip1DHits",HitType.Digitized);
+            hitdriver.addCollection("EndcapSiStrip1DHits",HitType.Digitized);
+            hitdriver.addCollection("SiTrackerHitStrips2D",HitType.Digitized);
+        }
+        
+        add(hitdriver);
+        SeedTracker st = new SeedTracker();
+        st.setDiagnostics(new SeedTrackerDiagnostics());
+        add(st);
+        add(new AnalysisDriver());
+    }
+
+    /**
+     * Process the current event
+     * @param event EventHeader for this event
+     */
+    public void process(EventHeader event)
+    {
+        super.process(event);
+        return;     
+    }    
+}

lcsim/src/org/lcsim/contrib/seedtracker/veryoldexample
SmearMCHits.java added at 1.1
diff -N SmearMCHits.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SmearMCHits.java	17 Jun 2008 00:40:06 -0000	1.1
@@ -0,0 +1,51 @@
+/*
+ * SmearMCHits.java
+ *
+ * Created on July 12, 2006, 10:25 AM
+ *
+ * To change this template, choose Tools | Template Manager
+ * and open the template in the editor.
+ */
+
+package org.lcsim.contrib.seedtracker.veryoldexample;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.lcsim.contrib.tracking.TrackerHitCheater;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.SimTrackerHit;
+import org.lcsim.event.TrackerHit;
+import org.lcsim.util.Driver;
+
+/**
+ * Create cheated and smeared TrackerHits from all collections of SimTrackerHits
+ * @author partridge
+ */
+public class SmearMCHits extends Driver{
+    
+    TrackerHitCheater cheater = new TrackerHitCheater();
+    
+    /** Creates a new instance of SmearMCHits */
+    public SmearMCHits() {
+    }
+    
+    /**
+     * Process the current event
+     * @param event EventHeader for this event
+     */
+    public void process(EventHeader event) {
+        
+        //  Initialize the TrackerHit list
+        List<TrackerHit> allhits = new ArrayList<TrackerHit>();
+        //  Get the SimTrackerHit collections
+        List<List<SimTrackerHit>> allgenhits = event.get(SimTrackerHit.class);
+        //  Loop over the various hit collections
+        for (List<SimTrackerHit> genhitcol : allgenhits) {
+            List<TrackerHit> hits = cheater.makeTrackerHits(genhitcol);
+            allhits.addAll(hits);
+        }
+        //  Put the list of TrackerHits into the event
+        event.put("SmearedHits",allhits,TrackerHit.class,0);
+    }  
+}

lcsim/src/org/lcsim/contrib/seedtracker/veryoldexample
VSExampleDriver.java added at 1.1
diff -N VSExampleDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ VSExampleDriver.java	17 Jun 2008 00:40:06 -0000	1.1
@@ -0,0 +1,118 @@
+package org.lcsim.contrib.seedtracker.veryoldexample;
+
+import java.util.*;
+
+import hep.aida.*;
+import org.lcsim.contrib.seedtracker.*;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.SimTrackerHit;
+import org.lcsim.recon.cat.util.NoSuchParameterException;
+import org.lcsim.units.clhep.SystemOfUnits;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
+import hep.physics.vec.BasicHep3Vector;
+import hep.physics.vec.Hep3Vector;
+import hep.physics.vec.VecOp;
+
+import org.lcsim.contrib.onoprien.tracking.clustering.ClusteringDriver;
+import org.lcsim.contrib.onoprien.tracking.clustering.clusterers.NearestNeighborClusterer;
+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;
+import org.lcsim.contrib.onoprien.tracking.geom.SegmentationManager;
+import org.lcsim.contrib.onoprien.tracking.geom.Segmenter;
+import org.lcsim.contrib.onoprien.tracking.geom.Sensor;
+import org.lcsim.contrib.onoprien.tracking.geom.SensorType;
+import org.lcsim.contrib.onoprien.tracking.hit.DigiTrackerHit;
+import org.lcsim.contrib.onoprien.tracking.hit.TrackerCluster;
+import org.lcsim.contrib.onoprien.tracking.hit.TrackerHit;
+import org.lcsim.contrib.onoprien.tracking.hitmaking.HitMakingDriver;
+import org.lcsim.contrib.onoprien.tracking.hitmaking.TrackerHitConverter;
+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;
+
+/**
+ * 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: VSExampleDriver.java,v 1.1 2008/06/17 00:40:06 partridge Exp $
+ */
+public class VSExampleDriver extends Driver {
+  
+// -- Constructors :  ----------------------------------------------------------
+  
+  public VSExampleDriver() {
+
+    add(new MCTruthDriver());
+    
+    // Segmentation description :
+    
+    Segmenter segmenter = new VSExampleSegmenter();
+    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", "VtxBarrHits");
+    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);
+    
+    // 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);
+  }
+  
+  
+// -- 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();
+    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();
+    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/contrib/seedtracker/veryoldexample
VSExampleSegmenter.java added at 1.1
diff -N VSExampleSegmenter.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ VSExampleSegmenter.java	17 Jun 2008 00:40:06 -0000	1.1
@@ -0,0 +1,65 @@
+package org.lcsim.contrib.seedtracker.veryoldexample;
+
+import org.lcsim.contrib.seedtracker.*;
+import org.lcsim.units.clhep.SystemOfUnits;
+
+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;
+
+/**
+ * 
+ * 
+ * 
+ * 
+ * @author D. Onoprienko
+ * @version $Id: VSExampleSegmenter.java,v 1.1 2008/06/17 00:40:06 partridge Exp $
+ */
+public class VSExampleSegmenter extends SubdetectorBasedSegmenter {
+  
+// -- Constructors :  ----------------------------------------------------------
+  
+  public VSExampleSegmenter() {
+    
+    // 25 um pixels in VTX Barrel
+    
+    CylindricalBarrelSegmenter vtxBarrelSegmenter = new CylindricalBarrelSegmenter("VertexBarrel");
+    vtxBarrelSegmenter.setStripLength(25.*SystemOfUnits.micrometer);
+    vtxBarrelSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
+    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);
+    setSegmenter("TrackerBarrel", trackerBarrelSegmenter);
+    
+    // 25 um pixels in VTX Endcap
+    
+//    DiskTrackerToRingsSegmenter vtxEndcapSegmenter = new DiskTrackerToRingsSegmenter("VertexEndcap");
+//    vtxEndcapSegmenter.setStripLength(25.*SystemOfUnits.micrometer);
+//    vtxEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
+//    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);
+//    setSegmenter("TrackerForward", trackerForwardSegmenter);
+    
+    // 15 degrees stereo wedges in outer Tracker Endcap
+    
+//    DiskTrackerToWedgesSegmenter trackerEndcapSegmenter = new DiskTrackerToWedgesSegmenter("TrackerEndcap");
+//    trackerEndcapSegmenter.setNumberOfRadialSlices(new int[]{3,5,8,10, 10});
+//    trackerEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
+//    trackerEndcapSegmenter.setNumberOfPhiSlices(24);
+//    setSegmenter("TrackerEndcap", trackerEndcapSegmenter);
+  }
+  
+// -- Private parts :  ---------------------------------------------------------
+  
+}
CVSspam 0.2.8