package hep.aida.ref.pdf.examples; import hep.aida.*; import hep.aida.ref.pdf.FunctionMcStudy; import hep.aida.ref.pdf.Gaussian; import java.util.Random; /** * * @author turri */ public class GaussianMCStudy { /** * @param args the command line arguments */ public static void main(String[] args) { IAnalysisFactory analysisFactory = IAnalysisFactory.create(); ITreeFactory treeFactory = analysisFactory.createTreeFactory(); ITree tree = treeFactory.create(); IHistogramFactory histogramFactory = analysisFactory.createHistogramFactory(tree); ITupleFactory tupleFactory = analysisFactory.createTupleFactory(tree); IFunctionFactory functionFactory = analysisFactory.createFunctionFactory(tree); IFitFactory fitFactory = analysisFactory.createFitFactory(); IPlotter plotter = analysisFactory.createPlotterFactory().create("Plotter"); ICloud1D c1 = histogramFactory.createCloud1D("Cloud 1D"); Random r_1 = new Random(123); Random r_2 = new Random(456); int entries = 10000; for (int i = 0; i < entries; i++) { double x = r_1.nextGaussian(); // if (r_1.nextDouble() < 0.2) { // x += 3 * r_2.nextGaussian(); // } c1.fill(x); } plotter.show(); plotter.region(0).plot(c1); Gaussian gaussian = new Gaussian("Gaussian"); ITuple tuple = FunctionMcStudy.generateTuple(gaussian, entries); ICloud1D mcGauss = histogramFactory.createCloud1D("Mc Gauss"); String[] columnNames = tuple.columnNames(); for ( int i = 0; i < columnNames.length; i++ ) System.out.println("*** "+columnNames[i]); // tuple.project(c1, tupleFactory.createEvaluator(arg0)); } }