lcsim/src/org/lcsim/contrib/uiowa/MuonFinder
diff -u -r1.3 -r1.4
--- MipTrackMap.java 30 Sep 2008 01:25:23 -0000 1.3
+++ MipTrackMap.java 30 Sep 2008 01:40:59 -0000 1.4
@@ -223,22 +223,24 @@
for(int i = 0 ; i < output.size() ; i ++){
Cluster cluster1 = output.get(i);
Hep3Vector v1 = getClusterDirection(output.get(i));
+ BasicCluster tmpClus = new BasicCluster();
+ for(CalorimeterHit hit : cluster1.getCalorimeterHits()){
+ tmpClus.addHit(hit);
+ }
+
for(int j = 1 ; j < output.size()-1 ; j ++){
Cluster cluster2 = output.get(j);
Hep3Vector v2 = getClusterDirection(output.get(j));
- double cos = VecOp.dot(v1, v2);
+ double cos = -1;
+ if( v1 != null && v2 !=null){ cos = VecOp.dot(v1, v2); }
if(cos>0.8) {
- BasicCluster tmpClus = new BasicCluster();
- for(CalorimeterHit hit : cluster1.getCalorimeterHits()){
- tmpClus.addHit(hit);
- }
for(CalorimeterHit hit : cluster2.getCalorimeterHits()){
tmpClus.addHit(hit);
}
- muonmip.add(tmpClus);
output.remove(cluster2);
}
}
+ muonmip.add(tmpClus);
output.remove(cluster1);
}
}else { muonmip.addAll(output); }
@@ -385,7 +387,6 @@
}
protected Hep3Vector getClusterDirection(Cluster clus){
-
Hep3Vector trackMuonUnit = new BasicHep3Vector();
if( clus.getCalorimeterHits().size() > 1){
CalorimeterHit muonhit1 = clus.getCalorimeterHits().get(clus.getCalorimeterHits().size()-1);