Commit in hps-java/src/main/java/org/lcsim/hps/recon/ecal on MAIN
HPSFADCTriggerDriver.java+2-11.6 -> 1.7
HPSEcalClusterer.java+13-141.22 -> 1.23
HPSTriggerDriver.java+6-81.12 -> 1.13
HPSEcalReadoutDriver.java+11-31.17 -> 1.18
HPS1BitTriggerDriver.java+3-21.1 -> 1.2
TestRunTriggerDriver.java+14-31.2 -> 1.3
HPSEcalConverterDriver.java+69-701.2 -> 1.3
HPSEcalCTPClusterer.java+34-351.5 -> 1.6
+152-136
8 modified files
readout drivers only make hit collections on readout cycles

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSFADCTriggerDriver.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- HPSFADCTriggerDriver.java	1 May 2012 15:06:39 -0000	1.6
+++ HPSFADCTriggerDriver.java	2 Aug 2012 20:32:15 -0000	1.7
@@ -7,6 +7,7 @@
 
 import org.lcsim.event.CalorimeterHit;
 import org.lcsim.event.Cluster;
+import org.lcsim.event.EventHeader;
 import org.lcsim.hps.util.ClockSingleton;
 
 /**
@@ -15,7 +16,7 @@
  *
  * @author Omar Moreno <[log in to unmask]>
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSFADCTriggerDriver.java,v 1.6 2012/05/01 15:06:39 meeg Exp $
+ * @version $Id: HPSFADCTriggerDriver.java,v 1.7 2012/08/02 20:32:15 meeg Exp $
  */
 public class HPSFADCTriggerDriver extends HPSTriggerDriver {
 

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSEcalClusterer.java 1.22 -> 1.23
diff -u -r1.22 -r1.23
--- HPSEcalClusterer.java	21 Jun 2012 18:49:52 -0000	1.22
+++ HPSEcalClusterer.java	2 Aug 2012 20:32:15 -0000	1.23
@@ -23,7 +23,7 @@
  * @author Jeremy McCormick <[log in to unmask]>
  * @author Tim Nelson <[log in to unmask]>
  *
- * @version $Id: HPSEcalClusterer.java,v 1.22 2012/06/21 18:49:52 meeg Exp $
+ * @version $Id: HPSEcalClusterer.java,v 1.23 2012/08/02 20:32:15 meeg Exp $
  */
 public class HPSEcalClusterer extends Driver {
 
@@ -95,21 +95,20 @@
     public void process(EventHeader event) {
         //System.out.println(this.getClass().getCanonicalName() + " - process");
 
-        // Get the list of raw ECal hits.
-        List<CalorimeterHit> hits = event.get(CalorimeterHit.class, ecalCollectionName);
-        if (hits == null) {
-            throw new RuntimeException("Event is missing ECal raw hits collection!");
-        }
+        if (event.hasCollection(CalorimeterHit.class, ecalCollectionName)) {
+            // Get the list of raw ECal hits.
+            List<CalorimeterHit> hits = event.get(CalorimeterHit.class, ecalCollectionName);
+
+            // Make a hit map for quick lookup by ID.
+            Map<Long, CalorimeterHit> hitMap = new HashMap<Long, CalorimeterHit>();
+            for (CalorimeterHit hit : hits) {
+                hitMap.put(hit.getCellID(), hit);
+            }
 
-        // Make a hit map for quick lookup by ID.
-        Map<Long, CalorimeterHit> hitMap = new HashMap<Long, CalorimeterHit>();
-        for (CalorimeterHit hit : hits) {
-            hitMap.put(hit.getCellID(), hit);
+            // Put Cluster collection into event.
+            int flag = 1 << LCIOConstants.CLBIT_HITS;
+            event.put(clusterCollectionName, createClusters(hitMap), HPSEcalCluster.class, flag);
         }
-
-        // Put Cluster collection into event.
-        int flag = 1 << LCIOConstants.CLBIT_HITS;
-        event.put(clusterCollectionName, createClusters(hitMap), HPSEcalCluster.class, flag);
     }
 
     public List<HPSEcalCluster> createClusters(Map<Long, CalorimeterHit> map) {

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSTriggerDriver.java 1.12 -> 1.13
diff -u -r1.12 -r1.13
--- HPSTriggerDriver.java	31 Jul 2012 00:08:40 -0000	1.12
+++ HPSTriggerDriver.java	2 Aug 2012 20:32:15 -0000	1.13
@@ -21,13 +21,13 @@
  * Applies SVT trigger latency and sends trigger signal to SVT
  *
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSTriggerDriver.java,v 1.12 2012/07/31 00:08:40 meeg Exp $
+ * @version $Id: HPSTriggerDriver.java,v 1.13 2012/08/02 20:32:15 meeg Exp $
  */
 public abstract class HPSTriggerDriver extends Driver {
 
     protected Subdetector ecal;
     private String ecalName = "Ecal";
-    private String clusterCollectionName = "EcalClusters";
+    protected String clusterCollectionName = "EcalClusters";
     protected IDDecoder dec = null;
     private String outputFileName;
     protected PrintWriter outputStream = null;
@@ -155,18 +155,16 @@
             // Send a trigger signal to the ECal
             HPSEcalReadoutDriver.triggerBit = true;
             ecalTriggerTimestamps.remove();
-
-
         }
     }
 
     protected boolean triggerDecision(EventHeader event) {
         // Get the list of raw ECal hits.
-        List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
-        if (clusters == null) {
-            throw new RuntimeException("Event is missing ECal clusters collection!");
+        if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+            return testTrigger(event.get(HPSEcalCluster.class, clusterCollectionName));
+        } else {
+            return false;
         }
-        return testTrigger(clusters);
     }
 
     public abstract boolean testTrigger(List<HPSEcalCluster> clusters);

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSEcalReadoutDriver.java 1.17 -> 1.18
diff -u -r1.17 -r1.18
--- HPSEcalReadoutDriver.java	21 Jun 2012 18:49:52 -0000	1.17
+++ HPSEcalReadoutDriver.java	2 Aug 2012 20:32:15 -0000	1.18
@@ -15,7 +15,7 @@
  * Performs readout of ECal hits.
  *
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalReadoutDriver.java,v 1.17 2012/06/21 18:49:52 meeg Exp $
+ * @version $Id: HPSEcalReadoutDriver.java,v 1.18 2012/08/02 20:32:15 meeg Exp $
  */
 public abstract class HPSEcalReadoutDriver<T> extends Driver {
 
@@ -112,22 +112,30 @@
             putHits(hits);
         }
 
-        ArrayList<T> newHits = new ArrayList<T>();
+        ArrayList<T> newHits = null;
 
         //if at the end of a readout cycle, write buffers to hits
         if (readoutCycle > 0) {
             if ((ClockSingleton.getClock() + 1) % readoutCycle == 0) {
+                if (newHits == null) {
+                    newHits = new ArrayList<T>();
+                }
                 readHits(newHits);
                 readoutCounter++;
             }
         } else {
             while (ClockSingleton.getTime() - readoutTime() + ClockSingleton.getDt() >= readoutPeriod) {
+                if (newHits == null) {
+                    newHits = new ArrayList<T>();
+                }
                 readHits(newHits);
                 readoutCounter++;
             }
         }
 
-        event.put(ecalRawCollectionName, newHits, hitClass, flags, ecalReadoutName);
+        if (newHits != null) {
+            event.put(ecalRawCollectionName, newHits, hitClass, flags, ecalReadoutName);
+        }
 
         if (triggerBit) {
             processTrigger(event);

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPS1BitTriggerDriver.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- HPS1BitTriggerDriver.java	17 Nov 2011 01:43:26 -0000	1.1
+++ HPS1BitTriggerDriver.java	2 Aug 2012 20:32:15 -0000	1.2
@@ -1,13 +1,14 @@
 package org.lcsim.hps.recon.ecal;
 
 import java.util.List;
+import org.lcsim.event.EventHeader;
 
 /**
  * Reads clusters and makes trigger decision using opposite quadrant criterion.
  * Prints triggers to file if file path specified.
  *
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPS1BitTriggerDriver.java,v 1.1 2011/11/17 01:43:26 meeg Exp $
+ * @version $Id: HPS1BitTriggerDriver.java,v 1.2 2012/08/02 20:32:15 meeg Exp $
  */
 public class HPS1BitTriggerDriver extends HPSTriggerDriver {
 	public HPS1BitTriggerDriver() {
@@ -39,4 +40,4 @@
 		}
 		return (quadrants[0] && quadrants[2]) || (quadrants[1] && quadrants[3]);
 	}
-}
\ No newline at end of file
+}

hps-java/src/main/java/org/lcsim/hps/recon/ecal
TestRunTriggerDriver.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- TestRunTriggerDriver.java	21 Jun 2012 18:49:52 -0000	1.2
+++ TestRunTriggerDriver.java	2 Aug 2012 20:32:15 -0000	1.3
@@ -2,6 +2,7 @@
 
 import java.util.LinkedList;
 import java.util.List;
+import org.lcsim.event.EventHeader;
 
 /**
  * Reads clusters and makes trigger decision using opposite quadrant criterion.
@@ -9,7 +10,7 @@
  *
  * @author Omar Moreno <[log in to unmask]>
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: TestRunTriggerDriver.java,v 1.2 2012/06/21 18:49:52 meeg Exp $
+ * @version $Id: TestRunTriggerDriver.java,v 1.3 2012/08/02 20:32:15 meeg Exp $
  */
 public class TestRunTriggerDriver extends HPSTriggerDriver {
 
@@ -32,14 +33,24 @@
     }
 
     @Override
+    protected boolean triggerDecision(EventHeader event) {
+        // Get the list of raw ECal hits.
+        if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+            return testTrigger(event.get(HPSEcalCluster.class, clusterCollectionName));
+        } else {
+            return false;
+        }
+    }
+
+    @Override
     public boolean testTrigger(List<HPSEcalCluster> clusters) {
         boolean trigger = false;
 
         for (HPSEcalCluster cluster : clusters) {
             if (cluster.getEnergy() > clusterEnergyLow) {
-                    trigger = true;
-                }
+                trigger = true;
             }
+        }
         if (trigger) {
             deadtimelessTriggerCount++;
         }

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSEcalConverterDriver.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- HPSEcalConverterDriver.java	11 Jan 2012 18:45:13 -0000	1.2
+++ HPSEcalConverterDriver.java	2 Aug 2012 20:32:15 -0000	1.3
@@ -16,77 +16,76 @@
 /**
  *
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalConverterDriver.java,v 1.2 2012/01/11 18:45:13 meeg Exp $
+ * @version $Id: HPSEcalConverterDriver.java,v 1.3 2012/08/02 20:32:15 meeg Exp $
  */
 public class HPSEcalConverterDriver extends Driver {
 
-	HPSEcalConverter converter = null;
-	Subdetector ecal;
-	String rawCollectionName;
-	String ecalName;
-	String ecalReadoutName = "EcalHits";
-	String ecalCollectionName = "EcalCorrectedHits";
-	int flags;
-
-	public HPSEcalConverterDriver() {
-		flags = 0;
-		flags += 1 << LCIOConstants.CHBIT_LONG; //store position
-		flags += 1 << LCIOConstants.RCHBIT_ID1; //store cell ID
-		converter = new HPSEcalConverter(null);
-	}
-
-	public void setPedestal(double pedestal) {
-		converter.setPedestal(pedestal);
-	}
-
-	public void setScale(double scale) {
-		converter.setScale(scale);
-	}
-
-	public void setEcalCollectionName(String ecalCollectionName) {
-		this.ecalCollectionName = ecalCollectionName;
-	}
-
-	public void setEcalName(String ecalName) {
-		this.ecalName = ecalName;
-	}
-
-	public void setRawCollectionName(String rawCollectionName) {
-		this.rawCollectionName = rawCollectionName;
-	}
-
-	@Override
-	public void startOfData() {
-		if (ecalCollectionName == null) {
-			throw new RuntimeException("The parameter ecalCollectionName was not set!");
-		}
-
-		if (ecalName == null) {
-			throw new RuntimeException("The parameter ecalName was not set!");
-		}
-	}
-
-	@Override
-	public void detectorChanged(Detector detector) {
-		// Get the Subdetector.
-		ecal = (Subdetector) detector.getSubdetector(ecalName);
-		converter.setIDDecoder(ecal.getIDDecoder());
-	}
-
-	@Override
-	public void process(EventHeader event) {
-		// Get the list of ECal hits.
-		List<HPSFADCCalorimeterHit> hits = event.get(HPSFADCCalorimeterHit.class, rawCollectionName);
-		if (hits == null) {
-			throw new RuntimeException("Event is missing ECal hits collection!");
-		}
-
-		ArrayList<CalorimeterHit> newHits = new ArrayList<CalorimeterHit>();
-
-		for (HPSFADCCalorimeterHit hit : hits) {
-			newHits.add(converter.HitDtoA(hit));
-		}
-
-		event.put(ecalCollectionName, newHits, CalorimeterHit.class, flags, ecalReadoutName);
-	}
+    HPSEcalConverter converter = null;
+    Subdetector ecal;
+    String rawCollectionName;
+    String ecalName;
+    String ecalReadoutName = "EcalHits";
+    String ecalCollectionName = "EcalCorrectedHits";
+    int flags;
+
+    public HPSEcalConverterDriver() {
+        flags = 0;
+        flags += 1 << LCIOConstants.CHBIT_LONG; //store position
+        flags += 1 << LCIOConstants.RCHBIT_ID1; //store cell ID
+        converter = new HPSEcalConverter(null);
+    }
+
+    public void setPedestal(double pedestal) {
+        converter.setPedestal(pedestal);
+    }
+
+    public void setScale(double scale) {
+        converter.setScale(scale);
+    }
+
+    public void setEcalCollectionName(String ecalCollectionName) {
+        this.ecalCollectionName = ecalCollectionName;
+    }
+
+    public void setEcalName(String ecalName) {
+        this.ecalName = ecalName;
+    }
+
+    public void setRawCollectionName(String rawCollectionName) {
+        this.rawCollectionName = rawCollectionName;
+    }
+
+    @Override
+    public void startOfData() {
+        if (ecalCollectionName == null) {
+            throw new RuntimeException("The parameter ecalCollectionName was not set!");
+        }
+
+        if (ecalName == null) {
+            throw new RuntimeException("The parameter ecalName was not set!");
+        }
+    }
+
+    @Override
+    public void detectorChanged(Detector detector) {
+        // Get the Subdetector.
+        ecal = (Subdetector) detector.getSubdetector(ecalName);
+        converter.setIDDecoder(ecal.getIDDecoder());
+    }
+
+    @Override
+    public void process(EventHeader event) {
+        if (event.hasCollection(HPSFADCCalorimeterHit.class, rawCollectionName)) {
+            // Get the list of ECal hits.
+            List<HPSFADCCalorimeterHit> hits = event.get(HPSFADCCalorimeterHit.class, rawCollectionName);
+
+            ArrayList<CalorimeterHit> newHits = new ArrayList<CalorimeterHit>();
+
+            for (HPSFADCCalorimeterHit hit : hits) {
+                newHits.add(converter.HitDtoA(hit));
+            }
+
+            event.put(ecalCollectionName, newHits, CalorimeterHit.class, flags, ecalReadoutName);
+        }
+    }
 }

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSEcalCTPClusterer.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- HPSEcalCTPClusterer.java	21 Jun 2012 18:49:52 -0000	1.5
+++ HPSEcalCTPClusterer.java	2 Aug 2012 20:32:15 -0000	1.6
@@ -29,7 +29,7 @@
  * @author Jeremy McCormick <[log in to unmask]>
  * @author Tim Nelson <[log in to unmask]>
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalCTPClusterer.java,v 1.5 2012/06/21 18:49:52 meeg Exp $
+ * @version $Id: HPSEcalCTPClusterer.java,v 1.6 2012/08/02 20:32:15 meeg Exp $
  */
 public class HPSEcalCTPClusterer extends Driver {
 
@@ -121,45 +121,44 @@
     public void process(EventHeader event) {
         //System.out.println(this.getClass().getCanonicalName() + " - process");
 
-        // Get the list of raw ECal hits.
-        List<CalorimeterHit> hits = event.get(CalorimeterHit.class, ecalCollectionName);
-        if (hits == null) {
-            throw new RuntimeException("Event is missing ECal raw hits collection!");
-        }
-
-        List<HPSEcalCluster> clusters;
-
-        if (clusterWindow >= 0) {
-            PriorityQueue<CalorimeterHit> futureHits = new PriorityQueue<CalorimeterHit>(10, new TimeComparator());
-            PriorityQueue<CalorimeterHit> pastHits = new PriorityQueue<CalorimeterHit>(10, new TimeComparator());
-            clusters = new ArrayList<HPSEcalCluster>();
-
-            for (CalorimeterHit hit : hits) {
-                if (hit.getRawEnergy() > addEMin) {
-                    futureHits.add(hit);
+        if (event.hasCollection(CalorimeterHit.class, ecalCollectionName)) {
+            // Get the list of raw ECal hits.
+            List<CalorimeterHit> hits = event.get(CalorimeterHit.class, ecalCollectionName);
+
+            List<HPSEcalCluster> clusters;
+
+            if (clusterWindow >= 0) {
+                PriorityQueue<CalorimeterHit> futureHits = new PriorityQueue<CalorimeterHit>(10, new TimeComparator());
+                PriorityQueue<CalorimeterHit> pastHits = new PriorityQueue<CalorimeterHit>(10, new TimeComparator());
+                clusters = new ArrayList<HPSEcalCluster>();
+
+                for (CalorimeterHit hit : hits) {
+                    if (hit.getRawEnergy() > addEMin) {
+                        futureHits.add(hit);
+                    }
                 }
-            }
 
-            while (!futureHits.isEmpty()) {
-                CalorimeterHit nextHit = futureHits.poll();
-                pastHits.add(nextHit);
-                while (!futureHits.isEmpty() && futureHits.peek().getTime() == nextHit.getTime()) {
-                    pastHits.add(futureHits.poll());
-                }
-                while (pastHits.peek().getTime() < nextHit.getTime() - clusterWindow) {
-                    pastHits.poll();
+                while (!futureHits.isEmpty()) {
+                    CalorimeterHit nextHit = futureHits.poll();
+                    pastHits.add(nextHit);
+                    while (!futureHits.isEmpty() && futureHits.peek().getTime() == nextHit.getTime()) {
+                        pastHits.add(futureHits.poll());
+                    }
+                    while (pastHits.peek().getTime() < nextHit.getTime() - clusterWindow) {
+                        pastHits.poll();
+                    }
+                    sumHits(pastHits);
+                    clusters.addAll(createClusters());
                 }
-                sumHits(pastHits);
-                clusters.addAll(createClusters());
+            } else {
+                sumHits(hits);
+                clusters = createClusters();
             }
-        } else {
-            sumHits(hits);
-            clusters = createClusters();
-        }
 
-        // Put Cluster collection into event.
-        int flag = 1 << LCIOConstants.CLBIT_HITS;
-        event.put(clusterCollectionName, clusters, HPSEcalCluster.class, flag);
+            // Put Cluster collection into event.
+            int flag = 1 << LCIOConstants.CLBIT_HITS;
+            event.put(clusterCollectionName, clusters, HPSEcalCluster.class, flag);
+        }
     }
 
     public void sumHits(Collection<CalorimeterHit> hits) {
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