1 added + 5 modified, total 6 files
hps-java/src/main/java/org/lcsim/hps/recon/ecal
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) {
hps-java/src/main/java/org/lcsim/hps/recon/ecal
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 {
hps-java/src/main/java/org/lcsim/hps/evio
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();
hps-java/src/main/java/org/lcsim/hps/evio
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);
hps-java/src/main/java/org/lcsim/hps/evio
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;
}
hps-java/scripts
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
CVSspam 0.2.12