From 3a2604b2f9456bbfb40547ad58dd3b43795e650f Mon Sep 17 00:00:00 2001 From: Matthew Solt Date: Thu, 16 Feb 2017 11:56:30 -0800 Subject: [PATCH] changes to tracking to resolve L0 not using L6 --- .../EngineeringRun2015FullReconMCLayer0.lcsim | 4 +++- .../recon/PhysicsRun2016FullReconLayer0.lcsim | 4 +++- .../org/hps/recon/tracking/TrackDataDriver.java | 14 +++++++++++++- .../java/org/hps/recon/tracking/TrackUtils.java | 9 ++++++--- 4 files changed, 25 insertions(+), 6 deletions(-) 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}.