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  January 2015

HPS-SVN January 2015

Subject:

r1990 - in /java/trunk: evio/src/main/java/org/hps/evio/ tracking/src/main/java/org/hps/readout/svt/

From:

[log in to unmask]

Reply-To:

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

Date:

Sat, 24 Jan 2015 05:16:09 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (683 lines)

Author: [log in to unmask]
Date: Fri Jan 23 21:15:58 2015
New Revision: 1990

Log: (empty)

Modified:
    java/trunk/evio/src/main/java/org/hps/evio/ECalHitWriter.java
    java/trunk/evio/src/main/java/org/hps/evio/HitWriter.java
    java/trunk/evio/src/main/java/org/hps/evio/SVTHitWriter.java
    java/trunk/evio/src/main/java/org/hps/evio/TestRunTriggeredReconToEvio.java
    java/trunk/evio/src/main/java/org/hps/evio/TestRunTriggeredReconToLcio.java
    java/trunk/evio/src/main/java/org/hps/evio/TriggerDataWriter.java
    java/trunk/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java

Modified: java/trunk/evio/src/main/java/org/hps/evio/ECalHitWriter.java
 =============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/ECalHitWriter.java	(original)
+++ java/trunk/evio/src/main/java/org/hps/evio/ECalHitWriter.java	Fri Jan 23 21:15:58 2015
@@ -40,6 +40,8 @@
 
     private static EcalConditions ecalConditions = null;
 
+    private int verbosity = 1;
+
     public ECalHitWriter() {
     }
 
@@ -105,13 +107,15 @@
         }
     }
 
-    private void writeHits(List<Object> rawCalorimeterHits, EventBuilder builder, int mode) {
-        System.out.println("Writing " + rawCalorimeterHits.size() + " ECal hits in integral format");
+    private void writeHits(List<Object> rawHits, EventBuilder builder, int mode) {
+        if (verbosity >= 1) {
+            System.out.println("Writing " + rawHits.size() + " ECal hits to EVIO");
+        }
 
         // Make two lists containing the hits from top and bottom sections, which go into separate EVIO data banks.
         List<Object> topHits = new ArrayList<Object>();
         List<Object> bottomHits = new ArrayList<Object>();
-        for (Object hit : rawCalorimeterHits) {
+        for (Object hit : rawHits) {
 //            Long daqID = EcalConditions.physicalToDaqID(getCellID(hit));
             int crate = getCrate(getCellID(hit));
             if (crate == ECAL_BOTTOM_BANK_TAG) {
@@ -412,12 +416,16 @@
             case EventConstants.ECAL_WINDOW_MODE:
             case EventConstants.ECAL_PULSE_MODE:
                 List<RawTrackerHit> rawTrackerHits = event.get(RawTrackerHit.class, hitCollectionName);
-                System.out.println("Writing " + rawTrackerHits.size() + " ECal hits");
+                if (verbosity >= 1) {
+                    System.out.println("Writing " + rawTrackerHits.size() + " ECal hits");
+                }
                 toEvent.put(hitCollectionName, rawTrackerHits, RawTrackerHit.class, 0, readoutName);
                 break;
             case EventConstants.ECAL_PULSE_INTEGRAL_MODE:
                 List<RawCalorimeterHit> rawCalorimeterHits = event.get(RawCalorimeterHit.class, hitCollectionName);
-                System.out.println("Writing " + rawCalorimeterHits.size() + " ECal hits in integral format");
+                if (verbosity >= 1) {
+                    System.out.println("Writing " + rawCalorimeterHits.size() + " ECal hits in integral format");
+                }
                 int flags = 0;
                 flags += 1 << LCIOConstants.RCHBIT_TIME; //store timestamp
                 toEvent.put(hitCollectionName, rawCalorimeterHits, RawCalorimeterHit.class, flags, readoutName);
@@ -425,6 +433,11 @@
             default:
                 break;
         }
+    }
+
+    @Override
+    public void setVerbosity(int verbosity) {
+        this.verbosity = verbosity;
     }
 
     /**

Modified: java/trunk/evio/src/main/java/org/hps/evio/HitWriter.java
 =============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/HitWriter.java	(original)
+++ java/trunk/evio/src/main/java/org/hps/evio/HitWriter.java	Fri Jan 23 21:15:58 2015
@@ -1,25 +1,30 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
 package org.hps.evio;
 
 import org.jlab.coda.jevio.EventBuilder;
 import org.lcsim.event.EventHeader;
 
 /**
- * Interface to be implemented by classes that convert LCSim data to recon data formats.
+ * Interface to be implemented by classes that convert LCSim data to recon data
+ * formats.
+ *
  * @author Sho Uemura <[log in to unmask]>
  * @version $Id: HitWriter.java,v 1.1 2012/07/30 23:31:45 meeg Exp $
  */
 public interface HitWriter {
 
-	//checks whether the event contains data readable by this writer
-	public boolean hasData(EventHeader event);
+    //checks whether the event contains data readable by this writer
+    public boolean hasData(EventHeader event);
 
-	//writes data from the event to the EVIO builder
-	public void writeData(EventHeader event, EventBuilder builder);
+    //writes data from the event to the EVIO builder
+    public void writeData(EventHeader event, EventBuilder builder);
 
-	//writes data from the event to the EVIO builder
-	public void writeData(EventHeader event, EventHeader toEvent);
+    //writes data from the event to the EVIO builder
+    public void writeData(EventHeader event, EventHeader toEvent);
+
+    /**
+     * Set the amount of printouts generated by the writer.
+     * 0 = silent, 1 = normal, 2+ = debug
+     * @param verbosity
+     */
+    public void setVerbosity(int verbosity);
 }

Modified: java/trunk/evio/src/main/java/org/hps/evio/SVTHitWriter.java
 =============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/SVTHitWriter.java	(original)
+++ java/trunk/evio/src/main/java/org/hps/evio/SVTHitWriter.java	Fri Jan 23 21:15:58 2015
@@ -32,7 +32,7 @@
 // TODO: Update this class so it works correctly with the database conditions system
 public class SVTHitWriter implements HitWriter {
 
-    boolean debug = false;
+    private int verbosity = 1;
 
     // Subdetector name
     private static final String subdetectorName = "Tracker";
@@ -86,8 +86,10 @@
         List<RawTrackerHit> hits = event.get(RawTrackerHit.class, hitCollectionName);
         Map<Integer, FpgaData> fpgaData = makeFpgaData(event.getDetector().getSubdetector(subdetectorName));
 
-        System.out.println("Writing " + hits.size() + " SVT hits");
-        System.out.println("Writing " + fpgaData.size() + " FPGA data");
+        if (verbosity >= 1) {
+            System.out.println("Writing " + hits.size() + " SVT hits");
+            System.out.println("Writing " + fpgaData.size() + " FPGA data");
+        }
 
         Map<Integer, List<int[]>> fpgaHits = new HashMap<Integer, List<int[]>>();
 
@@ -140,7 +142,7 @@
                 throw new RuntimeException("tried to fill SVT buffer of length " + dataBuffer.length + " with " + ptr + " ints");
             }
 
-            if (debug) {
+            if (verbosity >= 2) {
                 System.out.println(this.getClass().getSimpleName() + ": FPGA " + fpgaNumber + " : Data size: " + dataBuffer.length);
             }
 
@@ -166,7 +168,9 @@
     @Override
     public void writeData(EventHeader event, EventHeader toEvent) {
         List<RawTrackerHit> rawTrackerHits = event.get(RawTrackerHit.class, hitCollectionName);
-        System.out.println("Writing " + rawTrackerHits.size() + " SVT hits");
+        if (verbosity >= 1) {
+            System.out.println("Writing " + rawTrackerHits.size() + " SVT hits");
+        }
         int flags = 1 << LCIOConstants.TRAWBIT_ID1;
         toEvent.put(hitCollectionName, rawTrackerHits, RawTrackerHit.class, flags, readoutName);
 
@@ -174,8 +178,14 @@
         toEvent.put(relationCollectionName, trueHitRelations, LCRelation.class, 0);
 
         List<FpgaData> fpgaData = new ArrayList(makeFpgaData(event.getDetector().getSubdetector(subdetectorName)).values());
-        System.out.println("Writing " + fpgaData.size() + " FPGA data");
-
+        if (verbosity >= 1) {
+            System.out.println("Writing " + fpgaData.size() + " FPGA data");
+        }
         toEvent.put(fpgaDataCollectionName, fpgaData, FpgaData.class, 0);
     }
+
+    @Override
+    public void setVerbosity(int verbosity) {
+        this.verbosity = verbosity;
+    }
 }

Modified: java/trunk/evio/src/main/java/org/hps/evio/TestRunTriggeredReconToEvio.java
 =============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/TestRunTriggeredReconToEvio.java	(original)
+++ java/trunk/evio/src/main/java/org/hps/evio/TestRunTriggeredReconToEvio.java	Fri Jan 23 21:15:58 2015
@@ -38,18 +38,22 @@
     private TriggerDataWriter triggerWriter = null;
     private List<HitWriter> writers = null;
     private int ecalMode = EventConstants.ECAL_PULSE_INTEGRAL_MODE;
-    
+    private int verbosity = 1;
+
     Detector detector;
 
     public TestRunTriggeredReconToEvio() {
         setTriggerDelay(0);
     }
-    
-    @Override
-    public void detectorChanged(Detector detector) {    	
-    	ecalWriter.setDetector(detector);
-        if(detector == null) System.out.println("detectorChanged, Detector == null");
-        else System.out.println("detectorChanged, Detector != null");
+
+    @Override
+    public void detectorChanged(Detector detector) {
+        ecalWriter.setDetector(detector);
+        if (detector == null) {
+            System.out.println("detectorChanged, Detector == null");
+        } else {
+            System.out.println("detectorChanged, Detector != null");
+        }
     }
 
     public void setEcalMode(int ecalMode) {
@@ -70,6 +74,21 @@
         this.rawCalorimeterHitCollectionName = rawCalorimeterHitCollectionName;
         if (ecalWriter != null) {
             ecalWriter.setHitCollectionName(rawCalorimeterHitCollectionName);
+        }
+    }
+
+    /**
+     * Set the amount of printouts generated by the writers. 0 = silent, 1 =
+     * normal, 2+ = debug
+     *
+     * @param verbosity
+     */
+    public void setVerbosity(int verbosity) {
+        this.verbosity = verbosity;
+        if (writers != null) {
+            for (HitWriter hitWriter : writers) {
+                hitWriter.setVerbosity(verbosity);
+            }
         }
     }
 
@@ -102,12 +121,18 @@
         triggerWriter = new TriggerDataWriter();
         writers.add(triggerWriter);
 
+        for (HitWriter hitWriter : writers) {
+            hitWriter.setVerbosity(verbosity);
+        }
+
         builderQueue = new LinkedList<QueuedEtEvent>();
     }
 
     @Override
     protected void endOfData() {
-        System.out.println(this.getClass().getSimpleName() + " - wrote " + eventsWritten + " EVIO events in job; " + builderQueue.size() + " incomplete events in queue.");
+        if (verbosity >= 1) {
+            System.out.println(this.getClass().getSimpleName() + " - wrote " + eventsWritten + " EVIO events in job; " + builderQueue.size() + " incomplete events in queue.");
+        }
         writer.close();
     }
 
@@ -118,7 +143,9 @@
         for (int i = 0; i < writers.size(); i++) {
             HitWriter evioWriter = writers.get(i);
             if (evioWriter.hasData(event)) {
-                System.out.println(evioWriter.getClass().getSimpleName() + ": writing data, event " + event.getEventNumber());
+                if (verbosity >= 1) {
+                    System.out.println(evioWriter.getClass().getSimpleName() + ": writing data, event " + event.getEventNumber());
+                }
                 EventBuilder builder = null;
 
                 for (QueuedEtEvent queuedEvent : builderQueue) {
@@ -137,7 +164,9 @@
         }
 
         while (!builderQueue.isEmpty() && builderQueue.peek().banksFilled()) {
-            System.out.println("writing filled ET event, event " + event.getEventNumber());
+            if (verbosity >= 1) {
+                System.out.println("writing filled ET event, event " + event.getEventNumber());
+            }
             QueuedEtEvent queuedEvent = builderQueue.poll();
             // Write this EVIO event.
             writeEvioEvent(queuedEvent);
@@ -145,7 +174,9 @@
     }
 
     private void writeEvioEvent(QueuedEtEvent event) {
-        System.out.printf("Writing event %d with %d bytes\n", event.getEventNum(), event.getBuilder().getEvent().getTotalBytes());
+        if (verbosity >= 1) {
+            System.out.printf("Writing event %d with %d bytes\n", event.getEventNum(), event.getBuilder().getEvent().getTotalBytes());
+        }
         try {
             writer.writeEvent(event.getBuilder().getEvent());
             ++eventsWritten;

Modified: java/trunk/evio/src/main/java/org/hps/evio/TestRunTriggeredReconToLcio.java
 =============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/TestRunTriggeredReconToLcio.java	(original)
+++ java/trunk/evio/src/main/java/org/hps/evio/TestRunTriggeredReconToLcio.java	Fri Jan 23 21:15:58 2015
@@ -60,14 +60,15 @@
     static final String trackerCollectionName = "TrackerHits";
     private final String relationCollectionName = "SVTTrueHitRelations";
     String ecalScoringPlaneHitsCollectionName = "TrackerHitsECal";
+    private int verbosity = 1;
 
     public TestRunTriggeredReconToLcio() {
         setTriggerDelay(0);
     }
-    
-    @Override
-    public void detectorChanged(Detector detector) {    	
-    	// set the detector
+
+    @Override
+    public void detectorChanged(Detector detector) {
+        // set the detector
         ecalWriter.setDetector(detector);
     }
 
@@ -100,6 +101,21 @@
         }
     }
 
+    /**
+     * Set the amount of printouts generated by the writers. 0 = silent, 1 =
+     * normal, 2+ = debug
+     *
+     * @param verbosity
+     */
+    public void setVerbosity(int verbosity) {
+        this.verbosity = verbosity;
+        if (writers != null) {
+            for (HitWriter hitWriter : writers) {
+                hitWriter.setVerbosity(verbosity);
+            }
+        }
+    }
+
     @Override
     protected void startOfData() {
         super.startOfData();
@@ -116,6 +132,10 @@
         triggerWriter = new TriggerDataWriter();
         writers.add(triggerWriter);
 
+        for (HitWriter hitWriter : writers) {
+            hitWriter.setVerbosity(verbosity);
+        }
+
         try {
             lcioWriter = new LCIOWriter(new File(outputFile));
         } catch (IOException e) {
@@ -126,7 +146,9 @@
 
     @Override
     protected void endOfData() {
-        System.out.println(this.getClass().getSimpleName() + " - wrote " + eventsWritten + " events in job; " + events.size() + " incomplete events in queue.");
+        if (verbosity >= 1) {
+            System.out.println(this.getClass().getSimpleName() + " - wrote " + eventsWritten + " events in job; " + events.size() + " incomplete events in queue.");
+        }
         try {
             lcioWriter.close();
         } catch (IOException e) {
@@ -165,8 +187,9 @@
         writerLoop:
         for (HitWriter hitWriter : writers) {
             if (hitWriter.hasData(event)) {
-                System.out.println(hitWriter.getClass().getSimpleName() + ": writing data, event " + event.getEventNumber());
-
+                if (verbosity >= 1) {
+                    System.out.println(hitWriter.getClass().getSimpleName() + ": writing data, event " + event.getEventNumber());
+                }
                 for (EventHeader queuedEvent : events) {
                     if (!hitWriter.hasData(queuedEvent)) {
                         // Write data.
@@ -204,7 +227,9 @@
 
             if (writeThisEvent) {
                 // Write this event.
-                System.out.println("writing filled LCIO event, event " + queuedEvent.getEventNumber());
+                if (verbosity >= 1) {
+                    System.out.println("writing filled LCIO event, event " + queuedEvent.getEventNumber());
+                }
                 try {
                     lcioWriter.write(queuedEvent);
                     ++eventsWritten;
@@ -212,7 +237,9 @@
                     throw new RuntimeException(e);
                 }
             } else {
-                System.out.println("rejecting filled LCIO event, event " + queuedEvent.getEventNumber() + " contains no SVT hits from truth particles");
+                if (verbosity >= 1) {
+                    System.out.println("rejecting filled LCIO event, event " + queuedEvent.getEventNumber() + " contains no SVT hits from truth particles");
+                }
             }
         }
     }
@@ -222,24 +249,34 @@
         // Create an LCSim event and pass a flag so that conditions updates are disabled. --JM
         EventHeader lcsimEvent = new BaseLCSimEvent(DatabaseConditionsManager.getInstance().getRun(), event.getEventNumber(), event.getDetectorName(), System.currentTimeMillis() * 1000000, false);
         events.add(lcsimEvent);
-        System.out.println("Creating LCIO event " + eventNum);
+        if (verbosity >= 1) {
+            System.out.println("Creating LCIO event " + eventNum);
+        }
         if (triggerMCParticles == null || triggerMCParticles.isEmpty()) {
             lcsimEvent.put(MCEvent.MC_PARTICLES, mcParticles);
             lcsimEvent.put(ecalCollectionName, ecalHits, SimCalorimeterHit.class, 0xe0000000);
             lcsimEvent.put(trackerCollectionName, trackerHits, SimTrackerHit.class, 0xc0000000);
-            System.out.println("Adding " + mcParticles.size() + " MCParticles, " + ecalHits.size() + " SimCalorimeterHits, " + trackerHits.size() + " SimTrackerHits");
+            if (verbosity >= 1) {
+                System.out.println("Adding " + mcParticles.size() + " MCParticles, " + ecalHits.size() + " SimCalorimeterHits, " + trackerHits.size() + " SimTrackerHits");
+            }
             if (ecalScoringPlaneHits != null) {
                 lcsimEvent.put(ecalScoringPlaneHitsCollectionName, ecalScoringPlaneHits, SimTrackerHit.class, 0);
-                System.out.println("Adding " + ecalScoringPlaneHits.size() + " ECalTrackerHits");
+                if (verbosity >= 1) {
+                    System.out.println("Adding " + ecalScoringPlaneHits.size() + " ECalTrackerHits");
+                }
             }
         } else {
             lcsimEvent.put(MCEvent.MC_PARTICLES, triggerMCParticles);
             lcsimEvent.put(ecalCollectionName, triggerECalHits, SimCalorimeterHit.class, 0xe0000000);
             lcsimEvent.put(trackerCollectionName, triggerTrackerHits, SimTrackerHit.class, 0xc0000000);
-            System.out.println("Adding " + triggerMCParticles.size() + " MCParticles, " + triggerECalHits.size() + " SimCalorimeterHits, " + triggerTrackerHits.size() + " SimTrackerHits");
+            if (verbosity >= 1) {
+                System.out.println("Adding " + triggerMCParticles.size() + " MCParticles, " + triggerECalHits.size() + " SimCalorimeterHits, " + triggerTrackerHits.size() + " SimTrackerHits");
+            }
             if (triggerECalScoringPlaneHits != null) {
                 lcsimEvent.put(ecalScoringPlaneHitsCollectionName, triggerECalScoringPlaneHits, SimTrackerHit.class, 0);
-                System.out.println("Adding " + triggerECalScoringPlaneHits.size() + " ECalTrackerHits");
+                if (verbosity >= 1) {
+                    System.out.println("Adding " + triggerECalScoringPlaneHits.size() + " ECalTrackerHits");
+                }
             }
         }
         lcsimEvent.put(ReadoutTimestamp.collectionName, event.get(ReadoutTimestamp.class, ReadoutTimestamp.collectionName));

Modified: java/trunk/evio/src/main/java/org/hps/evio/TriggerDataWriter.java
 =============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/TriggerDataWriter.java	(original)
+++ java/trunk/evio/src/main/java/org/hps/evio/TriggerDataWriter.java	Fri Jan 23 21:15:58 2015
@@ -16,6 +16,8 @@
  * @version $Id: TriggerDataWriter.java,v 1.1 2012/08/03 23:14:39 meeg Exp $
  */
 public class TriggerDataWriter implements HitWriter {
+
+    private int verbosity = 1;
 
     @Override
     public boolean hasData(EventHeader event) {
@@ -43,7 +45,6 @@
             }
         }
 
-
         List<AbstractIntData> triggerList = event.get(AbstractIntData.class, TestRunTriggerData.TRIG_COLLECTION);
         EvioBank triggerBank = new EvioBank(EventConstants.TRIGGER_BANK_TAG, DataType.UINT32, EventConstants.TRIGGER_BANK_NUMBER);
         try {
@@ -58,4 +59,9 @@
     public void writeData(EventHeader event, EventHeader toEvent) {
         toEvent.put(TestRunTriggerData.TRIG_COLLECTION, event.get(AbstractIntData.class, TestRunTriggerData.TRIG_COLLECTION));
     }
+
+    @Override
+    public void setVerbosity(int verbosity) {
+        this.verbosity = verbosity;
+    }
 }

Modified: java/trunk/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java	Fri Jan 23 21:15:58 2015
@@ -29,22 +29,22 @@
 import org.hps.util.RandomGaussian;
 
 /**
- * SVT readout simulation. 
- *  
+ * SVT readout simulation.
+ *
  * @author Sho Uemura <[log in to unmask]>
  */
 public class SimpleSvtReadout extends TriggerableDriver {
-	
-	//-----------------//
-	//--- Constants ---//
-	//-----------------//
-	private static final String SVT_SUBDETECTOR_NAME = "Tracker";
-	
+
+    //-----------------//
+    //--- Constants ---//
+    //-----------------//
+    private static final String SVT_SUBDETECTOR_NAME = "Tracker";
+
     private SimTrackerHitReadoutDriver readoutDriver = new SimTrackerHitReadoutDriver();
     private SiSensorSim siSimulation = new CDFSiSensorSim();
     private Map<SiSensor, PriorityQueue<StripHit>[]> hitMap = new HashMap<SiSensor, PriorityQueue<StripHit>[]>();
     private List<SiSensor> sensors = null;
-    
+
     // readout period time offset in ns
     private double readoutOffset = 0.0;
     private double readoutLatency = 280.0;
@@ -53,7 +53,7 @@
     private double timeOffset = 30.0;
     private boolean noPileup = false;
     private boolean addNoise = true;
-    
+
     // cut settings
     private boolean enableThresholdCut = true;
     private int samplesAboveThreshold = 3;
@@ -64,8 +64,9 @@
     // Collection Names
     private String outputCollection = "SVTRawTrackerHits";
     private String relationCollection = "SVTTrueHitRelations";
-    
-    
+
+    private int verbosity = 1;
+
     public SimpleSvtReadout() {
         add(readoutDriver);
         triggerDelay = 100.0;
@@ -101,6 +102,16 @@
 
     public void setReadoutLatency(double readoutLatency) {
         this.readoutLatency = readoutLatency;
+    }
+
+    /**
+     * Set the amount of printouts generated by this driver. 0 = silent, 1 =
+     * normal, 2+ = debug
+     *
+     * @param verbosity
+     */
+    public void setVerbosity(int verbosity) {
+        this.verbosity = verbosity;
     }
 
     /**
@@ -110,17 +121,17 @@
     public void detectorChanged(Detector detector) {
         super.detectorChanged(detector);
 
-		// Get the collection of all SiSensors from the SVT 
-        sensors 
-        	= detector.getSubdetector(SVT_SUBDETECTOR_NAME).
-        			getDetectorElement().findDescendants(SiSensor.class);
-        
-        String[] readouts = { readout };
+        // Get the collection of all SiSensors from the SVT 
+        sensors
+                = detector.getSubdetector(SVT_SUBDETECTOR_NAME).
+                getDetectorElement().findDescendants(SiSensor.class);
+
+        String[] readouts = {readout};
         readoutDriver.setCollections(readouts);
 
         if (!noPileup) {
-            for(SiSensor sensor : sensors){
-        		PriorityQueue<StripHit>[] hitQueues = new PriorityQueue[HPSSVTConstants.TOTAL_STRIPS_PER_SENSOR];
+            for (SiSensor sensor : sensors) {
+                PriorityQueue<StripHit>[] hitQueues = new PriorityQueue[HPSSVTConstants.TOTAL_STRIPS_PER_SENSOR];
                 hitMap.put(sensor, hitQueues);
             }
         }
@@ -166,8 +177,8 @@
             // If an ECal trigger is received, make hits from pipelines
             checkTrigger(event);
         } else {
-            
-        	// Create a list to hold the analog data
+
+            // Create a list to hold the analog data
             List<RawTrackerHit> hits = new ArrayList<RawTrackerHit>();
 
             for (StripHit stripHit : stripHits) {
@@ -178,7 +189,7 @@
 
                 double[] signal = new double[6];
                 for (int sampleN = 0; sampleN < 6; sampleN++) {
-                	signal[sampleN] = sensor.getPedestal(channel, sampleN);
+                    signal[sampleN] = sensor.getPedestal(channel, sampleN);
                 }
                 if (addNoise) {
                     addNoise(sensor, channel, signal);
@@ -201,18 +212,20 @@
             int flags = 1 << LCIOConstants.TRAWBIT_ID1;
             // flags += 1 << LCIOConstants.RTHBIT_HITS;
             event.put(outputCollection, hits, RawTrackerHit.class, flags, readout);
-            System.out.println("Made " + hits.size() + " RawTrackerHits");
+            if (verbosity >= 1) {
+                System.out.println("Made " + hits.size() + " RawTrackerHits");
+            }
         }
     }
 
     /**
-     * 
+     *
      * @return Collection of StripHits
      */
     private List<StripHit> doSiSimulation() {
-    	
+
         List<StripHit> stripHits = new ArrayList<StripHit>();
-        
+
         for (SiSensor sensor : sensors) {
 
             // Set the sensor to be used in the charge deposition simulation
@@ -305,14 +318,14 @@
     private boolean samplesAboveThreshold(RawTrackerHit hit) {
         HpsSiSensor sensor = (HpsSiSensor) hit.getDetectorElement();
         int channel = hit.getIdentifierFieldValue("strip");
-        double pedestal = 0; 
-        double noise = 0; 
+        double pedestal = 0;
+        double noise = 0;
         int count = 0;
         short[] samples = hit.getADCValues();
         for (int sampleN = 0; sampleN < samples.length; sampleN++) {
-        	pedestal = sensor.getPedestal(channel, sampleN);
-        	noise = sensor.getNoise(channel, sampleN);
-             //System.out.format("%d, %d\n", samples[sampleN] - pedestal, noise * 3.0);
+            pedestal = sensor.getPedestal(channel, sampleN);
+            noise = sensor.getNoise(channel, sampleN);
+            //System.out.format("%d, %d\n", samples[sampleN] - pedestal, noise * 3.0);
             if (samples[sampleN] - pedestal > noise * noiseThreshold) {
                 count++;
             }
@@ -352,7 +365,7 @@
                 if (hitQueues[channel] != null) {
                     for (StripHit hit : hitQueues[channel]) {
                         double totalContrib = 0;
-                        double meanNoise = 0; 
+                        double meanNoise = 0;
                         for (int sampleN = 0; sampleN < 6; sampleN++) {
                             double sampleTime = firstSample + sampleN * HPSSVTConstants.SAMPLING_INTERVAL;
                             double tp = ((HpsSiSensor) sensor).getShapeFitParameters(channel)[HpsSiSensor.TP_INDEX];
@@ -364,8 +377,8 @@
                         }
                         meanNoise /= 6;
                         // Compare to the mean noise of the six samples instead
-                        if(totalContrib > 4.0*meanNoise){ 
-                        	 //System.out.format("adding %d simHits\n", hit.simHits.size());
+                        if (totalContrib > 4.0 * meanNoise) {
+                            //System.out.format("adding %d simHits\n", hit.simHits.size());
                             simHits.addAll(hit.simHits);
                         }
                     }
@@ -375,7 +388,7 @@
                 for (int sampleN = 0; sampleN < 6; sampleN++) {
                     samples[sampleN] = (short) Math.round(signal[sampleN]);
                 }
-                long channel_id = ((HpsSiSensor) sensor).makeChannelID(channel); 
+                long channel_id = ((HpsSiSensor) sensor).makeChannelID(channel);
                 RawTrackerHit hit = new BaseRawTrackerHit(0, channel_id, samples, simHits, sensor);
                 if (readoutCuts(hit)) {
                     hits.add(hit);
@@ -391,8 +404,10 @@
         int flags = 1 << LCIOConstants.TRAWBIT_ID1;
         event.put(outputCollection, hits, RawTrackerHit.class, flags, readout);
         event.put(relationCollection, trueHitRelations, LCRelation.class, 0);
-        System.out.println("Made " + hits.size() + " RawTrackerHits");
-        System.out.println("Made " + trueHitRelations.size() + " LCRelations");
+        if (verbosity >= 1) {
+            System.out.println("Made " + hits.size() + " RawTrackerHits");
+            System.out.println("Made " + trueHitRelations.size() + " LCRelations");
+        }
     }
 
     @Override

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