lcsim/src/org/lcsim/recon/tracking/seedtracker
diff -u -r1.11 -r1.12
--- SeedTracker.java 3 Sep 2009 17:52:29 -0000 1.11
+++ SeedTracker.java 9 Sep 2009 04:23:53 -0000 1.12
@@ -18,6 +18,7 @@
import org.lcsim.geometry.Detector;
import org.lcsim.recon.tracking.seedtracker.diagnostic.ISeedTrackerDiagnostics;
import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
/**
* Tracking algorithm based on forming track seeds from all 3-hit combinations,
@@ -41,6 +42,8 @@
private double _bfield = 0.;
private double _rtrk = 1000.;
private boolean _autosectoring = true;
+ private AIDA aida = AIDA.defaultInstance();
+ private boolean _timing = false;
/** Creates a new instance of SeedTracker */
public SeedTracker() {
@@ -80,9 +83,18 @@
// Pass the event to the diagnostics package
if (_diag != null) _diag.setEvent(event);
+ // Initialize timing
+ long last_time = System.currentTimeMillis();
+
// Sort the hits for this event
_hitmanager.OrganizeHits(event);
+ // Make the timing plots if requested
+ long start_time = System.currentTimeMillis();
+ double dtime = ((double) (start_time - last_time)) / 1000.;
+ last_time = start_time;
+ if (_timing) aida.cloud1D("Organize Hits").fill(dtime);
+
// Make sure that we have cleared the list of track seeds in the finder
_finder.clearTrackSeedList();
@@ -94,6 +106,12 @@
// Perform track finding under this strategy
_finder.FindTracks(strategy, _bfield);
+
+ // Make the timing plots if requested
+ long time = System.currentTimeMillis();
+ dtime = ((double) (time - last_time)) / 1000.;
+ last_time = time;
+ if (_timing) aida.cloud1D("Tracking time for strategy "+strategy.getName()).fill(dtime);
}
// Get the list of final list of SeedCandidates
@@ -115,6 +133,11 @@
// Clear the list of track seeds accumulated in the track finder
_finder.clearTrackSeedList();
+ // Make the total time plot if requested
+ long end_time = System.currentTimeMillis();
+ dtime = ((double) (end_time - start_time)) / 1000.;
+ if (_timing) aida.cloud1D("Total tracking time").fill(dtime);
+
return;
}
@@ -178,6 +201,10 @@
}
}
+ public void setTimingPlots(boolean timing) {
+ _timing = timing;
+ }
+
public void setTrkCollectionName(String name) {
_maketracks.setTrkCollectionName(name);
}