Print

Print


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) {