Print

Print


Commit in hps-java/src/main/java/org/lcsim/hps/users/omoreno on MAIN
TestRunTrackReconEfficiency.java+58-71.1 -> 1.2
Add some plots

hps-java/src/main/java/org/lcsim/hps/users/omoreno
TestRunTrackReconEfficiency.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- TestRunTrackReconEfficiency.java	25 Apr 2013 21:03:40 -0000	1.1
+++ TestRunTrackReconEfficiency.java	30 Apr 2013 08:08:29 -0000	1.2
@@ -29,7 +29,7 @@
  * method. 
  * 
  * @author Omar Moreno <[log in to unmask]>
- * @version $Id: TestRunTrackReconEfficiency.java,v 1.1 2013/04/25 21:03:40 omoreno Exp $
+ * @version $Id: TestRunTrackReconEfficiency.java,v 1.2 2013/04/30 08:08:29 omoreno Exp $
  */
 public class TestRunTrackReconEfficiency  extends Driver {
     
@@ -41,6 +41,8 @@
     List<Track> botTracks;
     SvtTrackExtrapolator extrapolator = new SvtTrackExtrapolator(); 
     
+    int plotterIndex = 0; 
+
     double eventNumber     = 0;
     double nOppositeVolume = 0;
     double nWithinWindow   = 0;
@@ -48,18 +50,27 @@
     double nTrigClusterTrackMatch = 0;
     double findableTracks, findableTopTracks,findableBottomTracks;
     double totalTracks, totalTopTracks, totalBottomTracks; 
-    double thresholdEnergy = 0;
+    double thresholdEnergy  = 0;
+    double energyDifference = 0; 
     
     boolean debug = false;  
     boolean topTrackIsFindable, bottomTrackIsFindable;
     boolean topTrigger = false;
      
     // Collection Names
-    String stereoHitCollectionName = "HelicalTrackHits";
-    String trackCollectionName = "MatchedTracks";
-    String ecalClustersCollectionName = "EcalClusters";
-    String triggerDataCollectionName = "TriggerBank";
-    
+    String stereoHitCollectionName 		= "HelicalTrackHits";
+    String trackCollectionName 			= "MatchedTracks";
+    String ecalClustersCollectionName 	= "EcalClusters";
+    String triggerDataCollectionName 	= "TriggerBank";
+    
+    // Plots
+    IHistogram1D findableTrackMomentum; 
+    IHistogram1D totalTrackMomentum; 
+	IHistogram1D xPositionResidual;
+	IHistogram1D yPositionResidual;
+	IHistogram1D zPositionResidual;
+	IHistogram1D r;
+
     /**
      * Dflt Ctor
      */
@@ -78,12 +89,47 @@
     public void setThresholdEnergy(double thresholdEnergy){
     	this.thresholdEnergy = thresholdEnergy;
     }
+
+    public void setClusterEnergyDifference(double energyDifference){ 
+        this.energyDifference = energyDifference; 
+    }
      
     /**
      * 
      */
     protected void detectorChanged(Detector detector){
         super.detectorChanged(detector);
+
+        // setup AIDA
+        aida = AIDA.defaultInstance(); 
+        aida.tree().cd("/"); 
+
+        // Open the output file stream
+    
+        // Create plots of track reconstruction effiency vs momentum
+        plotters.add(PlotUtils.setupPlotter("Track Momentum", 0, 0));
+        findableTrackMomentum = aida.histogram1D("Momentum - Findable Tracks", 14, 0, 5.6); 
+        PlotUtils.setup1DRegion(plotters.get(plotterIndex), "Momentum - Findable Tracks", 0, "Momentum [GeV]", findableTrackMomentum); 
+        totalTrackMomentum = aida.histogram1D("Momentum - Reconstructed Tracks", 14, 0, 5.6); 
+        PlotUtils.setup1DRegion(plotters.get(plotterIndex), "Momentum - Reconstructed Tracks", 0, "Momentum [GeV]", totalTrackMomentum);
+        plotterIndex++;
+
+        // Create plot for diffence in track and cluster position
+		plotters.add(PlotUtils.setupPlotter("Track-Cluster Position Residual", 2, 2));
+		xPositionResidual = aida.histogram1D("x Residual", 100, -100, 100);
+		yPositionResidual = aida.histogram1D("y Residual", 100, -100, 100);
+		zPositionResidual = aida.histogram1D("z Residual", 100, -100, 100);
+		r = aida.histogram1D("r", 100, -100, 100);
+		PlotUtils.setup1DRegion(plotters.get(plotterIndex), "x Residual", 0, "delta x [mm]", xPositionResidual);
+		PlotUtils.setup1DRegion(plotters.get(plotterIndex), "y Residual", 1, "delta y [mm]", yPositionResidual);
+		PlotUtils.setup1DRegion(plotters.get(plotterIndex), "z Residual", 2, "delta z [mm]", zPositionResidual);
+		PlotUtils.setup1DRegion(plotters.get(plotterIndex), "r", 3, "r [mm]", r);
+        plotterIndex++; 
+
+        // Show all of the plotters
+        //for(IPlotter plotter : plotters) plotter.show(); 
+
+        
     }
     
     /**
@@ -129,6 +175,11 @@
  
        	// Check that the difference between the Ecal cluster energies is 
         // reasonable
+       	double energyDiff = Math.abs(ecalClusters.get(0).getEnergy() - ecalClusters.get(1).getEnergy()); 
+       	if(energyDiff > energyDifference){
+       		this.printDebug("The energy difference between the two clusters is too great.");
+       		return;
+       	}
        
         // Check if the event contains a collection of tracks.  If it doesn't,
         // move on to the next event.
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