Print

Print


Commit in lcsim/src/org/lcsim/recon/cluster/density on MAIN
TrackMatching.java+30-191.1 -> 1.2
GL: update

lcsim/src/org/lcsim/recon/cluster/density
TrackMatching.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- TrackMatching.java	7 Dec 2005 18:57:20 -0000	1.1
+++ TrackMatching.java	12 Dec 2005 05:32:27 -0000	1.2
@@ -14,16 +14,20 @@
 import org.lcsim.event.MCParticle;
 import org.lcsim.geometry.util.CalorimeterIDDecoder;
 import org.lcsim.geometry.compact.Subdetector;
-// import org.lcsim.geometry.compact.Readout;
 import org.lcsim.geometry.segmentation.BarrelCylinderSegmentationBase;
 import org.lcsim.geometry.subdetector.CylindricalCalorimeter;
 import org.lcsim.geometry.layer.Layering;
-import org.lcsim.recon.cluster.util.CalHitMapMgr;
 import org.lcsim.recon.cluster.util.BasicCluster;
 import org.lcsim.recon.cluster.util.SortClustersBySize;
 import org.lcsim.util.swim.HelixSwimmer;
 import org.lcsim.util.swim.HelixSwim;
 
+/**
+ * A driver for track matching using the swimmer.
+ *
+ * @author Guilherme Lima
+ * @version $Id: TrackMatching.java,v 1.2 2005/12/12 05:32:27 lima Exp $
+ */
 public class TrackMatching extends Driver {
 
     int _debug = 1;  // debug level, 0 for no printout
@@ -111,6 +115,13 @@
 	_swimmer.setTrack( ipart.getMomentum(), ipart.getOrigin(), icharge );
 	for(int i=0; i<_layersEMB.length; ++i) {
 	  if(curling) break;
+
+	  int nhitsInLayerEmb = _loader.getHitCountInLayer(_embName,i);
+	  int nhitsInLayerEme = _loader.getHitCountInLayer(_emeName,i);
+	  int nhitsInLayer = nhitsInLayerEmb + nhitsInLayerEme;
+	  System.out.println("#hits in layer: "+nhitsInLayerEmb+" "+nhitsInLayerEme+" "+nhitsInLayer);
+	  if(nhitsInLayer<1) continue;
+
 	  double rcyl = _layersEMB[i];
 	  double zcyl = _layersEME[i];
 	  System.out.println("*** Swimming to layer "+i
@@ -134,7 +145,7 @@
   	  System.out.println("Swimmer: layer="+i+", pos="+pos);
 
 	  // find cell containing track-cylinder intersection
-	  CalHitMapMgr aux = CalHitMapMgr.getInstance();
+	  LoadMyCalorimeterHit aux = LoadMyCalorimeterHit.getInstance();
 	  Subdetector _calsub = aux.getSubdetector( "EcalBarrHits" );
 	  BarrelCylinderSegmentationBase _segm = (BarrelCylinderSegmentationBase)_calsub.getReadout().getSegmentation();
 
@@ -185,43 +196,43 @@
 	      System.out.println("a bad match: event# "+_evtnum);
 	  }
 
-	  // look for +/-3 neighbors
-	  long[] neighs3 = _segm.getNeighbourIDs(0,3,3);
+	  // look for +/-2 neighbors
+	  long[] neighs2 = _segm.getNeighbourIDs(0,2,2);
 	  nmatch = 0;
 	  nbad = 0;
 	  if(perfmatch) {
 	    if( isContributor(ipart,ihit) ) ++nmatch;
 	    else ++nbad;
 	  }
-	  for(int j=0; j<neighs3.length; ++j) {
-	    CalorimeterHit jhit = embhitmap.get( neighs3[j] );
+	  for(int j=0; j<neighs2.length; ++j) {
+	    CalorimeterHit jhit = embhitmap.get( neighs2[j] );
 	    if( jhit!=null ) {
 		if( isContributor(ipart,jhit) ) ++nmatch;
 		else ++nbad;
 	    }
 	  }
-// 	  System.out.println("good033="+nmatch+", bad033="+nbad);
-	  _aida.cloud1D("trkMatch 033").fill(nmatch);
-	  if(nbad>0) _aida.cloud1D("badMatch 033").fill(nbad);
+// 	  System.out.println("good022="+nmatch+", bad022="+nbad);
+	  _aida.cloud1D("trkMatch 022").fill(nmatch);
+	  if(nbad>0) _aida.cloud1D("badMatch 022").fill(nbad);
 
-	  // look for +/-5 neighbors
-	  long[] neighs5 = _segm.getNeighbourIDs(0,5,5);
+	  // look for +/-3 neighbors
+	  long[] neighs3 = _segm.getNeighbourIDs(0,3,3);
 	  nmatch = 0;
 	  nbad = 0;
 	  if(perfmatch) {
 	    if( isContributor(ipart,ihit) ) ++nmatch;
 	    else ++nbad;
 	  }
-	  for(int j=0; j<neighs5.length; ++j) {
-	    CalorimeterHit jhit = embhitmap.get( neighs5[j] );
+	  for(int j=0; j<neighs3.length; ++j) {
+	    CalorimeterHit jhit = embhitmap.get( neighs3[j] );
 	    if( jhit!=null ) {
 		if( isContributor(ipart,jhit) ) ++nmatch;
 		else ++nbad;
 	    }
 	  }
-// 	  System.out.println("good055="+nmatch+", bad055="+nbad);
-	  _aida.cloud1D("trkMatch 055").fill(nmatch);
-	  if(nbad>0) _aida.cloud1D("badMatch 055").fill(nbad);
+// 	  System.out.println("good033="+nmatch+", bad033="+nbad);
+	  _aida.cloud1D("trkMatch 033").fill(nmatch);
+	  if(nbad>0) _aida.cloud1D("badMatch 033").fill(nbad);
 	}
       }
 
@@ -532,7 +543,7 @@
     }
 
     private void initialize(EventHeader event) {
-      CalHitMapMgr expert = CalHitMapMgr.getInstance();
+      LoadMyCalorimeterHit expert = LoadMyCalorimeterHit.getInstance();
 
       // face of EM calorimeter
       CylindricalCalorimeter embSubdet = (CylindricalCalorimeter)expert.getSubdetector(_embName);
@@ -553,7 +564,7 @@
 	  _layersEME[i] = layers.getDistanceToLayerSensorMid(i);
       }
 
-      // face of EM calorimeter
+      // face of HAD calorimeter
       CylindricalCalorimeter hdbSubdet = (CylindricalCalorimeter)expert.getSubdetector(_hdbName);
       layers = hdbSubdet.getLayering();
       nlayers = layers.getLayerCount();
CVSspam 0.2.8