diff --git a/src/THcAerogel.cxx b/src/THcAerogel.cxx
index 45f4abca2757e04d9d1a470d44b1fb33fa628942..026ff80c8848afd2c81d7092dfc5e0dbf6d09756 100644
--- a/src/THcAerogel.cxx
+++ b/src/THcAerogel.cxx
@@ -431,6 +431,9 @@ Int_t THcAerogel::DefineVariables( EMode mode )
     {"totNumTracksMatched", "Total Number of Tracks Matched Per Region", "fTotNumTracksMatched"},
     {"totNumTracksFired",   "Total Number of Tracks that Fired",         "fTotNumTracksFired"},
 
+    {"xAtAero",       "Track X at Aero diffusion box",    "fXAtAero"},
+    {"yAtAero",       "Track Y at Aero diffusion box",    "fYAtAero"},
+
     {"posNpe",    "Number of Positive PEs",       "fPosNpe"},
     {"negNpe",    "Number of Negative PEs",       "fNegNpe"},
     {"posNpeSum", "Total Number of Positive PEs", "fPosNpeSum"},
@@ -468,6 +471,9 @@ void THcAerogel::Clear(Option_t* opt)
   fTotNumTracksMatched  = 0;
   fTotNumTracksFired    = 0;
 
+  fXAtAero   = 0.0;
+  fYAtAero   = 0.0;
+
   fNpeSum    = 0.0;
   fPosNpeSum = 0.0;
   fNegNpeSum = 0.0;
@@ -826,37 +832,37 @@ Int_t THcAerogel::FineProcess( TClonesArray& tracks )
 
     if (trackRedChi2Cut && trackBetaCut && trackENormCut && trackDpCut) {
 
-      // Project the track to the Aerogel diffuser box plane
-      Double_t xAtAero = trackXfp + trackTheta * fDiffBoxZPos;
-      Double_t yAtAero = trackYfp + trackPhi   * fDiffBoxZPos;
-
-      // cout << "Aerogel Detector: " << GetName() << endl;
-      // cout << "nTracks = " << nTracks << "\t" << "trackChi2 = " << trackChi2
-      // 	   << "\t" << "trackNDof = " << trackNDoF << "\t" << "trackRedChi2 = " << trackRedChi2 << endl;
-      // cout << "trackBeta = " << trackBeta << "\t" << "trackEnergy = " << trackEnergy << "\t"
-      // 	   << "trackMom = " << trackMom << "\t" << "trackENorm = " << trackENorm << endl;
-      // cout << "trackXfp = " << trackXfp << "\t" << "trackYfp = " << trackYfp << "\t"
-      // 	   << "trackTheta = " << trackTheta << "\t" << "trackPhi = " << trackPhi << endl;
-      // cout << "fDiffBoxZPos = " << fDiffBoxZPos << "\t" << "xAtAero = " << xAtAero << "\t" << "yAtAero = " << yAtAero << endl;
-      // cout << "=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:" << endl;
-
-
-      for (Int_t iregion = 0; iregion < fNRegions; iregion++) {
-
-      	if ((TMath::Abs(fRegionValue[GetIndex(iregion, 0)] - xAtAero)    < fRegionValue[GetIndex(iregion, 4)]) &&
-      	    (TMath::Abs(fRegionValue[GetIndex(iregion, 1)] - yAtAero)    < fRegionValue[GetIndex(iregion, 5)]) &&
-      	    (TMath::Abs(fRegionValue[GetIndex(iregion, 2)] - trackTheta) < fRegionValue[GetIndex(iregion, 6)]) &&
-      	    (TMath::Abs(fRegionValue[GetIndex(iregion, 3)] - trackPhi)   < fRegionValue[GetIndex(iregion, 7)])) {
-
-	  fTotNumTracksMatched++;
-      	  fNumTracksMatched.at(iregion) = iregion + 1;
-
-      	  if (fNpeSum > fNpeThresh) {
-      	    fTotNumTracksFired++;
-      	    fNumTracksFired.at(iregion) = iregion + 1;
-      	  }  // NPE threshold cut
-      	}  // Regional cuts
-      }  // Loop over regions
+        // Project the track to the Aerogel diffuser box plane
+        fXAtAero = trackXfp + trackTheta * fDiffBoxZPos;
+        fYAtAero = trackYfp + trackPhi   * fDiffBoxZPos;
+
+        // cout << "Aerogel Detector: " << GetName() << endl;
+        // cout << "nTracks = " << nTracks << "\t" << "trackChi2 = " << trackChi2
+        // 	   << "\t" << "trackNDof = " << trackNDoF << "\t" << "trackRedChi2 = " << trackRedChi2 << endl;
+        // cout << "trackBeta = " << trackBeta << "\t" << "trackEnergy = " << trackEnergy << "\t"
+        // 	   << "trackMom = " << trackMom << "\t" << "trackENorm = " << trackENorm << endl;
+        // cout << "trackXfp = " << trackXfp << "\t" << "trackYfp = " << trackYfp << "\t"
+        // 	   << "trackTheta = " << trackTheta << "\t" << "trackPhi = " << trackPhi << endl;
+        // cout << "fDiffBoxZPos = " << fDiffBoxZPos << "\t" << "fXAtAero = " << fXAtAero << "\t" << "fYAtAero = " << fYAtAero << endl;
+        // cout << "=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:" << endl;
+
+
+        for (Int_t iregion = 0; iregion < fNRegions; iregion++) {
+
+            if ((TMath::Abs(fRegionValue[GetIndex(iregion, 0)] - fXAtAero)   < fRegionValue[GetIndex(iregion, 4)]) &&
+                (TMath::Abs(fRegionValue[GetIndex(iregion, 1)] - fYAtAero)   < fRegionValue[GetIndex(iregion, 5)]) &&
+                (TMath::Abs(fRegionValue[GetIndex(iregion, 2)] - trackTheta) < fRegionValue[GetIndex(iregion, 6)]) &&
+                (TMath::Abs(fRegionValue[GetIndex(iregion, 3)] - trackPhi)   < fRegionValue[GetIndex(iregion, 7)])) {
+
+                fTotNumTracksMatched++;
+                fNumTracksMatched.at(iregion) = iregion + 1;
+
+                if (fNpeSum > fNpeThresh) {
+                    fTotNumTracksFired++;
+                    fNumTracksFired.at(iregion) = iregion + 1;
+                }  // NPE threshold cut
+            }  // Regional cuts
+        }  // Loop over regions
     }  // Tracking cuts
   }  // Track loop
 
diff --git a/src/THcAerogel.h b/src/THcAerogel.h
index 55e8a58be449bef8911a5f95376656756e5a42db..59794a9ee0cd8a947ce0a474629631a65824d257 100644
--- a/src/THcAerogel.h
+++ b/src/THcAerogel.h
@@ -57,6 +57,8 @@ class THcAerogel : public THaNonTrackingDetector, public THcHitList {
   Double_t  fDpMin;
   Double_t  fDpMax;
   Double_t  fDiffBoxZPos;
+  Double_t  fXAtAero;
+  Double_t  fYAtAero;
   Double_t  fNpeThresh;
   Double_t  fAdcTimeWindowMin;
   Double_t  fAdcTimeWindowMax;
diff --git a/src/THcCherenkov.cxx b/src/THcCherenkov.cxx
index 7dd37855555bfd0ea0a400b54733b108f84a850a..40bc534788cb6ebea81be7c27a81e61dce2ae151 100644
--- a/src/THcCherenkov.cxx
+++ b/src/THcCherenkov.cxx
@@ -272,6 +272,9 @@ Int_t THcCherenkov::DefineVariables( EMode mode )
     {"totNumTracksMatched", "Total Number of Tracks Matched Per Region", "fTotNumTracksMatched"},
     {"totNumTracksFired",   "Total Number of Tracks that Fired",         "fTotNumTracksFired"},
 
+    {"xAtCer",       "Track X at Cherenkov mirror",    "fXAtCer"},
+    {"yAtCer",       "Track Y at Cherenkov mirror",    "fYAtCer"},
+
     {"npe",          "Number of PEs",                  "fNpe"},
     {"npeSum",       "Total Number of PEs",            "fNpeSum"},
 
@@ -296,6 +299,9 @@ void THcCherenkov::Clear(Option_t* opt)
   fTotNumTracksMatched = 0;
   fTotNumTracksFired   = 0;
 
+  fXAtCer = 0.0;
+  fYAtCer = 0.0;
+
   fNpeSum = 0.0;
 
   frAdcPedRaw->Clear();
@@ -451,36 +457,36 @@ Int_t THcCherenkov::FineProcess( TClonesArray& tracks )
 
     if (trackRedChi2Cut && trackBetaCut && trackENormCut && trackDpCut) {
 
-      // Project the track to the Cherenkov mirror planes
-      Double_t xAtCher = trackXfp + trackTheta * fMirrorZPos;
-      Double_t yAtCher = trackYfp + trackPhi   * fMirrorZPos;
-
-      // cout << "Cherenkov Detector: " << GetName() << " has fNRegions = " << fNRegions << endl;
-      // cout << "nTracks = " << nTracks << "\t" << "trackChi2 = " << trackChi2
-      // 	   << "\t" << "trackNDof = " << trackNDoF << "\t" << "trackRedChi2 = " << trackRedChi2 << endl;
-      // cout << "trackBeta = " << trackBeta << "\t" << "trackEnergy = " << trackEnergy << "\t"
-      // 	   << "trackMom = " << trackMom << "\t" << "trackENorm = " << trackENorm << endl;
-      // cout << "trackXfp = " << trackXfp << "\t" << "trackYfp = " << trackYfp << "\t"
-      // 	   << "trackTheta = " << trackTheta << "\t" << "trackPhi = " << trackPhi << endl;
-      // cout << "fMirrorZPos = " << fMirrorZPos << "\t" << "xAtCher = " << xAtCher << "\t" << "yAtCher = " << yAtCher << endl;
-      // cout << "=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:" << endl;
-
-      for (Int_t iregion = 0; iregion < fNRegions; iregion++) {
-
-	if ((TMath::Abs(fRegionValue[GetIndex(iregion, 0)] - xAtCher)    < fRegionValue[GetIndex(iregion, 4)]) &&
-	    (TMath::Abs(fRegionValue[GetIndex(iregion, 1)] - yAtCher)    < fRegionValue[GetIndex(iregion, 5)]) &&
-	    (TMath::Abs(fRegionValue[GetIndex(iregion, 2)] - trackTheta) < fRegionValue[GetIndex(iregion, 6)]) &&
-	    (TMath::Abs(fRegionValue[GetIndex(iregion, 3)] - trackPhi)   < fRegionValue[GetIndex(iregion, 7)])) {
-
-	  fTotNumTracksMatched++;
-	  fNumTracksMatched.at(iregion) = iregion + 1;
-
-	  if (fNpeSum > fNpeThresh) {
-	    fTotNumTracksFired++;
-	    fNumTracksFired.at(iregion) = iregion + 1;
-	  }  // NPE threshold cut
-	}  // Regional cuts
-      }  // Loop over regions
+        // Project the track to the Cherenkov mirror planes
+        fXAtCer = trackXfp + trackTheta * fMirrorZPos;
+        fYAtCer = trackYfp + trackPhi   * fMirrorZPos;
+
+        // cout << "Cherenkov Detector: " << GetName() << " has fNRegions = " << fNRegions << endl;
+        // cout << "nTracks = " << nTracks << "\t" << "trackChi2 = " << trackChi2
+        // 	   << "\t" << "trackNDof = " << trackNDoF << "\t" << "trackRedChi2 = " << trackRedChi2 << endl;
+        // cout << "trackBeta = " << trackBeta << "\t" << "trackEnergy = " << trackEnergy << "\t"
+        // 	   << "trackMom = " << trackMom << "\t" << "trackENorm = " << trackENorm << endl;
+        // cout << "trackXfp = " << trackXfp << "\t" << "trackYfp = " << trackYfp << "\t"
+        // 	   << "trackTheta = " << trackTheta << "\t" << "trackPhi = " << trackPhi << endl;
+        // cout << "fMirrorZPos = " << fMirrorZPos << "\t" << "fXAtCer = " << fXAtCer << "\t" << "fYAtCer = " << fYAtCer << endl;
+        // cout << "=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:" << endl;
+
+        for (Int_t iregion = 0; iregion < fNRegions; iregion++) {
+
+            if ((TMath::Abs(fRegionValue[GetIndex(iregion, 0)] - fXAtCer)   < fRegionValue[GetIndex(iregion, 4)]) &&
+                (TMath::Abs(fRegionValue[GetIndex(iregion, 1)] - fYAtCer)   < fRegionValue[GetIndex(iregion, 5)]) &&
+                (TMath::Abs(fRegionValue[GetIndex(iregion, 2)] - trackTheta) < fRegionValue[GetIndex(iregion, 6)]) &&
+                (TMath::Abs(fRegionValue[GetIndex(iregion, 3)] - trackPhi)   < fRegionValue[GetIndex(iregion, 7)])) {
+
+                fTotNumTracksMatched++;
+                fNumTracksMatched.at(iregion) = iregion + 1;
+
+                if (fNpeSum > fNpeThresh) {
+                    fTotNumTracksFired++;
+                    fNumTracksFired.at(iregion) = iregion + 1;
+                }  // NPE threshold cut
+            }  // Regional cuts
+        }  // Loop over regions
     }  // Tracking cuts
   }  // Track loop
 
diff --git a/src/THcCherenkov.h b/src/THcCherenkov.h
index b8f2bdf1a49d1ab191db3609d4de457d61488b11..110a64f1b11f9410d97874c68667662e1a439954 100644
--- a/src/THcCherenkov.h
+++ b/src/THcCherenkov.h
@@ -77,6 +77,8 @@ class THcCherenkov : public THaNonTrackingDetector, public THcHitList {
   Double_t  fDpMin;
   Double_t  fDpMax;
   Double_t  fMirrorZPos;
+  Double_t  fXAtCer;
+  Double_t  fYAtCer;
   Double_t  fNpeThresh;
   Double_t  fAdcTimeWindowMin;
   Double_t  fAdcTimeWindowMax;