00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __CINT__
00017 #include "RooGlobalFunc.h"
00018 #endif
00019 #include "RooRealVar.h"
00020 #include "RooDataSet.h"
00021 #include "RooGaussian.h"
00022 #include "RooConstVar.h"
00023 #include "RooExponential.h"
00024 #include "TCanvas.h"
00025 #include "TAxis.h"
00026 #include "RooPlot.h"
00027 #include "RooFitResult.h"
00028
00029 using namespace RooFit ;
00030
00031
00032 void rf314_paramfitrange()
00033 {
00034
00035
00036
00037
00038
00039 RooRealVar t("t","t",0,5) ;
00040 RooRealVar tmin("tmin","tmin",0,0,5) ;
00041
00042
00043 t.setRange(tmin,RooConst(t.getMax())) ;
00044
00045
00046 RooRealVar tau("tau","tau",-1.54,-10,-0.1) ;
00047 RooExponential model("model","model",t,tau) ;
00048
00049
00050
00051
00052
00053
00054
00055 RooDataSet* dall = model.generate(t,10000) ;
00056
00057
00058 RooDataSet* tmp = RooGaussian("gmin","gmin",tmin,RooConst(0),RooConst(0.5)).generate(tmin,5000) ;
00059
00060
00061 RooDataSet* dacc = model.generate(t,ProtoData(*tmp)) ;
00062
00063
00064
00065
00066
00067
00068 RooFitResult* r = model.fitTo(*dacc,Save()) ;
00069
00070
00071
00072
00073
00074
00075
00076 RooPlot* frame = t.frame(Title("Fit to data with per-event acceptance")) ;
00077 dall->plotOn(frame,MarkerColor(kRed),LineColor(kRed)) ;
00078 model.plotOn(frame) ;
00079 dacc->plotOn(frame) ;
00080
00081
00082 r->Print("v") ;
00083
00084
00085 new TCanvas("rf314_paramranges","rf314_paramranges",600,600) ;
00086 gPad->SetLeftMargin(0.15) ; frame->GetYaxis()->SetTitleOffset(1.6) ; frame->Draw() ;
00087
00088 return ;
00089 }