Print

Print


Commit in hps-java/src/main on MAIN
resources/org/lcsim/hps/steering/ECalMonitoring.lcsim+41.2 -> 1.3
                                /TestRunMonitoring.lcsim+1-11.12 -> 1.13
java/org/lcsim/hps/monitoring/ecal/EcalEvsX.java+96added 1.1
java/org/lcsim/hps/recon/ecal/HPSEcalCluster.java+11-111.3 -> 1.4
                             /HPSEcalRawConverter.java+6-61.3 -> 1.4
                             /HPSEcalRawConverterDriver.java+4-71.4 -> 1.5
java/org/lcsim/hps/evio/ECalEvioReader.java+5-61.13 -> 1.14
+127-31
1 added + 6 modified, total 7 files
clusters have positions

hps-java/src/main/resources/org/lcsim/hps/steering
ECalMonitoring.lcsim 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- ECalMonitoring.lcsim	4 May 2012 16:35:44 -0000	1.2
+++ ECalMonitoring.lcsim	5 May 2012 00:15:12 -0000	1.3
@@ -13,6 +13,7 @@
         <driver name="EcalDaqPlots"/>
         <driver name="EcalMonitoringPlots"/>
         <driver name="EcalEventMonitor"/>
+        <driver name="EcalEvsX"/>
     </execute>    
     <drivers>
         <driver name="EcalRawConverter" type="org.lcsim.hps.recon.ecal.HPSEcalRawConverterDriver">
@@ -42,5 +43,8 @@
 			<ecalName>Ecal</ecalName>
 			<ecalCollectionName>EcalCalHits</ecalCollectionName>
 		</driver>
+        <driver name="EcalEvsX" type="org.lcsim.hps.monitoring.ecal.EcalEvsX">
+            <inputCollection>EcalClusters</inputCollection>
+        </driver>
     </drivers>
 </lcsim>

hps-java/src/main/resources/org/lcsim/hps/steering
TestRunMonitoring.lcsim 1.12 -> 1.13
diff -u -r1.12 -r1.13
--- TestRunMonitoring.lcsim	4 May 2012 18:24:15 -0000	1.12
+++ TestRunMonitoring.lcsim	5 May 2012 00:15:12 -0000	1.13
@@ -16,7 +16,7 @@
         <driver name="TrackerHitDriver"/> 
         <driver name="CleanupDriver"/>
         <driver name="FastTrackResidualDriver"/>
-        <driver name="EcalDaqPlots"/>
+<!--        <driver name="EcalDaqPlots"/>-->
         <driver name="EcalMonitoringPlots"/>
         <driver name="EcalEventMonitor"/>
         <driver name="SVTOccupancyPlots"/>

hps-java/src/main/java/org/lcsim/hps/monitoring/ecal
EcalEvsX.java added at 1.1
diff -N EcalEvsX.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ EcalEvsX.java	5 May 2012 00:15:12 -0000	1.1
@@ -0,0 +1,96 @@
+package org.lcsim.hps.monitoring.ecal;
+
+import hep.aida.ICloud2D;
+import hep.aida.IPlotter;
+import hep.aida.IPlotterStyle;
+import hep.aida.ref.plotter.PlotterRegion;
+
+import java.util.List;
+import org.lcsim.event.Cluster;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.geometry.Detector;
+import org.lcsim.geometry.IDDecoder;
+import org.lcsim.hps.monitoring.Resettable;
+import org.lcsim.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
+
+public class EcalEvsX extends Driver implements Resettable {
+
+    String subdetectorName = "Ecal";
+    String inputCollection = "EcalClusters";
+    AIDA aida = AIDA.defaultInstance();
+    IPlotter plotter;
+    ICloud2D EvsXPlot;
+    IDDecoder dec;
+    Detector detector;
+    int eventn = 0;
+
+    public EcalEvsX() {
+    }
+
+    public void setInputCollection(String inputCollection) {
+        this.inputCollection = inputCollection;
+    }
+
+    public void setSubdetectorName(String subdetectorName) {
+        this.subdetectorName = subdetectorName;
+    }
+
+    protected void detectorChanged(Detector detector) {
+
+        this.detector = detector;
+
+        if (detector.getSubdetector(subdetectorName) == null) {
+            throw new RuntimeException("There is no subdetector called " + subdetectorName + " in this detector");
+        }
+
+        // Cache the IDDecoder for the ECal.		
+        dec = detector.getSubdetector(subdetectorName).getReadout().getIDDecoder();
+
+        // Setup the plotter.
+        plotter = aida.analysisFactory().createPlotterFactory().create("HPS ECal Monitoring Plots");
+
+        // Setup plots.
+        aida.tree().cd("/");
+        EvsXPlot = aida.cloud2D(detector.getDetectorName() + " : " + inputCollection + " : E vs X");
+
+        // Create the plotter regions.
+        plotter.createRegion();
+        plotter.style().statisticsBoxStyle().setVisible(false);
+        IPlotterStyle style = plotter.region(0).style();
+        style.setParameter("hist2DStyle", "colorMap");
+        style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+        plotter.region(0).plot(EvsXPlot);
+        ((PlotterRegion) plotter.region(0)).getPlot().setAllowUserInteraction(false);
+        ((PlotterRegion) plotter.region(0)).getPlot().setAllowPopupMenus(false);
+        plotter.show();
+    }
+
+    public void process(EventHeader event) {
+        if (event.hasCollection(HPSEcalCluster.class, inputCollection)) {
+            List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, inputCollection);
+            for (HPSEcalCluster cluster : clusters) {
+                EvsXPlot.fill(cluster.getPosition()[0], cluster.getEnergy());
+            }
+            ++eventn;
+        }
+    }
+
+    public void endOfData() {
+        if (plotter != null) {
+            plotter.hide();
+            plotter.destroyRegions();
+        }
+        if (EvsXPlot != null) {
+            EvsXPlot.reset();
+        }
+    }
+
+    public void reset() {
+        plotter.hide();
+        EvsXPlot.reset();
+        detectorChanged(detector);
+    }
+}
\ No newline at end of file

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSEcalCluster.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- HPSEcalCluster.java	17 Nov 2011 01:43:26 -0000	1.3
+++ HPSEcalCluster.java	5 May 2012 00:15:12 -0000	1.4
@@ -5,15 +5,16 @@
 package org.lcsim.hps.recon.ecal;
 
 import org.lcsim.event.CalorimeterHit;
-import org.lcsim.geometry.IDDecoder;
 import org.lcsim.recon.cluster.util.BasicCluster;
 
 /**
  * Cluster with position defined by seed hit (for 1-bit trigger)
+ *
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalCluster.java,v 1.3 2011/11/17 01:43:26 meeg Exp $
+ * @version $Id: HPSEcalCluster.java,v 1.4 2012/05/05 00:15:12 meeg Exp $
  */
 public class HPSEcalCluster extends BasicCluster {
+
     CalorimeterHit seedHit = null;
     long cellID;
 
@@ -24,22 +25,21 @@
     public HPSEcalCluster(CalorimeterHit seedHit) {
         this.seedHit = seedHit;
         this.cellID = seedHit.getCellID();
-		this.addHit(seedHit);
+        this.addHit(seedHit);
     }
 
     public CalorimeterHit getSeedHit() {
         if (seedHit == null) {
             CalorimeterHit hit = hits.get(0);
-            if (hit == null)
+            if (hit == null) {
                 throw new RuntimeException("HPSEcalCluster has no hits");
-            IDDecoder dec = hit.getIDDecoder();
-            dec.setID(hit.getCellID());
-            seedHit = new HPSRawCalorimeterHit(0.0, dec.getPosition(), 0.0, cellID, hit.getType());
+            }
+            seedHit = new HPSRawCalorimeterHit(0.0, null, 0.0, cellID, hit.getType());
         }
         return seedHit;
     }
-
-    public double[] getPosition() {
-        return getSeedHit().getPosition();
-    }
+    
+//    public double[] getPosition() {
+//        return getSeedHit().getPosition();
+//    }
 }

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSEcalRawConverter.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- HPSEcalRawConverter.java	4 May 2012 16:35:44 -0000	1.3
+++ HPSEcalRawConverter.java	5 May 2012 00:15:12 -0000	1.4
@@ -1,8 +1,8 @@
 package org.lcsim.hps.recon.ecal;
 
 import org.lcsim.event.CalorimeterHit;
-import org.lcsim.event.RawCalorimeterHit;
 import org.lcsim.event.RawTrackerHit;
+import org.lcsim.event.base.BaseRawCalorimeterHit;
 
 /**
  *
@@ -25,7 +25,7 @@
         return HPSEcalConditions.physicalToPedestal(hit.getCellID());
     }
 
-    public int getPedestal(RawCalorimeterHit hit) {
+    public int getPedestal(BaseRawCalorimeterHit hit) {
         if (!HPSEcalConditions.pedestalsLoaded()) {
             HPSEcalConditions.loadPedestals();
         }
@@ -56,17 +56,17 @@
         double time = 0.0;
         long id = hit.getCellID();
         double rawEnergy = (double) sumADC(hit);
-//                Hep3Vector pvec = hit.getDetectorElement().getGeometry().getPosition();
+        double[] pos = hit.getDetectorElement().getGeometry().getPosition().v();
 //                double [] pos = new double[3];
 //                pos[0] = pvec.x();
 //                pos[1] = pvec.y();
 //                pos[2] = pvec.z();
-        CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, null, time, id, 0);
+        CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, pos, time, id, 0);
         //+0.0000001 is a horrible hack to ensure rawEnergy!=BaseCalorimeterHit.UNSET_CORRECTED_ENERGY
         return h;
     }
 
-    public CalorimeterHit HitDtoA(RawCalorimeterHit hit, int window) {
+    public CalorimeterHit HitDtoA(BaseRawCalorimeterHit hit, int window) {
         double time = 0.0;
         long id = hit.getCellID();
         double rawEnergy = (double) hit.getAmplitude() - window * getPedestal(hit);
@@ -75,7 +75,7 @@
 //                pos[0] = pvec.x();
 //                pos[1] = pvec.y();
 //                pos[2] = pvec.z();
-        CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, null, time, id, 0);
+        CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, hit.getPosition(), time, id, 0);
         //+0.0000001 is a horrible hack to ensure rawEnergy!=BaseCalorimeterHit.UNSET_CORRECTED_ENERGY
         return h;
     }

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSEcalRawConverterDriver.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- HPSEcalRawConverterDriver.java	4 May 2012 17:51:59 -0000	1.4
+++ HPSEcalRawConverterDriver.java	5 May 2012 00:15:12 -0000	1.5
@@ -4,10 +4,9 @@
 import java.util.List;
 import org.lcsim.event.CalorimeterHit;
 import org.lcsim.event.EventHeader;
-import org.lcsim.event.RawCalorimeterHit;
 import org.lcsim.event.RawTrackerHit;
+import org.lcsim.event.base.BaseRawCalorimeterHit;
 import org.lcsim.geometry.Detector;
-import org.lcsim.geometry.Subdetector;
 import org.lcsim.util.Driver;
 
 /**
@@ -17,8 +16,6 @@
  */
 public class HPSEcalRawConverterDriver extends Driver {
 
-
-
     HPSEcalRawConverter converter = null;
     String rawCollectionName = "EcalReadoutHits";
     String ecalReadoutName = "EcalHits";
@@ -71,10 +68,10 @@
 //                List<List<CalorimeterHit>> lll = event.get(CalorimeterHit.class);
 //                System.out.println("lll size " + lll.size());
         }
-        if (event.hasCollection(RawCalorimeterHit.class, rawCollectionName)) {
-            List<RawCalorimeterHit> hits = event.get(RawCalorimeterHit.class, rawCollectionName);
+        if (event.hasCollection(BaseRawCalorimeterHit.class, rawCollectionName)) {
+            List<BaseRawCalorimeterHit> hits = event.get(BaseRawCalorimeterHit.class, rawCollectionName);
 
-            for (RawCalorimeterHit hit : hits) {
+            for (BaseRawCalorimeterHit hit : hits) {
                 newHits.add(converter.HitDtoA(hit, integralWindow));
             }
 //                String s = ecalCollectionName; //"EcalCalHits";

hps-java/src/main/java/org/lcsim/hps/evio
ECalEvioReader.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- ECalEvioReader.java	4 May 2012 17:18:57 -0000	1.13
+++ ECalEvioReader.java	5 May 2012 00:15:12 -0000	1.14
@@ -4,7 +4,6 @@
 import java.util.List;
 import org.jlab.coda.jevio.*;
 import org.lcsim.event.EventHeader;
-import org.lcsim.event.RawCalorimeterHit;
 import org.lcsim.event.RawTrackerHit;
 import org.lcsim.event.base.BaseRawCalorimeterHit;
 import org.lcsim.event.base.BaseRawTrackerHit;
@@ -13,14 +12,14 @@
 /**
  *
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: ECalEvioReader.java,v 1.13 2012/05/04 17:18:57 meeg Exp $
+ * @version $Id: ECalEvioReader.java,v 1.14 2012/05/05 00:15:12 meeg Exp $
  */
 public class ECalEvioReader extends EvioReader {
     // Names of subdetectors.
 
     private String ecalName = "Ecal";
     private int bankTag = EventConstants.ECAL_PULSE_INTEGRAL_BANK_TAG;
-    private Class hitClass = RawCalorimeterHit.class;
+    private Class hitClass = BaseRawCalorimeterHit.class;
 
     public ECalEvioReader() {
         hitCollectionName = "EcalReadoutHits";
@@ -66,7 +65,7 @@
                                     break;
                                 case EventConstants.ECAL_PULSE_INTEGRAL_BANK_TAG:
                                     hits.addAll(makeIntegralHits(cdata, crateBankTag));
-                                    hitClass = RawCalorimeterHit.class;
+                                    hitClass = BaseRawCalorimeterHit.class;
                                     break;
                                 default:
                                     throw new RuntimeException("Unsupported ECal format - bank tag " + slotBank.getHeader().getTag());
@@ -171,8 +170,8 @@
         return hits;
     }
 
-    private List<RawCalorimeterHit> makeIntegralHits(CompositeData cdata, int crate) {
-        List<RawCalorimeterHit> hits = new ArrayList<RawCalorimeterHit>();
+    private List<BaseRawCalorimeterHit> makeIntegralHits(CompositeData cdata, int crate) {
+        List<BaseRawCalorimeterHit> hits = new ArrayList<BaseRawCalorimeterHit>();
         if (debug) {
             int n = cdata.getNValues().size();
             for (int i = 0; i < n; i++) {
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