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
|