Print

Print


Commit in hps-java on MAIN
src/main/java/org/lcsim/hps/recon/ecal/HPSEcalConverter.java+3-61.3 -> 1.4
                                      /HPSEcalDaqIDConverter.java+10-21.2 -> 1.3
src/main/java/org/lcsim/hps/evio/LCSimTestRunEventBuilder.java+8-41.4 -> 1.5
                                /TestRunTriggeredReconToEvio.java+3-61.2 -> 1.3
                                /EventConstants.java+1-11.2 -> 1.3
scripts/make_ecal.sh+36added 1.1
+61-19
1 added + 5 modified, total 6 files
cleaning up initialization of ECal ID converter; EVIO<->LCIO now works

hps-java/src/main/java/org/lcsim/hps/recon/ecal
HPSEcalConverter.java 1.3 -> 1.4
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
HPSEcalDaqIDConverter.java 1.2 -> 1.3
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
LCSimTestRunEventBuilder.java 1.4 -> 1.5
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
TestRunTriggeredReconToEvio.java 1.2 -> 1.3
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
EventConstants.java 1.2 -> 1.3
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
make_ecal.sh added at 1.1
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


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