Commit in hps-java/src/main/java/org/lcsim/hps/users/mgraham on MAIN
TwoTrackAnalysis.java+216-571.1 -> 1.2
update to analysis class that contains (among a lot of other crap) Elwin's simple vertexing

hps-java/src/main/java/org/lcsim/hps/users/mgraham
TwoTrackAnalysis.java 1.1 -> 1.2
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 {
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1