package hep.aida.ref.pdf.examples; //package hep.aida.ref.pdf.examples; import hep.aida.*; import java.util.Random; import hep.aida.ref.pdf.*; import hep.aida.ref.function.*; import hep.aida.ref.histogram.HistUtils; public class McStudyUnbinnedGaussianFit { public static void main(String[] args) { // Create factories IAnalysisFactory analysisFactory = IAnalysisFactory.create(); ITreeFactory treeFactory = analysisFactory.createTreeFactory(); ITree tree = treeFactory.create(); IPlotter plotter = analysisFactory.createPlotterFactory().create("Plotter"); ITupleFactory tupleFactory = analysisFactory.createTupleFactory(tree); IHistogramFactory histogramFactory = analysisFactory.createHistogramFactory(tree); IFunctionFactory functionFactory = analysisFactory.createFunctionFactory(tree); IFitFactory fitFactory = analysisFactory.createFitFactory(); Dependent x = new Dependent("x",-3,8); Gaussian g = new Gaussian("gauss",x); g.setParameter("mean",3); g.setParameter("sigma",0.5); ITuple t = FunctionMcStudy.generateTuple(g, 10000); ICloud1D c = histogramFactory.createCloud1D("c"); IHistogram1D h = histogramFactory.createHistogram1D("h",100,-3,8); IEvaluator ev = tupleFactory.createEvaluator("x"); t.project(c,ev); c.fillHistogram(h); h.scale(1./HistUtils.histogramNormalization(h)); plotter.region(0).plot(h); PdfFitter fitter = new PdfFitter("uml","jminuit"); fitter.setUseFunctionGradient(false); fitter.fit(c,g); plotter.region(0).plot(g); plotter.show(); } }