hps-java/src/main/java/org/lcsim/hps/users/mgraham
diff -u -r1.1 -r1.2
--- TwoTrackAnalysis.java 20 Nov 2012 19:21:33 -0000 1.1
+++ TwoTrackAnalysis.java 20 Dec 2012 22:14:48 -0000 1.2
@@ -4,12 +4,15 @@
import Jama.SingularValueDecomposition;
import hep.aida.IAnalysisFactory;
import hep.aida.IHistogram1D;
+import hep.aida.IHistogram2D;
import hep.aida.IPlotter;
import hep.aida.IPlotterStyle;
import hep.physics.matrix.SymmetricMatrix;
import hep.physics.vec.BasicHep3Vector;
import hep.physics.vec.Hep3Vector;
+import java.io.FileWriter;
import java.io.IOException;
+import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
@@ -31,11 +34,14 @@
import org.lcsim.util.aida.AIDA;
/**
-
- @author mgraham
+ *
+ * @author mgraham
*/
public class TwoTrackAnalysis extends Driver implements Resettable {
+ public String outputTextName = "myevents.txt";
+ FileWriter fw;
+ PrintWriter pw;
private AIDAFrame plotterFrame;
private AIDA aida = AIDA.defaultInstance();
IPlotter plotter;
@@ -43,25 +49,32 @@
IPlotter plotter3;
IPlotter plotter4;
IPlotter plotter5;
+ IPlotter plotter6;
+ IPlotter plotter7;
+ IPlotter plotter8;
IAnalysisFactory fac = aida.analysisFactory();
private String trackCollectionName = "MatchedTracks";
private double zAtConverter = -674.062;//mm
private String outputPlots = null;
private boolean isMC = true;
private boolean showPlots = false;
+ int nevt = 0;
protected void detectorChanged(Detector detector) {
aida.tree().cd("/");
- plotterFrame = new AIDAFrame();
- plotterFrame.setTitle("HPS Tracking Plots");
-
+ if (showPlots) {
+ plotterFrame = new AIDAFrame();
+ plotterFrame.setTitle("HPS Tracking Plots");
+ }
plotter = fac.createPlotterFactory().create("HPS Tracking Plots");
plotter.setTitle("Momentum");
IPlotterStyle style = plotter.style();
style.dataStyle().fillStyle().setColor("yellow");
style.dataStyle().errorBarStyle().setVisible(false);
plotter.createRegions(2, 2);
- plotterFrame.addPlotter(plotter);
+ if (showPlots) {
+ plotterFrame.addPlotter(plotter);
+ }
IHistogram1D trkPx = aida.histogram1D("Track Momentum (Px)", 25, -0.25, 0.25);
IHistogram1D trkPy = aida.histogram1D("Track Momentum (Py)", 25, -0.1, 0.1);
@@ -81,7 +94,9 @@
plotter2.style().dataStyle().fillStyle().setColor("yellow");
plotter2.style().dataStyle().errorBarStyle().setVisible(false);
plotter2.createRegions(2, 2);
- plotterFrame.addPlotter(plotter2);
+ if (showPlots) {
+ plotterFrame.addPlotter(plotter2);
+ }
IHistogram1D xvert = aida.histogram1D("XVertex", 40, -30, 50);
IHistogram1D yvert = aida.histogram1D("YVertex", 40, -35, 30);
@@ -98,12 +113,14 @@
plotter4.style().dataStyle().fillStyle().setColor("yellow");
plotter4.style().dataStyle().errorBarStyle().setVisible(false);
plotter4.createRegions(2, 2);
- plotterFrame.addPlotter(plotter4);
+ if (showPlots) {
+ plotterFrame.addPlotter(plotter4);
+ }
- IHistogram1D xvertns = aida.histogram1D("XVertex no softies", 40, -30, 50);
- IHistogram1D yvertns = aida.histogram1D("YVertex no softies", 40, -35, 30);
- IHistogram1D zvertns = aida.histogram1D("ZVertex no softies", 40, -800, -450);
- IHistogram1D distns = aida.histogram1D("Distance btwn Trks @ Solution no softies", 40, 0, 20);
+ IHistogram1D xvertns = aida.histogram1D("XVertex with y cut", 40, -30, 50);
+ IHistogram1D yvertns = aida.histogram1D("YVertex with y cut", 40, -35, 30);
+ IHistogram1D zvertns = aida.histogram1D("ZVertex with y cut", 40, -800, -450);
+ IHistogram1D distns = aida.histogram1D("Distance btwn Trks with y cut", 40, 0, 20);
plotter4.region(0).plot(xvertns);
plotter4.region(1).plot(yvertns);
plotter4.region(2).plot(zvertns);
@@ -116,7 +133,9 @@
plotter3.style().dataStyle().fillStyle().setColor("yellow");
plotter3.style().dataStyle().errorBarStyle().setVisible(false);
plotter3.createRegions(2, 2);
- plotterFrame.addPlotter(plotter3);
+ if (showPlots) {
+ plotterFrame.addPlotter(plotter3);
+ }
IHistogram1D xAtConvert = aida.histogram1D("X (mm) @ Converter using Map", 50, -50, 50);
IHistogram1D yAtConvert = aida.histogram1D("Y (mm) @ Converter using Map", 50, -20, 20);
IHistogram1D xAtConvertSLT = aida.histogram1D("X (mm) @ Converter using SLT", 50, -50, 50);
@@ -126,23 +145,101 @@
plotter3.region(2).plot(xAtConvertSLT);
plotter3.region(3).plot(yAtConvertSLT);
- plotter5 = fac.createPlotterFactory().create("HPS Tracking Plots");
+ plotter5 = fac.createPlotterFactory().create("HPS Tracking Plots");
plotter5.setTitle("Mass");
-
plotter5.style().dataStyle().fillStyle().setColor("yellow");
plotter5.style().dataStyle().errorBarStyle().setVisible(false);
//plotter5.createRegions(2, 2);
- plotterFrame.addPlotter(plotter5);
+ if (showPlots) {
+ plotterFrame.addPlotter(plotter5);
+ }
IHistogram1D invMass = aida.histogram1D("Invariant Mass", 50, 0, .4);
-
+
plotter5.region(0).plot(invMass);
-
-
-
- plotterFrame.pack();
- if(showPlots)
- plotterFrame.setVisible(true);
+ plotter6 = fac.createPlotterFactory().create("HPS Tracking Plots");
+ plotter6.setTitle("correlations");
+ plotter6.style().setParameter("hist2DStyle", "colorMap");
+ plotter6.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+ plotter6.createRegions(1, 3);
+ IHistogram2D xy = aida.histogram2D("X v Y", 50, -30, 50, 50, -35, 30);
+ IHistogram2D xz = aida.histogram2D("X v Z", 50, -30, 50, 50, -800, -450);
+ IHistogram2D yz = aida.histogram2D("Y v Z", 50, -35, 30, 50, -800, -450);
+ plotter6.region(0).plot(xy);
+ plotter6.region(1).plot(xz);
+ plotter6.region(2).plot(yz);
+
+
+
+ IHistogram1D trkbins = aida.histogram1D("Track Distributions", 5, -2, 3);
+ IHistogram2D twtrkptot = aida.histogram2D("Total P+ vs. P-", 60, 0, 4, 60, 0, 4);
+ IHistogram1D sumtrks = aida.histogram1D("Sum of Track's Momentums", 100, -1, 7);
+ IHistogram1D perptrks = aida.histogram1D("Perpendicular Momentum", 100, 0, .1);
+ IHistogram2D pyppm = aida.histogram2D("Py+ vs. Py-", 60, -.1, .1, 60, -.1, .1);
+ IHistogram2D pzppm = aida.histogram2D("Pz+ vs. Pz-", 60, -.1, .1, 60, -.1, .1);
+ IHistogram1D px = aida.histogram1D("Two Track X Momentum", 40, 0, 4);
+ IHistogram1D py = aida.histogram1D("Two Track Y Momentum", 40, -.1, .1);
+ IHistogram1D pz = aida.histogram1D("Two Track Z Momentum", 40, -.1, .1);
+ IHistogram1D chi2 = aida.histogram1D("Tracks Chi2", 25, 0, 25.0);
+ IHistogram1D bbpx = aida.histogram1D("Big Bump Track Momenta (Px)", 40, 0, 4);
+ IHistogram1D bbpy = aida.histogram1D("Big Bump Track Momenta (Py)", 40, -.1, .1);
+ IHistogram1D bbpz = aida.histogram1D("Big Bump Track Momenta (Pz)", 40, -.1, .1);
+ IHistogram1D bbchi2 = aida.histogram1D("Big Bump Tracks Chi2", 25, 0, 25.0);
+ IHistogram1D spx = aida.histogram1D("Split Track Momenta (Px)", 40, 0, 4);
+ IHistogram1D spy = aida.histogram1D("Split Track Momenta (Py)", 40, -.1, .1);
+ IHistogram1D spz = aida.histogram1D("Split Track Momenta (Pz)", 40, -.1, .1);
+ IHistogram1D schi2 = aida.histogram1D("Split Tracks Chi2", 25, 0, 25.0);
+ IHistogram1D bbsumtrks = aida.histogram1D("Big Bump Sum of Track's Momentums", 50, -1, 7);
+ IHistogram2D bbpppm = aida.histogram2D("Big Bump P+ vs. P-", 50, 0, 4, 50, 0, 4);
+ IHistogram2D lbpppm = aida.histogram2D("Little Bump P+ vs. P-", 50, 0, 4, 50, 0, 4);
+ IHistogram1D lbsumtrks = aida.histogram1D("Little Bump Sum of Track's Momentums", 50, -1, 7);
+ IHistogram1D lbpx = aida.histogram1D("Little Bump Track Momenta (Px)", 40, 0, 4);
+ IHistogram1D lbpy = aida.histogram1D("Little Bump Track Momenta (Py)", 40, -.1, .1);
+ IHistogram1D lbpz = aida.histogram1D("Little Bump Track Momenta (Pz)", 40, -.1, .1);
+ IHistogram1D lbchi2 = aida.histogram1D("Little Bump Tracks Chi2", 25, 0, 25.0);
+ IHistogram2D xyemt = aida.histogram2D("X v Y - e- Top", 50, -30, 50, 50, -35, 30);
+ IHistogram2D xzemt = aida.histogram2D("X v Z - e- Top", 50, -30, 50, 50, -800, -450);
+ IHistogram2D yzemt = aida.histogram2D("Y v Z - e- Top", 50, -35, 30, 50, -800, -450);
+ IHistogram1D qbins = aida.histogram1D("Charge Distributions", 5, -2, 3);
+ IHistogram1D lbtp = aida.histogram1D("Little Bump Track Parity", 7, 0, 7);
+ IHistogram1D bbtp = aida.histogram1D("Big Bump Track Parity", 7, 0, 7);
+ IHistogram1D xres = aida.histogram1D("X Res Trk1", 40, -0.25, 0.25);
+ IHistogram1D yres = aida.histogram1D("Y Res Trk1", 40, -0.25, 0.25);
+ IHistogram1D xres2 = aida.histogram1D("X Res Trk2", 40, -0.25, 0.25);
+ IHistogram1D yres2 = aida.histogram1D("Y Res Trk2", 40, -0.25, 0.25);
+ IHistogram1D unx1 = aida.histogram1D("Uncert X Trk 1", 50, 0, 10);
+ IHistogram1D uny1 = aida.histogram1D("Uncert Y Trk 1", 50, 0, 10);
+ IHistogram1D unz1 = aida.histogram1D("Uncert Z Trk 1", 50, 0, 40);
+ IHistogram1D unx2 = aida.histogram1D("Uncert X Trk 2", 50, 0, 10);
+ IHistogram1D uny2 = aida.histogram1D("Uncert Y Trk 2", 50, 0, 10);
+ IHistogram1D unz2 = aida.histogram1D("Uncert Z Trk 2", 50, 0, 40);
+ IHistogram2D xyept = aida.histogram2D("X v Y - e+ Top", 50, -30, 50, 50, -35, 30);
+ IHistogram2D xzept = aida.histogram2D("X v Z - e+ Top", 50, -30, 50, 50, -800, -450);
+ IHistogram2D yzept = aida.histogram2D("Y v Z - e+ Top", 50, -35, 30, 50, -800, -450);
+ IHistogram1D three = aida.histogram1D("Three Track Invariant Mass", 50, 0, .4);
+
+ plotter7 = fac.createPlotterFactory().create("HPS Tracking Plots");
+ plotter7.setTitle("correlations e+ Top");
+ plotter7.style().setParameter("hist2DStyle", "colorMap");
+ plotter7.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+ plotter7.createRegions(1, 3);
+ plotter7.region(0).plot(xyept);
+ plotter7.region(1).plot(xzept);
+ plotter7.region(2).plot(yzept);
+
+ plotter8 = fac.createPlotterFactory().create("HPS Tracking Plots");
+ plotter8.setTitle("correlations e- Top");
+ plotter8.style().setParameter("hist2DStyle", "colorMap");
+ plotter8.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+ plotter8.createRegions(1, 3);
+ plotter8.region(0).plot(xyemt);
+ plotter8.region(1).plot(xzemt);
+ plotter8.region(2).plot(yzemt);
+
+ if (showPlots) {
+ plotterFrame.pack();
+ plotterFrame.setVisible(true);
+ }
}
public void setIsMC(boolean setit) {
@@ -150,8 +247,20 @@
}
public void process(EventHeader event) {
+
+ if (nevt == 0) {
+ try {
+//open things up
+ fw = new FileWriter(outputTextName);
+ pw = new PrintWriter(fw);
+ } catch (IOException ex) {
+ Logger.getLogger(TwoTrackAnalysis.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+ nevt++;
aida.tree().cd("/");
List<Track> tracks = event.get(Track.class, trackCollectionName);
+ System.out.println("Staring TwoTrackAnalysis");
for (Track trk : tracks) {
aida.histogram1D("Track Momentum (Px)").fill(trk.getPY());
aida.histogram1D("Track Momentum (Py)").fill(trk.getPZ());
@@ -167,12 +276,16 @@
Hep3Vector[] trkatconver = hpstrack.getPositionAtZMap(100, zAtConverter, 1);
aida.histogram1D("X (mm) @ Converter using Map").fill(trkatconver[0].x()); // y tracker frame?
aida.histogram1D("Y (mm) @ Converter using Map").fill(trkatconver[0].y()); // z tracker frame?
- aida.histogram1D("X (mm) @ Converter using SLT").fill(slt.getYZAtX(zAtConverter)[0]); // y tracker frame?
- aida.histogram1D("Y (mm) @ Converter using SLT").fill(slt.getYZAtX(zAtConverter)[1]); // z tracker frame?
+ if (slt != null) {
+ aida.histogram1D("X (mm) @ Converter using SLT").fill(slt.getYZAtX(zAtConverter)[0]); // y tracker frame?
+ aida.histogram1D("Y (mm) @ Converter using SLT").fill(slt.getYZAtX(zAtConverter)[1]); // z tracker frame?
+ }
}
+ System.out.println("...checking if two tracks...");
if (tracks.size() == 2) { //uncert can be used here && (Ytrue || Ytrue2) && (Xtrue || Xtrue2)
+ System.out.println(" ...yes!");
Track trk1 = tracks.get(0);
Track trk2 = tracks.get(1);
@@ -207,9 +320,9 @@
// Hep3Vector[] trkatconver2 = hpstrack2.getPositionAtZMap(100, zAtConverter, 1);
HPSTrack hpstrack1 = new HPSTrack(ht1);
- Hep3Vector[] trkatconver1 = {new BasicHep3Vector(),new BasicHep3Vector(0,0,0)};
+ Hep3Vector[] trkatconver1 = {new BasicHep3Vector(), new BasicHep3Vector(0, 0, 0)};
HPSTrack hpstrack2 = new HPSTrack(ht2);
- Hep3Vector[] trkatconver2 = {new BasicHep3Vector(),new BasicHep3Vector(0,0,0)};;
+ Hep3Vector[] trkatconver2 = {new BasicHep3Vector(), new BasicHep3Vector(0, 0, 0)};;
if (isMC) {
double[] t1 = slt1.getYZAtX(zAtConverter);
double[] t2 = slt2.getYZAtX(zAtConverter);
@@ -303,11 +416,12 @@
-
+ double X1 = -99, Y1 = -99;
//-674.062;//mm
- double X1 = slt1.getYZAtX(zAtConverter)[0];
- double Y1 = slt1.getYZAtX(zAtConverter)[1];
-
+ if (slt1 != null) {
+ X1 = slt1.getYZAtX(zAtConverter)[0];
+ Y1 = slt1.getYZAtX(zAtConverter)[1];
+ }
boolean X1cent = false;
boolean Y1cent = false; //for simulation
@@ -319,10 +433,11 @@
Y1cent = true;
}
-
- double X2 = slt2.getYZAtX(zAtConverter)[0];
- double Y2 = slt2.getYZAtX(zAtConverter)[1];
-
+ double X2 = 99, Y2 = 99;
+ if (slt2 != null) {
+ X2 = slt2.getYZAtX(zAtConverter)[0];
+ Y2 = slt2.getYZAtX(zAtConverter)[1];
+ }
boolean X2cent = false;
boolean Y2cent = false; //for simulation
@@ -390,8 +505,8 @@
double[] posvec = new double[3];
if (isMC) {
posvec[0] = slt1.getYZAtX(z)[0];
- posvec[1] = slt1.getYZAtX(z)[1];
- posvec[2] = z;
+ posvec[1] = slt1.getYZAtX(z)[1];
+ posvec[2] = z;
} else {
Hep3Vector[] trk1atz = hpstrack1.getPositionAtZMap(100, z, 1);
posvec[0] = trk1atz[0].x();
@@ -473,9 +588,9 @@
double[] posvec2 = new double[3];
if (isMC) {
- posvec2[0] = slt2.getYZAtX(z)[0];
- posvec2[1] = slt2.getYZAtX(z)[1];
- posvec2[2] = z;
+ posvec2[0] = slt2.getYZAtX(z)[0];
+ posvec2[1] = slt2.getYZAtX(z)[1];
+ posvec2[2] = z;
} else {
Hep3Vector[] trk2atz = hpstrack2.getPositionAtZMap(100, z, 1);
posvec2[0] = trk2atz[0].x();
@@ -598,9 +713,9 @@
aida.histogram1D("YVertex").fill(C.get(1, 0));
aida.histogram1D("ZVertex").fill(C.get(2, 0));
- //aida.histogram2D("X v Y").fill(C.get(0, 0), C.get(1, 0));
- //aida.histogram2D("X v Z").fill(C.get(0, 0), C.get(2, 0));
- //aida.histogram2D("Y v Z").fill(C.get(1, 0), C.get(2, 0));
+ aida.histogram2D("X v Y").fill(C.get(0, 0), C.get(1, 0));
+ aida.histogram2D("X v Z").fill(C.get(0, 0), C.get(2, 0));
+ aida.histogram2D("Y v Z").fill(C.get(1, 0), C.get(2, 0));
double zint = C.get(2, 0);
double t1 = (zint - zbar) / dd[2];
@@ -619,11 +734,43 @@
// double distancex = Math.sqrt(Math.pow(postrk2[0] - postrk1[0], 2));
// double distancey = Math.sqrt(Math.pow(postrk2[1] - postrk1[1], 2));
aida.histogram1D("Distance btwn Trks @ Solution").fill(distance);
- if(trk1.getPX()>0.25&&trk2.getPX()>0.25){
- aida.histogram1D("XVertex no softies").fill(C.get(0, 0));
- aida.histogram1D("YVertex no softies").fill(C.get(1, 0));
- aida.histogram1D("ZVertex no softies").fill(C.get(2, 0));
- aida.histogram1D("Distance btwn Trks @ Solution no softies").fill(distance);
+
+ double pxE, pyE, pzE;
+ double pxP, pyP, pzP;
+ Hep3Vector[] trkatconvE;
+ Hep3Vector[] trkatconvP;
+ if (trk1.getCharge() > 0) {
+ pxP = trk1.getPX();
+ pyP = trk1.getPY();
+ pzP = trk1.getPZ();
+ pxE = trk2.getPX();
+ pyE = trk2.getPY();
+ pzE = trk2.getPZ();
+ trkatconvP = trkatconver1;
+ trkatconvE = trkatconver2;
+ } else {
+ pxP = trk2.getPX();
+ pyP = trk2.getPY();
+ pzP = trk2.getPZ();
+ pxE = trk1.getPX();
+ pyE = trk1.getPY();
+ pzE = trk1.getPZ();
+ trkatconvP = trkatconver2;
+ trkatconvE = trkatconver1;
+ }
+ double vX = C.get(0, 0);
+ double vY = C.get(1, 0);
+ double vZ = C.get(2, 0);
+ pw.format("%d %5.5f %5.5f %5.5f %5.5f %5.5f %5.5f ", nevt, pxE, pyE, pzE,trkatconvE[0].x(),trkatconvE[0].y(),trkatconvE[0].z());
+ pw.format("%5.5f %5.5f %5.5f %5.5f %5.5f %5.5f ", pxP, pyP, pzP,trkatconvP[0].x(),trkatconvP[0].y(),trkatconvP[0].z());
+ pw.format("%5.5f %5.5f %5.5f %5.5f ",distance,vX,vY,vZ);
+ pw.println();
+
+ if (trk1.getPX() > 0.25 && trk2.getPX() > 0.25 && Math.abs(C.get(1, 0)) < 6.0) {
+ aida.histogram1D("XVertex with y cut").fill(C.get(0, 0));
+ aida.histogram1D("YVertex with y cut").fill(C.get(1, 0));
+ aida.histogram1D("ZVertex with y cut").fill(C.get(2, 0));
+ aida.histogram1D("Distance btwn Trks with y cut").fill(distance);
}
double tt1 = (zAtConverter - zbar) / dd[2]; //target
double tt2 = (zAtConverter - zbar2) / d22[2]; //target
@@ -713,15 +860,15 @@
double Etrk1 = Math.sqrt(Etrk1sq);
double Etrk2 = Math.sqrt(Etrk2sq);
double p1dotp2 = (trkatconver1[1].x() * trkatconver2[1].x() + trkatconver1[1].y() * trkatconver2[1].y() + trkatconver1[1].z() * trkatconver2[1].z());
- aida.histogram1D("Invariant Mass").fill(Math.sqrt(2 * Etrk1 * Etrk2 - 2 * p1dotp2));
+ aida.histogram1D("Invariant Mass").fill(Math.sqrt(2 * Etrk1 * Etrk2 - 2 * p1dotp2));
if (qtrk1 == 1) {
// aida.histogram2D("Little Bump P+ vs. P-").fill(Math.sqrt((Math.pow((trk1.getPY()), 2) + Math.pow((trk1.getPX()), 2) + Math.pow((trk1.getPZ()), 2))), Math.sqrt((Math.pow((trk2.getPY()), 2) + Math.pow((trk2.getPX()), 2) + Math.pow((trk2.getPZ()), 2))));
} else {
// aida.histogram2D("Little Bump P+ vs. P-").fill(Math.sqrt((Math.pow((trk2.getPY()), 2) + Math.pow((trk2.getPX()), 2) + Math.pow((trk2.getPZ()), 2))), Math.sqrt((Math.pow((trk1.getPY()), 2) + Math.pow((trk1.getPX()), 2) + Math.pow((trk1.getPZ()), 2))));
}
- // aida.histogram2D("X v Y - e+ Top").fill(C.get(0, 0), C.get(1, 0));
- // aida.histogram2D("X v Z - e+ Top").fill(C.get(0, 0), C.get(2, 0));
- // aida.histogram2D("Y v Z - e+ Top").fill(C.get(1, 0), C.get(2, 0));
+ aida.histogram2D("X v Y - e+ Top").fill(C.get(0, 0), C.get(1, 0));
+ aida.histogram2D("X v Z - e+ Top").fill(C.get(0, 0), C.get(2, 0));
+ aida.histogram2D("Y v Z - e+ Top").fill(C.get(1, 0), C.get(2, 0));
} else { //read Big bump as e- top
// aida.histogram1D("Big Bump Track Momenta (Px)").fill(trk1.getPX());
// aida.histogram1D("Big Bump Track Momenta (Py)").fill(trk1.getPY());
@@ -737,15 +884,15 @@
double Etrk1 = Math.sqrt(Etrk1sq);
double Etrk2 = Math.sqrt(Etrk2sq);
double p1dotp2 = (trkatconver1[1].x() * trkatconver2[1].x() + trkatconver1[1].y() * trkatconver2[1].y() + trkatconver1[1].z() * trkatconver2[1].z());
- aida.histogram1D("Invariant Mass").fill(Math.sqrt(2 * Etrk1 * Etrk2 - 2 * p1dotp2));
+ aida.histogram1D("Invariant Mass").fill(Math.sqrt(2 * Etrk1 * Etrk2 - 2 * p1dotp2));
if (qtrk1 == 1) {
// aida.histogram2D("Big Bump P+ vs. P-").fill(Math.sqrt((Math.pow((trk1.getPY()), 2) + Math.pow((trk1.getPX()), 2) + Math.pow((trk1.getPZ()), 2))), Math.sqrt((Math.pow((trk2.getPY()), 2) + Math.pow((trk2.getPX()), 2) + Math.pow((trk2.getPZ()), 2))));
} else {
// aida.histogram2D("Big Bump P+ vs. P-").fill(Math.sqrt((Math.pow((trk2.getPY()), 2) + Math.pow((trk2.getPX()), 2) + Math.pow((trk2.getPZ()), 2))), Math.sqrt((Math.pow((trk1.getPY()), 2) + Math.pow((trk1.getPX()), 2) + Math.pow((trk1.getPZ()), 2))));
}
-// aida.histogram2D("X v Y - e- Top").fill(C.get(0, 0), C.get(1, 0));
-// aida.histogram2D("X v Z - e- Top").fill(C.get(0, 0), C.get(2, 0));
-// aida.histogram2D("Y v Z - e- Top").fill(C.get(1, 0), C.get(2, 0));
+ aida.histogram2D("X v Y - e- Top").fill(C.get(0, 0), C.get(1, 0));
+ aida.histogram2D("X v Z - e- Top").fill(C.get(0, 0), C.get(2, 0));
+ aida.histogram2D("Y v Z - e- Top").fill(C.get(1, 0), C.get(2, 0));
}
}
boolean check4 = true;
@@ -811,11 +958,23 @@
public void setOutputPlots(String output) {
this.outputPlots = output;
}
- public void setShowPlots(boolean showem) {
+
+ public void setShowPlots(boolean showem) {
this.showPlots = showem;
}
+ public void setOutputTextName(String output) {
+ this.outputTextName = output;
+ }
+
public void endOfData() {
+
+ pw.close();
+ try {
+ fw.close();
+ } catch (IOException ex) {
+ Logger.getLogger(TwoTrackAnalysis.class.getName()).log(Level.SEVERE, null, ex);
+ }
System.out.println("Output");
if (outputPlots != null) {
try {