Commit in hps-java/src/main on MAIN | |||
java/org/lcsim/hps/recon/tracking/HPSSVTCalibrationConstants.java | +43 | -204 | 1.24 -> 1.25 |
resources/org/lcsim/hps/calib/proposal2014/calibSVT/default.t0shift | +37 | added 1.1 | |
resources/org/lcsim/hps/steering/recon/TestRunOfflineRecon.lcsim | +2 | -2 | 1.8 -> 1.9 |
resources/org/lcsim/hps/calib/testrun/calibSVT/default.t0shift | +21 | added 1.1 | |
+103 | -206 |
load t0 shifts as a calibration
diff -u -r1.24 -r1.25 --- HPSSVTCalibrationConstants.java 11 Apr 2013 19:16:05 -0000 1.24 +++ HPSSVTCalibrationConstants.java 18 Apr 2013 18:01:55 -0000 1.25 @@ -8,6 +8,7 @@
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.hps.monitoring.CalibrationDriver; import org.lcsim.hps.util.Pair;
@@ -62,6 +63,7 @@
*/>, List<Double> /* * channels */> offsetMap = new HashMap<Pair<Integer, Integer>, List<Double>>();
+ private static Map<Pair<Integer, Integer>, Double> t0ShiftMap = new HashMap<>();
private static boolean pedestalLoaded = false; private static boolean tpLoaded = false; private static int totalBadChannels = 0;
@@ -76,6 +78,7 @@
loadCalibrationConstants(runNumber); loadBadChannels(runNumber); loadGain();
+ loadT0Shifts();
} public static void loadCalibrationConstants(int run) {
@@ -332,6 +335,39 @@
} }
+ private static void loadT0Shifts() { + System.out.println("Loading SVT t0 shifts ..."); + + ConditionsManager conditions = ConditionsManager.defaultInstance(); + BufferedReader reader; + + String filePath = "calibSVT/default.t0shift"; + String line; + try { + reader = new BufferedReader(conditions.getRawConditions(filePath).getReader()); + while ((line = reader.readLine()) != null) { + // If the line is a comment, skip it + if (line.indexOf("#") != -1) { + line = line.substring(0, line.indexOf("#")); + } + StringTokenizer lineTok = new StringTokenizer(line); + if (lineTok.countTokens() == 0) { + continue; + } + if (lineTok.countTokens() != 3) { + throw new RuntimeException("Invalid line in t0shift file: " + line); + } + int layer = Integer.valueOf(lineTok.nextToken()); + int module = Integer.valueOf(lineTok.nextToken()); + double t0shift = Double.valueOf(lineTok.nextToken()); + + t0ShiftMap.put(new Pair(layer, module), t0shift); + } + } catch (IOException exception) { + throw new RuntimeException("Unable to load t0 shifts!", exception); + } + } +
public static Double getNoise(SiSensor sensor, int channel) { Pair<Integer, Integer> daqPair = SvtUtils.getInstance().getDaqPair(sensor); double[] noises = noiseMap.get(daqPair);
@@ -408,11 +444,7 @@
constants.setTp(53.0); }
- 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 - value = lookupT0Shift(layer, module);
+ value = lookupT0Shift(sensor);
constants.setT0Shift(value); return constants;
@@ -489,204 +521,11 @@
} }
- static private double lookupT0Shift(int layer, int module) { - double value = -999; -// switch (module) { -// case 0: -// switch (layer) { -// case 1: -// value = 1.5; -// break; -// case 2: -// value = 1.6; -// break; -// case 3: -// value = -2.8; -// break; -// case 4: -// value = 2.0; -// break; -// case 5: -// value = -1.9; -// break; -// case 6: -// value = -2.2; -// break; -// case 7: -// value = 1.8; -// break; -// case 8: -// value = 1.2; -// break; -// case 9: -// value = 2.5; -// break; -// case 10: -// value = 0.0; -// break; -// } -// break; -// case 1: -// switch (layer) { -// case 1: -// value = 1.0; -// break; -// case 2: -// value = 1.3; -// break; -// case 3: -// value = -3.0; -// break; -// case 4: -// value = 3.5; -// break; -// case 5: -// value = 0.0; -// break; -// case 6: -// value = -0.5; -// break; -// case 7: -// value = -0.8; -// break; -// case 8: -// value = -1.1; -// break; -// case 9: -// value = 3.5; -// break; -// case 10: -// value = -2.7; -// break; -// } -// break; -// } - switch (module) { - case 0: - switch (layer) { - case 1: - value = -186.1; - break; - case 2: - value = -186.1; - break; - case 3: - value = -185.8; - break; - case 4: - value = -185.9; - break; - case 5: - value = -185.8; - break; - case 6: - value = -185.8; - break; - case 7: - value = -185.8; - break; - case 8: - value = -185.9; - break; - case 9: - value = -185.8; - break; - case 10: - value = -185.8; - break; - case 11: - value = -185.6; - break; - case 12: - value = -186.0; - break; - } - break; - case 1: - switch (layer) { - case 1: - value = -185.6; - break; - case 2: - value = -185.3; - break; - case 3: - value = -185.9; - break; - case 4: - value = -185.7; - break; - case 5: - value = -185.6; - break; - case 6: - value = -185.9; - break; - case 7: - value = -185.8; - break; - case 8: - value = -186.1; - break; - case 9: - value = -186.0; - break; - case 10: - value = -185.9; - break; - case 11: - value = -185.9; - break; - case 12: - value = -186.1; - break; - } - break; - case 2: - switch (layer) { - case 7: - value = -185.7; - break; - case 8: - value = -185.7; - break; - case 9: - value = -185.9; - break; - case 10: - value = -186.0; - break; - case 11: - value = -185.8; - break; - case 12: - value = -185.9; - break; - } - break; - case 3: - switch (layer) { - case 7: - value = -185.5; - break; - case 8: - value = -185.6; - break; - case 9: - value = -185.5; - break; - case 10: - value = -185.5; - break; - case 11: - value = -186.6; - break; - case 12: - value = -186.7; - break; - } - break; - } - return value;
+ static private double lookupT0Shift(SiSensor sensor) { + SiTrackerIdentifierHelper helper = (SiTrackerIdentifierHelper) sensor.getIdentifierHelper(); + IIdentifier id = sensor.getIdentifier(); + int layer = helper.getLayerValue(id); + int module = helper.getModuleValue(id); + return t0ShiftMap.get(new Pair(layer, module));
} }
diff -N default.t0shift --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ default.t0shift 18 Apr 2013 18:01:55 -0000 1.1 @@ -0,0 +1,37 @@
+# estimates from track time studies +1 0 -186.1 +1 1 -185.6 +2 0 -186.1 +2 1 -185.3 +3 0 -185.8 +3 1 -185.9 +4 0 -185.9 +4 1 -185.7 +5 0 -185.8 +5 1 -185.6 +6 0 -185.8 +6 1 -185.9 +7 0 -185.8 +7 1 -185.8 +7 2 -185.7 +7 3 -185.5 +8 0 -185.9 +8 1 -186.1 +8 2 -185.7 +8 3 -185.6 +9 0 -185.8 +9 1 -186.0 +9 2 -185.9 +9 3 -185.5 +10 0 -185.8 +10 1 -185.9 +10 2 -186.0 +10 3 -185.5 +11 0 -185.6 +11 1 -185.9 +11 2 -185.8 +11 3 -186.6 +12 0 -186.0 +12 1 -186.1 +12 2 -185.9 +12 3 -186.7
diff -u -r1.8 -r1.9 --- TestRunOfflineRecon.lcsim 18 Apr 2013 17:53:49 -0000 1.8 +++ TestRunOfflineRecon.lcsim 18 Apr 2013 18:01:55 -0000 1.9 @@ -1,7 +1,7 @@
<!-- Offline reconstruction for test run (photon) data. @author Sho Uemura <[log in to unmask]>
- @version $Id: TestRunOfflineRecon.lcsim,v 1.8 2013/04/18 17:53:49 mgraham Exp $
+ @version $Id: TestRunOfflineRecon.lcsim,v 1.9 2013/04/18 18:01:55 meeg Exp $
--> <lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
@@ -28,7 +28,7 @@
<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup"/> <driver name="RawTrackerHitFitterDriver" type="org.lcsim.hps.recon.tracking.HPSRawTrackerHitFitterDriver"> <fitAlgorithm>Analytic</fitAlgorithm>
- <correctT0Shift>false</correctT0Shift>
+ <correctT0Shift>true</correctT0Shift>
</driver> <driver name="TrackerHitDriver" type="org.lcsim.hps.users.mgraham.DataTrackerHitDriver" /> <driver name="HelicalTrackHitDriver" type="org.lcsim.hps.recon.tracking.HelicalTrackHitDriver">
diff -N default.t0shift --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ default.t0shift 18 Apr 2013 18:01:55 -0000 1.1 @@ -0,0 +1,21 @@
+# estimates from track time studies +1 0 1.5 +1 1 1.0 +2 0 1.6 +2 1 1.3 +3 0 -2.8 +3 1 -3.0 +4 0 2.0 +4 1 3.5 +5 0 -1.9 +5 1 0.0 +6 0 -2.2 +6 1 -0.5 +7 0 1.8 +7 1 -0.8 +8 0 1.2 +8 1 -1.1 +9 0 2.5 +9 1 3.5 +10 0 0.0 +10 1 -2.7
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