{ gROOT->Reset(); Int_t MAXRESULTS = 30; Float_t analysisIndex[MAXRESULTS]; Float_t ZeroArray[MAXRESULTS]; TString analysisDescription[MAXRESULTS]; Float_t roots[MAXRESULTS]; Float_t xsecValue[MAXRESULTS]; Float_t statErrorPos[MAXRESULTS]; Float_t statErrorNeg[MAXRESULTS]; Float_t systErrorPos[MAXRESULTS]; Float_t systErrorNeg[MAXRESULTS]; Float_t statSystErrorPos[MAXRESULTS]; Float_t statSystErrorNeg[MAXRESULTS]; for (Int_t j = 0; j < MAXRESULTS; j++) { analysisIndex[j] = j + 1; ZeroArray[j] = 0.; } Int_t i = -1; // You can put in all of the different analyses here. i++; analysisDescription[i] = "Combined"; roots[i] = 1800.; xsecValue[i] = 6.5; statErrorPos[i] = 1.7; statErrorNeg[i] = 1.4; systErrorPos[i] = 0.; systErrorNeg[i] = 0.; /* //350/pb i++; analysisDescription[i] = "Combined"; roots[i] = 1960.; xsecValue[i] = 6.96; statErrorPos[i] = 0.6; statErrorNeg[i] = 0.6; systErrorPos[i] = 0.81; systErrorNeg[i] = 0.81; */ //200/pb i++; analysisDescription[i] = "Combined"; roots[i] = 1960.; xsecValue[i] = 7.28; statErrorPos[i] = 0.47; statErrorNeg[i] = 0.47; systErrorPos[i] = 0.72; systErrorNeg[i] = 0.72; //Set up a graph with statistical uncertainties only... grStat = new TGraphAsymmErrors(i+1, roots, xsecValue, ZeroArray, ZeroArray, statErrorNeg, statErrorPos); grStat->SetTitle("Results (stat. errors)"); //..and with stat+syst uncertainties for (Int_t j = 0; j < MAXRESULTS; j++) { statSystErrorNeg[j] = sqrt(statErrorNeg[j]**2 + systErrorNeg[j]**2); statSystErrorPos[j] = sqrt(statErrorPos[j]**2 + systErrorPos[j]**2); } grStatSyst = new TGraphAsymmErrors(i+1, roots, xsecValue, ZeroArray, ZeroArray, statSystErrorNeg, statSystErrorPos); grStatSyst->SetTitle(""); //Run I only grRunI = new TGraphAsymmErrors(1, roots, xsecValue, ZeroArray, ZeroArray, statSystErrorNeg, statSystErrorPos); grRunI->SetTitle(""); //Now draw everything gROOT->SetStyle("Plain"); gStyle->SetOptStat(0); TCanvas *myCanvas = new TCanvas("myCanvas","Summary of CDF Top Cross Sections", 900, 700); myCanvas->SetTicks(); myCanvas->SetBottomMargin(0.15); //Little trick to control size of x and y axes TH2F *nullTH2F = new TH2F("nullTH2F", "", 20, 1775., 2000., 20, 0., 12.); nullTH2F->GetXaxis()->SetTitle("#sqrt{s} (GeV)"); nullTH2F->GetYaxis()->SetTitle("#sigma(p#bar{p} #rightarrow t#bar{t}) (pb)"); nullTH2F->Draw(); // These two lines should go through the following points: // mt=175 syst low: (1800., 4.51), (1960., 5.82) => y=0.0082x - 10.25 // mt=175 syst high: (1800., 5.71), (1960., 7.41) => y=0.0106x - 13.37 Float_t theory175x[4] = {1775.25, 2000., 2000., 1775.25}; Float_t theory175y[4] = {4.31, 6.15, 7.83, 5.45}; TGraph *theory175 = new TGraph(4,theory175x,theory175y); theory175->SetFillColor(7); theory175->Draw("f"); // These lines should go through the following points: // mt=170: (1800., 6.10), (1960., 7.83) => y=0.0108x - 13.34 // mt=172.7: (1800., 5.19), (1960., 6.70) => y=0.00944x - 11.80 // mt=175: (1800., 5.19), (1960., 6.70) => y=0.00944x - 11.80 // mt=180: (1800., 4.43), (1960., 5.75) => y=0.00825x - 10.42 theory170Line = new TLine(1775., 5.83, 2000., 8.26); theory175Line = new TLine(1775., 4.96, 2000., 7.08); theory180Line = new TLine(1775., 4.22, 2000., 6.08); theory170Line->SetLineStyle(2); theory170Line->SetLineWidth(2.0); theory170Line->Draw(); theory175Line->SetLineStyle(2); theory175Line->SetLineWidth(2.0); theory175Line->Draw(); theory180Line->SetLineStyle(2); theory180Line->SetLineWidth(2.0); theory180Line->Draw(); TLatex *mtop = new TLatex(); mtop->SetTextSize(0.03); mtop->SetTextAngle(8.); mtop->DrawLatex(1850., 6.7,"m_{t}=170 GeV/c^{2}"); mtop->DrawLatex(1850., 5.8,"m_{t}=175 GeV/c^{2}"); mtop->DrawLatex(1850., 4.9,"m_{t}=180 GeV/c^{2}"); TLatex *legendLabel = new TLatex(); legendLabel->SetTextSize(0.03); legendLabel->DrawLatex(1825., 0.7, "Cacciari et al. JHEP 0404:068 (2004) m_{t}=175 GeV/c^{2}"); TPave *legendPave = new TPave(1810., 0.5, 1820., 1.3); legendPave->SetBorderSize(1); legendPave->SetFillColor(7); legendPave->Draw(); //Results grStatSyst->SetLineColor(4); grStatSyst->SetLineWidth(3); grStatSyst->SetMarkerColor(2); grStatSyst->SetMarkerStyle(20); grStatSyst->SetMarkerSize(2.0); grStatSyst->Draw("P"); grStat->SetLineColor(2); grStat->SetLineWidth(3); grStat->SetMarkerColor(2); grStat->SetMarkerStyle(20); grStat->SetMarkerSize(2.0); grStat->Draw("P"); //keep run i in black grRunI->SetLineColor(1); grRunI->SetLineWidth(3); grRunI->SetMarkerColor(1); grRunI->SetMarkerStyle(20); grRunI->SetMarkerSize(2.0); grRunI->Draw("P"); TLatex *cdfText = new TLatex(); cdfText->SetTextSize(0.035); cdfText->SetTextColor(2); cdfText->SetTextFont(62); cdfText->DrawLatex(1920., 11.0, "CDF Run 2 Preliminary"); //cdfText->DrawLatex(1920., 10.3, "Combined 350 pb^{-1}"); cdfText->DrawLatex(1920., 10.3, "Combined 760 pb^{-1}"); TLatex *cdfTexta = new TLatex(); cdfTexta->SetTextSize(0.035); cdfTexta->SetTextFont(62); cdfTexta->DrawLatex(1790., 11.0, "CDF Run 1"); cdfTexta->DrawLatex(1790., 10.3, "Combined 110 pb^{-1}"); TLatex *analysisLabel = new TLatex(); /* for (Int_t j = 0; j <= i; j++) { analysisLabel->SetTextSize(0.03); analysisLabel->SetTextFont(62); analysisLabel->SetTextAngle(90); if(j==1)analysisLabel->SetTextColor(2); analysisLabel->DrawLatex(roots[j]-3., xsecValue[j]+0.5, analysisDescription[j]); } */ }