Print

Print


Commit in lcsim-analysis/src/main/java/org/lcsim/analysis on MAIN
SinglePhotonAnalysis.java+38-181.5 -> 1.6
robustify

lcsim-analysis/src/main/java/org/lcsim/analysis
SinglePhotonAnalysis.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- SinglePhotonAnalysis.java	17 Jun 2010 19:55:48 -0000	1.5
+++ SinglePhotonAnalysis.java	17 Jun 2010 20:20:35 -0000	1.6
@@ -15,7 +15,11 @@
 import hep.aida.IPlotterStyle;
 import hep.aida.ITree;
 import java.io.IOException;
+import java.text.DecimalFormat;
 import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -31,7 +35,7 @@
  *
  * @author Norman A. Graf
  *
- * @version $Id: SinglePhotonAnalysis.java,v 1.5 2010/06/17 19:55:48 ngraf Exp $
+ * @version $Id: SinglePhotonAnalysis.java,v 1.6 2010/06/17 20:20:35 ngraf Exp $
  */
 public class SinglePhotonAnalysis extends Driver
 {
@@ -42,7 +46,7 @@
     private boolean _showPlots = true;
     private String _fileType = "png";
     private boolean _writeOutAidaFile = false;
-    private String _defaultAidaFileName = "test.aida";
+    private String _defaultAidaFileName = "test";
     private String _detectorName;
 
     public SinglePhotonAnalysis()
@@ -82,7 +86,7 @@
             aida.cloud1D("Number of ReconstructedParticles found").fill(rpCollection.size());
             for (ReconstructedParticle p : rpCollection)
             {
-                aida.cloud1D("Cluster Energy").fill(p.getEnergy());
+                aida.cloud1D("Cluster Energy", 99999).fill(p.getEnergy()); //put off conversion to a binned histogram
                 int id = p.getType();
                 aida.cloud1D("Cluster Energy pid= " + id).fill(p.getEnergy());
             }
@@ -94,23 +98,25 @@
     @Override
     protected void endOfData()
     {
-//        String defaultAidaFileName = listOfFilesName + "_" + driver.getClass().getSimpleName() + "_" + date() + ".aida";
+        String AidaFileName = _defaultAidaFileName + "_" + _detectorName + "_" + this.getClass().getSimpleName() + "_" + date() + ".aida";
 
-        System.out.println("writing aida file to " + _defaultAidaFileName);
+        if (_writeOutAidaFile)
+        {
+            System.out.println("writing aida file to " + _defaultAidaFileName);
 
 
-        try
-        {
-            AIDA.defaultInstance().saveAs(_defaultAidaFileName);
+            try
+            {
+                AIDA.defaultInstance().saveAs(_defaultAidaFileName);
 
 
-        } catch (IOException x)
-        {
-            System.out.println("Experienced an IOException during");
-            x.printStackTrace();
-            return;
+            } catch (IOException x)
+            {
+                System.out.println("Experienced an IOException during");
+                x.printStackTrace();
+                return;
+            }
         }
-
         fitPlots();
     }
 
@@ -192,8 +198,8 @@
                         // +/- 5 sigma
                         int nSigma = 5;
                         double expectedSigma = _expectedResolution * sqrt(energies[i]);
-                        double lowE = energies[i] - ( expectedSigma* nSigma);
-                        double hiE  = energies[i] + ( expectedSigma * nSigma);
+                        double lowE = energies[i] - (expectedSigma * nSigma);
+                        double hiE = energies[i] + (expectedSigma * nSigma);
 
                         ICloud1D e = (ICloud1D) _tree.find(objects[i] + "Cluster Energy");
                         if (!e.isConverted())
@@ -299,7 +305,7 @@
                 IFitResult resFitLine = jminuit.fit(resolutionFit, line);
                 System.out.println("Resolution fit:");
                 printLineFitResult(resFitLine);
-                
+
 //        resolution2.region(0).setXLimits(0., 1.05);
 //        resolution2.region(0).setYLimits(0., .2);
                 resolution2.region(0).plot(resolutionFit);
@@ -404,7 +410,10 @@
     {
         System.out.println(" fit status: " + fit.fitStatus());
         //String[] parNames = fit.fittedParameterNames();
-        String[] parNames = {"intercept","slope   "};
+        String[] parNames =
+        {
+            "intercept", "slope   "
+        };
         double[] parVals = fit.fittedParameters();
         double[] parErrs = fit.errors();
         for (int i = 0; i < parNames.length; ++i)
@@ -412,5 +421,16 @@
             System.out.println(parNames[i] + " : " + parVals[i] + " +/- " + parErrs[i]);
         }
     }
+
+    private static String date()
+    {
+        Calendar cal = new GregorianCalendar();
+        Date date = new Date();
+        cal.setTime(date);
+        DecimalFormat formatter = new DecimalFormat("00");
+        String day = formatter.format(cal.get(Calendar.DAY_OF_MONTH));
+        String month = formatter.format(cal.get(Calendar.MONTH) + 1);
+        return cal.get(Calendar.YEAR) + month + day;
+    }
 }
 
CVSspam 0.2.8