Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __CINT__
00019
00020 #include "TH1.h"
00021 #include "TFile.h"
00022 #include "TApplication.h"
00023
00024 #include "TGo4FitMinuit.h"
00025 #include "TGo4Fitter.h"
00026 #include "TGo4FitDataHistogram.h"
00027
00028 void Example5();
00029
00030 int main(int argc, char **argv)
00031 {
00032 TApplication theApp("Application", 0, 0);
00033
00034 Example5();
00035
00036 theApp.Run();
00037
00038 return 0;
00039 }
00040
00041 #endif
00042
00043
00044
00045 TH1D* GetHistogram(const char* HistogramName)
00046 {
00047 TFile* f1 = TFile::Open("histograms.root");
00048 if (f1==0) return 0;
00049 TH1D* histo = (TH1D*) f1->Get(HistogramName);
00050 if (histo) histo->SetDirectory(0);
00051 return histo;
00052 }
00053
00054 void Example5()
00055 {
00056
00057 TGo4Fitter fitter("Fitter", TGo4Fitter::ff_ML_Poisson, kTRUE);
00058
00059
00060 TGo4FitDataHistogram *data = fitter.AddH1("data1", GetHistogram("hDeg120_P_c"), kTRUE, 2200., 2900.);
00061
00062
00063 fitter.AddPolynomX( "data1", "Pol", 1);
00064
00065
00066 fitter.AddGauss1( "data1", "Gauss1",2553.,15.);
00067 fitter.AddGauss1( "data1", "Gauss2",2672.,15.);
00068
00069
00070 fitter.DoActions();
00071
00072
00073 fitter.Draw("#data1,Gauss1,Gauss2");
00074
00075
00076
00077
00078
00079
00080 fitter.AddGauss1( "data1", "Gauss3", 2597., 14.);
00081 fitter.AddGauss1( "data1", "Gauss4", 2717., 14.);
00082
00083
00084 data->SetHistogram(GetHistogram("hDeg120_CND"),kTRUE);
00085
00086
00087 fitter.DoActions();
00088
00089
00090 fitter.Draw("#data1,Gauss1,Gauss2,Gauss3,Gauss4");
00091 fitter.Print("Pars");
00092 }