Commit in hps-java/src/main on MAIN | |||
java/org/lcsim/hps/recon/tracking/SvtUtils.java | +11 | -1 | 1.12 -> 1.13 |
java/org/lcsim/hps/evio/SVTHitWriter.java | +16 | -16 | 1.2 -> 1.3 |
java/org/lcsim/hps/util/CollectionSizeDriver.java | +3 | -1 | 1.2 -> 1.3 |
java/org/lcsim/hps/readout/ecal/TriggerDriver.java | +11 | -4 | 1.5 -> 1.6 |
/FADCTriggerDriver.java | +1 | -12 | 1.2 -> 1.3 |
/DummyTriggerDriver.java | +1 | -7 | 1.2 -> 1.3 |
resources/org/lcsim/hps/steering/readout/LcioToEvio.lcsim | +5 | 1.1 -> 1.2 | |
+48 | -41 |
make EVIO format work with 2014 data; fix LcioToEvio.lcsim
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) {
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);
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;
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
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
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; - }
}
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>
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