lcsim-analysis/src/main/java/org/lcsim/analysis
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;
+ }
}