7 modified files
hps-java/src/main/java/org/lcsim/hps/recon/tracking
diff -u -r1.12 -r1.13
--- SvtUtils.java 1 Mar 2013 01:15:20 -0000 1.12
+++ SvtUtils.java 2 Apr 2013 01:11:10 -0000 1.13
@@ -28,7 +28,7 @@
/**
*
* @author Omar Moreno
- * @version $Id: SvtUtils.java,v 1.12 2013/03/01 01:15:20 meeg Exp $
+ * @version $Id: SvtUtils.java,v 1.13 2013/04/02 01:11:10 meeg Exp $
*/
public class SvtUtils {
@@ -59,6 +59,7 @@
ConditionsManager manager = ConditionsManager.defaultInstance();
int maxModuleNumber = 0;
int maxLayerNumber = 0;
+ private Set<Integer> fpgaNumbers = new HashSet<Integer>();
private boolean isSetup = false;
boolean debug = false;
@@ -164,6 +165,10 @@
return sensors;
}
+ public Set<Integer> getFpgaNumbers() {
+ return fpgaNumbers;
+ }
+
/**
*
*/
@@ -178,6 +183,10 @@
return sensorToDaqPair.get(sensor).getSecondElement();
}
+ public int getFPGACount() {
+ return 0;
+ }
+
/**
*
*/
@@ -329,6 +338,7 @@
int fpga = Integer.valueOf(stringTok.nextToken());
int hybrid = Integer.valueOf(stringTok.nextToken());
Pair<Integer, Integer> daqPair = new Pair<Integer, Integer>(fpga, hybrid);
+ fpgaNumbers.add(fpga);
maxModuleNumber = Math.max(maxModuleNumber, module);
maxLayerNumber = Math.max(maxLayerNumber, layer);
switch (module % 2) {
hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.2 -r1.3
--- SVTHitWriter.java 1 Mar 2013 01:30:25 -0000 1.2
+++ SVTHitWriter.java 2 Apr 2013 01:11:11 -0000 1.3
@@ -1,7 +1,10 @@
package org.lcsim.hps.evio;
import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import static org.lcsim.hps.evio.EventConstants.SVT_BANK_NUMBER;
import static org.lcsim.hps.evio.EventConstants.SVT_BANK_TAG;
import static org.lcsim.hps.evio.EventConstants.SVT_TOTAL_NUMBER_FPGAS;
@@ -23,7 +26,7 @@
/**
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: SVTHitWriter.java,v 1.2 2013/03/01 01:30:25 meeg Exp $
+ * @version $Id: SVTHitWriter.java,v 1.3 2013/04/02 01:11:11 meeg Exp $
*/
public class SVTHitWriter implements HitWriter {
@@ -45,14 +48,14 @@
}
//make some dummy FpgaData to use in case there isn't any real FpgaData
- private static List<FpgaData> makeFpgaData() {
+ private static Map<Integer,FpgaData> makeFpgaData() {
double[] temps = new double[HPSSVTConstants.TOTAL_HYBRIDS_PER_FPGA * HPSSVTConstants.TOTAL_TEMPS_PER_HYBRID];
for (int i = 0; i < HPSSVTConstants.TOTAL_HYBRIDS_PER_FPGA * HPSSVTConstants.TOTAL_TEMPS_PER_HYBRID; i++) {
temps[i] = 23.0;
}
- List<FpgaData> fpgaData = new ArrayList<FpgaData>();
- for (int fpgaNumber = 0; fpgaNumber < SVT_TOTAL_NUMBER_FPGAS; fpgaNumber++) {
- fpgaData.add(new FpgaData(fpgaNumber, temps, 0));
+ Map<Integer,FpgaData> fpgaData = new HashMap<Integer, FpgaData>();
+ for (Integer fpgaNumber : SvtUtils.getInstance().getFpgaNumbers()) {
+ fpgaData.put(fpgaNumber,new FpgaData(fpgaNumber, temps, 0));
}
return fpgaData;
@@ -62,14 +65,15 @@
public void writeData(EventHeader event, EventBuilder builder) {
List<RawTrackerHit> hits = event.get(RawTrackerHit.class, hitCollectionName);
- List<FpgaData> fpgaData = makeFpgaData();
+ Map<Integer,FpgaData> fpgaData = makeFpgaData();
System.out.println("Writing " + hits.size() + " SVT hits");
System.out.println("Writing " + fpgaData.size() + " FPGA data");
- List<List<int[]>> fpgaHits = new ArrayList<List<int[]>>();
- for (int fpgaNumber = 0; fpgaNumber < SVT_TOTAL_NUMBER_FPGAS; fpgaNumber++) {
- fpgaHits.add(new ArrayList<int[]>());
+ Map<Integer, List<int[]>> fpgaHits = new HashMap<Integer, List<int[]>>();
+
+ for (Integer fpgaNumber : SvtUtils.getInstance().getFpgaNumbers()) {
+ fpgaHits.put(fpgaNumber,new ArrayList<int[]>());
}
for (RawTrackerHit hit : hits) {
@@ -88,12 +92,8 @@
EvioBank svtBank = new EvioBank(SVT_BANK_TAG, DataType.BANK, SVT_BANK_NUMBER);
// Iterate over FPGA's 0 - 6
- for (int fpgaNumber = 0; fpgaNumber < SVT_TOTAL_NUMBER_FPGAS; fpgaNumber++) {
-
- // Skip FPGA 7 for now
- if (fpgaNumber == 7) {
- continue;
- }
+// for (int fpgaNumber = 0; fpgaNumber < SVT_TOTAL_NUMBER_FPGAS; fpgaNumber++) {
+ for (Integer fpgaNumber : SvtUtils.getInstance().getFpgaNumbers()) {
FpgaData fpgaDatum = fpgaData.get(fpgaNumber);
int[] header = fpgaDatum.extractData();
@@ -150,7 +150,7 @@
int flags = 1 << LCIOConstants.TRAWBIT_ID1;
toEvent.put(hitCollectionName, rawTrackerHits, RawTrackerHit.class, flags, readoutName);
- List<FpgaData> fpgaData = makeFpgaData();
+ List<FpgaData> fpgaData = new ArrayList(makeFpgaData().values());
System.out.println("Writing " + fpgaData.size() + " FPGA data");
toEvent.put(fpgaDataCollectionName, fpgaData, FpgaData.class, 0);
hps-java/src/main/java/org/lcsim/hps/util
diff -u -r1.2 -r1.3
--- CollectionSizeDriver.java 25 Feb 2013 21:55:43 -0000 1.2
+++ CollectionSizeDriver.java 2 Apr 2013 01:11:11 -0000 1.3
@@ -10,7 +10,7 @@
/**
* Prints a summary of collections seen in the file, and their average sizes.
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: CollectionSizeDriver.java,v 1.2 2013/02/25 21:55:43 meeg Exp $
+ * @version $Id: CollectionSizeDriver.java,v 1.3 2013/04/02 01:11:11 meeg Exp $
*/
public class CollectionSizeDriver extends Driver {
@@ -50,6 +50,8 @@
String name;
Class type;
+ boolean hasHits;
+ int nHits;
double eventsWithCollection = 0;
double totalCount = 0;
hps-java/src/main/java/org/lcsim/hps/readout/ecal
diff -u -r1.5 -r1.6
--- TriggerDriver.java 20 Mar 2013 01:21:29 -0000 1.5
+++ TriggerDriver.java 2 Apr 2013 01:11:11 -0000 1.6
@@ -11,6 +11,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;
import org.lcsim.event.EventHeader;
+import org.lcsim.hps.evio.TriggerData;
import org.lcsim.hps.util.ClockSingleton;
import org.lcsim.util.lcio.LCIOWriter;
@@ -21,7 +22,7 @@
* To implement: extend this class and write your own triggerDecision().
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: TriggerDriver.java,v 1.5 2013/03/20 01:21:29 meeg Exp $
+ * @version $Id: TriggerDriver.java,v 1.6 2013/04/02 01:11:11 meeg Exp $
*/
public abstract class TriggerDriver extends TriggerableDriver {
@@ -29,7 +30,7 @@
private String outputFileName = null;
protected PrintWriter outputStream = null;
protected int numTriggers;
- private int lastTrigger;
+ private int lastTrigger = Integer.MIN_VALUE;
private int deadTime = 0;
private static boolean triggerBit = false;
private String lcioFile = null;
@@ -87,8 +88,7 @@
public void process(EventHeader event) {
triggerBit = false; //reset trigger
//System.out.println(this.getClass().getCanonicalName() + " - process");
-
- if (ClockSingleton.getClock() - lastTrigger > deadTime && triggerDecision(event)) {
+ if ((lastTrigger == Integer.MIN_VALUE || ClockSingleton.getClock() - lastTrigger > deadTime) && triggerDecision(event)) {
sendTrigger();
for (TriggerableDriver triggerable : triggerables) {
ReadoutTimestamp.addTimestamp(triggerable, event);
@@ -152,7 +152,14 @@
protected abstract boolean triggerDecision(EventHeader event);
+ /**
+ * Make a dummy TriggerData
+ */
protected void makeTriggerData(EventHeader event, String collectionName) {
+ TriggerData tData = new TriggerData(new int[8]);
+ List<TriggerData> triggerList = new ArrayList<TriggerData>();
+ triggerList.add(tData);
+ event.put(collectionName, triggerList, TriggerData.class, 0);
}
@Override
hps-java/src/main/java/org/lcsim/hps/readout/ecal
diff -u -r1.2 -r1.3
--- FADCTriggerDriver.java 20 Mar 2013 01:21:29 -0000 1.2
+++ FADCTriggerDriver.java 2 Apr 2013 01:11:11 -0000 1.3
@@ -23,7 +23,7 @@
*
* @author Omar Moreno <[log in to unmask]>
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: FADCTriggerDriver.java,v 1.2 2013/03/20 01:21:29 meeg Exp $
+ * @version $Id: FADCTriggerDriver.java,v 1.3 2013/04/02 01:11:11 meeg Exp $
*/
public class FADCTriggerDriver extends TriggerDriver {
@@ -480,15 +480,4 @@
private double getClusterDistance(HPSEcalCluster cluster) {
return Math.hypot(cluster.getSeedHit().getPosition()[0], cluster.getSeedHit().getPosition()[1]);
}
-
- /**
- * Make a dummy TriggerData
- */
- @Override
- protected void makeTriggerData(EventHeader event, String collectionName) {
- TriggerData tData = new TriggerData(new int[8]);
- List<TriggerData> triggerList = new ArrayList<TriggerData>();
- triggerList.add(tData);
- event.put(collectionName, triggerList, TriggerData.class, 0);
- }
}
\ No newline at end of file
hps-java/src/main/java/org/lcsim/hps/readout/ecal
diff -u -r1.2 -r1.3
--- DummyTriggerDriver.java 20 Mar 2013 01:21:29 -0000 1.2
+++ DummyTriggerDriver.java 2 Apr 2013 01:11:11 -0000 1.3
@@ -1,15 +1,13 @@
package org.lcsim.hps.readout.ecal;
-import java.util.List;
import org.lcsim.event.EventHeader;
-import org.lcsim.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.hps.util.ClockSingleton;
/**
* Free-running trigger - triggers on every Nth event
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: DummyTriggerDriver.java,v 1.2 2013/03/20 01:21:29 meeg Exp $
+ * @version $Id: DummyTriggerDriver.java,v 1.3 2013/04/02 01:11:11 meeg Exp $
*/
public class DummyTriggerDriver extends TriggerDriver {
@@ -23,8 +21,4 @@
public boolean triggerDecision(EventHeader event) {
return (ClockSingleton.getClock() % period == 0);
}
-
- public boolean testTrigger(List<HPSEcalCluster> clusters) {
- return false;
- }
}
hps-java/src/main/resources/org/lcsim/hps/steering/readout
diff -u -r1.1 -r1.2
--- LcioToEvio.lcsim 1 Mar 2013 23:22:24 -0000 1.1
+++ LcioToEvio.lcsim 2 Apr 2013 01:11:11 -0000 1.2
@@ -4,15 +4,20 @@
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<execute>
+ <driver name="CalibrationDriver"/>
+ <driver name="RawTrackerHitSensorSetup"/>
<driver name="DummyTrigger"/>
<driver name="TestRunReconToEvio"/>
<driver name="ClockDriver"/>
</execute>
<drivers>
+ <driver name="CalibrationDriver" type="org.lcsim.hps.monitoring.CalibrationDriver"/>
+ <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup"/>
<driver name="DummyTrigger" type="org.lcsim.hps.readout.ecal.DummyTriggerDriver">
<period>1</period>
<deadTime>0</deadTime>
+ <triggerDelay>0</triggerDelay>
</driver>
<driver name="TestRunReconToEvio" type="org.lcsim.hps.evio.TestRunTriggeredReconToEvio">
<evioOutputFile>${outputFile}.evio</evioOutputFile>
CVSspam 0.2.12