Commit in hps-java on MAIN | |||
src/main/java/org/lcsim/hps/recon/ecal/HPSEcalConverter.java | +3 | -6 | 1.3 -> 1.4 |
/HPSEcalDaqIDConverter.java | +10 | -2 | 1.2 -> 1.3 |
src/main/java/org/lcsim/hps/evio/LCSimTestRunEventBuilder.java | +8 | -4 | 1.4 -> 1.5 |
/TestRunTriggeredReconToEvio.java | +3 | -6 | 1.2 -> 1.3 |
/EventConstants.java | +1 | -1 | 1.2 -> 1.3 |
scripts/make_ecal.sh | +36 | added 1.1 | |
+61 | -19 |
cleaning up initialization of ECal ID converter; EVIO<->LCIO now works
diff -u -r1.3 -r1.4 --- HPSEcalConverter.java 11 Jan 2012 18:45:13 -0000 1.3 +++ HPSEcalConverter.java 5 Apr 2012 19:05:23 -0000 1.4 @@ -11,7 +11,7 @@
/** * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalConverter.java,v 1.3 2012/01/11 18:45:13 meeg Exp $
+ * @version $Id: HPSEcalConverter.java,v 1.4 2012/04/05 19:05:23 meeg Exp $
*/ public class HPSEcalConverter {
@@ -57,12 +57,9 @@
return scale * (amplitude + 0.5) + pedestal; }
- public CalorimeterHit HitDtoA(HPSFADCCalorimeterHit hit) {
+ public CalorimeterHit HitDtoA(RawCalorimeterHit hit) {
dec.setID(hit.getCellID());
- if (hit.getAnalogHit() == null) { - hit.setAnalogHit(new HPSRawCalorimeterHit(DtoA(hit.getAmplitude(), hit.getCellID()), dec.getPosition(), period * hit.getTimeStamp() + dt, hit.getCellID(), 0)); - } - return hit.getAnalogHit();
+ return new HPSRawCalorimeterHit(DtoA(hit.getAmplitude(), hit.getCellID()), dec.getPosition(), period * hit.getTimeStamp() + dt, hit.getCellID(), 0);
} public RawCalorimeterHit HitAtoD(CalorimeterHit hit) {
diff -u -r1.2 -r1.3 --- HPSEcalDaqIDConverter.java 5 Apr 2012 17:01:08 -0000 1.2 +++ HPSEcalDaqIDConverter.java 5 Apr 2012 19:05:23 -0000 1.3 @@ -4,16 +4,18 @@
*/ package org.lcsim.hps.recon.ecal;
+import org.lcsim.geometry.Subdetector;
import java.io.IOException; import java.io.StreamTokenizer; import java.util.HashMap; import org.lcsim.conditions.ConditionsManager; import org.lcsim.geometry.util.IDEncoder;
+import static org.lcsim.hps.evio.EventConstants.ECAL_LAYER;
/** * * @author meeg
- * @version $Id: HPSEcalDaqIDConverter.java,v 1.2 2012/04/05 17:01:08 meeg Exp $
+ * @version $Id: HPSEcalDaqIDConverter.java,v 1.3 2012/04/05 19:05:23 meeg Exp $
*/ public class HPSEcalDaqIDConverter {
@@ -25,8 +27,14 @@
physicalToDaqMap = new HashMap<Long, Long>(); }
- public void fillDaqCellMap(IDEncoder enc) {
+ public void fillDaqCellMap(Subdetector ecal) {
+
System.out.println("reading DAQ map");
+ + IDEncoder enc = new IDEncoder(ecal.getIDDecoder().getIDDescription()); + enc.setValue("system", ecal.getSystemID()); + enc.setValue("layer", ECAL_LAYER); +
ConditionsManager conditions = ConditionsManager.defaultInstance(); StreamTokenizer tok = null; try {
diff -u -r1.4 -r1.5 --- LCSimTestRunEventBuilder.java 5 Apr 2012 17:01:08 -0000 1.4 +++ LCSimTestRunEventBuilder.java 5 Apr 2012 19:05:23 -0000 1.5 @@ -21,12 +21,13 @@
import org.lcsim.geometry.util.IDEncoder; import org.lcsim.hps.recon.ecal.HPSEcalDaqIDConverter; import org.lcsim.hps.recon.tracking.HPSSVTData;
+import static org.lcsim.hps.evio.EventConstants.ECAL_LAYER;
/** * Build LCSim events from EVIO data. * @author Sho Uemura <[log in to unmask]> * @author Jeremy McCormick <[log in to unmask]>
- * @version $Id: LCSimTestRunEventBuilder.java,v 1.4 2012/04/05 17:01:08 meeg Exp $
+ * @version $Id: LCSimTestRunEventBuilder.java,v 1.5 2012/04/05 19:05:23 meeg Exp $
*/ public class LCSimTestRunEventBuilder implements LCSimEventBuilder {
@@ -287,10 +288,9 @@
List<RawCalorimeterHit> hits = new ArrayList<RawCalorimeterHit>(); if (ecalIDConverter == null) { ecalIDConverter = new HPSEcalDaqIDConverter();
- ecalIDConverter.fillDaqCellMap(new IDEncoder(detector.getSubdetector(calorimeterName).getIDDecoder().getIDDescription()));
+ ecalIDConverter.fillDaqCellMap(detector.getSubdetector(calorimeterName));
}
-
if (debug) { int n = cdata.getNValues().size(); for (int i = 0; i < n; i++) {
@@ -316,7 +316,11 @@
if (debug) { System.out.println(" channel=" + channel + "; npulses=" + npulses); }
- long id = ecalIDConverter.physicalToDaqID(HPSEcalDaqIDConverter.getDaqID(crate, slot, channel));
+ long daqID = HPSEcalDaqIDConverter.getDaqID(crate, slot, channel); + Long id = ecalIDConverter.daqToPhysicalID(daqID); +// System.out.printf("crate = %d, slot = %d, channel = %d\n", crate, slot, channel); +// System.out.printf("physicalID %d, daqID %d\n", id, daqID); +
for (int k = 0; k < npulses; k++) { short pulseTime = cdata.getShort(); int pulseIntegral = cdata.getInt();
diff -u -r1.2 -r1.3 --- TestRunTriggeredReconToEvio.java 5 Apr 2012 17:01:08 -0000 1.2 +++ TestRunTriggeredReconToEvio.java 5 Apr 2012 19:05:23 -0000 1.3 @@ -7,7 +7,6 @@
import static org.lcsim.hps.evio.EventConstants.ECAL_TOP_BANK_TAG; 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.ECAL_SYSTEM;
import static org.lcsim.hps.evio.EventConstants.ECAL_LAYER; import java.io.IOException;
@@ -28,6 +27,7 @@
import org.lcsim.event.EventHeader.LCMetaData; import org.lcsim.event.RawCalorimeterHit; import org.lcsim.geometry.IDDecoder;
+import org.lcsim.geometry.Subdetector;
import org.lcsim.geometry.util.IDEncoder; import org.lcsim.hps.recon.ecal.HPSEcalDaqIDConverter; import org.lcsim.hps.recon.tracking.HPSSVTData;
@@ -142,6 +142,7 @@
private void writeEvioEvent(EventBuilder builder) { builder.setAllHeaderLengths();
+ System.out.printf("Writing event with %d bytes\n",builder.getEvent().getTotalBytes());
try { writer.writeEvent(builder.getEvent()); ++eventsWritten;
@@ -155,11 +156,7 @@
private void writeRawCalorimeterHits(EventHeader event, EventBuilder builder) { if (ecalIDConverter == null) { ecalIDConverter = new HPSEcalDaqIDConverter();
- System.out.println(event.getDetector().getSubdetector(ecalName).getIDDecoder().getIDDescription()); - IDEncoder enc = new IDEncoder(event.getDetector().getSubdetector(ecalName).getIDDecoder().getIDDescription()); - enc.setValue("system", ECAL_SYSTEM); - enc.setValue("layer", ECAL_LAYER); - ecalIDConverter.fillDaqCellMap(enc);
+ ecalIDConverter.fillDaqCellMap(event.getDetector().getSubdetector(ecalName));
} List<RawCalorimeterHit> rawCalorimeterHits = event.get(RawCalorimeterHit.class, rawCalorimeterHitCollectionName); LCMetaData meta = event.getMetaData(rawCalorimeterHits);
diff -u -r1.2 -r1.3 --- EventConstants.java 5 Apr 2012 17:01:08 -0000 1.2 +++ EventConstants.java 5 Apr 2012 19:05:23 -0000 1.3 @@ -23,6 +23,6 @@
// This will eventually go away. public static final int ECAL_CHANNEL_OFFSET = 23;
- public static final int ECAL_SYSTEM = 13;
+ // layer ID used for encoding of physical ID
public static final int ECAL_LAYER = 0; }
diff -N make_ecal.sh --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ make_ecal.sh 5 Apr 2012 19:05:23 -0000 1.1 @@ -0,0 +1,36 @@
+#!/bin/bash +#prints the ECal physicalID-daqID conversion table, as found in daqmap/ecal.txt in hps-detectors. +echo "# x y crate slot channel" +x=-23 +y=1 +slot=0 +channel=0 +while true +do + echo "$x $y 1 $slot $channel" + echo "$x -$y 2 $slot $channel" + channel=$((channel+1)) + if [ "$channel" -eq 16 ] + then + channel=0 + slot=$((slot+1)) + fi + y=$((y+1)) + if [ "$y" -eq 6 ] + then + y=1 + x=$((x+1)) + if [ "$x" -eq 0 ] + then + x=1 + fi + if [ "$x" -eq 24 ] + then + exit + fi + fi + if [ "$y" -eq 1 ] && [ "$x" -le -2 ] && [ "$x" -ge -10 ] + then + y=2 + fi +done
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