Commit in hps-java/src/main/java/org/lcsim/hps/recon/ecal on MAIN
HPSFADCTriggerDriver.java+29-131.18 -> 1.19
better plots, more plots

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSFADCTriggerDriver.java 1.18 -> 1.19
diff -u -r1.18 -r1.19
--- HPSFADCTriggerDriver.java	18 Dec 2012 01:28:47 -0000	1.18
+++ HPSFADCTriggerDriver.java	19 Dec 2012 19:12:23 -0000	1.19
@@ -21,7 +21,7 @@
  *
  * @author Omar Moreno <[log in to unmask]>
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSFADCTriggerDriver.java,v 1.18 2012/12/18 01:28:47 meeg Exp $
+ * @version $Id: HPSFADCTriggerDriver.java,v 1.19 2012/12/19 19:12:23 meeg Exp $
  */
 public class HPSFADCTriggerDriver extends HPSTriggerDriver {
 
@@ -45,7 +45,8 @@
     int energyDistanceCount;
     int coplanarityCount;
     AIDA aida = AIDA.defaultInstance();
-    IHistogram2D clusterEnergy2D, energyDistance2D, clusterAngle2D;
+    IHistogram2D clusterEnergy2DAll, clusterSumDiff2DAll, energyDistance2DAll, clusterAngle2DAll;
+    IHistogram2D clusterEnergy2D, clusterSumDiff2D, energyDistance2D, clusterAngle2D;
     IHistogram1D triggerBits1D, triggerTimes1D;
     private boolean useQuadrants = false;
 
@@ -95,9 +96,16 @@
             setBeamEnergy(6.6);
         }
 
-        clusterEnergy2D = aida.histogram2D(detector.getDetectorName() + " : " + clusterCollectionName + " : energy difference vs. sum", 100, 0.0, 2 * beamEnergy, 100, 0.0, beamEnergy);
-        energyDistance2D = aida.histogram2D(detector.getDetectorName() + " : " + clusterCollectionName + " : distance vs. energy (less energetic cluster)", 100, 0.0, 0.5 * beamEnergy, 25, 0.0, 400.0);
-        clusterAngle2D = aida.histogram2D(detector.getDetectorName() + " : " + clusterCollectionName + " : cluster angle uncoplanarity vs. more energetic cluster angle", 100, -180.0, 180.0, 100, -180.0, 180.0);
+        clusterSumDiff2DAll = aida.histogram2D("All cluster pairs: energy difference vs. sum", 100, 0.0, 2 * beamEnergy, 100, 0.0, beamEnergy);
+        clusterEnergy2DAll = aida.histogram2D("All cluster pairs: energy (less energetic vs. more energetic)", 100, 0.0, 2 * beamEnergy, 100, 0.0, beamEnergy);
+        energyDistance2DAll = aida.histogram2D("All cluster pairs: distance vs. energy (less energetic cluster)", 100, 0.0, 0.5 * beamEnergy, 25, 0.0, 400.0);
+        clusterAngle2DAll = aida.histogram2D("All cluster pairs: cluster angle uncoplanarity vs. less energetic cluster angle", 100, -180.0, 180.0, 100, -180.0, 180.0);
+
+        clusterSumDiff2D = aida.histogram2D("Passed other cuts: energy difference vs. sum", 100, 0.0, 2 * beamEnergy, 100, 0.0, beamEnergy);
+        clusterEnergy2D = aida.histogram2D("Passed other cuts: energy (less energetic vs. more energetic)", 100, 0.0, 2 * beamEnergy, 100, 0.0, beamEnergy);
+        energyDistance2D = aida.histogram2D("Passed other cuts: distance vs. energy (less energetic cluster)", 100, 0.0, 0.5 * beamEnergy, 25, 0.0, 400.0);
+        clusterAngle2D = aida.histogram2D("Passed other cuts: cluster angle uncoplanarity vs. less energetic cluster angle", 100, -180.0, 180.0, 100, -180.0, 180.0);
+
         triggerBits1D = aida.histogram1D(detector.getDetectorName() + " : " + clusterCollectionName + " : trigger bits", 17, -1.5, 15.5);
         triggerTimes1D = aida.histogram1D(detector.getDetectorName() + " : " + clusterCollectionName + " : trigger times", 500, -0.5, 499.5);
     }
@@ -213,14 +221,20 @@
                 outputStream.println("Failed cluster energy cut");
             }
 
+            clusterSumDiff2DAll.fill(clusterPair[0].getEnergy() + clusterPair[1].getEnergy(), clusterPair[0].getEnergy() - clusterPair[1].getEnergy());
+            clusterEnergy2DAll.fill(clusterPair[0].getEnergy(), clusterPair[1].getEnergy());
+            energyDistance2DAll.fill(clusterPair[1].getEnergy(), getClusterDistance(clusterPair[1]));
+            clusterAngle2DAll.fill(getClusterAngle(clusterPair[1]), pairAcoplanarity(clusterPair));
+
             if (bits.containsAll(EnumSet.complementOf(EnumSet.of(Flag.ENERGY_SUM_DIFF, Flag.CLUSTER_ENERGY)))) { //cluster energy, energy-distance, coplanarity
-                clusterEnergy2D.fill(clusterPair[0].getEnergy() + clusterPair[1].getEnergy(), clusterPair[0].getEnergy() - clusterPair[1].getEnergy());
+                clusterSumDiff2D.fill(clusterPair[0].getEnergy() + clusterPair[1].getEnergy(), clusterPair[0].getEnergy() - clusterPair[1].getEnergy());
+                clusterEnergy2D.fill(clusterPair[0].getEnergy(), clusterPair[1].getEnergy());
             }
             if (bits.containsAll(EnumSet.complementOf(EnumSet.of(Flag.ENERGY_DISTANCE)))) {
                 energyDistance2D.fill(clusterPair[1].getEnergy(), getClusterDistance(clusterPair[1]));
             }
             if (bits.containsAll(EnumSet.complementOf(EnumSet.of(Flag.COPLANARITY)))) {
-                clusterAngle2D.fill(getClusterAngle(clusterPair[0]), ((360.0 + getClusterAngle(clusterPair[0]) - getClusterAngle(clusterPair[1])) % 360.0) - 180.0);
+                clusterAngle2D.fill(getClusterAngle(clusterPair[1]), pairAcoplanarity(clusterPair));
             }
 
             triggerBits1D.fill(Flag.bitmask(bits));
@@ -414,15 +428,17 @@
      * @return true if pair is found, false otherwise
      */
     private boolean coplanarityCut(HPSEcalCluster[] clusterPair) {
-        double cluster1Angle = getClusterAngle(clusterPair[0]);
-        double cluster2Angle = getClusterAngle(clusterPair[1]);
+        return (Math.abs(pairAcoplanarity(clusterPair)) < maxCoplanarityAngle);
+    }
+
+    private double pairAcoplanarity(HPSEcalCluster[] clusterPair) { // Find the angle between clusters in the pair
+        double cluster1Angle = (getClusterAngle(clusterPair[0]) + 180.0) % 180.0;
+        double cluster2Angle = (getClusterAngle(clusterPair[1]) + 180.0) % 180.0;
 
-        // Find the angle between clusters in the pair
-        double phi = (360.0 + cluster1Angle - cluster2Angle) % 360.0;
-        return (Math.abs(phi - 180.0) < maxCoplanarityAngle);
+        return cluster2Angle - cluster1Angle;
     }
 
-    private double getClusterAngle(HPSEcalCluster cluster) {
+    private double getClusterAngle(HPSEcalCluster cluster) { //returns angle in range of -180 to 180
         double position[] = cluster.getSeedHit().getPosition();
         return Math.toDegrees(Math.atan2(position[0], position[1]));
     }
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