lcsim/src/org/lcsim/recon/tracking/seedtracker/diagnostic
diff -u -r1.6 -r1.7
--- SeedTrackerDiagnostics.java 1 Sep 2009 22:55:34 -0000 1.6
+++ SeedTrackerDiagnostics.java 3 Sep 2009 17:53:18 -0000 1.7
@@ -5,7 +5,6 @@
package org.lcsim.recon.tracking.seedtracker.diagnostic;
-import hep.physics.vec.Hep3Vector;
import org.lcsim.event.MCParticle;
import org.lcsim.fit.helicaltrack.HelicalTrackFitter;
import org.lcsim.fit.helicaltrack.HelicalTrackHit;
@@ -27,48 +26,37 @@
@Override
public void fireCheckHitPairFailed(HelicalTrackHit hit1, HelicalTrackHit hit2, SeedCandidate seed) {
+ printmsg(seed, "True seed failed hit pair check");
if (seed.isTrueSeed()) {
- System.out.println("True seed failed hit pair check");
- for (MCParticle mcp : seed.getMCParticles()) {
- Hep3Vector p = mcp.getMomentum();
- double px = p.x();
- double py = p.y();
- double pz = p.z();
- double pt = Math.sqrt(px*px+py*py);
- double eta = -Math.log(Math.tan(Math.acos(pz / p.magnitude()) / 2.));
- System.out.println("pT: "+pt+" eta: "+eta);
- System.out.println("Number of hits in seed: "+seed.getHits().size());
- System.out.println("Hit 1 position: "+hit1.getCorrectedPosition().toString());
- System.out.println("Hit 2 position: "+hit2.getCorrectedPosition().toString());
- }
+ System.out.println("Number of hits in seed: "+seed.getHits().size());
+ System.out.println("Hit 1 position: "+hit1.getCorrectedPosition().toString());
+ System.out.println("Hit 2 position: "+hit2.getCorrectedPosition().toString());
}
}
@Override
public void fireCheckHitFailed(HelicalTrackHit hit, SeedCandidate seed) {
- if (seed.isTrueSeed()) System.out.println("True seed failed hit and seed check");
+ printmsg(seed, "True seed failed hit and seed check");
}
@Override
public void fireHelixFitFailed(SeedCandidate seed, HelicalTrackFitter.FitStatus status, boolean firstfit) {
- if (seed.isTrueSeed()) {
- if (firstfit) System.out.println("Initial fit of true seed failed");
- else System.out.println("Helix fit of true seed failed with "+seed.getHits().size()+" hits");
- }
+ if (firstfit) printmsg(seed, "Initial fit of true seed failed");
+ else printmsg(seed, "Helix fit of true seed failed with "+seed.getHits().size()+" hits");
}
@Override
public void fireFailedChisqCut(SeedCandidate seed) {
- if (seed.isTrueSeed()) System.out.println("True seed failed chisq cut - chisq = "+seed.getHelix().chisqtot());
+ printmsg(seed, "True seed failed chisq cut - chisq = "+seed.getHelix().chisqtot());
}
@Override
public void fireMergeKillingNewSeed(SeedCandidate seed, SeedCandidate newseed) {
if (!seed.isTrueSeed() && newseed.isTrueSeed())
- System.out.println("Merge keeping false seed instead of new true seed");
+ printmsg(seed, "Merge keeping false seed instead of new true seed");
if (seed.isTrueSeed() && newseed.isTrueSeed()) {
if (newseed.getHits().size() > seed.getHits().size()) {
- System.out.println("Merge killing new true seed with more hits than old true seed");
+ printmsg(seed, "Merge killing new true seed with more hits than old true seed");
System.out.println("New seed has "+newseed.getHits().size()
+" hits, old seed has "+seed.getHits().size()+" hits");
System.out.println("New seed has chisq = "+newseed.getHelix().chisqtot()+
@@ -80,10 +68,10 @@
@Override
public void fireMergeKillingOldSeed(SeedCandidate seed, SeedCandidate newseed) {
if (seed.isTrueSeed() && !newseed.isTrueSeed())
- System.out.println("Merge eliminating true seed duplicate in favor of false seed");
+ printmsg(seed, "Merge eliminating true seed duplicate in favor of false seed");
if (seed.isTrueSeed() && newseed.isTrueSeed()) {
if (newseed.getHits().size() < seed.getHits().size()) {
- System.out.println("Merge killing old true seed with more hits than new true seed");
+ printmsg(seed, "Merge killing old true seed with more hits than new true seed");
System.out.println("New seed has "+newseed.getHits().size()
+" hits, old seed has "+seed.getHits().size()+" hits");
System.out.println("New seed has chisq = "+newseed.getHelix().chisqtot()+
@@ -92,7 +80,6 @@
}
}
-
/**
* Sets the prefix to be appended to the beginning of each plot (for example, a strategy name
* @param str the new prefix
@@ -107,4 +94,10 @@
super.fireStrategyChanged(strategy);
}
+ private void printmsg(SeedCandidate seed, String message) {
+ if (!seed.isTrueSeed()) return;
+ for (MCParticle mcp : seed.getMCParticles()) {
+ System.out.println(message+" p: "+mcp.getMomentum().toString());
+ }
+ }
}
\ No newline at end of file