#include "Zech.C" #include "LimitiPoisson.C" #include "FeldmanCousins.C" #include "TCanvas.h" #include "TH2F.h" #include "TGraph.h" void plotLimiti(double Nfondo = 12) { gStyle->SetOptStat(0); double Nbkg = Nfondo; double CL = 0.9; double xoss[1000]; double upP[1000]; double upZ[1000]; double upFC[1000]; int np = 0; double xossmax = 2*Nbkg; //for (int i=Nbkg/2; i<2*Nbkg; ++i) for (double i=0; i<=xossmax; ++i) { double Nosservati = (double)i; double suppl_poisson = LimitiPoisson(Nosservati,Nbkg,CL); double suppl_zech = Zech(Nosservati,Nbkg,CL); double suppl_FC = FeldmanCousins(Nosservati,Nbkg,CL); //double suppl_FC = -1000.; std::cout<<"CL, Nbkg, Noss, Limite Poisson "<AddPoint(Nbkg,-Nbkg/2-2.); grNbkg->AddPoint(Nbkg,xossmax); TH2F* h = new TH2F("hbox","; N eventi osservati; Upper Limit sul N. eventi di segnale",100,-1.,xossmax+1.,100,-Nbkg/2-2.,xossmax); h->Draw(); grP->SetLineColor(kBlack); grP->Draw("SAMEC*"); grZ->SetLineColor(kBlue); grZ->SetLineWidth(3); grZ->Draw("CSAME"); grFC->SetLineColor(kRed); grFC->SetLineWidth(3); grFC->Draw("CSAME"); grNbkg->SetLineStyle(2); grNbkg->Draw("CSAME"); TLegend* tl = new TLegend(0.15,0.7,0.45,0.9);//xmin, ymin, xmax, ymax (% della pad) tl->SetBorderSize(0); tl->SetFillColor(0); tl->SetFillStyle(0); tl->SetTextFont(42); tl->SetTextSize(0.); tl->AddEntry(grP,"Poisson","L"); tl->AddEntry(grZ,"Zech","L"); tl->AddEntry(grFC,"Feldman Cousins","L"); tl->Draw(); }