#include "TArrow.h" #include "TCanvas.h" #include "TGraph.h" #include "TH2.h" #include "TLatex.h" #include "TLegend.h" #include "TLine.h" #include "TStyle.h" void CDFExtrap() { // --- make plot of CDF expected Mtop uncertainties const int MAX = 11; float Lumi[MAX]; float rootL[MAX]; float dampd[MAX]; // --- luminosities Lumi[0] = 110; Lumi[1] = 320; Lumi[2] = 680; Lumi[3] = 1000; Lumi[4] = 2000; Lumi[5] = 3000; Lumi[6] = 4000; Lumi[7] = 6000; Lumi[8] = 8000; Lumi[9] =10000; // --- rootL extrapolation rootL[0] = 6.6; rootL[1] = 3.8; rootL[2] = 2.7; rootL[3] = 2.19; rootL[4] = 1.55; rootL[5] = 1.27; rootL[6] = 1.09; rootL[7] = 0.89; rootL[8] = 0.77; rootL[9] = 0.69; // --- "damped" extrapolation (ie. stat+jes scales as rootL, rest fixed) dampd[0] = 6.6; dampd[1] = 3.8; dampd[2] = 2.7; dampd[3] = 2.47; dampd[4] = 2.07; dampd[5] = 1.96; dampd[6] = 1.88; dampd[7] = 1.80; dampd[8] = 1.79; dampd[9] = 1.78; // --- make TGraphs to plot TGraph *grLum = new TGraph(6, Lumi, rootL); grLum->SetLineColor(4); grLum->SetLineWidth(3); grLum->SetLineStyle(2); TGraph *grDmp = new TGraph(10, Lumi, dampd); grDmp->SetLineColor(4); grDmp->SetLineWidth(3); grLum->SetLineStyle(4); Float_t OLum[3], OSta[3], OTot[3]; OLum[0] = 110; OSta[0] = 4.2; OTot[0] = 6.6; TGraph *o110 = new TGraph(1, OLum, OTot); o110->SetMarkerStyle(23); o110->SetMarkerSize(1.5); o110->SetMarkerColor(4); o110->SetLineWidth(3); OLum[0] = 320; OSta[0] = 2.3; OTot[0] = 3.8; TGraph *o320 = new TGraph(1, OLum, OTot); o320->SetMarkerStyle(23); o320->SetMarkerSize(1.5); o320->SetMarkerColor(4); o320->SetLineWidth(3); OLum[0] = 680; OSta[0] = 1.6; OTot[0] = 2.7; TGraph *o680 = new TGraph(1, OLum, OTot); o680->SetMarkerStyle(23); o680->SetMarkerSize(1.5); o680->SetMarkerColor(4); o680->SetLineWidth(3); OLum[0] = 1000; OSta[0] = 1.3; OTot[0] = 2.2; TGraph *o1000 = new TGraph(1, OLum, OTot); o1000->SetMarkerStyle(23); o1000->SetMarkerSize(1.5); o1000->SetMarkerColor(4); o1000->SetLineWidth(3); OLum[0] = 2000; OSta[0] = 1.2; OTot[0] = 1.9; //Remove all-had: OTot[0] = 2.0; TGraph *o2000 = new TGraph(1, OLum, OTot); o2000->SetMarkerStyle(23); o2000->SetMarkerSize(1.5); o2000->SetMarkerColor(4); o2000->SetLineWidth(3); OLum[0] = 3000; OSta[0] = 1.1; OTot[0] = 1.5; TGraph *o3000 = new TGraph(1, OLum, OTot); o3000->SetMarkerStyle(23); o3000->SetMarkerSize(1.5); o3000->SetMarkerColor(4); o3000->SetLineWidth(3); OLum[0] = 2000; OSta[0] = 3.0; OTot[0] = 3.0; TGraph *tdr = new TGraph(1, OLum, OTot); tdr->SetMarkerStyle(29); tdr->SetMarkerSize(2.0); tdr->SetMarkerColor(2); tdr->SetLineWidth(3); // --- plot it gROOT->SetStyle("Plain"); new TCanvas("c","CDF Top Mass Projection",600,600); gPad->SetLogx(1); gPad->SetLogy(1); gStyle->SetOptStat(0); TH2F *nullTH2F = new TH2F("nullTH2F", "", 200, 70., 20000., 200, 0., 30.); nullTH2F->GetXaxis()->SetTitle("Integrated Luminosity (pb^{-1})"); nullTH2F->GetXaxis()->SetTitleOffset(1.2); nullTH2F->GetXaxis()->CenterTitle(); nullTH2F->GetYaxis()->SetTitle("#Delta M_{t}(total) GeV/c^{2}"); nullTH2F->GetYaxis()->SetTitleOffset(1.1); nullTH2F->GetYaxis()->CenterTitle(); nullTH2F->Draw(); grLum->Draw(); grDmp->Draw(); o110->Draw("P"); o320->Draw("P"); o680->Draw("P"); o1000->Draw("P"); o2000->Draw("P"); o3000->Draw("P"); tdr->Draw("P"); TLegend *leg = new TLegend(.12,.12,.7,.5); leg->SetFillStyle(0); leg->SetBorderSize(0); leg->AddEntry(o110,"CDF Results","P"); leg->AddEntry(tdr,"Run IIa LJ goal (TDR 1996)","P"); leg->AddEntry(grDmp,"#splitline{Scale #Delta(stat) / #sqrt{L}, Fix #Delta(syst)}{(assumes no improvements) }","L"); leg->AddEntry(grLum,"#splitline{Scale #Delta(total) / #sqrt{L} }{(improvements required)}","L"); leg->Draw(); // --- line & arrow at DM/M <= 1% TLine *l3 = new TLine(1700, 1.729, 3200, 1.729); l3->SetLineColor(2); l3->SetLineWidth(3); l3->Draw(); //a = new TArrow(3.98, 0.237, 3.98, 0.146, 0.015, ">"); TArrow *a = new TArrow(2720, 1.729, 2720, 1.4, 0.015, ">"); a->SetLineColor(2); a->SetLineWidth(3); a->Draw(); // --- arrows to mark 1, 2, 4, 8 fb-1 TArrow *a2 = new TArrow(1000, 5, 1000, 4, 0.015, ">"); a2->SetLineColor(4); a2->SetLineWidth(3); a2->Draw(); TArrow *a3 = new TArrow(2000, 5, 2000, 4, 0.015, ">"); a3->SetLineColor(4); a3->SetLineWidth(3); a3->Draw(); TArrow *a4 = new TArrow(4000, 5, 4000, 4, 0.015, ">"); a4->SetLineColor(4); a4->SetLineWidth(3); a4->Draw(); TArrow *a5 = new TArrow(8000, 5, 8000, 4, 0.015, ">"); a5->SetLineColor(4); a5->SetLineWidth(3); a5->Draw(); // --- title TLatex *t = new TLatex(); t->SetTextSize(0.05); t->DrawLatex(180, 17, "CDF Top Mass Uncertainty"); t->SetTextSize(0.035); t->DrawLatex(350, 12.5, "(projection from 680 pb^{-1})"); // --- legend t->SetTextSize(0.035); // t->DrawLatex(2.23, 0.11, "CDF Results"); // t->DrawLatex(2.23, -0.12, "Run IIa goal (TDR 1996)"); // t->DrawLatex(2.23, -0.35, "Scale #Delta(stat) / #sqrt{L}, Fix #Delta(syst)"); // t->DrawLatex(2.23, -0.47, "(assumes no improvements)"); // t->DrawLatex(2.23, -0.65, "Scale #Delta(total) / #sqrt{L}"); // t->DrawLatex(2.23, -0.77, "(improvements required)"); // --- luminosities t->DrawLatex(850, 5.6, "1 fb^{-1}"); t->DrawLatex(1700, 5.6, "2 fb^{-1}"); t->DrawLatex(3400, 5.6, "4 fb^{-1}"); t->DrawLatex(6800, 5.6, "8 fb^{-1}"); // --- DM/M < 1% t->SetTextColor(2); t->SetTextSize(0.032); t->SetTextAngle(-28); t->DrawLatex(3200, 1.4, "#DeltaM/M < 1%"); //t->DrawLatex(3.50, 0.15, "#DeltaM/M #approx #Gamma/M < 1%"); }