LISTSERV mailing list manager LISTSERV 16.5

Help for HPS-SVN Archives


HPS-SVN Archives

HPS-SVN Archives


HPS-SVN@LISTSERV.SLAC.STANFORD.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

HPS-SVN Home

HPS-SVN Home

HPS-SVN  May 2015

HPS-SVN May 2015

Subject:

r2971 - in /java/trunk: monitoring-app/src/main/java/org/hps/monitoring/application/ monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/ monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/ steering-files/src/main/resources/org/hps/steering/recon/ tracking/src/main/java/org/hps/recon/tracking/ users/src/main/java/org/hps/users/meeg/

From:

[log in to unmask]

Reply-To:

Notification of commits to the hps svn repository <[log in to unmask]>

Date:

Fri, 15 May 2015 10:19:10 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (562 lines)

Author: [log in to unmask]
Date: Fri May 15 03:18:48 2015
New Revision: 2971

Log:
update plots, fix status bug

Added:
    java/trunk/users/src/main/java/org/hps/users/meeg/SVTSmallHitsDriver.java
Modified:
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusPanel.java
    java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SensorOccupancyPlotsDriver.java
    java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java
    java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackTimePlots.java
    java/trunk/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconOutsideIn.lcsim
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusPanel.java	Fri May 15 03:18:48 2015
@@ -78,6 +78,8 @@
 
         // Clear the system status events table.
         ((SystemStatusEventsTableModel) this.eventsTable.getModel()).clear();
+        
+        this.statuses.clear();
     }
 
     private class SystemStatusBeeper extends TimerTask {
@@ -86,7 +88,7 @@
         public void run() {
             boolean isAlarming = false;
             for (SystemStatus status : statuses) {
-                if (status.getStatusCode() == StatusCode.ALARM) {
+                if (status.isActive() && status.getStatusCode() == StatusCode.ALARM) {
                     isAlarming = true;
                 }
             }

Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SensorOccupancyPlotsDriver.java
 =============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SensorOccupancyPlotsDriver.java	(original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SensorOccupancyPlotsDriver.java	Fri May 15 03:18:48 2015
@@ -91,7 +91,7 @@
     private int maxSampleMonitorPeriod = 100;
 
     SystemStatus occupancyStatus;
-    private int occupancyMonitorStart = 2500;
+    private int occupancyMonitorStart = 5000;
     private int occupancyMonitorPeriod = 100;
     private double minPeakOccupancy = 0.0001;
     private double maxPeakOccupancy = 0.01;
@@ -382,7 +382,7 @@
                                 this.createOccupancyPlotStyle("Max Sample Number", sensor, false));
             }
         }
-        
+
         for (IPlotter plotter : plotters.values()) {
             for (int regionN = 0; regionN < plotter.numberOfRegions(); regionN++) {
                 PlotterRegion region = ((PlotterRegion) ((Plotter) plotter).region(regionN));
@@ -392,7 +392,7 @@
                 region.getPanel().addMouseListener(new PopupPlotterListener(region));
             }
             plotter.show();
-        }        
+        }
     }
 
     private boolean passTriggerFilter(List<GenericObject> triggerBanks) {
@@ -511,7 +511,7 @@
                 }
             }
         }
-        
+
         if (plotters.get("Occupancy") != null) {
             plotters.get("Occupancy").refresh();
         }
@@ -532,17 +532,17 @@
                     maxSampleStatus.setStatus(StatusCode.ALARM, "Sensor " + sensor.getName() + " looks out of time.");
                 }
                 IPlotterStyle plotterStyle = createOccupancyPlotStyle("Max Sample Number", sensor, true);
-                region.clear();
-                region.plot(maxSamplePlot, plotterStyle);
-//                region.applyStyle(plotterStyle);
+//                region.clear();
+//                region.plot(maxSamplePlot, plotterStyle);
+                region.applyStyle(plotterStyle);
 //                region.style().regionBoxStyle().backgroundStyle().setColor("246, 34, 34, 1");
 //                setBackgroundColor(region.style(),sensor.isAxial(),true);
 
             } else {
                 IPlotterStyle plotterStyle = createOccupancyPlotStyle("Max Sample Number", sensor, false);
-                region.clear();
-                region.plot(maxSamplePlot, plotterStyle);
-//                region.applyStyle(plotterStyle);
+//                region.clear();
+//                region.plot(maxSamplePlot, plotterStyle);
+                region.applyStyle(plotterStyle);
 //                setBackgroundColor(region.style(),sensor.isAxial(),false);
             }
         }
@@ -576,15 +576,15 @@
                     occupancyStatus.setStatus(StatusCode.ALARM, "Sensor " + sensor.getName() + " occupancy abnormal.");
                 }
                 IPlotterStyle plotterStyle = createOccupancyPlotStyle("Max Sample Number", sensor, true);
-                region.clear();
-                region.plot(occupancyPlot, plotterStyle);
-//                region.applyStyle(plotterStyle);
+//                region.clear();
+//                region.plot(occupancyPlot, plotterStyle);
+                region.applyStyle(plotterStyle);
 
             } else {
                 IPlotterStyle plotterStyle = createOccupancyPlotStyle("Max Sample Number", sensor, false);
-                region.clear();
-                region.plot(occupancyPlot, plotterStyle);
-//                region.applyStyle(plotterStyle);
+//                region.clear();
+//                region.plot(occupancyPlot, plotterStyle);
+                region.applyStyle(plotterStyle);
             }
         }
         if (isSystemOK) {
@@ -616,7 +616,7 @@
                 if (apvOccupancy[i] < 0.1 * peakOccupancy || apvOccupancy[i] < minPeakOccupancy) {
                     continue; //skip through the tail end of the sensor
                 }
-                if (apvOccupancy[i] > apvOccupancy[i - 1]) {
+                if (0.9 * apvOccupancy[i] > apvOccupancy[i - 1]) {
                     System.out.println("occupancy not monotonic");
                     return false;
                 }
@@ -626,7 +626,7 @@
                 if (apvOccupancy[i] < 0.1 * peakOccupancy || apvOccupancy[i] < minPeakOccupancy) {
                     continue; //skip through the tail end of the sensor
                 }
-                if (apvOccupancy[i] > apvOccupancy[i + 1]) {
+                if (0.9 * apvOccupancy[i] > apvOccupancy[i + 1]) {
                     System.out.println("occupancy not monotonic");
                     return false;
                 }

Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java
 =============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java	(original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java	Fri May 15 03:18:48 2015
@@ -301,7 +301,7 @@
             }
 
             clusterTimePlots.get(sensor.getName()).fill(cluster.getTime());
-            hitTimeTrigTimePlots1D[(int) (event.getTimeStamp() / 4) % 6].fill(cluster.getTime());
+            hitTimeTrigTimePlots1D[(int) ((event.getTimeStamp() / 4) % 6)].fill(cluster.getTime());
             if (sensor.isTopLayer()) {
                 hitTimeTrigTimePlots.get("Top").fill(cluster.getTime(), event.getTimeStamp() % 24);
             } else {

Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackTimePlots.java
 =============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackTimePlots.java	(original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackTimePlots.java	Fri May 15 03:18:48 2015
@@ -48,11 +48,12 @@
     private IHistogram2D[] trackTimeMinMax = new IHistogram2D[4];
 
     private static final String subdetectorName = "Tracker";
-    int nlayers=12;
-    
-    public void setTrackCollectionName(String name){
-        this.trackCollectionName=name;
-    }
+    int nlayers = 12;
+
+    public void setTrackCollectionName(String name) {
+        this.trackCollectionName = name;
+    }
+
     @Override
     protected void detectorChanged(Detector detector) {
 
@@ -70,14 +71,13 @@
         //style2d.zAxisStyle().setParameter("scale", "log");
         style2d.zAxisStyle().setVisible(false);
         style2d.dataBoxStyle().setVisible(false);
-       
-        
+
         IPlotterStyle styleOverlay = store.getStyle("DefaultHistogram1DStyle");
         styleOverlay.dataStyle().errorBarStyle().setVisible(true);
-        styleOverlay.dataStyle().fillStyle().setVisible(false);        
+        styleOverlay.dataStyle().fillStyle().setVisible(false);
         styleOverlay.legendBoxStyle().setVisible(false);
         styleOverlay.dataStyle().outlineStyle().setVisible(false);
-         
+
         plotter = fac.create("Hit Times");
         plotter.createRegions(3, 4);
 
@@ -110,16 +110,14 @@
             plot(plotter3, trackHitT0[module][layer], styleOverlay, region);
             trackHitDt[module][layer] = aida.histogram1D(sensor.getName() + "_trackHit_dt", 50, -20, 20.0);
             plot(plotter4, trackHitDt[module][layer], styleOverlay, region);
-           
-        }
-        
-        
-        
-        for (int i=0; i<nlayers;i++) {            
-            int region = computePlotterRegion(i);                   
-            trackHit2D[i] = aida.histogram2D("Layer "+i+" trackHit vs dt", 75, -50, 100.0, 50, -20, 20.0);
+
+        }
+
+        for (int i = 0; i < nlayers; i++) {
+            int region = computePlotterRegion(i);
+            trackHit2D[i] = aida.histogram2D("Layer " + i + " trackHit vs dt", 75, -50, 100.0, 50, -20, 20.0);
             plot(plotter5, trackHit2D[i], style2d, region);
-            trackHitDtChan[i] = aida.histogram2D("Layer "+i+" dt vs position", 200, -20, 20, 50, -20, 20.0);
+            trackHitDtChan[i] = aida.histogram2D("Layer " + i + " dt vs position", 200, -20, 20, 50, -20, 20.0);
             plot(plotter6, trackHitDtChan[i], style2d, region);
         }
         plotter.show();
@@ -131,7 +129,7 @@
         for (int module = 0; module < 2; module++) {
             trackT0[module] = aida.histogram1D((module == 0 ? "Top" : "Bottom") + " Track Time", 75, -50, 100.0);
             plot(plotter2, trackT0[module], null, module);
-            trackTrigTime[module] = aida.histogram2D((module == 0 ? "Top" : "Bottom") + " Track Time vs. Trig Time", 75, -50, 100.0, 33, -1, 32);
+            trackTrigTime[module] = aida.histogram2D((module == 0 ? "Top" : "Bottom") + " Track Time vs. Trig Time", 75, -50, 100.0, 6, -2, 22);
             plot(plotter2, trackTrigTime[module], style2d, module + 2);
 
             trackTimeRange[module] = aida.histogram1D((module == 0 ? "Top" : "Bottom") + " Track Hit Time Range", 75, 0, 30.0);
@@ -148,47 +146,9 @@
         this.hitCollection = hitCollection;
     }
 
-  
-
     @Override
     public void process(EventHeader event) {
-        int orTrig = 0;
-        int topTrig = 0;
-        int botTrig = 0;
-
-        int orTrigTime = -1;
-        int topTrigTime = -1;
-        int botTrigTime = -1;
-        if (event.hasCollection(GenericObject.class, "TriggerBank")) {
-            List<GenericObject> triggerList = event.get(GenericObject.class, "TriggerBank");
-            for (GenericObject data : triggerList)
-                if (AbstractIntData.getTag(data) == TestRunTriggerData.BANK_TAG) {
-                    TestRunTriggerData triggerData = new TestRunTriggerData(data);
-
-                    orTrig = triggerData.getOrTrig();
-                    if (orTrig != 0)
-                        for (int i = 0; i < 32; i++)
-                            if ((1 << (31 - i) & orTrig) != 0) {
-                                orTrigTime = i;
-                                break;
-                            }
-                    topTrig = triggerData.getTopTrig();
-                    if (topTrig != 0)
-                        for (int i = 0; i < 32; i++)
-                            if ((1 << (31 - i) & topTrig) != 0) {
-                                topTrigTime = i;
-                                break;
-                            }
-                    botTrig = triggerData.getBotTrig();
-                    if (botTrig != 0)
-                        for (int i = 0; i < 32; i++)
-                            if ((1 << (31 - i) & botTrig) != 0) {
-                                botTrigTime = i;
-                                break;
-                            }
-                    break;
-                }
-        }
+        int trigTime = (int) (event.getTimeStamp() % 24);
 
         //===> IIdentifierHelper helper = SvtUtils.getInstance().getHelper();
         List<SiTrackerHitStrip1D> hits = event.get(SiTrackerHitStrip1D.class, hitCollection);
@@ -206,40 +166,46 @@
         List<Track> tracks = event.get(Track.class, trackCollectionName);
         for (Track track : tracks) {
             int trackModule = -1;
-            if (track.getTrackerHits().get(0).getPosition()[2] > 0)
+            if (track.getTrackerHits().get(0).getPosition()[2] > 0) {
                 trackModule = 0;
-            else
+            } else {
                 trackModule = 1;
+            }
             double minTime = Double.POSITIVE_INFINITY;
             double maxTime = Double.NEGATIVE_INFINITY;
             int hitCount = 0;
             double trackTime = 0;
-            for (TrackerHit hitCross : track.getTrackerHits())
+            for (TrackerHit hitCross : track.getTrackerHits()) {
                 for (HelicalTrackStrip hit : ((HelicalTrackCross) hitCross).getStrips()) {
                     int layer = hit.layer();
                     trackHitT0[trackModule][layer - 1].fill(hit.dEdx() / DopedSilicon.ENERGY_EHPAIR);
                     trackTime += hit.time();
                     hitCount++;
-                    if (hit.time() > maxTime)
+                    if (hit.time() > maxTime) {
                         maxTime = hit.time();
-                    if (hit.time() < minTime)
+                    }
+                    if (hit.time() < minTime) {
                         minTime = hit.time();
+                    }
                 }
+            }
             trackTimeMinMax[trackModule].fill(minTime, maxTime);
             trackTimeRange[trackModule].fill(maxTime - minTime);
             trackTime /= hitCount;
             trackT0[trackModule].fill(trackTime);
-            if (trackModule == 0)
-                trackTrigTime[trackModule].fill(trackTime, topTrigTime);
-            else
-                trackTrigTime[trackModule].fill(trackTime, botTrigTime);
-            for (TrackerHit hitCross : track.getTrackerHits())
+            if (trackModule == 0) {
+                trackTrigTime[trackModule].fill(trackTime, trigTime);
+            } else {
+                trackTrigTime[trackModule].fill(trackTime, trigTime);
+            }
+            for (TrackerHit hitCross : track.getTrackerHits()) {
                 for (HelicalTrackStrip hit : ((HelicalTrackCross) hitCross).getStrips()) {
                     int layer = hit.layer();
                     trackHitDt[trackModule][layer - 1].fill(hit.time() - trackTime);
                     trackHit2D[layer - 1].fill(trackTime, hit.time() - trackTime);
                     trackHitDtChan[layer - 1].fill(hit.umeas(), hit.time() - trackTime);
                 }
+            }
         }
     }
 
@@ -264,42 +230,57 @@
     //and assume plotter is split in 3 columns, 4 rows...L0-5 on top 2 rows; L6-11 on bottom 2
     private int computePlotterRegion(int layer) {
 
-        if (layer == 0)
+        if (layer == 0) {
             return 0;
-        if (layer == 1)
+        }
+        if (layer == 1) {
             return 1;
-        if (layer == 2)
+        }
+        if (layer == 2) {
             return 4;
-        if (layer == 3)
+        }
+        if (layer == 3) {
             return 5;
-        if (layer == 4)
+        }
+        if (layer == 4) {
             return 8;
-        if (layer == 5)
+        }
+        if (layer == 5) {
             return 9;
-
-        if (layer == 6)
+        }
+
+        if (layer == 6) {
             return 2;
-        if (layer == 7)
+        }
+        if (layer == 7) {
             return 3;
-        if (layer == 8)
+        }
+        if (layer == 8) {
             return 6;
-        if (layer == 9)
+        }
+        if (layer == 9) {
             return 7;
-        if (layer == 10)
+        }
+        if (layer == 10) {
             return 10;
-        if (layer == 11)
+        }
+        if (layer == 11) {
             return 11;
+        }
         return -1;
     }
-    
-    private String getColor(int module){
-        String color="Black";
-        if(module==1)
-            color="Green";
-        if(module==2)
-            color="Blue";
-        if(module==3)
-            color="Red";
+
+    private String getColor(int module) {
+        String color = "Black";
+        if (module == 1) {
+            color = "Green";
+        }
+        if (module == 2) {
+            color = "Blue";
+        }
+        if (module == 3) {
+            color = "Red";
+        }
         return color;
     }
 }

Modified: java/trunk/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconOutsideIn.lcsim
 =============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconOutsideIn.lcsim	(original)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconOutsideIn.lcsim	Fri May 15 03:18:48 2015
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
 <!-- 
-  Offline reconstruction for 2015 (engineering run with SVT+ECal) data.
+  Offline reconstruction for 2015 (engineering run with SVT+ECal) data, using outside-in tracking strategy optimized for larger opening angles.
   @author Sho Uemura <[log in to unmask]>
 -->
     <execute>
@@ -47,7 +47,7 @@
             <debug>false</debug>
             <clusterTimeCut>12.0</clusterTimeCut>
             <maxDt>16.0</maxDt>
-            <!--<clusterAmplitudeCut>600.0</clusterAmplitudeCut>-->
+            <clusterAmplitudeCut>400.0</clusterAmplitudeCut>
             <maxSeperation>20.0</maxSeperation>
             <tolerance>1.0</tolerance>
         </driver>

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java	Fri May 15 03:18:48 2015
@@ -35,7 +35,7 @@
     private boolean useTruthTime = false;
     private boolean subtractTOF = false;
     private boolean subtractTriggerTime = false;
-    private int triggerPhaseOffset = 4;
+    private int triggerPhaseOffset = 3;
     private boolean correctChanT0 = true;
 
     /**
@@ -147,7 +147,7 @@
                 fit.setT0(fit.getT0() - timeOffset);
 
                 if (subtractTriggerTime) {
-                    fit.setT0(fit.getT0() - (((event.getTimeStamp() + 4 * triggerPhaseOffset) % 24) - 12));
+                    fit.setT0(fit.getT0() - (((event.getTimeStamp() - 4 * triggerPhaseOffset) % 24) - 12));
                 }
                 if (correctChanT0) {
                     fit.setT0(fit.getT0() - sensor.getShapeFitParameters(strip)[HpsSiSensor.T0_INDEX]);

Added: java/trunk/users/src/main/java/org/hps/users/meeg/SVTSmallHitsDriver.java
 =============================================================================
--- java/trunk/users/src/main/java/org/hps/users/meeg/SVTSmallHitsDriver.java	(added)
+++ java/trunk/users/src/main/java/org/hps/users/meeg/SVTSmallHitsDriver.java	Fri May 15 03:18:48 2015
@@ -0,0 +1,91 @@
+package org.hps.users.meeg;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.lcsim.detector.tracker.silicon.HpsSiSensor;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.RawTrackerHit;
+import org.lcsim.util.Driver;
+
+/**
+ *
+ * @author uemura
+ */
+public class SVTSmallHitsDriver extends Driver {
+
+    private String rawTrackerHitCollectionName = "SVTRawTrackerHits";
+    private long previousTimestamp = 0;
+    private boolean printADCValues = false;
+    Map<HpsSiSensor, Set<Integer>> hitMap;
+
+    public void setPrintADCValues(boolean printADCValues) {
+        this.printADCValues = printADCValues;
+    }
+
+    @Override
+    protected void process(EventHeader event) {
+        if (event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) {
+            // Get RawTrackerHit collection from event.
+            List<RawTrackerHit> rawTrackerHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
+            Map<String, Integer> smallHitCounts = new HashMap<String, Integer>();
+            int smallHitCount = 0;
+            hitMap = new HashMap<HpsSiSensor, Set<Integer>>();
+
+            for (RawTrackerHit hit : rawTrackerHits) {
+                HpsSiSensor sensor = (HpsSiSensor) hit.getDetectorElement();
+                Set<Integer> hitStrips = hitMap.get(sensor);
+                if (hitStrips == null) {
+                    hitStrips = new HashSet<Integer>();
+                    hitMap.put(sensor, hitStrips);
+                }
+                int strip = hit.getIdentifierFieldValue("strip");
+                hitStrips.add(strip);
+            }
+
+            for (RawTrackerHit hit : rawTrackerHits) {
+                HpsSiSensor sensor = (HpsSiSensor) hit.getDetectorElement();
+                int strip = hit.getIdentifierFieldValue("strip");
+                double pedestal = sensor.getPedestal(strip, 0);
+
+                if (isSmallHit(hit)) {
+                    if (printADCValues) {
+                        System.out.format("%s %d %f %f %f %f %f %f\n", sensor.getName(), strip, hit.getADCValues()[0] - pedestal, hit.getADCValues()[1] - pedestal, hit.getADCValues()[2] - pedestal, hit.getADCValues()[3] - pedestal, hit.getADCValues()[4] - pedestal, hit.getADCValues()[5] - pedestal);
+                    }
+                    smallHitCount++;
+                    Integer count = smallHitCounts.get(sensor.getName());
+                    if (count == null) {
+                        count = 0;
+                    }
+                    smallHitCounts.put(sensor.getName(), count + 1);
+                }
+            }
+            System.out.format("%d %d %d %d ", event.getEventNumber(), event.getTimeStamp(), event.getTimeStamp() - previousTimestamp, smallHitCount);
+            previousTimestamp = event.getTimeStamp();
+            for (String sensorName : smallHitCounts.keySet()) {
+                System.out.format("%s:%d ", sensorName, smallHitCounts.get(sensorName));
+            }
+            System.out.println();
+        }
+    }
+
+    private boolean isSmallHit(RawTrackerHit hit) {
+        HpsSiSensor sensor = (HpsSiSensor) hit.getDetectorElement();
+        int strip = hit.getIdentifierFieldValue("strip");
+        double pedestal = sensor.getPedestal(strip, 0);
+        double noise = sensor.getNoise(strip, 0);
+
+        if (hitMap.get(sensor) != null && (hitMap.get(sensor).contains(strip - 1) || hitMap.get(sensor).contains(strip + 1))) {
+            return false;
+        }
+        for (int i = 0; i < 6; i++) {
+            if (hit.getADCValues()[i] > pedestal + 4.0 * noise) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+}

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

November 2017
August 2017
July 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013

ATOM RSS1 RSS2



LISTSERV.SLAC.STANFORD.EDU

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager

Privacy Notice, Security Notice and Terms of Use