lcsim-contrib/src/main/java/org/lcsim/contrib/Partridge/TrackingTest
diff -u -r1.3 -r1.4
--- LOIEffFake.java 9 Mar 2009 23:43:12 -0000 1.3
+++ LOIEffFake.java 25 Mar 2009 00:30:44 -0000 1.4
@@ -41,6 +41,8 @@
private IHistogram1D pTeff2;
private IHistogram1D thetaeff;
private IHistogram1D ctheff;
+ private IHistogram1D ctheff1;
+ private IHistogram1D ctheff2;
private IHistogram1D d0eff1;
private IHistogram1D d0eff2;
private IHistogram1D z0eff1;
@@ -59,6 +61,8 @@
pTeff2 = hf.createHistogram1D("Efficiency vs pT full", "", 100, 0., 50., "type=efficiency");
thetaeff = hf.createHistogram1D("Efficiency vs theta", "", 72, 0., 180., "type=efficiency");
ctheff = hf.createHistogram1D("Efficiency vs cos(theta)", "", 200, -1., 1., "type=efficiency");
+ ctheff1 = hf.createHistogram1D("Efficiency vs cos(theta) - pT < 0.5 GeV", "", 200, -1., 1., "type=efficiency");
+ ctheff2 = hf.createHistogram1D("Efficiency vs cos(theta) - pT > 0.5 GeV", "", 200, -1., 1., "type=efficiency");
d0eff1 = hf.createHistogram1D("Efficiency vs d0", "", 50, -5., 5., "type=efficiency");
d0eff2 = hf.createHistogram1D("Efficiency vs d0 full", "", 24, -12., 12., "type=efficiency");
z0eff1 = hf.createHistogram1D("Efficiency vs z0", "", 50, -5., 5., "type=efficiency");
@@ -251,6 +255,8 @@
if (findable.isFindable(mcp, slist)) {
thetaeff.fill(theta, wgt);
ctheff.fill(cth, wgt);
+ if (pt < 0.5) ctheff1.fill(cth, wgt);
+ else ctheff2.fill(cth, wgt);
}
// Make d0 efficiency plot
@@ -394,7 +400,7 @@
// Make the normalized plot every 100 events
if (nevt % 100 == 0) {
nfakes = hf.createHistogram1D("Number of mis-matched hits (normalized)", "", 10, 0., 10.);
- double wgt = 100. / ntrktot;
+ double wgt = 1. / ntrktot;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < fakes.binHeight(i); j++) {
nfakes.fill(i, wgt);
@@ -423,6 +429,8 @@
// Make a list of final state particle momenta
List<Hep3Vector> plist = new ArrayList<Hep3Vector>();
+ if (mclist.size()>2000) return new BasicHep3Vector(0., 0., 1.0);
+
for (MCParticle mcp : mclist) {
if (mcp.getGeneratorStatus() == MCParticle.FINAL_STATE)
plist.add(mcp.getMomentum());
lcsim-contrib/src/main/java/org/lcsim/contrib/Partridge/TrackingTest
diff -u -r1.3 -r1.4
--- ResolutionAnalysis.java 25 Feb 2009 17:51:32 -0000 1.3
+++ ResolutionAnalysis.java 25 Mar 2009 00:30:44 -0000 1.4
@@ -69,21 +69,22 @@
double z0dif = z0trk - z0mc;
double theta = Math.acos(mcp.getMomentum().z()/pmc);
if (mcp.getCharge() > 0.) {
-// aida.cloud1D("Momentum error for positive tracks").fill(pdif);
-// aida.cloud1D("d0 error for positive tracks").fill(d0dif);
-// aida.histogram1D("z0 error for positive tracks",100,-.1,.1).fill(z0dif);
+ aida.cloud1D("Momentum error for positive tracks").fill(pdif);
+ aida.cloud1D("d0 error for positive tracks").fill(d0dif);
+ aida.histogram1D("z0 error for positive tracks",100,-.1,.1).fill(z0dif);
} else {
-// aida.cloud1D("Momentum error for negative tracks").fill(pdif);
-// aida.histogram1D("d0 error for negative tracks",100,-.1,.1).fill(d0dif);
-// aida.histogram1D("z0 error for negative tracks",100,-.1,.1).fill(z0dif);
+ aida.cloud1D("Momentum error for negative tracks").fill(pdif);
+ aida.histogram1D("d0 error for negative tracks",100,-.1,.1).fill(d0dif);
+ aida.histogram1D("z0 error for negative tracks",100,-.1,.1).fill(z0dif);
}
aida.cloud1D("d0 error for all tracks").fill(d0dif);
-// aida.histogram1D("z0 error for all tracks", 100, -.1, .1).fill(z0dif);
-// aida.cloud1D("Momentum error for all tracks").fill(pdif);
-// aida.cloud1D("Track momentum for all tracks").fill(ptrk);
-// aida.cloud1D("MC momentum for all tracks").fill(pmc);
-// aida.cloud1D("Momentum resolution for all tracks").fill(pdif/pmc);
-// aida.cloud1D("Polar angle").fill(theta);
+ aida.histogram1D("z0 error for all tracks", 100, -.1, .1).fill(z0dif);
+ aida.cloud1D("Momentum error for all tracks").fill(pdif);
+ aida.cloud1D("Track momentum for all tracks").fill(ptrk);
+ aida.cloud1D("MC momentum for all tracks").fill(pmc);
+ aida.cloud1D("Momentum resolution for all tracks").fill(pdif/pmc);
+ aida.cloud1D("Polar angle").fill(theta);
+ aida.cloud1D("chi squared").fill(track.getChi2());
}
}