Author: [log in to unmask]
Date: Fri Apr 24 16:58:23 2015
New Revision: 2815
Log:
Merge in minor updates from trunk.
Added:
java/branches/HPSJAVA-488/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullRecon.lcsim
- copied unchanged from r2814, java/trunk/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullRecon.lcsim
Modified:
java/branches/HPSJAVA-488/ (props changed)
java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/SvtMonitoring.java
java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java
java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java
java/branches/HPSJAVA-488/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java
java/branches/HPSJAVA-488/tracking/src/main/java/org/hps/recon/tracking/StripMaker.java
Modified: java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/SvtMonitoring.java
=============================================================================
--- java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/SvtMonitoring.java (original)
+++ java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/SvtMonitoring.java Fri Apr 24 16:58:23 2015
@@ -8,23 +8,27 @@
import hep.aida.IHistogram2D;
import hep.aida.IPlotter;
import hep.aida.IPlotterStyle;
+import hep.physics.vec.BasicHep3Vector;
+import hep.physics.vec.Hep3Vector;
import java.io.IOException;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.hps.recon.ecal.triggerbank.AbstractIntData;
-import org.hps.recon.ecal.triggerbank.TDCData;
-import org.hps.recon.ecal.triggerbank.TIData;
+import org.hps.recon.tracking.FittedRawTrackerHit;
import org.hps.recon.tracking.ShapeFitParameters;
import org.lcsim.detector.tracker.silicon.HpsSiSensor;
import org.lcsim.event.EventHeader;
import org.lcsim.event.GenericObject;
import org.lcsim.event.LCRelation;
import org.lcsim.event.RawTrackerHit;
+import org.lcsim.event.RelationalTable;
+import org.lcsim.event.SimTrackerHit;
import org.lcsim.event.TrackerHit;
+import org.lcsim.event.base.BaseRelationalTable;
import org.lcsim.geometry.Detector;
/**
@@ -88,8 +92,16 @@
//IHistogram1D occupancyPlot = aida.histogram1D(sensor.getName().replaceAll("Tracker_TestRunModule_", ""), 640, 0, 639);
IHistogram1D occupancyPlot = createSensorPlot(plotDir + "occupancy_", sensor, maxChannels, 0, maxChannels - 1);
IHistogram1D t0Plot = createSensorPlot(plotDir + "t0Hit_", sensor, 400, -100., 100.);
+ IHistogram1D nHits = createSensorPlot(plotDir + "nHitsPerEvent_", sensor, 100, -0.5, 99.5);
+ IHistogram1D pileup = createSensorPlot(plotDir + "nFitsPerHit_", sensor, 3, 0.5, 3.5);
+
IHistogram1D amplitudePlot = createSensorPlot(plotDir + "amplitude_", sensor, 50, 0, 4000.0);
IHistogram2D t0AmpPlot = createSensorPlot2D(plotDir + "t0AmpHit_", sensor, 200, -100., 100., 50, 0, 4000.0);
+ IHistogram2D t0ChanPlot = createSensorPlot2D(plotDir + "t0ChanBigHit_", sensor, 640, -0.5, 639.5, 200, -100., 100.);
+ IHistogram2D ampChanPlot = createSensorPlot2D(plotDir + "ampChanHit_", sensor, 640, -0.5, 639.5, 50, 0, 4000);
+ IHistogram2D chiprobChanPlot = createSensorPlot2D(plotDir + "chiprobChanBigHit_", sensor, 640, -0.5, 639.5, 50, 0, 1.0);
+ IHistogram2D t0TrigTimeHitPlot = createSensorPlot2D(plotDir + "t0BigHitTrigTime_", sensor, 400, -100., 100., 6, -2, 22);
+
IHistogram1D chiProbPlot = createSensorPlot(plotDir + "chiProb_", sensor, 50, 0, 1.0);
IHistogram1D t0ClusterPlot = createSensorPlot(plotDir + "t0Cluster_", sensor, 400, -100., 100.);
IHistogram2D t0TrigTimePlot = createSensorPlot2D(plotDir + "t0ClusterTrigTime_", sensor, 400, -100., 100., 6, -2, 22);
@@ -104,30 +116,63 @@
public void process(EventHeader event) {
/* increment the strip occupancy arrays */
+ Map<String, Integer> hitsPerSensor = new HashMap<String, Integer>();
+
if (event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) {
// System.out.println("Found a raw hit collection");
List<RawTrackerHit> rawTrackerHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
for (RawTrackerHit hit : rawTrackerHits) {
int[] strips = occupancyMap.get(hit.getDetectorElement().getName());
strips[hit.getIdentifierFieldValue("strip")] += 1;
+
+ Integer nHits = hitsPerSensor.get(hit.getDetectorElement().getName());
+ if (nHits == null) {
+ nHits = 0;
+ }
+ nHits++;
+ hitsPerSensor.put(hit.getDetectorElement().getName(), nHits);
}
++eventCountRaw;
+ }
+ for (HpsSiSensor sensor : sensors) {
+ IHistogram1D sensorHist = getSensorPlot(plotDir + "nHitsPerEvent_", sensor);
+ Integer nHits = hitsPerSensor.get(sensor.getName());
+ if (nHits == null) {
+ sensorHist.fill(0);
+ } else {
+ sensorHist.fill(nHits);
+ }
}
/* fill the FittedTrackerHit related histograms */
if (event.hasCollection(LCRelation.class, fittedTrackerHitCollectionName)) {
List<LCRelation> fittedTrackerHits = event.get(LCRelation.class, fittedTrackerHitCollectionName);
+
+ RelationalTable rthtofit = new BaseRelationalTable(RelationalTable.Mode.ONE_TO_MANY, RelationalTable.Weighting.UNWEIGHTED);
+ for (LCRelation hit : fittedTrackerHits) {
+ rthtofit.add(FittedRawTrackerHit.getRawTrackerHit(hit), FittedRawTrackerHit.getShapeFitParameters(hit));
+ }
+
for (LCRelation hit : fittedTrackerHits) {
RawTrackerHit rth = (RawTrackerHit) hit.getFrom();
GenericObject pars = (GenericObject) hit.getTo();
+
String sensorName = getNiceSensorName((HpsSiSensor) rth.getDetectorElement());
//this is a clever way to get the parameters we want from the generic object
double t0 = ShapeFitParameters.getT0(pars);
double amp = ShapeFitParameters.getAmp(pars);
double chiProb = ShapeFitParameters.getChiProb(pars);
+ int channel = rth.getIdentifierFieldValue("strip");
+ getSensorPlot(plotDir + "nFitsPerHit_", sensorName).fill(rthtofit.allFrom(rth).size());
getSensorPlot(plotDir + "t0Hit_", sensorName).fill(t0);
getSensorPlot(plotDir + "amplitude_", sensorName).fill(amp);
getSensorPlot2D(plotDir + "t0AmpHit_", sensorName).fill(t0, amp);
getSensorPlot(plotDir + "chiProb_", sensorName).fill(chiProb);
+ getSensorPlot2D(plotDir + "ampChanHit_", sensorName).fill(channel, amp);
+ if (amp > 1000.0) {
+ getSensorPlot2D(plotDir + "t0ChanBigHit_", sensorName).fill(channel, t0);
+ getSensorPlot2D(plotDir + "chiprobChanBigHit_", sensorName).fill(channel, chiProb);
+ getSensorPlot2D(plotDir + "t0BigHitTrigTime_", sensorName).fill(t0, event.getTimeStamp() % 24);
+ }
}
++eventCountFit;
}
Modified: java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java
=============================================================================
--- java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java (original)
+++ java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java Fri Apr 24 16:58:23 2015
@@ -31,9 +31,12 @@
private final String rotatedHelicalTrackHitRelationsCollectionName = "RotatedHelicalTrackHitRelations";
private String trackCollectionName = "MatchedTracks";
private final String trackerName = "Tracker";
+ private static final String nameStrip = "Tracker_TestRunModule_";
String ecalSubdetectorName = "Ecal";
String ecalCollectionName = "EcalClusters";
private Detector detector = null;
+ private List<HpsSiSensor> sensors;
+
IDDecoder dec;
int nEvents = 0;
int nTotTracks = 0;
@@ -66,10 +69,20 @@
IHistogram1D trklam = aida.histogram1D(plotDir + "tan(lambda) ", 25, -0.1, 0.1);
IHistogram1D trkz0 = aida.histogram1D(plotDir + "z0 ", 25, -1.0, 1.0);
IHistogram1D nHits = aida.histogram1D(plotDir + "Hits per Track", 2, 5, 7);
- IHistogram1D trackMeanTime = aida.histogram1D(plotDir + "Mean time of hits on track", 200, -20., 20.);
+ IHistogram1D trackMeanTime = aida.histogram1D(plotDir + "Mean time of hits on track", 400, -100., 100.);
IHistogram1D trackRMSTime = aida.histogram1D(plotDir + "RMS time of hits on track", 200, 0., 15.);
IHistogram2D trackChi2RMSTime = aida.histogram2D(plotDir + "Track chi2 vs. RMS time of hits", 200, 0., 15., 25, 0, 25.0);
IHistogram1D seedRMSTime = aida.histogram1D(plotDir + "RMS time of hits on seed layers", 200, 0., 15.);
+
+ // Make a list of SiSensors in the SVT.
+ sensors = this.detector.getSubdetector(trackerName).getDetectorElement().findDescendants(HpsSiSensor.class);
+
+ // Setup the occupancy plots.
+ aida.tree().cd("/");
+ for (HpsSiSensor sensor : sensors) {
+ //IHistogram1D occupancyPlot = aida.histogram1D(sensor.getName().replaceAll("Tracker_TestRunModule_", ""), 640, 0, 639);
+ IHistogram1D hitTimeResidual = createSensorPlot(plotDir + "hitTimeResidual_", sensor, 100, -20, 20);
+ }
}
@@ -141,10 +154,13 @@
Collection<TrackerHit> htsList = hittostrip.allFrom(hittorotated.from(hit));
for (TrackerHit hts : htsList) {
rmsTime += Math.pow(hts.getTime() - meanTime, 2);
- int layer = ((HpsSiSensor) ((RawTrackerHit) hts.getRawHits().get(0)).getDetectorElement()).getLayerNumber();
+ HpsSiSensor sensor = (HpsSiSensor) ((RawTrackerHit) hts.getRawHits().get(0)).getDetectorElement();
+ int layer = sensor.getLayerNumber();
if (layer <= 6) {
rmsSeedTime += Math.pow(hts.getTime() - meanSeedTime, 2);
}
+ String sensorName = getNiceSensorName(sensor);
+ getSensorPlot(plotDir + "hitTimeResidual_", sensorName).fill(hts.getTime() - meanTime);
}
}
rmsTime = Math.sqrt(rmsTime / nStrips);
@@ -185,4 +201,32 @@
System.out.println("ALTER TABLE dqm ADD " + entry.getKey() + " double;");
}
}
+
+ private IHistogram1D getSensorPlot(String prefix, HpsSiSensor sensor) {
+ String hname = prefix + getNiceSensorName(sensor);
+ return aida.histogram1D(hname);
+ }
+
+ private IHistogram1D getSensorPlot(String prefix, String sensorName) {
+ return aida.histogram1D(prefix + sensorName);
+ }
+
+ private IHistogram1D createSensorPlot(String prefix, HpsSiSensor sensor, int nchan, double min, double max) {
+ String hname = prefix + getNiceSensorName(sensor);
+ IHistogram1D hist = aida.histogram1D(hname, nchan, min, max);
+ hist.setTitle(sensor.getName().replaceAll(nameStrip, "")
+ .replace("module", "mod")
+ .replace("layer", "lyr")
+ .replace("sensor", "sens"));
+
+ return hist;
+ }
+
+ private String getNiceSensorName(HpsSiSensor sensor) {
+ return sensor.getName().replaceAll(nameStrip, "")
+ .replace("module", "mod")
+ .replace("layer", "lyr")
+ .replace("sensor", "sens");
+ }
+
}
Modified: java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java
=============================================================================
--- java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java (original)
+++ java/branches/HPSJAVA-488/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java Fri Apr 24 16:58:23 2015
@@ -56,16 +56,16 @@
/* beamspot constrained */
IHistogram1D nV0 = aida.histogram1D(plotDir + "Number of V0 per event", 10, 0, 10);
IHistogram1D bsconMass = aida.histogram1D(plotDir + "BS Constrained Mass (GeV)", 100, 0, 0.200);
- IHistogram1D bsconVx = aida.histogram1D(plotDir + "BS Constrained Vx (mm)", 50, -1, 1);
- IHistogram1D bsconVy = aida.histogram1D(plotDir + "BS Constrained Vy (mm)", 50, -1, 1);
- IHistogram1D bsconVz = aida.histogram1D(plotDir + "BS Constrained Vz (mm)", 50, -10, 10);
- IHistogram1D bsconChi2 = aida.histogram1D(plotDir + "BS Constrained Chi2", 25, 0, 25);
+ IHistogram1D bsconVx = aida.histogram1D(plotDir + "BS Constrained Vx (mm)", 200, -5, 5);
+ IHistogram1D bsconVy = aida.histogram1D(plotDir + "BS Constrained Vy (mm)", 200, -5, 5);
+ IHistogram1D bsconVz = aida.histogram1D(plotDir + "BS Constrained Vz (mm)", 200, -50, 50);
+ IHistogram1D bsconChi2 = aida.histogram1D(plotDir + "BS Constrained Chi2", 100, 0, 100);
/* target constrained */
IHistogram1D tarconMass = aida.histogram1D(plotDir + "Target Constrained Mass (GeV)", 100, 0, 0.200);
- IHistogram1D tarconVx = aida.histogram1D(plotDir + "Target Constrained Vx (mm)", 50, -1, 1);
- IHistogram1D tarconVy = aida.histogram1D(plotDir + "Target Constrained Vy (mm)", 50, -1, 1);
- IHistogram1D tarconVz = aida.histogram1D(plotDir + "Target Constrained Vz (mm)", 50, -10, 10);
- IHistogram1D tarconChi2 = aida.histogram1D(plotDir + "Target Constrained Chi2", 25, 0, 25);
+ IHistogram1D tarconVx = aida.histogram1D(plotDir + "Target Constrained Vx (mm)", 200, -5, 5);
+ IHistogram1D tarconVy = aida.histogram1D(plotDir + "Target Constrained Vy (mm)", 200, -5, 5);
+ IHistogram1D tarconVz = aida.histogram1D(plotDir + "Target Constrained Vz (mm)", 200, -50, 50);
+ IHistogram1D tarconChi2 = aida.histogram1D(plotDir + "Target Constrained Chi2", 100, 0, 100);
}
Modified: java/branches/HPSJAVA-488/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java
=============================================================================
--- java/branches/HPSJAVA-488/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java (original)
+++ java/branches/HPSJAVA-488/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java Fri Apr 24 16:58:23 2015
@@ -29,12 +29,14 @@
private String fittedHitCollectionName = "SVTFittedRawTrackerHits";
private int genericObjectFlags = 1 << LCIOConstants.GOBIT_FIXED;
private int relationFlags = 0;
+ private double timeOffset = 0.0;
private boolean correctT0Shift = false;
private boolean useTimestamps = false;
private boolean useTruthTime = false;
private boolean subtractTOF = false;
private boolean subtractTriggerTime = false;
private int triggerPhaseOffset = 4;
+ private boolean correctChanT0 = true;
/**
* Report time relative to the nearest expected truth event time.
@@ -47,6 +49,10 @@
public void setDebug(boolean debug) {
this.debug = debug;
+ }
+
+ public void setTimeOffset(double timeOffset) {
+ this.timeOffset = timeOffset;
}
public void setCorrectT0Shift(boolean correctT0Shift) {
@@ -67,6 +73,10 @@
public void setTriggerPhaseOffset(int triggerPhaseOffset) {
this.triggerPhaseOffset = triggerPhaseOffset;
+ }
+
+ public void setCorrectChanT0(boolean correctChanT0) {
+ this.correctChanT0 = correctChanT0;
}
public void setFitAlgorithm(String fitAlgorithm) {
@@ -134,8 +144,13 @@
//===> ChannelConstants constants = HPSSVTCalibrationConstants.getChannelConstants((SiSensor) hit.getDetectorElement(), strip);
//for (ShapeFitParameters fit : _shaper.fitShape(hit, constants)) {
for (ShapeFitParameters fit : fitter.fitShape(hit, shape)) {
+ fit.setT0(fit.getT0() - timeOffset);
+
if (subtractTriggerTime) {
fit.setT0(fit.getT0() - (((event.getTimeStamp() + 4 * triggerPhaseOffset) % 24) - 12));
+ }
+ if (correctChanT0) {
+ fit.setT0(fit.getT0() - sensor.getShapeFitParameters(strip)[HpsSiSensor.T0_INDEX]);
}
if (correctT0Shift) {
//===> fit.setT0(fit.getT0() - constants.getT0Shift());
Modified: java/branches/HPSJAVA-488/tracking/src/main/java/org/hps/recon/tracking/StripMaker.java
=============================================================================
--- java/branches/HPSJAVA-488/tracking/src/main/java/org/hps/recon/tracking/StripMaker.java (original)
+++ java/branches/HPSJAVA-488/tracking/src/main/java/org/hps/recon/tracking/StripMaker.java Fri Apr 24 16:58:23 2015
@@ -26,7 +26,7 @@
import org.lcsim.recon.tracking.digitization.sisim.TrackerHitType;
/**
- *
+ *
* @author Matt Graham
*/
// TODO: Add class documentation.
@@ -87,7 +87,6 @@
public List<SiTrackerHit> makeHits(SiSensor sensor) {
// System.out.println("makeHits: " + sensor.getName());
-
List<SiTrackerHit> hits = new ArrayList<SiTrackerHit>();
// Get SiTrackerIdentifierHelper for this sensor and refresh the strip map used to increase
@@ -183,8 +182,9 @@
}
private SiTrackerHitStrip1D makeTrackerHit(List<FittedRawTrackerHit> cluster, SiSensorElectrodes electrodes) {
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + " makeTrackerHit ");
+ }
Hep3Vector position = getPosition(cluster, electrodes);
SymmetricMatrix covariance = getCovariance(cluster, electrodes);
double time = getTime(cluster);
@@ -195,25 +195,29 @@
rth_cluster.add(bth.getRawTrackerHit());
}
SiTrackerHitStrip1D hit = new SiTrackerHitStrip1D(position, covariance, energy, time, rth_cluster, type);
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + " SiTrackerHitStrip1D created at " + position + "(" + hit.getPositionAsVector().toString() + ")" + " E " + energy + " time " + time);
+ }
return hit;
}
private Hep3Vector getPosition(List<FittedRawTrackerHit> cluster, SiSensorElectrodes electrodes) {
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + " getPosition for cluster size " + cluster.size());
+ }
List<Double> signals = new ArrayList<Double>();
List<Hep3Vector> positions = new ArrayList<Hep3Vector>();
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + " Loop of " + cluster.size() + " and add signals and positions to vectors");
+ }
for (FittedRawTrackerHit hit : cluster) {
signals.add(hit.getAmp());
positions.add(((SiStrips) electrodes).getStripCenter(_strip_map.get(hit)));
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + " Added hit with signal " + hit.getAmp() + " at strip center posiiton " + (((SiStrips) electrodes).getStripCenter(_strip_map.get(hit))));
+ }
}
// Average charge on central strips of longer clusters
@@ -233,8 +237,9 @@
}
}
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + " Calculate charge weighted mean for " + signals.size() + " signals");
+ }
double total_charge = 0;
Hep3Vector position = new BasicHep3Vector(0, 0, 0);
@@ -244,29 +249,34 @@
total_charge += signal;
position = VecOp.add(position, VecOp.mult(signal, positions.get(istrip)));
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + "strip " + istrip + ": signal " + signal + " position " + positions.get(istrip) + " -> total_position " + position.toString() + " ( total charge " + total_charge + ")");
+ }
}
position = VecOp.mult(1 / total_charge, position);
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + " charge weighted position " + position.toString() + " (before trans)");
+ }
electrodes.getParentToLocal().inverse().transform(position);
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + " charge weighted position " + position.toString() + " (after trans)");
+ }
// Swim position back through lorentz drift direction to midpoint between bias surfaces
if (_simulation != null) {
_simulation.setSensor((SiSensor) electrodes.getDetectorElement());
_simulation.lorentzCorrect(position, electrodes.getChargeCarrier());
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + ": Position " + position.toString() + " ( after Lorentz)");
+ }
}
// return position in global coordinates
Hep3Vector newpos = ((SiSensor) electrodes.getDetectorElement()).getGeometry().getLocalToGlobal().transformed(position);
- if (_debug)
+ if (_debug) {
System.out.println(this.getClass().getSimpleName() + " final cluster position " + newpos.toString());
+ }
return ((SiSensor) electrodes.getDetectorElement()).getGeometry().getLocalToGlobal().transformed(position);
// return electrodes.getLocalToGlobal().transformed(position);
@@ -283,8 +293,8 @@
double time = hit.getT0();
// System.out.format("t0=%f\tA=%f\n",hit.getT0(),hit.getAmp());
- time_sum += time * signal;
- signal_sum += signal;
+ time_sum += time * signal * signal;
+ signal_sum += signal * signal;
}
return time_sum / signal_sum;
@@ -299,7 +309,6 @@
SymmetricMatrix covariance_global = electrodes.getLocalToGlobal().transformed(covariance);
// System.out.println("Global covariance matrix: \n"+covariance_global);
-
return covariance_global;
// BasicHep3Matrix rotation_matrix =
@@ -320,22 +329,22 @@
}
private double getMeasuredResolution(List<FittedRawTrackerHit> cluster, SiSensorElectrodes electrodes) // should
- // replace
- // this
- // by
- // a
- // ResolutionModel
- // class
- // that
- // gives
- // expected
- // resolution.
- // This
- // could
- // be
- // a
- // big
- // job.
+ // replace
+ // this
+ // by
+ // a
+ // ResolutionModel
+ // class
+ // that
+ // gives
+ // expected
+ // resolution.
+ // This
+ // could
+ // be
+ // a
+ // big
+ // job.
{
double measured_resolution;
@@ -347,7 +356,6 @@
// double signal_expected = (0.000280/DopedSilicon.ENERGY_EHPAIR) *
// ((SiSensor)electrodes.getDetectorElement()).getThickness(); // ~280 KeV/mm for thick Si
// sensors
-
if (cluster.size() == 1) {
measured_resolution = sense_pitch * _oneClusterErr;
} else if (cluster.size() == 2) {
|