1 added + 1 removed + 4 modified, total 6 files
hps-java/src/main/java/org/lcsim/hps/monitoring/svt
diff -u -r1.11 -r1.12
--- TrackingReconstructionPlots.java 29 Jun 2012 18:58:02 -0000 1.11
+++ TrackingReconstructionPlots.java 14 Aug 2012 01:02:07 -0000 1.12
@@ -4,27 +4,16 @@
import hep.physics.matrix.SymmetricMatrix;
import hep.physics.vec.Hep3Vector;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.lcsim.detector.tracker.silicon.DopedSilicon;
import org.lcsim.detector.tracker.silicon.SiSensor;
import org.lcsim.event.*;
-import org.lcsim.fit.helicaltrack.HelicalTrackCross;
-import org.lcsim.fit.helicaltrack.HelicalTrackFit;
-import org.lcsim.fit.helicaltrack.HelicalTrackHit;
-import org.lcsim.fit.helicaltrack.HelixUtils;
import org.lcsim.geometry.Detector;
import org.lcsim.geometry.IDDecoder;
import org.lcsim.hps.monitoring.AIDAFrame;
import org.lcsim.hps.monitoring.Resettable;
import org.lcsim.hps.recon.ecal.HPSEcalCluster;
-import org.lcsim.hps.recon.tracking.HPSFittedRawTrackerHit;
-import org.lcsim.hps.recon.tracking.HPSSVTCalibrationConstants;
-import org.lcsim.hps.recon.tracking.HPSSVTDAQMaps;
import org.lcsim.hps.recon.vertexing.HelixConverter;
import org.lcsim.hps.recon.vertexing.StraightLineTrack;
import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D;
hps-java/src/main/java/org/lcsim/hps/monitoring/svt
diff -u -r1.7 -r1.8
--- SVTEventInfo.java 24 May 2012 17:08:18 -0000 1.7
+++ SVTEventInfo.java 14 Aug 2012 01:02:07 -0000 1.8
@@ -3,9 +3,7 @@
import hep.aida.*;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.lcsim.detector.identifier.IIdentifier;
@@ -14,7 +12,6 @@
import org.lcsim.event.RawTrackerHit;
import org.lcsim.geometry.Detector;
import org.lcsim.hps.monitoring.Resettable;
-import org.lcsim.hps.recon.tracking.HPSSVTDAQMaps;
import org.lcsim.hps.recon.tracking.SvtUtils;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
@@ -28,9 +25,6 @@
private List<IPlotter> plotters = new ArrayList<IPlotter>();
private AIDA aida = AIDA.defaultInstance();
private String rawTrackerHitCollectionName = "SVTRawTrackerHits";
- private String trackerName = "Tracker";
- private Detector detector = null;
- private List<SiSensor> sensors;
IPlotter plotter;
IPlotter plotter2;
private String outputPlots = null;
@@ -45,10 +39,8 @@
}
protected void detectorChanged(Detector detector) {
- this.detector = detector;
aida.tree().cd("/");
- sensors = detector.getSubdetector(trackerName).getDetectorElement().findDescendants(SiSensor.class);
IAnalysisFactory fac = aida.analysisFactory();
hps-java/src/main/resources/org/lcsim/hps/steering
diff -u -r1.4 -r1.5
--- MultScatAna.lcsim 14 Aug 2012 00:58:03 -0000 1.4
+++ MultScatAna.lcsim 14 Aug 2012 01:02:07 -0000 1.5
@@ -28,7 +28,6 @@
<driver name="GainCalibrationDriver"/>
<!--
- <driver name="HPSSVTDAQMaps"/>
<driver name="EcalMonitoringPlots"/>
<driver name="FastTrackResidualDriver"/>
-->
hps-java/src/main/resources/org/lcsim/hps/steering
diff -u -r1.11 -r1.12
--- HPSTestRunReconToEvio.lcsim 9 Aug 2012 22:27:10 -0000 1.11
+++ HPSTestRunReconToEvio.lcsim 14 Aug 2012 01:02:07 -0000 1.12
@@ -17,8 +17,9 @@
<driver name="EcalClusterer"/>
<driver name="EcalTrigger"/>
<!-- <driver name="Timer2"/>-->
- <driver name="SVTSensorSetup"/>
<driver name="SVTReadout"/>
+<!-- <driver name="SVT_RTM"/>
+ <driver name="SVT_DPM"/>-->
<!-- <driver name="Timer3"/>-->
<driver name="TestRunReconToEvio"/>
<driver name="ClockDriver"/>
@@ -73,14 +74,19 @@
<deadTime>10</deadTime>
</driver>
- <driver name="SVTSensorSetup"
- type="org.lcsim.hps.recon.tracking.HPSSVTSensorSetup">
- </driver>
-
<driver name="SVTReadout"
type="org.lcsim.hps.recon.tracking.apv25.HPSSiSensorReadout">
<addNoise>true</addNoise>
</driver>
+<!-- <driver name="SVTReadout"
+ type="org.lcsim.hps.recon.tracking.apv25.SvtReadout">
+ </driver>
+ <driver name="SVT_RTM"
+ type="org.lcsim.hps.recon.tracking.RearTransitionModule">
+ </driver>
+ <driver name="SVT_DPM"
+ type="org.lcsim.hps.recon.tracking.DataProcessingModule">
+ </driver>-->
<driver name="ClockDriver"
type="org.lcsim.hps.util.ClockDriver">
hps-java/src/main/java/org/lcsim/hps/recon/tracking
diff -N HPSSVTDAQMaps.java
--- HPSSVTDAQMaps.java 18 May 2012 03:48:45 -0000 1.10
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,209 +0,0 @@
-package org.lcsim.hps.recon.tracking;
-
-//--- java ---//
-import java.util.HashMap;
-
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-//--- org.lcsim ---//
-import org.lcsim.conditions.ConditionsManager;
-import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
-import org.lcsim.conditions.ConditionsSet;
-import org.lcsim.detector.IDetectorElement;
-import org.lcsim.detector.identifier.IIdentifier;
-import org.lcsim.detector.identifier.IIdentifierHelper;
-import org.lcsim.detector.tracker.silicon.SiSensor;
-import org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper;
-import org.lcsim.geometry.Detector;
-import org.lcsim.util.Driver;
-
-//--- hps-java ---//
-import org.lcsim.hps.util.Pair;
-
-/**
- * Creates maps between SVT sensors to FPGA and Hybrid pairs and vice versa
- *
- * @author Omar Moreno
- * @version $Id: HPSSVTDAQMaps.java,v 1.10 2012/05/18 03:48:45 meeg Exp $
- */
-public class HPSSVTDAQMaps extends Driver {
-
- String subdetectorName = "Tracker";
- boolean debug = false;
- ConditionsManager mgr = ConditionsManager.defaultInstance();
- // Set of sensors
- public static Set<SiSensor> sensors = new HashSet<SiSensor>();
- // Map from Sensor to Hybrid/FPGA pair
- public static Map<SiSensor /*
- * Sensor
- */, Pair<Integer /*
- * Hybrid
- */, Integer /*
- * FPGA
- */>> sensorToDAQPair;
- // Map from Hybrid/FPGA pair
- public static Map<Pair<Integer /*
- * Hybrid
- */, Integer /*
- * FPGA
- */>, SiSensor /*
- * Sensor
- */> daqPairToSensor;
- // Map from SVT top layer to Hybrid/FPGA pair
- private Map<Integer /*
- * Layer #
- */, Pair<Integer /*
- * Hybrid
- */, Integer /*
- * FPGA
- */>> topLayerToDAQ;
- // Map from SVT bottom layer to Hybrid/FPGA pair
- private Map<Integer /*
- * Layer #
- */, Pair<Integer /*
- * Hybrid
- */, Integer /*
- * FPGA
- */>> bottomLayerToDAQ;
- // Map sensor to an SVT top layer
- public static Map<SiSensor /*
- * Sensor
- */, Integer /*
- * Layer
- */> sensorToTopLayer;
- // Map sensor to an SVT bottom layer
- public static Map<SiSensor /*
- * Sensor
- */, Integer /*
- * Layer
- */> sensorToBottomLayer;
- public static final SiSensor[][] sensorArray = new SiSensor[2][10];
-
- /**
- * Default Constructor.
- */
- public HPSSVTDAQMaps() {
- sensorToDAQPair = new HashMap<SiSensor, Pair<Integer, Integer>>();
- daqPairToSensor = new HashMap<Pair<Integer, Integer>, SiSensor>();
- topLayerToDAQ = new HashMap<Integer, Pair<Integer, Integer>>();
- bottomLayerToDAQ = new HashMap<Integer, Pair<Integer, Integer>>();
- sensorToTopLayer = new HashMap<SiSensor, Integer>();
- sensorToBottomLayer = new HashMap<SiSensor, Integer>();
-
- }
-
- /**
- *
- * @param detector
- */
- @Override
- public void detectorChanged(Detector detector) {
- // Call the sub-Driver's detectorChanged methods.
-// super.detectorChanged(detector);
-
- if (subdetectorName == null) {
- throw new RuntimeException("The subdetector name was not set!");
- }
-
- // Get the HPS detector conditions
- // Removed this because it causes detector to be set twice when running jobs. --JM
- try {
- mgr.setDetector(detector.getDetectorName(), 0);
- } catch (ConditionsNotFoundException e) {
- System.out.println("The conditions for " + detector.getDetectorName() + " were not found!");
- }
-
- // Get the top SVT DAQ Map
- ConditionsSet svtDAQMap = mgr.getConditions("daqmap/SVTDAQMapTop");
-
- String[] daqPair;
-
- // Loop over the top layers and fill the DAQ map
- for (Object topLayer : svtDAQMap.keySet()) {
- daqPair = svtDAQMap.getString(topLayer.toString()).split(" ");
- if (debug) {
- System.out.println("Layer: " + topLayer.toString() + " Hybrid: " + daqPair[0] + " FPGA: " + daqPair[1]);
- }
- topLayerToDAQ.put(Integer.parseInt(topLayer.toString()), new Pair<Integer, Integer>(Integer.parseInt(daqPair[0]), Integer.parseInt(daqPair[1])));
-
- }
-
- // Get the bottom SVT DAQ Map
- svtDAQMap = mgr.getConditions("daqmap/SVTDAQMapBottom");
-
- // Loop over the bottom layers and fill the DAQ map
- for (Object bottomLayer : svtDAQMap.keySet()) {
- daqPair = svtDAQMap.getString(bottomLayer.toString()).split(" ");
- if (debug) {
- System.out.println("Layer: " + bottomLayer.toString() + " Hybrid: " + daqPair[0] + " FPGA: " + daqPair[1]);
- }
- bottomLayerToDAQ.put(Integer.parseInt(bottomLayer.toString()), new Pair<Integer, Integer>(Integer.parseInt(daqPair[0]), Integer.parseInt(daqPair[1])));
- }
-
- // Get the SVT
- IDetectorElement detectorElement = detector.getDetectorElement().findDetectorElement(subdetectorName);
-
- // Get all SVT sensors
- sensors.addAll(detectorElement.findDescendants(SiSensor.class));
-
- for (SiSensor sensor : sensors) {
- IIdentifierHelper helper = sensor.getIdentifierHelper();
- IIdentifier id = sensor.getIdentifier();
-
- int layer = helper.getValue(id, "layer"); // 1-10; axial layers are odd layers; stereo layers are even
- int module = helper.getValue(id, "module"); // 0-1; module number is top or bottom
-
- sensorArray[module][layer - 1] = sensor;
- }
-
- for (int module = 0; module < 2; module++) {
- for (int layer = 0; layer < 10; layer++) {
- if (sensorArray[module][layer] == null) {
- throw new RuntimeException("Couldn't find sensor with module " + module + ", layer " + layer + 1);
- }
- }
- }
-
-
- // Map sensors to hybrid and FPGA
- createDAQMaps(sensors);
-
- }
-
- /**
- * Create maps which relate a DAQ pair (hybrid, FPGA) to a sensor and vice
- * versa
- *
- * @param sensors A set of all sensors in the detector
- */
- private void createDAQMaps(Set<SiSensor> sensors) {
-
- IIdentifier sensorIdent;
- SiTrackerIdentifierHelper sensorHelper;
- Pair<Integer, Integer> daqPair;
-
- for (SiSensor sensor : sensors) {
-
- // Get the sensor identifier
- sensorIdent = sensor.getIdentifier();
-
- // Get the sensor identifier helper
- sensorHelper = (SiTrackerIdentifierHelper) sensor.getIdentifierHelper();
-
- // Get the DAQ pair
- int layerNumber = sensorHelper.getLayerValue(sensorIdent);
- if (sensorHelper.getModuleValue(sensorIdent) == 0) {
- daqPair = topLayerToDAQ.get(layerNumber);
- sensorToTopLayer.put(sensor, layerNumber);
- } else {
- daqPair = bottomLayerToDAQ.get(layerNumber);
- sensorToBottomLayer.put(sensor, layerNumber);
- }
-
- sensorToDAQPair.put(sensor, daqPair);
- daqPairToSensor.put(daqPair, sensor);
- }
- }
-}
\ No newline at end of file
hps-java/sandbox
diff -N HPSSVTDAQMaps.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ HPSSVTDAQMaps.java 14 Aug 2012 01:02:07 -0000 1.1
@@ -0,0 +1,209 @@
+package org.lcsim.hps.recon.tracking;
+
+//--- java ---//
+import java.util.HashMap;
+
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+//--- org.lcsim ---//
+import org.lcsim.conditions.ConditionsManager;
+import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
+import org.lcsim.conditions.ConditionsSet;
+import org.lcsim.detector.IDetectorElement;
+import org.lcsim.detector.identifier.IIdentifier;
+import org.lcsim.detector.identifier.IIdentifierHelper;
+import org.lcsim.detector.tracker.silicon.SiSensor;
+import org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper;
+import org.lcsim.geometry.Detector;
+import org.lcsim.util.Driver;
+
+//--- hps-java ---//
+import org.lcsim.hps.util.Pair;
+
+/**
+ * Creates maps between SVT sensors to FPGA and Hybrid pairs and vice versa
+ *
+ * @author Omar Moreno
+ * @version $Id: HPSSVTDAQMaps.java,v 1.1 2012/08/14 01:02:07 meeg Exp $
+ */
+public class HPSSVTDAQMaps extends Driver {
+
+ String subdetectorName = "Tracker";
+ boolean debug = false;
+ ConditionsManager mgr = ConditionsManager.defaultInstance();
+ // Set of sensors
+ public static Set<SiSensor> sensors = new HashSet<SiSensor>();
+ // Map from Sensor to Hybrid/FPGA pair
+ public static Map<SiSensor /*
+ * Sensor
+ */, Pair<Integer /*
+ * Hybrid
+ */, Integer /*
+ * FPGA
+ */>> sensorToDAQPair;
+ // Map from Hybrid/FPGA pair
+ public static Map<Pair<Integer /*
+ * Hybrid
+ */, Integer /*
+ * FPGA
+ */>, SiSensor /*
+ * Sensor
+ */> daqPairToSensor;
+ // Map from SVT top layer to Hybrid/FPGA pair
+ private Map<Integer /*
+ * Layer #
+ */, Pair<Integer /*
+ * Hybrid
+ */, Integer /*
+ * FPGA
+ */>> topLayerToDAQ;
+ // Map from SVT bottom layer to Hybrid/FPGA pair
+ private Map<Integer /*
+ * Layer #
+ */, Pair<Integer /*
+ * Hybrid
+ */, Integer /*
+ * FPGA
+ */>> bottomLayerToDAQ;
+ // Map sensor to an SVT top layer
+ public static Map<SiSensor /*
+ * Sensor
+ */, Integer /*
+ * Layer
+ */> sensorToTopLayer;
+ // Map sensor to an SVT bottom layer
+ public static Map<SiSensor /*
+ * Sensor
+ */, Integer /*
+ * Layer
+ */> sensorToBottomLayer;
+ public static final SiSensor[][] sensorArray = new SiSensor[2][10];
+
+ /**
+ * Default Constructor.
+ */
+ public HPSSVTDAQMaps() {
+ sensorToDAQPair = new HashMap<SiSensor, Pair<Integer, Integer>>();
+ daqPairToSensor = new HashMap<Pair<Integer, Integer>, SiSensor>();
+ topLayerToDAQ = new HashMap<Integer, Pair<Integer, Integer>>();
+ bottomLayerToDAQ = new HashMap<Integer, Pair<Integer, Integer>>();
+ sensorToTopLayer = new HashMap<SiSensor, Integer>();
+ sensorToBottomLayer = new HashMap<SiSensor, Integer>();
+
+ }
+
+ /**
+ *
+ * @param detector
+ */
+ @Override
+ public void detectorChanged(Detector detector) {
+ // Call the sub-Driver's detectorChanged methods.
+// super.detectorChanged(detector);
+
+ if (subdetectorName == null) {
+ throw new RuntimeException("The subdetector name was not set!");
+ }
+
+ // Get the HPS detector conditions
+ // Removed this because it causes detector to be set twice when running jobs. --JM
+ try {
+ mgr.setDetector(detector.getDetectorName(), 0);
+ } catch (ConditionsNotFoundException e) {
+ System.out.println("The conditions for " + detector.getDetectorName() + " were not found!");
+ }
+
+ // Get the top SVT DAQ Map
+ ConditionsSet svtDAQMap = mgr.getConditions("daqmap/SVTDAQMapTop");
+
+ String[] daqPair;
+
+ // Loop over the top layers and fill the DAQ map
+ for (Object topLayer : svtDAQMap.keySet()) {
+ daqPair = svtDAQMap.getString(topLayer.toString()).split(" ");
+ if (debug) {
+ System.out.println("Layer: " + topLayer.toString() + " Hybrid: " + daqPair[0] + " FPGA: " + daqPair[1]);
+ }
+ topLayerToDAQ.put(Integer.parseInt(topLayer.toString()), new Pair<Integer, Integer>(Integer.parseInt(daqPair[0]), Integer.parseInt(daqPair[1])));
+
+ }
+
+ // Get the bottom SVT DAQ Map
+ svtDAQMap = mgr.getConditions("daqmap/SVTDAQMapBottom");
+
+ // Loop over the bottom layers and fill the DAQ map
+ for (Object bottomLayer : svtDAQMap.keySet()) {
+ daqPair = svtDAQMap.getString(bottomLayer.toString()).split(" ");
+ if (debug) {
+ System.out.println("Layer: " + bottomLayer.toString() + " Hybrid: " + daqPair[0] + " FPGA: " + daqPair[1]);
+ }
+ bottomLayerToDAQ.put(Integer.parseInt(bottomLayer.toString()), new Pair<Integer, Integer>(Integer.parseInt(daqPair[0]), Integer.parseInt(daqPair[1])));
+ }
+
+ // Get the SVT
+ IDetectorElement detectorElement = detector.getDetectorElement().findDetectorElement(subdetectorName);
+
+ // Get all SVT sensors
+ sensors.addAll(detectorElement.findDescendants(SiSensor.class));
+
+ for (SiSensor sensor : sensors) {
+ IIdentifierHelper helper = sensor.getIdentifierHelper();
+ IIdentifier id = sensor.getIdentifier();
+
+ int layer = helper.getValue(id, "layer"); // 1-10; axial layers are odd layers; stereo layers are even
+ int module = helper.getValue(id, "module"); // 0-1; module number is top or bottom
+
+ sensorArray[module][layer - 1] = sensor;
+ }
+
+ for (int module = 0; module < 2; module++) {
+ for (int layer = 0; layer < 10; layer++) {
+ if (sensorArray[module][layer] == null) {
+ throw new RuntimeException("Couldn't find sensor with module " + module + ", layer " + layer + 1);
+ }
+ }
+ }
+
+
+ // Map sensors to hybrid and FPGA
+ createDAQMaps(sensors);
+
+ }
+
+ /**
+ * Create maps which relate a DAQ pair (hybrid, FPGA) to a sensor and vice
+ * versa
+ *
+ * @param sensors A set of all sensors in the detector
+ */
+ private void createDAQMaps(Set<SiSensor> sensors) {
+
+ IIdentifier sensorIdent;
+ SiTrackerIdentifierHelper sensorHelper;
+ Pair<Integer, Integer> daqPair;
+
+ for (SiSensor sensor : sensors) {
+
+ // Get the sensor identifier
+ sensorIdent = sensor.getIdentifier();
+
+ // Get the sensor identifier helper
+ sensorHelper = (SiTrackerIdentifierHelper) sensor.getIdentifierHelper();
+
+ // Get the DAQ pair
+ int layerNumber = sensorHelper.getLayerValue(sensorIdent);
+ if (sensorHelper.getModuleValue(sensorIdent) == 0) {
+ daqPair = topLayerToDAQ.get(layerNumber);
+ sensorToTopLayer.put(sensor, layerNumber);
+ } else {
+ daqPair = bottomLayerToDAQ.get(layerNumber);
+ sensorToBottomLayer.put(sensor, layerNumber);
+ }
+
+ sensorToDAQPair.put(sensor, daqPair);
+ daqPairToSensor.put(daqPair, sensor);
+ }
+ }
+}
\ No newline at end of file
CVSspam 0.2.12