package hep.aida.ref;
import hep.aida.IHistogram1D;
import hep.aida.IHistogram2D;
import hep.aida.IHistogram3D;
import java.util.Random;
/**
* A very(!) basic test of the reference implementations
* of AIDA histograms
*/
public class Test2
{
public static void main(String[] argv)
{
Random r = new Random();
IHistogram1D h1 = new Histogram1D("AIDA 1D Histogram",40,-3,3);
for (int i=0; i<10000; i++) h1.fill(r.nextGaussian());
IHistogram2D h2 = new Histogram2D("AIDA 2D Histogram",40,-3,3,40,-3,3);
for (int i=0; i<10000; i++) h2.fill(r.nextGaussian(),r.nextGaussian());
// Write the results as a PlotML files!
writeAsXML(h1,"aida1.xml");
writeAsXML(h2,"aida2.xml");
// Try some projections
writeAsXML(h2.projectionX(),"projectionX.xml");
writeAsXML(h2.projectionY(),"projectionY.xml");
}
public static void main2(String[] argv)
{
double[] bounds = { -30,0,30, 1000 };
Random r = new Random();
IHistogram1D h1 = new Histogram1D("AIDA 1D Histogram",new VariableAxis(bounds));
//IHistogram1D h1 = new Histogram1D("AIDA 1D Histogram",2,-3,3);
for (int i=0; i<10000; i++) h1.fill(r.nextGaussian());
IHistogram2D h2 = new Histogram2D("AIDA 2D Histogram",new VariableAxis(bounds),new VariableAxis(bounds));
//IHistogram2D h2 = new Histogram2D("AIDA 2D Histogram",2,-3,3, 2,-3,3);
for (int i=0; i<10000; i++) h2.fill(r.nextGaussian(),r.nextGaussian());
//IHistogram3D h3 = new Histogram3D("AIDA 3D Histogram",new VariableAxis(bounds),new VariableAxis(bounds),new VariableAxis(bounds));
IHistogram3D h3 = new Histogram3D("AIDA 3D Histogram",10, -2, +2, 5, -2, +2, 3, -2, +2);
for (int i=0; i<10000; i++) h3.fill(r.nextGaussian(),r.nextGaussian(),r.nextGaussian());
// Write the results as a PlotML files!
writeAsXML(h1,"aida1.xml");
writeAsXML(h2,"aida2.xml");
writeAsXML(h3,"aida2.xml");
// Try some projections
writeAsXML(h2.projectionX(),"projectionX.xml");
writeAsXML(h2.projectionY(),"projectionY.xml");
}
private static void writeAsXML(IHistogram1D h,String filename)
{
System.out.println(new Converter().toString(h));
//System.out.println(new Converter().toXML(h));
/*
try
{
PrintWriter out = new PrintWriter(new FileWriter(filename));
out.println(new Converter().toXML(h));
out.close();
}
catch (IOException x) { x.printStackTrace(); }
*/
}
private static void writeAsXML(IHistogram2D h,String filename)
{
System.out.println(new Converter().toString(h));
//System.out.println(new Converter().toXML(h));
/*
try
{
PrintWriter out = new PrintWriter(new FileWriter(filename));
out.println(new Converter().toXML(h));
out.close();
}
catch (IOException x) { x.printStackTrace(); }
*/
}
private static void writeAsXML(IHistogram3D h,String filename)
{
System.out.println(new Converter().toString(h));
//System.out.println(new Converter().toXML(h));
/*
try
{
PrintWriter out = new PrintWriter(new FileWriter(filename));
out.println(new Converter().toXML(h));
out.close();
}
catch (IOException x) { x.printStackTrace(); }
*/
}
}