lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/cheat
diff -u -r1.2 -r1.3
--- CheatTrackFinderDriver.java 24 Jan 2009 05:11:46 -0000 1.2
+++ CheatTrackFinderDriver.java 26 Jan 2009 05:29:59 -0000 1.3
@@ -25,7 +25,7 @@
* Driver that uses MC truth info to produce a list of tracks.
*
* @author D. Onoprienko
- * @version $Id: CheatTrackFinderDriver.java,v 1.2 2009/01/24 05:11:46 onoprien Exp $
+ * @version $Id: CheatTrackFinderDriver.java,v 1.3 2009/01/26 05:29:59 onoprien Exp $
*/
public class CheatTrackFinderDriver extends Driver implements JobEventListener {
@@ -112,37 +112,9 @@
ArrayList<CruxTrack> trackList = new ArrayList<CruxTrack>(100);
event.put(_trackListName, trackList, CruxTrack.class, 0);
- // Compile set of hits
-
- HashSet<ITrackerHit> hitSet = new HashSet<ITrackerHit>();
- for (String name : _hitMapNames) {
- try {
- Collection<ITrackerHit> hitMap = (Collection<ITrackerHit>) event.get(name);
- hitSet.addAll(hitMap);
- } catch (IllegalArgumentException x) {
- continue;
- }
- }
-
// Associate hits to MCParticles :
- _mc2hit = new HashMap<MCParticle,List<ITrackerHit>>();
- for (ITrackerHit hit : hitSet) {
- List<MCParticle> mcList = _mcTruth.getMCParticles(hit);
- for (MCParticle mc : mcList) {
- List<ITrackerHit> hits = _mc2hit.get(mc);
- if (hits == null) {
- hits = new ArrayList<ITrackerHit>();
- _mc2hit.put(mc, hits);
- }
- hits.add(hit);
- }
- }
- for (Map.Entry<MCParticle, List<ITrackerHit>> entry : _mc2hit.entrySet()) {
- _mc = entry.getKey();
- Collections.sort(entry.getValue(), _hitTimeComparator);
- _mc = null;
- }
+ _mc2hit = _mcTruth.mapByMCParticle(_hitMapNames);
// Loop over MCParticle, creating Tracks for those deemed reconstructable
@@ -225,28 +197,4 @@
private BField _bField;
private HashMap<MCParticle,List<ITrackerHit>> _mc2hit;
-
- private Comparator<ITrackerHit> _hitTimeComparator = new Comparator<ITrackerHit>() {
- public int compare(ITrackerHit hit1, ITrackerHit hit2) {
- SimTrackerHit sHit1 = null;
- SimTrackerHit sHit2 = null;
- List<SimTrackerHit> simList = _mcTruth.getSimTrackerHits(hit1);
- for (SimTrackerHit sHit : simList) {
- if (sHit.getMCParticle() == _mc) {
- sHit1 = sHit;
- break;
- }
- }
- simList = _mcTruth.getSimTrackerHits(hit2);
- for (SimTrackerHit sHit : simList) {
- if (sHit.getMCParticle() == _mc) {
- sHit2 = sHit;
- break;
- }
- }
- return (int) Math.signum(sHit1.getTime() - sHit2.getTime());
- }
- };
- private MCParticle _mc;
-
}
lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/cheat
diff -u -r1.2 -r1.3
--- RecoDefinitionExtended.java 24 Jan 2009 22:38:34 -0000 1.2
+++ RecoDefinitionExtended.java 26 Jan 2009 05:29:59 -0000 1.3
@@ -24,7 +24,7 @@
* the methods.
*
* @author D. Onoprienko
- * @version $Id: RecoDefinitionExtended.java,v 1.2 2009/01/24 22:38:34 onoprien Exp $
+ * @version $Id: RecoDefinitionExtended.java,v 1.3 2009/01/26 05:29:59 onoprien Exp $
*/
public class RecoDefinitionExtended extends RecoDefinition {
@@ -166,7 +166,7 @@
hits = _mcTruthVS.getTrackerClusters(mc);
} else {
if (_mc2thList == null) {
- _mc2thList = _mcTruthVS.mapByMCParticle(_trackerHitListNames.toArray(new String[0]));
+ _mc2thList = _mcTruthVS.mapByMCParticle(_trackerHitListNames);
}
hits = _mc2thList.get(mc);
if (hits == null) return 0;