Commit in hps-java/src/main/java/org/lcsim/hps/recon/ecal on MAIN
HPSFADCTriggerDriver.java+31-441.15 -> 1.16
cleaned up a little; added trigger time histogram

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSFADCTriggerDriver.java 1.15 -> 1.16
diff -u -r1.15 -r1.16
--- HPSFADCTriggerDriver.java	11 Dec 2012 03:13:44 -0000	1.15
+++ HPSFADCTriggerDriver.java	11 Dec 2012 19:56:51 -0000	1.16
@@ -21,7 +21,7 @@
  *
  * @author Omar Moreno <[log in to unmask]>
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSFADCTriggerDriver.java,v 1.15 2012/12/11 03:13:44 meeg Exp $
+ * @version $Id: HPSFADCTriggerDriver.java,v 1.16 2012/12/11 19:56:51 meeg Exp $
  */
 public class HPSFADCTriggerDriver extends HPSTriggerDriver {
 
@@ -46,7 +46,7 @@
     int coplanarityCount;
     AIDA aida = AIDA.defaultInstance();
     IHistogram2D clusterEnergy2D, energyDistance2D, clusterAngle2D;
-    IHistogram1D triggerBits1D;
+    IHistogram1D triggerBits1D, triggerTimes1D;
     private boolean useQuadrants = false;
 
     private enum Flag {
@@ -81,6 +81,7 @@
         energyDistance2D = aida.histogram2D(detector.getDetectorName() + " : " + clusterCollectionName + " : distance vs. energy (less energetic cluster)", 100, 0.0, beamEnergy, 100, 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);
         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);
     }
 
     @Override
@@ -114,7 +115,6 @@
         for (HPSEcalCluster[] clusterPair : clusterPairs) {
 
             EnumSet<Flag> bits = EnumSet.noneOf(Flag.class);
-            boolean goodPair = true;
 
             if (outputStream != null) {
                 outputStream.printf("Event %d: cluster pair (energy %f in quadrant %d (%s), energy %f in quadrant %d (%s))\n",
@@ -141,72 +141,58 @@
             // the range of 100 MeV to 1.85 GeV
             if (clusterECut(clusterPair)) {
                 bits.add(Flag.CLUSTER_ENERGY);
-                if (goodPair) {
-                    clusterEnergyCount++;
-                }
-            } else {
-                goodPair = false;
-                if (goodPair && outputStream != null) {
-                    outputStream.println("Failed cluster energy cut");
-                }
             }
 
             bits.add(Flag.ENERGY_SUM_DIFF);
             // Require the sum of the energies of the components of the
             // cluster pair to be less than the
             // (Beam Energy)*(Sampling Fraction) ( 2 GeV for the Test Run )
-            if (energySum(clusterPair)) {
-                if (goodPair) {
-                    energySumCount++;
-                }
-            } else {
-                goodPair = false;
+            if (!energySum(clusterPair)) {
                 bits.remove(Flag.ENERGY_SUM_DIFF);
-                if (goodPair && outputStream != null) {
-                    outputStream.println("Failed energy sum cut");
-                }
             }
 
             // Require the difference in energy of the components of the
             // cluster pair to be less than 1.5 GeV
-            if (energyDifference(clusterPair)) {
-                if (goodPair) {
-                    energyDifferenceCount++;
-                }
-            } else {
-                goodPair = false;
+            if (!energyDifference(clusterPair)) {
                 bits.remove(Flag.ENERGY_SUM_DIFF);
-                if (goodPair && outputStream != null) {
-                    outputStream.println("Failed energy difference cut");
-                }
             }
 
             // Apply a low energy cluster vs. distance cut of the form
             // E_low + .0032 GeV/mm < .8 GeV
             if (energyDistanceCut(clusterPair)) {
                 bits.add(Flag.ENERGY_DISTANCE);
-                if (goodPair) {
-                    energyDistanceCount++;
-                }
-            } else {
-                goodPair = false;
-                if (goodPair && outputStream != null) {
-                    outputStream.println("Failed energy-distance cut");
-                }
             }
 
             // Require that the two clusters are coplanar with the beam within
             // 35 degrees
             if (coplanarityCut(clusterPair)) {
                 bits.add(Flag.COPLANARITY);
-                if (goodPair) {
-                    coplanarityCount++;
-                }
-            } else {
-                goodPair = false;
-                if (goodPair && outputStream != null) {
-                    outputStream.println("Failed coplanarity cut");
+            }
+
+            if (bits.contains(Flag.CLUSTER_ENERGY)) {
+                clusterEnergyCount++;
+                if (energySum(clusterPair)) {
+                    energySumCount++;
+                    if (energyDifference(clusterPair)) {
+                        energyDifferenceCount++;
+                        if (bits.contains(Flag.ENERGY_DISTANCE)) {
+                            energyDistanceCount++;
+                            if (bits.contains(Flag.COPLANARITY)) {
+                                coplanarityCount++;
+                            } else if (outputStream != null) {
+                                outputStream.println("Failed coplanarity cut");
+                            }
+                        } else if (outputStream != null) {
+                            outputStream.println("Failed energy-distance cut");
+                        }
+                    } else if (outputStream != null) {
+                        outputStream.println("Failed energy difference cut");
+                    }
+                } else if (outputStream != null) {
+                    outputStream.println("Failed energy sum cut");
                 }
+            } else if (outputStream != null) {
+                outputStream.println("Failed cluster energy cut");
             }
 
             if (bits.containsAll(EnumSet.complementOf(EnumSet.of(Flag.ENERGY_SUM_DIFF)))) { //cluster energy, energy-distance, coplanarity
@@ -231,6 +217,7 @@
         }
         if (trigger) {
             triggerBits1D.fill(-1);
+            triggerTimes1D.fill(ClockSingleton.getClock() % 500);
         }
         return trigger;
     }
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