Print

Print


Commit in hps-java/src/main/java/org/lcsim/hps/users/omoreno on MAIN
SvtTrackAnalysis.java+104added 1.1
Class to analyze SVT tracks

hps-java/src/main/java/org/lcsim/hps/users/omoreno
SvtTrackAnalysis.java added at 1.1
diff -N SvtTrackAnalysis.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SvtTrackAnalysis.java	11 May 2012 13:08:54 -0000	1.1
@@ -0,0 +1,104 @@
+package org.lcsim.hps.users.omoreno;
+
+//--- java ---//
+import java.util.ArrayList;
+import java.util.List;
+
+//--- org.lcsim ---//
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.Track;
+import org.lcsim.geometry.Detector;
+import org.lcsim.hps.monitoring.Resettable;
+import org.lcsim.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.recon.tracking.seedtracker.SeedTrack;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
+
+//--- hep ---//
+import hep.aida.IPlotter;
+import hep.physics.vec.Hep3Vector;
+
+/**
+ * 
+ * @author Omar Moreno
+ * @version $Id: SvtTrackAnalysis.java,v 1.1 2012/05/11 13:08:54 omoreno Exp $
+ *
+ */
+
+public class SvtTrackAnalysis extends Driver implements Resettable {
+	
+    private String trackCollectionName = "MatchedTracks";
+	private AIDA aida;
+	private List<IPlotter> plotters = new ArrayList<IPlotter>();
+    
+    ExtendTrack trackExtender;
+	
+	public SvtTrackAnalysis(){
+		trackExtender = new ExtendTrack();
+	}
+
+	protected void detectorChanged(Detector detector){
+		
+		aida = AIDA.defaultInstance();
+		aida.tree().cd("/");
+		
+		plotters.add(aida.analysisFactory().createPlotterFactory().create("Track Position at Ecal"));
+		plotters.get(0).region(0).plot(aida.histogram2D("Track Position at Ecal", 200, -350, 350, 100, -20, 100));
+		plotters.get(0).region(0).style().setParameter("hist2DStyle", "colorMap");
+    	plotters.get(0).region(0).style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+        plotters.get(0).style().statisticsBoxStyle().setVisible(false);
+        
+        /*
+        plotters.add(aida.analysisFactory().createPlotterFactory().create("Track Parameters"));
+        plotters.get(1).createRegions();
+        */
+        
+        plotters.add(aida.analysisFactory().createPlotterFactory().create("Track Position at Converter"));
+        plotters.get(1).region(0).plot(aida.histogram2D("Track Position at Converter", 200, -350, 350, 100, -50, 50));
+		plotters.get(1).region(0).style().setParameter("hist2DStyle", "colorMap");
+    	plotters.get(1).region(0).style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+        plotters.get(1).style().statisticsBoxStyle().setVisible(false);
+        
+        /*
+		plotters.add(aida.analysisFactory().createPlotterFactory().create("Track Position at Collimator"));
+		plotters.get(0).region(0).plot(aida.histogram2D("Track Position at Ecal", 200, -350, 350, 30, -20, 20));
+		plotters.get(0).region(0).style().setParameter("hist2DStyle", "colorMap");
+    	plotters.get(0).region(0).style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+        plotters.get(0).style().statisticsBoxStyle().setVisible(false);
+        */
+	
+        for(IPlotter plotter : plotters){
+        	plotter.show();
+        }
+	}
+	
+	public void process(EventHeader event){
+		if(!event.hasCollection(Track.class, trackCollectionName)) return;
+    	List<SeedTrack> tracks = event.get(SeedTrack.class, trackCollectionName);
+	
+    	for(SeedTrack track : tracks){
+    		trackExtender.setTrack(track);
+    		trackExtender.printTrackParameters();
+    		Hep3Vector positionEcal = trackExtender.positionAtEcal();
+    		Hep3Vector positionConverter = trackExtender.extrapolateTrack(-300);
+    	
+    		aida.histogram2D("Track Position at Ecal").fill(positionEcal.y(), positionEcal.z());
+    		aida.histogram2D("Track Position at Converter").fill(positionConverter.y(), positionConverter.z());
+    	}
+    	
+    	if(!event.hasCollection(HPSEcalCluster.class, "EcalClusters")) return;
+    	List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalClusters");
+    	
+    	for(HPSEcalCluster cluster : clusters){
+    		double[] clusterPosition = cluster.getPosition();
+  //  		System.out.println("Cluster Position: [" + clusterPosition[0] + ", " + clusterPosition[1] + ", " + clusterPosition[2]+ "]");
+    	}
+    	
+	}
+
+	@Override
+	public void reset() {
+		aida.histogram2D("Track Position at Ecal").reset();
+		aida.histogram2D("Track Position at Converter").reset();
+	}
+}
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1