3 modified files
lcsim/src/org/lcsim/contrib/uiowa
diff -u -r1.13 -r1.14
--- SetUpDTreeForReclustering.java 22 Oct 2008 19:24:09 -0000 1.13
+++ SetUpDTreeForReclustering.java 12 Nov 2008 08:18:26 -0000 1.14
@@ -74,7 +74,7 @@
{
// Find muons
- MuonFinderWrapper muonFinder = new MuonFinderWrapper("TracksWithoutElectrons", "AllDigiHitMapWithoutElectrons", "MuonTrackClusterMap", "AllDigiHitMapWithoutElectronsOrMuons", "TracksWithoutElectronsOrMuons");
+ MuonFinderWrapper muonFinder = new MuonFinderWrapper(findCluster, "TracksWithoutElectrons", "AllDigiHitMapWithoutElectrons", "MuonTrackClusterMap", "AllDigiHitMapWithoutElectronsOrMuons", "TracksWithoutElectronsOrMuons");
//muonFinder.skip(); // TEST
add(muonFinder);
// Identify the muon hits within useable hit block
@@ -89,7 +89,7 @@
add(showerFinder);
add(new CheckDisjoint("RecoDigiHitMapWithoutElectronsOrMuonsOrMips", "ShowerFinderMips"));
// Steve's pre-shower MIP-finder
- add(new SteveMipWrapper());
+ //add(new SteveMipWrapper());
// Match tracks -> pre-shower MIPs (best possible linkage)
add(new TrackToPreShowerMipMapMaker("ShowerFinderMapTrackToMip", "TracksWithoutElectronsOrMuons", "MapPreShowerMipTracksToClusterSeeds", "UnmatchedTracksAfterPreShowerMipMap", "PreShowerMipMatchMipClusters", "PreShowerMipMatchSmallClusters", "PreShowerMipMatchBlockClusters"));
lcsim/src/org/lcsim/contrib/uiowa/MuonFinder
diff -u -r1.13 -r1.14
--- MuonFinder.java 21 Oct 2008 22:44:34 -0000 1.13
+++ MuonFinder.java 12 Nov 2008 08:18:27 -0000 1.14
@@ -43,10 +43,11 @@
protected boolean _useFirstTwoLayer = true;
EventHeader m_event;
- protected HelixExtrapolator m_findCluster = new org.lcsim.recon.pfa.identifier.LocalHelixExtrapolator();
+ protected HelixExtrapolator _findCluster;
protected boolean useMuonHitsForDebug = false;
- public MuonFinder(String tracklist, String inCal, String inMu, String outMap, String outMapTrackToClusters){
+ public MuonFinder(HelixExtrapolator findCluster, String tracklist, String inCal, String inMu, String outMap, String outMapTrackToClusters){
+ _findCluster = findCluster;
_inCal = inCal;
_inMu = inMu;
_outHitMap = outMap;
@@ -93,7 +94,7 @@
for (CalorimeterHit allhit : calhits) allHitIDs.add(allhit.getCellID());
- m_findCluster.process(event); // picks up geometry
+ _findCluster.process(event); // picks up geometry
List<Track> trackList = event.get(Track.class, _tracklist);
@@ -101,7 +102,7 @@
//Mip in CAL has track matched
//But Mip in Muon detector is standalone.
//In the future, the muon Mip will be replace with standalone muon track.
- MipTrackMap finder = new MipTrackMap(m_findCluster);
+ MipTrackMap finder = new MipTrackMap(_findCluster);
Map<Track,BasicCluster> mipmap = finder.createCalMIPMap(calhits, trackList);
List<Cluster> muonmips = finder.createMIPMuDet(mudethits);
@@ -167,7 +168,7 @@
double pT = Math.sqrt(track.x()*track.x() + track.y()*track.y());
double costheta = Math.abs(track.z()/p);
- HelixExtrapolationResult result = m_findCluster.performExtrapolation(tr);
+ HelixExtrapolationResult result = _findCluster.performExtrapolation(tr);
Cluster calmip = mipmap.get(tr);
Hep3Vector last = new BasicHep3Vector();
Hep3Vector lastUnit = new BasicHep3Vector();
@@ -265,6 +266,7 @@
if(!(muon || (isolated > 6) )) continue;
if (!muon) {
// Skip these cases to avoid pion contamination.
+ if(_debug) System.out.println("Mip doesn't reach in last 10 layers");
continue;
}
Hep3Vector link = VecOp.sub(muonpos0, lastpoint);
@@ -338,7 +340,7 @@
List<Cluster> muonClusters = new Vector<Cluster>(MuonMapTrackToCluster.values());
int flag = 1<<LCIOConstants.CLBIT_HITS;
event.put("MuonClusters", muonClusters, Cluster.class, flag );
- event.put("MuonList", muonTracks);
+ event.put("MuonList", muonTracks, Track.class, flag);
}
}
lcsim/src/org/lcsim/contrib/uiowa/MuonFinder
diff -u -r1.2 -r1.3
--- MuonFinderWrapper.java 15 Oct 2008 00:52:30 -0000 1.2
+++ MuonFinderWrapper.java 12 Nov 2008 08:18:27 -0000 1.3
@@ -7,12 +7,14 @@
import org.lcsim.recon.cluster.util.BasicCluster;
import org.lcsim.recon.cluster.util.HitInMCALDecision;
import org.lcsim.util.hitmap.HitMap;
+import org.lcsim.recon.pfa.identifier.*;
public class MuonFinderWrapper extends Driver {
// Inputs
protected String m_trackList;
protected String m_inHitMap;
+ protected HelixExtrapolator m_findCluster;
// Outputs
protected String m_outMuonTrackClusterMap;
@@ -29,9 +31,10 @@
protected boolean m_debugSkip = false;
public void skip() { m_debugSkip = true; }
- public MuonFinderWrapper(String inTrackList, String inHitMap, String outMuonTrackClusterMap, String outHitMap, String outTrackList)
+ public MuonFinderWrapper(HelixExtrapolator findCluster, String inTrackList, String inHitMap, String outMuonTrackClusterMap, String outHitMap, String outTrackList)
{
// Inputs/outputs
+ m_findCluster = findCluster;
m_trackList = inTrackList;
m_inHitMap = inHitMap;
m_outMuonTrackClusterMap = outMuonTrackClusterMap;
@@ -75,7 +78,7 @@
outTrackList = inTrackList;
} else {
// Call old process routine to do the work
- MuonFinder tmpWrappedMuonFinder = new MuonFinder(m_trackList, _inCal, _inMu, _outHitMap, _outMapTrackToClusters);
+ MuonFinder tmpWrappedMuonFinder = new MuonFinder(m_findCluster, m_trackList, _inCal, _inMu, _outHitMap, _outMapTrackToClusters);
tmpWrappedMuonFinder.process(event);
outMuonTrackClusterMap = (Map<Track,Cluster>)(event.get(_outMapTrackToClusters));
CVSspam 0.2.8