Print

Print


Commit in lcsim/src/org/lcsim/recon/cluster/mipfinder on MAIN
NonProjectiveMipFinder.java+16-161.7 -> 1.8
MipFinderCrossingBarrelEndcapBorder.java+5-51.3 -> 1.4
DoubleHit.java+3-31.3 -> 1.4
MIPClusterBuilder.java+7-71.4 -> 1.5
MipQualityDecision.java+14-131.2 -> 1.3
ShowerPointFinder.java+7-71.9 -> 1.10
TrackClusterDriver.java+2-21.8 -> 1.9
+54-53
7 modified files
Use Vlayer where appropriate, get cal info from CalorimeterInformation class

lcsim/src/org/lcsim/recon/cluster/mipfinder
NonProjectiveMipFinder.java 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- NonProjectiveMipFinder.java	5 Feb 2010 20:22:42 -0000	1.7
+++ NonProjectiveMipFinder.java	8 Mar 2010 19:35:53 -0000	1.8
@@ -29,7 +29,7 @@
  * and curving MIPs better.
  *
  * @author Mat Charles <[log in to unmask]>
- * @version $Id: NonProjectiveMipFinder.java,v 1.7 2010/02/05 20:22:42 jeremy Exp $
+ * @version $Id: NonProjectiveMipFinder.java,v 1.8 2010/03/08 19:35:53 cassell Exp $
  */
 
 public class NonProjectiveMipFinder extends Driver implements Clusterer
@@ -85,8 +85,8 @@
 						Iterator<CalorimeterHit> iter = hitsInLayer.iterator();
 						CalorimeterHit hit1 = iter.next();
 						CalorimeterHit hit2 = iter.next();
-						if (getLayer(hit1) != layer) { throw new AssertionError("Book-keeping error"); }
-						if (getLayer(hit2) != layer) { throw new AssertionError("Book-keeping error"); }
+						if (getVLayer(hit1) != layer) { throw new AssertionError("Book-keeping error"); }
+						if (getVLayer(hit2) != layer) { throw new AssertionError("Book-keeping error"); }
 						List<CalorimeterHit> isolatedHitsInLayer = isolatedHitsHcal.get(layer);
 						List<CalorimeterHit> semiIsolatedHitsInLayer = semiIsolatedHitsHcal.get(layer);
 						if (isolatedHitsInLayer != null && isolatedHitsInLayer.contains(hit1)) { throw new AssertionError("2 hits in layer "+layer+", but hit is marked as isolated. Stub contains "+stub.getLayersCount()+" layers."); }
@@ -870,8 +870,8 @@
 							if (m_debug) { System.out.println(" * Hit "+neighbour+" has neighbour "+neighbourOfNeighbour+" at ("+non_x+", "+non_y+", "+non_z+") -- r="+non_r); }
 						}
 						if (m_debug) {
-						    System.out.println("Inconsistency in neighbours map: Hit (id="+hitID+") in layer "+getLayer(hit)+" has neighbour "+neighbour
-								+", but hit "+neighbour+" in layer "+getLayer(lastNeighbourHit)+" does not have "+hitID+" as a neighbour."
+						    System.out.println("Inconsistency in neighbours map: Hit (id="+hitID+") in layer "+getVLayer(hit)+" has neighbour "+neighbour
+								+", but hit "+neighbour+" in layer "+getVLayer(lastNeighbourHit)+" does not have "+hitID+" as a neighbour."
 								+" hit1 is at (r="+r1+", costh="+costh1+", x="+hit1pos.x()+", y="+hit1pos.y()+", z="+hit1pos.z()+");"
 								+" hit2 is at (r="+r2+", costh="+costh2+", x="+hit2pos.x()+", y="+hit2pos.y()+", z="+hit2pos.z()+");"
 								+" for ID of type "+id.getClass().getName()
@@ -887,7 +887,7 @@
 					}
 				}
 			}
-			int layer = getLayer(hit);
+			int layer = getVLayer(hit);
 			if (countFoundNeighbours == 0 && !vetoHitIDs.contains(hitID)) {
 				List<CalorimeterHit> isolatedHitsInThisLayer = isolatedHits.get(layer);
 				if (isolatedHitsInThisLayer == null) { isolatedHitsInThisLayer = new Vector<CalorimeterHit>(); isolatedHits.put(layer, isolatedHitsInThisLayer); }
@@ -1102,10 +1102,10 @@
 		return outputStubs;
 	}
 
-	protected int getLayer(CalorimeterHit hit) {
+	protected int getVLayer(CalorimeterHit hit) {
 		org.lcsim.geometry.IDDecoder id = hit.getIDDecoder();
 		id.setID(hit.getCellID());
-		int layer = id.getLayer();
+		int layer = id.getVLayer();
 		return layer;
 	}
 
@@ -1384,14 +1384,14 @@
 			m_hits.remove(layer);
 		}
 		public void addNonEdgeHit(CalorimeterHit hit) { 
-			int layer = getLayer(hit);
+			int layer = getVLayer(hit);
 			if (m_hits.get(layer) != null) { throw new AssertionError("Error"); }
 			List<CalorimeterHit> hitsInLayer = new Vector<CalorimeterHit>(); 
 			hitsInLayer.add(hit);
 			m_hits.put(layer, hitsInLayer); 
 		}
 		public void addHit(CalorimeterHit hit) { 
-			int layer = getLayer(hit);
+			int layer = getVLayer(hit);
 			if (this.getLayersCount() == 0) {
 				addOuterHit(hit);
 			} else {
@@ -1407,7 +1407,7 @@
 			}
 		}
 		public void addInnerHit(CalorimeterHit hit) { 
-			int layer = getLayer(hit);
+			int layer = getVLayer(hit);
 			if (this.getLayersCount()>0) {
 				if (layer >= this.getInnerLayer()) {
 					throw new AssertionError("Not innermost layer");
@@ -1419,7 +1419,7 @@
 			m_hits.put(layer, hitsInLayer); 
 		}
 		public void addOuterHit(CalorimeterHit hit) { 
-			int layer = getLayer(hit);
+			int layer = getVLayer(hit);
 			if (this.getLayersCount()>0) {
 				if (layer <= this.getOuterLayer()) {
 					throw new AssertionError("Not outermost layer");
@@ -1431,8 +1431,8 @@
 			m_hits.put(layer, hitsInLayer);
 		}
 		public void addDoubleHit(CalorimeterHit hit1, CalorimeterHit hit2) {
-			int layer1 = getLayer(hit1);
-			int layer2 = getLayer(hit2);
+			int layer1 = getVLayer(hit1);
+			int layer2 = getVLayer(hit2);
 //			if (layer1 != layer2) { throw new AssertionError("DoubleHit mismatch"); }
 			if (layer1 != layer2) { System.out.println("Stub.addDoubleHit: DoubleHit mismatch"); return;}
 			List<CalorimeterHit> hitsInThisLayer = m_hits.get(layer1);
@@ -1489,10 +1489,10 @@
 				throw new AssertionError("Book-keeping error");
 			}
 		}
-		private int getLayer(CalorimeterHit hit) {
+		private int getVLayer(CalorimeterHit hit) {
 			org.lcsim.geometry.IDDecoder id = hit.getIDDecoder();
 			id.setID(hit.getCellID());
-			return id.getLayer();
+			return id.getVLayer();
 		}
 		public int countOverlappingLayers(Stub otherStub, boolean requireHitMatch) {
 			int countSoFar = 0;

lcsim/src/org/lcsim/recon/cluster/mipfinder
MipFinderCrossingBarrelEndcapBorder.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- MipFinderCrossingBarrelEndcapBorder.java	16 Jun 2008 17:15:07 -0000	1.3
+++ MipFinderCrossingBarrelEndcapBorder.java	8 Mar 2010 19:35:53 -0000	1.4
@@ -22,7 +22,7 @@
  * able to move from the barrel to the endcap (or vice versa).
  *
  * @author [log in to unmask]
- * @version $Id: MipFinderCrossingBarrelEndcapBorder.java,v 1.3 2008/06/16 17:15:07 mcharles Exp $
+ * @version $Id: MipFinderCrossingBarrelEndcapBorder.java,v 1.4 2010/03/08 19:35:53 cassell Exp $
  */
 
 public class MipFinderCrossingBarrelEndcapBorder extends TrackClusterDriver
@@ -290,7 +290,7 @@
 		    layerSet = new HashSet<Integer>();
 		    layerMap.put(det, layerSet);
 		}
-		int layer = getLayer(hit);
+		int layer = getVLayer(hit);
 		layerSet.add(layer);
 	    }
 	    int layerCount = 0;
@@ -305,10 +305,10 @@
 	return outputList;
     }
 
-    protected int getLayer(CalorimeterHit hit) {
+    protected int getVLayer(CalorimeterHit hit) {
         org.lcsim.geometry.IDDecoder id = hit.getIDDecoder();
         id.setID(hit.getCellID());
-        int layer = id.getLayer();
+        int layer = id.getVLayer();
         return layer;
     }
     
@@ -342,7 +342,7 @@
     protected Map<Integer, List<CalorimeterHit>> sortHitsByLayer(List<CalorimeterHit> hits) {
 	Map<Integer, List<CalorimeterHit>> output = new HashMap<Integer, List<CalorimeterHit>>();
 	for (CalorimeterHit hit : hits) {
-	    int layer = getLayer(hit);
+	    int layer = getVLayer(hit);
 	    List<CalorimeterHit> hitsInLayer = output.get(layer);
 	    if (hitsInLayer == null) { hitsInLayer = new Vector<CalorimeterHit>(); output.put(layer, hitsInLayer); }
 	    hitsInLayer.add(hit);

lcsim/src/org/lcsim/recon/cluster/mipfinder
DoubleHit.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- DoubleHit.java	3 Feb 2010 19:39:08 -0000	1.3
+++ DoubleHit.java	8 Mar 2010 19:35:53 -0000	1.4
@@ -9,7 +9,7 @@
    
    
    @author Wolfgang F. Mader ([log in to unmask])
-   @version $Id: DoubleHit.java,v 1.3 2010/02/03 19:39:08 cassell Exp $
+   @version $Id: DoubleHit.java,v 1.4 2010/03/08 19:35:53 cassell Exp $
    
    Modification Log:
    -- 07/22/2004 Version 1.0
@@ -49,7 +49,7 @@
  
         // What layer is the main hit in?
 	id.setID(h.getCellID()); 
-	int mainLayer = id.getLayer(); 
+	int mainLayer = id.getVLayer();
 
         // For each nearby hit, whether it is in the same layer as
         // the main hit or one layer away.
@@ -60,7 +60,7 @@
 	    if ( hit != null ){
                 // Check the layer indices:
 		id.setID(hit.getCellID()); 
-		int layer = id.getLayer(); 
+		int layer = id.getVLayer();
                 if (layer == mainLayer) {
                   nNeighbourHitsInSameLayer++;
                 } else if ( (layer==mainLayer-1) || (layer==mainLayer+1) ) {

lcsim/src/org/lcsim/recon/cluster/mipfinder
MIPClusterBuilder.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- MIPClusterBuilder.java	15 Sep 2009 23:23:21 -0000	1.4
+++ MIPClusterBuilder.java	8 Mar 2010 19:35:53 -0000	1.5
@@ -48,7 +48,7 @@
 	    // Find layer:
 	    IDDecoder id = hit.getIDDecoder();
 	    id.setID(hit.getCellID());
-	    Integer layer = new Integer(id.getLayer());
+	    Integer layer = new Integer(id.getVLayer());
 	    // Store the hit in the right per-layer list:
 	    if ( hitTable.containsKey(layer) ) {
 		Vector<CalorimeterHit> v = hitTable.get(layer);
@@ -137,7 +137,7 @@
 		for (CalorimeterHit hit : cluster.getCalorimeterHits()) {
 		    IDDecoder id = hit.getIDDecoder();
 		    id.setID(hit.getCellID());
-		    System.out.println(this.getClass().getName()+" found cluster:    hit #"+i+":"+hit+", layer="+id.getLayer()+", theta="+id.getTheta()+", phi="+id.getPhi());
+		    System.out.println(this.getClass().getName()+" found cluster:    hit #"+i+":"+hit+", Vlayer="+id.getVLayer()+", theta="+id.getTheta()+", phi="+id.getPhi());
 		    i++;
 		}
 	    }
@@ -165,9 +165,9 @@
 
 	    if ( hit != null ) {
 		id.setID(h.getCellID());
-		int iLayer = id.getLayer() * direction; 
+		int iLayer = id.getVLayer() * direction;
 		id.setID(hit.getCellID());
-		int jLayer = id.getLayer() * direction; 
+		int jLayer = id.getVLayer() * direction;
 
 		if ( jLayer == iLayer+1 ) {
 		    
@@ -198,7 +198,7 @@
 	    if ( lValidate && (aType instanceof SingleHit) ){
 		IDDecoder id = h.getIDDecoder();
 		id.setID(h.getCellID());
-		Integer layer = new Integer(id.getLayer());
+		Integer layer = new Integer(id.getVLayer());
 		Integer countHitsInLayer = iSingleHitsInLayer.get(layer);
 		if (countHitsInLayer != null) {
 		    // Increment
@@ -216,7 +216,7 @@
     private boolean isInSeedLayer(CalorimeterHit hit){
 	IDDecoder id = hit.getIDDecoder();
 	id.setID(hit.getCellID());
-	int layer = id.getLayer(); 
+	int layer = id.getVLayer();
 	return ( direction*layer >= direction*firstLayer &&
 		 direction*layer < direction*(firstLayer+direction*nSeedLayers) ); 
     }
@@ -267,7 +267,7 @@
 	for (CalorimeterHit hit : clus.getCalorimeterHits()) {
 	    IDDecoder id = hit.getIDDecoder();
 	    id.setID(hit.getCellID());
-	    int thisHitLayer = id.getLayer();
+	    int thisHitLayer = id.getVLayer();
 	    for (int i=0; i<layer.length; i++) {
 		if (layer[i] == thisHitLayer) {
 		    hitCount[i]++; // Found a hit in this logical layer

lcsim/src/org/lcsim/recon/cluster/mipfinder
MipQualityDecision.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- MipQualityDecision.java	21 Aug 2008 18:35:08 -0000	1.2
+++ MipQualityDecision.java	8 Mar 2010 19:35:53 -0000	1.3
@@ -4,9 +4,9 @@
 
 import org.lcsim.util.*;
 import org.lcsim.util.decision.*;
-import org.lcsim.geometry.subdetector.CylindricalCalorimeter;
-import org.lcsim.geometry.*;
+import org.lcsim.recon.util.CalorimeterInformation;
 import org.lcsim.event.*;
+import org.lcsim.geometry.Calorimeter.CalorimeterType;
 
 /**
  * A class to look at whether a calorimeter cluster is
@@ -17,23 +17,25 @@
  * c) chi^2 of helix fit to cluster
  *
  * @author [log in to unmask]
- * @version $Id: MipQualityDecision.java,v 1.2 2008/08/21 18:35:08 mcharles Exp $
+ * @version $Id: MipQualityDecision.java,v 1.3 2010/03/08 19:35:53 cassell Exp $
  */
  
 
 public class MipQualityDecision implements DecisionMakerSingle<Cluster>
 {
+    CalorimeterInformation ci;
     public MipQualityDecision() {
 	// No user-settable options for now
     }
 
     public boolean valid(Cluster mip) {
+        if(ci == null)ci = CalorimeterInformation.instance();
 	// How many layers in this MIP?
 	// And how many instances of >1 hit in a layer?
 	int countDuplicates = 0;
 	Set<Integer> layersSeen = new HashSet<Integer>();
 	for (CalorimeterHit hit : mip.getCalorimeterHits()) {
-	    int layer = getLayer(hit);
+	    int layer = getVLayer(hit);
 	    Integer layerInt = new Integer(layer);
 	    if (!layersSeen.contains(layerInt)) {
 		layersSeen.add(layerInt);
@@ -49,32 +51,31 @@
 	List<org.lcsim.fit.helicaltrack.HelicalTrackHit> hitsToFit = new Vector<org.lcsim.fit.helicaltrack.HelicalTrackHit>();
 	for (CalorimeterHit calHit : mip.getCalorimeterHits()) {
 	    double pos[] = calHit.getPosition();
-	    String subdetName = calHit.getSubdetector().getName();
 	    double err_rphi = 0.0;
 	    double err_z = 0.0;
-	    if (subdetName.compareTo("EMBarrel")==0) {
+	    if (calHit.getSubdetector() == ci.getSubdetector(CalorimeterType.EM_BARREL)) {
 		// Barrel -- r fixed but phi uncertain 
 		//   rphi error = cell size / sqrt(12)
 		//   z error = cell size / sqrt(12)
 		err_rphi = 3.5 / 3.464;
 		err_z = 3.5 / 3.464;
-	    } else if (subdetName.compareTo("EMEndcap")==0) {
+	    } else if (calHit.getSubdetector() == ci.getSubdetector(CalorimeterType.EM_ENDCAP)) {
 		// Endcap -- z fixed but r and phi uncertain
 		//   rphi error = cell size / sqrt(12) ??
 		//   z error = silicon width / sqrt(12)
 		err_rphi = 3.5 / 3.464;
 		err_z = 0.32 / 3.464; // 320 micron silicon
-	    } else if (subdetName.compareTo("HADBarrel")==0) {
+	    } else if (calHit.getSubdetector() == ci.getSubdetector(CalorimeterType.HAD_BARREL)) {
 		err_rphi = 10.0 / 3.464;
 		err_z = 10.0 / 3.464;
-	    } else if (subdetName.compareTo("HADEndcap")==0) {
+	    } else if (calHit.getSubdetector() == ci.getSubdetector(CalorimeterType.HAD_ENDCAP)) {
 		err_rphi = 10.0 / 3.464;
 		err_z = 3.0 / 3.464; // 1.2 mm gas OR 5.0 mm scint... pick 3mm as a compromise
-	    } else if (subdetName.compareTo("MuonEndcap")==0) {
+	    } else if (calHit.getSubdetector() == ci.getSubdetector(CalorimeterType.MUON_ENDCAP)) {
 		err_rphi = 30.0 / 3.464;// 3x3cm segmentation
 		err_z = 3.0 / 3.464; // 1.2 mm gas
 	    } else {
-		throw new AssertionError("Subdet not recognized: "+subdetName);
+		throw new AssertionError("Subdet not recognized: "+calHit.getSubdetector().getName());
 	    }
 	    org.lcsim.fit.helicaltrack.HelicalTrack3DHit fitHit = new org.lcsim.fit.helicaltrack.HelicalTrack3DHit(pos[0], pos[1], pos[2], err_rphi, err_z);
 	    hitsToFit.add(fitHit);
@@ -123,10 +124,10 @@
 	}
     }
 
-    protected int getLayer(CalorimeterHit hit) {
+    protected int getVLayer(CalorimeterHit hit) {
         org.lcsim.geometry.IDDecoder id = hit.getIDDecoder();
         id.setID(hit.getCellID());
-        int layer = id.getLayer();
+        int layer = id.getVLayer();
         return layer;
     }
 }

lcsim/src/org/lcsim/recon/cluster/mipfinder
ShowerPointFinder.java 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- ShowerPointFinder.java	4 Feb 2010 17:45:33 -0000	1.9
+++ ShowerPointFinder.java	8 Mar 2010 19:35:53 -0000	1.10
@@ -70,7 +70,7 @@
 		double z = id.getPosition()[2];
 		double p = Math.sqrt(x*x+y*y+z*z);			
 		double r = Math.sqrt(x*x+y*y);
-		double lastlayer = id.getLayer();
+		double lastlayer = id.getVLayer();
 		String lastsubdetName = hit.getSubdetector().getName();
 		// Check for neighbouring hits in a 5x5x(2n+1) grid
 		// where n is the number of iterations since we last saw a hit.
@@ -103,7 +103,7 @@
 		    double curp = Math.sqrt(curx*curx+cury*cury+curz*curz);
 		    double curr = Math.sqrt(curx*curx+cury*cury);  
 		    Hep3Vector curpos = new BasicHep3Vector(curx,cury,curz);
-		    double curlayer = curid.getLayer();
+		    double curlayer = curid.getVLayer();
 		    String cursubdetName = curhit.getSubdetector().getName();
                     //use geometric information and layer number to find cur hit
                     // Inside Sub detector -> 0)
@@ -111,11 +111,11 @@
                     // ECal Endcap -> 3) HCal Endcap or 4) Ecal Barrel
                     // HCal Endcap -> 5) HCal Barrel
 		    boolean InSide = (curlayer > lastlayer) && cursubdetName.contains(lastsubdetName) && nearIDs.contains(curhit.getCellID()); // 0)
-                    boolean EcalToHcalBarrel= (curid.getLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.HAD_BARREL))) && lastsubdetName.contains(ci.getName(CalorimeterType.EM_BARREL)); // 1) ECal Barrel -> HCal Barrel
-                    boolean BarrelEcalToEndHcal = (curid.getLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.HAD_ENDCAP))) && lastsubdetName.contains(ci.getName(CalorimeterType.EM_BARREL)); //2) ECal Barrel -> HCal Endcap (There is no way to HCal Barrel directly from ECal Endcap
-                    boolean EcalToHcalEndcap= (curid.getLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.HAD_ENDCAP))) && lastsubdetName.contains(ci.getName(CalorimeterType.EM_ENDCAP)); // 3) ECal Endcap -> HCal Endcap
-		    boolean EndToBarrelEcal = (curid.getLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.EM_BARREL))) && lastsubdetName.contains(ci.getName(CalorimeterType.EM_ENDCAP)); // 4) ECal Endcap -> ECal Barrel
-                    boolean EndToBarrelHcal = (curid.getLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.HAD_BARREL))) && lastsubdetName.contains(ci.getName(CalorimeterType.HAD_ENDCAP)); // 5) HCal Endcap -> HCal Barrel
+                    boolean EcalToHcalBarrel= (curid.getVLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.HAD_BARREL))) && lastsubdetName.contains(ci.getName(CalorimeterType.EM_BARREL)); // 1) ECal Barrel -> HCal Barrel
+                    boolean BarrelEcalToEndHcal = (curid.getVLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.HAD_ENDCAP))) && lastsubdetName.contains(ci.getName(CalorimeterType.EM_BARREL)); //2) ECal Barrel -> HCal Endcap (There is no way to HCal Barrel directly from ECal Endcap
+                    boolean EcalToHcalEndcap= (curid.getVLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.HAD_ENDCAP))) && lastsubdetName.contains(ci.getName(CalorimeterType.EM_ENDCAP)); // 3) ECal Endcap -> HCal Endcap
+		    boolean EndToBarrelEcal = (curid.getVLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.EM_BARREL))) && lastsubdetName.contains(ci.getName(CalorimeterType.EM_ENDCAP)); // 4) ECal Endcap -> ECal Barrel
+                    boolean EndToBarrelHcal = (curid.getVLayer()==0 && cursubdetName.contains(ci.getName(CalorimeterType.HAD_BARREL))) && lastsubdetName.contains(ci.getName(CalorimeterType.HAD_ENDCAP)); // 5) HCal Endcap -> HCal Barrel
 
 		    if(InSide || EcalToHcalBarrel || BarrelEcalToEndHcal || EcalToHcalEndcap || EndToBarrelEcal || EndToBarrelHcal){
 			Hep3Vector cur = VecOp.sub(curpos, last0);

lcsim/src/org/lcsim/recon/cluster/mipfinder
TrackClusterDriver.java 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- TrackClusterDriver.java	5 Jun 2008 17:00:02 -0000	1.8
+++ TrackClusterDriver.java	8 Mar 2010 19:35:53 -0000	1.9
@@ -22,7 +22,7 @@
  * An alternative driver. This is designed to find any track
  * segment, not just MIPs.
  *
- * @version $Id: TrackClusterDriver.java,v 1.8 2008/06/05 17:00:02 mcharles Exp $
+ * @version $Id: TrackClusterDriver.java,v 1.9 2010/03/08 19:35:53 cassell Exp $
  */
 
 public class TrackClusterDriver extends Driver implements Clusterer
@@ -208,7 +208,7 @@
 	    // Look up the layer of this hit:
 	    IDDecoder id = hit.getIDDecoder();
 	    id.setID(hit.getCellID());
-	    Integer layer = new Integer(id.getLayer());
+	    Integer layer = new Integer(id.getVLayer());
 	    // Add it to the list for that layer:
 	    List<CalorimeterHit> layerList = hitsPerLayer.get(layer);
 	    if (layerList == null) {
CVSspam 0.2.8