lcsim/src/org/lcsim/contrib/Partridge/TrackingTest
diff -u -r1.3 -r1.4
--- AnalysisDriver.java 2 Oct 2008 17:12:31 -0000 1.3
+++ AnalysisDriver.java 13 Oct 2008 01:13:50 -0000 1.4
@@ -18,12 +18,14 @@
import org.lcsim.recon.tracking.seedtracker.SeedTrack;
import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
import org.lcsim.fit.helicaltrack.HelicalTrackFit;
-import org.lcsim.event.TrackerHit;
import org.lcsim.fit.helicaltrack.HelicalTrackHit;
import org.lcsim.event.EventHeader;
import org.lcsim.event.LCRelation;
import org.lcsim.event.Track;
import org.lcsim.event.MCParticle;
+import org.lcsim.event.RelationalTable;
+import org.lcsim.event.TrackerHit;
+import org.lcsim.event.base.BaseRelationalTable;
import org.lcsim.util.aida.AIDA;
import org.lcsim.util.Driver;
@@ -50,21 +52,28 @@
* @param event EventHeader for this event
*/
public void process(EventHeader event) {
+ RelationalTable reltab = new BaseRelationalTable(RelationalTable.Mode.MANY_TO_MANY, RelationalTable.Weighting.UNWEIGHTED);
+ List<LCRelation> hitrelations = event.get(LCRelation.class, "HelicalTrackHitRelations");
+ for (LCRelation relation : hitrelations) {
+ reltab.add(relation.getFrom(), relation.getTo());
+ }
List<Track> tracklist = event.getTracks();
Map<MCParticle, Track> trkmap = new HashMap<MCParticle, Track>();
- List<LCRelation> hitrelations = event.get(LCRelation.class, "HelicalTrackHitRelations");
+// List<LCRelation> hitrelations = event.get(LCRelation.class, "HelicalTrackHitRelations");
for (Track track : tracklist) {
List<TrackerHit> hitlist = track.getTrackerHits();
- for (TrackerHit hit : hitlist) {
- for (LCRelation relate : hitrelations) {
- if (relate.getFrom().equals(hit)) {
- org.lcsim.contrib.onoprien.tracking.hit.TrackerHit hit2 =
- (org.lcsim.contrib.onoprien.tracking.hit.TrackerHit) relate.getTo();
- System.out.println(" Relation for hit type: "+hit.getType()+" x1: "
- +hit.getPosition()[0]+" x2: "+hit2.getPosition().x());
- }
- }
- }
+// for (TrackerHit hit : hitlist) {
+// System.out.println(" Hit of type "+hit.getType()+" has "+reltab.allFrom(hit).size()+" associated hits");
+// }
+// for (LCRelation relate : hitrelations) {
+// if (relate.getFrom().equals(hit)) {
+// org.lcsim.contrib.onoprien.tracking.hit.TrackerHit hit2 =
+// (org.lcsim.contrib.onoprien.tracking.hit.TrackerHit) relate.getTo();
+// System.out.println(" Relation for hit type: "+hit.getType()+" x1: "
+// +hit.getPosition()[0]+" x2: "+hit2.getPosition().x());
+// }
+// }
+// }
Map<MCParticle, Integer> mcmap = new HashMap<MCParticle, Integer>();
if (track instanceof SeedTrack) {
SeedCandidate seed = ((SeedTrack) track).getSeedCandidate();
@@ -118,7 +127,6 @@
else trkmap.put(mcmatch, track);
}
}
-
List<MCParticle> mclist = event.getMCParticles();
for (MCParticle mcp : mclist) {
if (mcp.getCharge() == 0) continue;