lcsim/src/org/lcsim/contrib/uiowa/MuonFinder
diff -u -r1.9 -r1.10
--- MuonFinder.java 13 Oct 2008 19:19:02 -0000 1.9
+++ MuonFinder.java 15 Oct 2008 00:51:33 -0000 1.10
@@ -33,10 +33,9 @@
public class MuonFinder extends Driver{
protected AIDA aida = AIDA.defaultInstance();
- protected String _outName;
protected String _tracklist;
protected String _outHitMap;
- protected String _outMapTrackToSetOfClusters; // was "newMapTrackToMip"
+ protected String _outMapTrackToClusters;
protected String _inMu;
protected String _inCal;
protected double _bestmatch = 0.8;
@@ -47,13 +46,12 @@
protected HelixExtrapolator m_findCluster = new org.lcsim.recon.pfa.identifier.LocalHelixExtrapolator();
protected boolean useMuonhits = false;
- public MuonFinder(String tracklist, String inCal, String inMu, String outMap, String outName, String outMapTrackToSetOfClusters){
+ public MuonFinder(String tracklist, String inCal, String inMu, String outMap, String outMapTrackToClusters){
_inCal = inCal;
_inMu = inMu;
_outHitMap = outMap;
- _outName = outName;
_tracklist = tracklist;
- _outMapTrackToSetOfClusters = outMapTrackToSetOfClusters;
+ _outMapTrackToClusters = outMapTrackToClusters;
}
public void process(EventHeader event)
@@ -93,8 +91,6 @@
m_findCluster.process(event); // picks up geometry
List<Track> trackList = event.get(Track.class, _tracklist);
- List<Cluster> muonClusters = new Vector<Cluster>();
- List<Track> muonTracks = new Vector<Track>();
//Create mip cluster separately in Calorimetry and Muon detector.
//Mip in CAL has track matched
@@ -301,9 +297,9 @@
}
List<CalorimeterHit> muonclustershits= new Vector<CalorimeterHit>();
+ Map<Track, Cluster> MuonMapTrackToCluster = new HashMap<Track,Cluster>();
for(Track tr : outputmap.keySet()){
- muonTracks.add(tr);
BasicCluster tmpClus = new BasicCluster();
for(Cluster clus : outputmap.get(tr)){
for(CalorimeterHit hit : clus.getCalorimeterHits()){
@@ -311,15 +307,17 @@
muonclustershits.add(hit);
}
}
- muonClusters.add(tmpClus);
+ MuonMapTrackToCluster.put(tr,tmpClus);
}
HitMap muonMap = new HitMap(muonclustershits);
event.put(_outHitMap, muonMap);
- event.put(_outMapTrackToSetOfClusters, outputmap);
+ event.put(_outMapTrackToClusters, MuonMapTrackToCluster);
if(_debug){
+ List<Track> muonTracks = new Vector<Track>(MuonMapTrackToCluster.keySet());
+ List<Cluster> muonClusters = new Vector<Cluster>(MuonMapTrackToCluster.values());
int flag = 1<<LCIOConstants.CLBIT_HITS;
- event.put(_outName, muonClusters, Cluster.class, flag );
+ event.put("MuonClusters", muonClusters, Cluster.class, flag );
event.put("MuonList", muonTracks);
}
}