diff --git a/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconMCLayer0.lcsim b/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconMCLayer0.lcsim
index f9a499ef70..66b130f82f 100644
--- a/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconMCLayer0.lcsim
+++ b/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconMCLayer0.lcsim
@@ -146,7 +146,9 @@
EcalClustersCorr
MatchedTracks GBLTracks
-
+
+ 7
+
${outputFile}.slcio
diff --git a/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2016FullReconLayer0.lcsim b/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2016FullReconLayer0.lcsim
index 82898850f4..9a08478a03 100644
--- a/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2016FullReconLayer0.lcsim
+++ b/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2016FullReconLayer0.lcsim
@@ -133,7 +133,9 @@
8.0
-
+
+ 7
+
EcalClustersCorr
MatchedTracks GBLTracks
diff --git a/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java b/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java
index 878df42cec..63b1fb1ffc 100644
--- a/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java
+++ b/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java
@@ -73,6 +73,9 @@ public final class TrackDataDriver extends Driver {
/** The extrapolation step size */
double stepSize = 5.0; // mm
+ /** The default number of layers */
+ int layerNum = 6;
+
/** Default constructor */
public TrackDataDriver() {
}
@@ -98,6 +101,15 @@ void setStepSize(double stepSize) {
this.stepSize = stepSize;
}
+ /**
+ * Set number of tracking layers. Default is 6 layers.
+ *
+ */
+
+ public void setLayerNum(int layerNum) {
+ this.layerNum = layerNum;
+ }
+
/**
* Method called by the framework when a new {@link Detector} geometry is
* loaded. This method is called at the beginning of every run and
@@ -283,7 +295,7 @@ protected void process(EventHeader event) {
// Calculate the track isolation constants for each of the
// layers
- Double[] isolations = TrackUtils.getIsolations(track, hitToStrips, hitToRotated);
+ Double[] isolations = TrackUtils.getIsolations(track, hitToStrips, hitToRotated,layerNum);
double qualityArray[] = new double[isolations.length];
for (int i = 0; i < isolations.length; i++) {
qualityArray[i] = isolations[i] == null ? -99999999.0 : isolations[i];
diff --git a/tracking/src/main/java/org/hps/recon/tracking/TrackUtils.java b/tracking/src/main/java/org/hps/recon/tracking/TrackUtils.java
index 1565d325cb..a8c5773b26 100644
--- a/tracking/src/main/java/org/hps/recon/tracking/TrackUtils.java
+++ b/tracking/src/main/java/org/hps/recon/tracking/TrackUtils.java
@@ -129,6 +129,7 @@ public static double[] getParametersAtNewRefPoint(double[] newRefPoint, double[]
if (Math.abs( dphi ) > Math.PI)
throw new RuntimeException("dphi is large " + dphi + " from phi0 " + phi0
+ " and phinew " + phinew + " take care of the ambiguity!!??");
+ //System.out.println("dphi is large " + dphi + " from phi0 " + phi0 + " and phinew " + phinew + " take care of the ambiguity!!??");
// calculate new dca
double dcanew = dca + dx*sinphi - dy*cosphi + (dx*cosphi + dy*sinphi)*Math.tan( dphi/2. );
@@ -1286,8 +1287,8 @@ public static double getIsolation(TrackerHit strip, TrackerHit otherStrip, Relat
* @param hitToRotated
* @return isolations for all 12 strip layers
*/
- public static Double[] getIsolations(Track trk, RelationalTable hitToStrips, RelationalTable hitToRotated) {
- Double[] isolations = new Double[12];
+ public static Double[] getIsolations(Track trk, RelationalTable hitToStrips, RelationalTable hitToRotated, int layers) {
+ Double[] isolations = new Double[2*layers];
for (TrackerHit hit : trk.getTrackerHits()) {
Set htsList = hitToStrips.allFrom(hitToRotated.from(hit));
TrackerHit[] strips = new TrackerHit[2];
@@ -1298,7 +1299,9 @@ public static Double[] getIsolations(Track trk, RelationalTable hitToStrips, Rel
return isolations;
}
-
+ public static Double[] getIsolations(Track trk, RelationalTable hitToStrips, RelationalTable hitToRotated) {
+ return getIsolations(trk, hitToStrips, hitToRotated, 6);
+ }
/**
* Backward compatibility function for {@code extrapolateTrackUsingFieldMap}.