lcsim/src/org/lcsim/recon/muon
diff -u -r1.8 -r1.9
--- MuonCalSegmentFinder.java 8 Jan 2006 15:18:55 -0000 1.8
+++ MuonCalSegmentFinder.java 27 Jan 2006 20:33:44 -0000 1.9
@@ -1,9 +1,10 @@
package org.lcsim.recon.muon;
+import hep.physics.vec.BasicHep3Vector;
+import hep.physics.vec.Hep3Vector;
import java.util.Vector;
import java.util.List;
import java.util.Map;
-import java.util.HashMap;
import org.lcsim.geometry.*;
import org.lcsim.util.step.TrackStepper; // C.M. Stepper
import org.lcsim.event.EventHeader;
@@ -13,7 +14,6 @@
import org.lcsim.geometry.layer.LayerStack;
import org.lcsim.geometry.layer.LayerSlice;
import org.lcsim.event.CalorimeterHit;
-import org.lcsim.recon.cluster.directedtree.MyTools;
/**
* Muon Segment Finder for muon calorimeter
@@ -31,8 +31,8 @@
super(det, subdetectorName);
// Set the nearest neighbor cuts to default values
- setPhiNNCut(2);
- setThetaNNCut(2);
+ setPhiNNCut(0);//2
+ setThetaNNCut(0);//2
// getting info from the coil
MultiLayerTracker coilsub = (MultiLayerTracker)det.getSubdetectors().get("SolenoidCoilBarrel");
@@ -202,6 +202,8 @@
System.out.println("Problem: rpVect2="+rpVect[2]+", zmax="+zmax+", nr="+nr);
while (Math.abs(rpVect[2]) < zmax && nr < nLayers )
{
+ Hep3Vector v = new BasicHep3Vector(rpVect[0],rpVect[1],rpVect[2]);
+ hitPos.add(v);
// // Add cell to list
// int iphi = xyzToPhiBin(rpVect);
// int itheta = xyzToThetaBin(rpVect);
@@ -212,16 +214,16 @@
// Long cellid = encoder.getID();
// more general way
- long virtualID = segm.findCellContainingXYZ( rpVect );
+// long virtualID = segm.findCellContainingXYZ( rpVect );
// this works for projective geometries only
// assert cellid == virtualID
// : "*** virtual cell problem: "
// +" cellID="+MyTools.printID(cellid)
// +", virtualID="+MyTools.printID(virtualID);
- System.out.println("adding virtual hit: cellid="
- +MyTools.printID(virtualID));
- cellList.add(virtualID);
+// System.out.println("adding virtual hit: cellid="
+// +MyTools.printID(virtualID));
+// cellList.add(virtualID);
if(stpr.getStopTkELow())break; // C.M.
// Go on to the next layer
@@ -237,14 +239,19 @@
// Save number of layers track passed through
numLayersHit = nr;
-
+ rpVect=stpr.getNewRp();
+ if((nr==nLayers)|| (rpVect[2]>=zmax))
+ {
+ Hep3Vector v = new BasicHep3Vector(rpVect[0],rpVect[1],rpVect[2]);
+ hitPos.add(v);
+ }
// Now match the cells on this list to calorimeter hits
// HistogramFolder.setDefaultFolder("/MUDet"); // C.M.-27Jan03- Folder
Map<Long,CalorimeterHit> muhits = dataMgr.getCollHitMap(muonName);
System.out.println("# muon hits: "+muhits.size());
- matchHitsFast( segm, dataMgr.getCollHitMap(muonName), true );
+// matchHitsFast( segm, dataMgr.getCollHitMap(muonName), true );
// HistogramFolder.setDefaultFolder(".."); // C.M.-27Jan03- Folder
}