/////////////////////////////////////////////////////////////////////////////// // Author: Dave Waters /////////////////////////////////////////////////////////////////////////////// void xs_summary_2004() { // No stats : // ========== gStyle->SetOptStat(0); gROOT->SetStyle("Plain"); // Reasonable looking fonts : // ========================== // gStyle->SetLabelFont(90,"x"); // gStyle->SetLabelFont(90,"y"); gStyle->SetLabelSize(0.038,"x"); gStyle->SetLabelSize(0.038,"y"); gStyle->SetTitleFont(90); TCanvas* c1 = new TCanvas("c_xs_summary_2004","c_xs_summary_2004",100,0,800,800); c1->SetFillColor(0); // c1->SetGridx(); c1->SetGridy(); // c1->SetLogx(); c1->SetLogy(); Float_t process_number[10]; Float_t process_cs[10]; Float_t process_hi_err[10]; Float_t process_lo_err[10]; Float_t process_theory[10]; Float_t process_theory_err[10]; Float_t d0_e_process_number[10]; Float_t d0_e_process_cs[10]; Float_t d0_e_process_hi_err[10]; Float_t d0_e_process_lo_err[10]; Float_t d0_mu_process_number[10]; Float_t d0_mu_process_cs[10]; Float_t d0_mu_process_hi_err[10]; Float_t d0_mu_process_lo_err[10]; Float_t d0_process_number[10]; Float_t d0_process_cs[10]; Float_t d0_process_hi_err[10]; Float_t d0_process_lo_err[10]; Float_t d0_process_theory[10]; Float_t d0_process_theory_err[10]; // ==================================================== // THEORY numbers. // Take care. Inclusive cross-sections (W, WW etc.) // are assumed to be common between CDF & D0. Cross- // defined in certain kinematic regions are not common // to CDF & D) (Wg, Zg etc.) and are specified and // plotted separately for each experiment. // // These numbers are the common theory predictions. // // W->lv branching ratio (& squared) : Float_t brwl = 0.108; Float_t brwl2 = (brwl*brwl); // // Z->ll and vv branching ratios : Float_t brzll = 0.033658; Float_t brzvv = 0.20; // // Inclusive W cross-section (*BR(W->lv)): Double_t w_cs = 2.69*1000.0; // 2.69 nb Double_t w_cs_err = 0.10*1000.0; // +- 0.10 nb // // Inclusive Z cross-section (*BR(Z->ll)): Double_t z_cs = 252.0; // 252 pb Double_t z_cs_err = 9; // +- 9 pb // // Inclusive WW->lvlv cross-section : Double_t ww_cs = 12.4*brwl2; // 12.4 pb Double_t ww_cs_err = 0.8*brwl2; // +- 0.8 pb // // (ZW->l+l-lv) + (ZZ->l+l-{ll+vv}) : Double_t wz_zz_cs = (3.63*brzll*brwl) + (1.39*brzll*(brzll+brzvv)); Double_t wz_zz_cs_err = 0.10*wz_zz_cs; Double_t wz_zz_scale_factor = (wz_zz_cs)/(3.63+1.39); // scale data limit by this amount // // ZW->l+l-lv : Double_t wz_cs = (3.63*brzll*brwl); Double_t wz_cs_err = 0.10*wz_cs; Double_t wz_scale_factor = (wz_cs)/(3.63); // scale data limit by this amount // // H->WW->lvlv cross-section : Double_t hww_cs = 0.30*0.90*brwl2; Double_t hww_cs_err = 0.30*0.90*brwl2*0.15; // guess // ==================================================== // ================ // CDF results // ================ // sigma(W)*BR(W->lv) [e, mu average] // ---------------------------------- Int_t cdf_wlv = 1; process_number[1] = 1.0-0.25; process_cs[1] = 2.775*1000.0; process_hi_err[1] = 1000.0*sqrt(pow(0.010,2)+pow(0.053,2)+pow(0.167,2)); process_lo_err[1] = 1000.0*sqrt(pow(0.010,2)+pow(0.053,2)+pow(0.167,2)); // sigma(Z)*BR(Z->ll) [e, mu average] // ---------------------------------- Int_t cdf_zll = 2; process_number[2] = 2.0-0.25; process_cs[2] = 254.9; process_hi_err[2] = sqrt(pow(3.3,2)+pow(4.6,2)+pow(15.2,2)); process_lo_err[2] = sqrt(pow(3.3,2)+pow(4.6,2)+pow(15.2,2)); // sigma(Wg)*BR(W->lv) [e, mu average] // ----------------------------------- Int_t cdf_wglv = 3; process_number[3] = 3.0-0.25; process_cs[3] = 18.1; process_hi_err[3] = 3.1; process_lo_err[3] = 3.1; process_theory[3] = 19.3; process_theory_err[3] = 1.4; // sigma(Zg)*BR(Z->ll) [e, mu average] // ----------------------------------- Int_t cdf_zgll = 4; process_number[4] = 4.0-0.25; process_cs[4] = 4.6; process_hi_err[4] = 0.6; process_lo_err[4] = 0.6; process_theory[4] = 4.5; process_theory_err[4] = 0.3; // sigma(WW)*BR(WW->lvlv) [e, mu average] - tight dilepton // -------------------------------------------------------- process_number[5] = 5.0-0.25; process_cs[5] = brwl2*14.2; process_hi_err[5] = brwl2*sqrt(pow(5.6,2)+pow(1.6,2)+pow(0.9,2)); process_lo_err[5] = brwl2*sqrt(pow(4.9,2)+pow(1.6,2)+pow(0.9,2)); // sigma(WW)*BR(WW->lvlv) [e, mu average] - lepton+track // ------------------------------------------------------ process_number[6] = 5.0+0.0; process_cs[6] = brwl2*19.4; process_hi_err[6] = brwl2*sqrt(pow(5.1,2)+pow(3.5,2)+pow(1.2,2)); process_lo_err[6] = brwl2*sqrt(pow(5.1,2)+pow(3.5,2)+pow(1.2,2)); // ================ // D0 results // ================ // sigma(W)*BR(W->lv) [e] // ---------------------------------- d0_e_process_number[1] = 1.0+0.33-0.1; d0_e_process_cs[1] = 2.880*1000.0; d0_e_process_hi_err[1] = 1000.0*sqrt(pow(0.020,2)+pow(0.130,2)+pow(0.290,2)); d0_e_process_lo_err[1] = 1000.0*sqrt(pow(0.020,2)+pow(0.130,2)+pow(0.290,2)); // sigma(Z)*BR(Z->ll) [e] // ---------------------------------- d0_e_process_number[2] = 2.0+0.33-0.1; d0_e_process_cs[2] = 275; d0_e_process_hi_err[2] = sqrt(pow(9,2)+pow(9,2)+pow(28,2)); d0_e_process_lo_err[2] = sqrt(pow(9,2)+pow(9,2)+pow(28,2)); // sigma(W)*BR(W->lv) [mu] // ---------------------------------- d0_mu_process_number[1] = 1.0+0.33+0.1; d0_mu_process_cs[1] = 3.23*1000.0; d0_mu_process_hi_err[1] = 1000.0*sqrt(pow(0.13,2)+pow(0.10,2)+pow(0.32,2)); d0_mu_process_lo_err[1] = 1000.0*sqrt(pow(0.13,2)+pow(0.10,2)+pow(0.32,2)); // sigma(Z)*BR(Z->ll) [mu] // ---------------------------------- d0_mu_process_number[2] = 2.0+0.33+0.1; d0_mu_process_cs[2] = 261.8; d0_mu_process_hi_err[2] = sqrt(pow(5.0,2)+pow(8.9,2)+pow(26.2,2)); d0_mu_process_lo_err[2] = sqrt(pow(5.0,2)+pow(8.9,2)+pow(26.2,2)); // sigma(Wg)*BR(W->lv) [e, mu average] // ----------------------------------- Int_t d0_wglv = 1; d0_process_number[1] = 3.0+0.25; d0_process_cs[1] = 19.3; d0_process_hi_err[1] = sqrt(pow(2.7,2)+pow(6.1,2)+pow(1.2,2)); d0_process_lo_err[1] = sqrt(pow(2.7,2)+pow(6.1,2)+pow(1.2,2)); d0_process_theory[1] = 16.4; d0_process_theory_err[1] = 0.2; // sigma(Zg)*BR(Z->ll) [e, mu average] (D0 note 4488) // ----------------------------------- Int_t d0_zgll = 2; d0_process_number[2] = 4.0+0.25; d0_process_cs[2] = 3.86; d0_process_hi_err[2] = sqrt(pow(0.46,2)+pow(0.25,2)); d0_process_lo_err[2] = sqrt(pow(0.46,2)+pow(0.25,2)); d0_process_theory[2] = 4.3; d0_process_theory_err[2] = 0.2; // guess, based on fractional error quoted by D0 for Wg XS. // sigma(WW)*BR(WW->lvlv) [e, mu average] - tight dilepton // -------------------------------------------------------- d0_process_number[3] = 5.0+0.25; d0_process_cs[3] = brwl2*13.8; d0_process_hi_err[3] = brwl2*sqrt(pow(4.3,2)+pow(1.0,2)+pow(0.9,2)); d0_process_lo_err[3] = brwl2*sqrt(pow(3.8,2)+pow(0.8,2)+pow(0.9,2)); // LABELS : // -------- // First entry in each array is for the key. // Float_t gshift = 0.001; // // Move labels up or down relative to symbols : : Float_t lshift = 0.90; // process_number[0] = 0.7; process_cs[0] = gshift*0.022*1.5; process_hi_err[0] = gshift*0.005*1.5*1.5; process_lo_err[0] = gshift*0.003*1.5*1.5; d0_e_process_number[0] = 0.7; d0_e_process_cs[0] = gshift*0.07*4.0; d0_e_process_hi_err[0] = gshift*0.01*4.0*1.5; d0_e_process_lo_err[0] = gshift*0.01*4.0*1.5; d0_mu_process_number[0] = 0.7; d0_mu_process_cs[0] = gshift*0.05*3.0; d0_mu_process_hi_err[0] = gshift*0.007*3.0*1.5; d0_mu_process_lo_err[0] = gshift*0.007*3.0*1.5; d0_process_number[0] = 0.7; d0_process_cs[0] = gshift*0.035*2.25; d0_process_hi_err[0] = gshift*0.005*2.25*1.5; d0_process_lo_err[0] = gshift*0.004*2.25*1.5; // PLOT CDF E+MU COMBINED DATA : // ----------------------------- TGraphAsymmErrors* cs_summary = new TGraphAsymmErrors(7,process_number,process_cs,0,0,process_lo_err,process_hi_err); cs_summary->SetTitle(""); cs_summary->GetXaxis()->SetLimits(0.0,8.0); cs_summary->GetXaxis()->SetLabelOffset(5.0); cs_summary->GetXaxis()->SetNdivisions(4); // cs_summary->GetYaxis()->SetTitle("Cross Section (pb) "); cs_summary->SetMaximum(5000.0); cs_summary->SetMinimum(0.00001); cs_summary->SetLineWidth(3.0); cs_summary->SetMarkerStyle(20); cs_summary->SetMarkerSize(1.0); cs_summary->Draw("AP"); // THEORY : // -------- // x-ranges still by hand ... plotTheory(w_cs,w_cs_err,0.5,1.5); // W->lv plotTheory(z_cs,z_cs_err,1.5,2.5); // Z->lv plotTheory(process_theory[cdf_wglv],process_theory_err[cdf_wglv],2.5,3.0); // W(g)->lvg (CDF) plotTheory(d0_process_theory[d0_wglv],d0_process_theory_err[d0_wglv],3.0,3.5); // W(g)->lvg (D0) plotTheory(process_theory[cdf_zgll],process_theory_err[cdf_zgll],3.5,4.0); // Z(g)->llg (CDF) plotTheory(d0_process_theory[d0_zgll],d0_process_theory_err[d0_zgll],4.0,4.5); // Z(g)->llg (D0) plotTheory(ww_cs,ww_cs_err,4.5,5.5); // WW->lvlv plotTheory(wz_zz_cs,wz_zz_cs_err,5.5,6.0); // WZ+ZZ plotTheory(wz_cs,wz_cs_err,6.0,6.5); // WZ+ZZ plotTheory(hww_cs,hww_cs_err,6.7,7.7); // H->WW->lvlv // This is the theory band key : plotTheory(0.014*gshift,0.002*gshift,0.5,0.9); // RE-PLOT CDF TO OVERLAP THEORY : // ------------------------------- cs_summary->Draw("P"); // WZ+ZZ cross-section limit [Rapid Communications draft, November 15 2004] Float_t wz_zz_limit_cdf = log10(15.2*wz_zz_scale_factor); TLine* wz_zz_limit_cdf_l = new TLine(5.5,wz_zz_limit_cdf,5.9,wz_zz_limit_cdf); wz_zz_limit_cdf_l->SetLineWidth(3.0); wz_zz_limit_cdf_l->Draw(""); TArrow* wz_zz_limit_cdf_a = new TArrow(5.7,wz_zz_limit_cdf,5.7,wz_zz_limit_cdf-1.0,0.02); wz_zz_limit_cdf_a->SetLineWidth(3.0); wz_zz_limit_cdf_a->Draw(""); // H->WW->lvlv limit at 160 GeV/95% CL [CDF-6958, April 19 2004] : Float_t h_limit_cdf = log10(5.6*brwl2); // Note 5.6 pb is limit on sigma*BR(H->WW) already. TLine* hww_limit_cdf = new TLine(6.7,h_limit_cdf,7.1,h_limit_cdf); hww_limit_cdf->SetLineWidth(3.0); hww_limit_cdf->Draw(""); TArrow* hww_limit_cdf_a = new TArrow(6.90,h_limit_cdf,6.90,h_limit_cdf-1.0,0.02); hww_limit_cdf_a->SetLineWidth(3.0); hww_limit_cdf_a->Draw(""); // PLOT D0 E DATA : // ---------------- TGraphAsymmErrors* d0_e_cs_summary = new TGraphAsymmErrors(3,d0_e_process_number,d0_e_process_cs,0,0,d0_e_process_lo_err,d0_e_process_hi_err); d0_e_cs_summary->SetTitle(""); d0_e_cs_summary->GetXaxis()->SetLimits(0.0,6.0); d0_e_cs_summary->GetXaxis()->SetLabelOffset(5.0); d0_e_cs_summary->GetXaxis()->SetNdivisions(4); // d0_cs_summary->GetYaxis()->SetTitle("Cross Section (pb) "); d0_e_cs_summary->SetMaximum(5000.0); d0_e_cs_summary->SetMinimum(0.00001); d0_e_cs_summary->SetLineWidth(3.0); d0_e_cs_summary->SetMarkerStyle(20); d0_e_cs_summary->SetMarkerColor(kCyan); d0_e_cs_summary->SetLineColor(kCyan); d0_e_cs_summary->SetMarkerSize(1.0); d0_e_cs_summary->Draw("P"); // PLOT D0 MU DATA : // ----------------- TGraphAsymmErrors* d0_mu_cs_summary = new TGraphAsymmErrors(3,d0_mu_process_number,d0_mu_process_cs,0,0,d0_mu_process_lo_err,d0_mu_process_hi_err); d0_mu_cs_summary->SetTitle(""); d0_mu_cs_summary->GetXaxis()->SetLimits(0.0,6.0); d0_mu_cs_summary->GetXaxis()->SetLabelOffset(5.0); d0_mu_cs_summary->GetXaxis()->SetNdivisions(4); // d0_cs_summary->GetYaxis()->SetTitle("Cross Section (pb) "); d0_mu_cs_summary->SetMaximum(5000.0); d0_mu_cs_summary->SetMinimum(0.00001); d0_mu_cs_summary->SetLineWidth(3.0); d0_mu_cs_summary->SetMarkerStyle(20); d0_mu_cs_summary->SetMarkerColor(kGreen); d0_mu_cs_summary->SetLineColor(kGreen); d0_mu_cs_summary->SetMarkerSize(1.0); d0_mu_cs_summary->Draw("P"); // PLOT D0 E+MU COMBINED DATA : // ---------------------------- TGraphAsymmErrors* d0_cs_summary = new TGraphAsymmErrors(4,d0_process_number,d0_process_cs,0,0,d0_process_lo_err,d0_process_hi_err); d0_cs_summary->SetTitle(""); d0_cs_summary->GetXaxis()->SetLimits(0.0,6.0); d0_cs_summary->GetXaxis()->SetLabelOffset(5.0); d0_cs_summary->GetXaxis()->SetNdivisions(4); // d0_cs_summary->GetYaxis()->SetTitle("Cross Section (pb) "); d0_cs_summary->SetMaximum(5000.0); d0_cs_summary->SetMinimum(0.00001); d0_cs_summary->SetLineWidth(3.0); d0_cs_summary->SetMarkerStyle(20); d0_cs_summary->SetMarkerColor(kBlue); d0_cs_summary->SetLineColor(kBlue); d0_cs_summary->SetMarkerSize(1.0); d0_cs_summary->Draw("P"); // WZ cross-section limit from trileptons [D0-note 4569-CONF] Float_t wz_limit_d0 = log10(15.1*wz_scale_factor); TLine* wz_limit_d0_l = new TLine(6.1,wz_limit_d0,6.5,wz_limit_d0); wz_limit_d0_l->SetLineWidth(3.0); wz_limit_d0_l->SetLineColor(kBlue); wz_limit_d0_l->Draw(""); TArrow* wz_limit_d0_a = new TArrow(6.3,wz_limit_d0,6.3,wz_limit_d0-1.0,0.02); wz_limit_d0_a->SetLineWidth(3.0); wz_limit_d0_a->SetLineColor(kBlue); wz_limit_d0_a->Draw(""); // H->WW->lvlv limit at 160 GeV/95% CL [D0 note 4387] Float_t h_limit_d0 = log10(5.7*brwl2); // Note 5.6 pb is limit on sigma*BR(H->WW) already. TLine* hww_limit_d0 = new TLine(7.3,h_limit_d0,7.7,h_limit_d0); hww_limit_d0->SetLineWidth(3.0); hww_limit_d0->SetLineColor(kBlue); hww_limit_d0->Draw(""); TArrow* hww_limit_d0_a = new TArrow(7.50,h_limit_d0,7.50,h_limit_d0-1.0,0.02); hww_limit_d0_a->SetLineWidth(3.0); hww_limit_d0_a->SetLineColor(kBlue); hww_limit_d0_a->Draw(""); // TEXT LABELS : // ------------- TLatex* label = new TLatex(); label->SetTextSize(0.035); label->DrawLatex(1.80,3.35,"W#rightarrow l#nu"); label->DrawLatex(2.80,2.33,"Z#rightarrow l^{+}l^{-}"); label->DrawLatex(3.70,1.20,"W#gamma#rightarrow l#nu#gamma"); label->DrawLatex(4.73,0.57,"Z#gamma#rightarrow l^{+}l^{-}#gamma"); label->DrawLatex(2.50,-0.87,"WW#rightarrow l#nu l#nu"); label->DrawLatex(1.85,-1.65,"ZW/ZZ #rightarrow l^{+}l^{-} (l#nu, l^{+}l^{-}, #nu#nu)"); label->DrawLatex(3.30,-2.15,"ZW #rightarrow l^{+}l^{-} (l #nu)"); label->DrawLatex(2.50,-2.75,"H#rightarrow WW #rightarrow l#nu l#nu (160 GeV)"); label->SetTextSize(0.035); label->DrawLatex(1.0,-1.72+log10(gshift*lshift*1.50),"CDF Preliminary Run II (e+#mu)"); label->DrawLatex(1.0,-1.90+log10(gshift*lshift),"Theory"); label_d0e = new TLatex(); label_d0e->SetTextSize(0.035); label_d0e->SetTextColor(kCyan); label_d0e->DrawLatex(1.0,-1.22+log10(gshift*lshift*4.0),"D0 Preliminary Run II (e)"); label_d0mu = new TLatex(); label_d0mu->SetTextSize(0.035); label_d0mu->SetTextColor(kGreen); label_d0mu->DrawLatex(1.0,-1.37+log10(gshift*lshift*3.0),"D0 Preliminary Run II (#mu)"); label_d0 = new TLatex(); label_d0->SetTextSize(0.035); label_d0->SetTextColor(kBlue); label_d0->DrawLatex(1.0,-1.52+log10(gshift*lshift*2.0),"D0 Preliminary Run II (e+#mu)"); TLatex* labelaxis = new TLatex(); labelaxis->SetTextSize(0.05); labelaxis->SetTextAngle(90.0); labelaxis->DrawLatex(-0.9,-3.0,"Cross Section (pb)"); } void plotTheory(Double_t cs, Double_t cs_err, Double_t xmin, Double_t xmax) { TBox* theory = new TBox(xmin,log10(cs-cs_err),xmax,log10(cs+cs_err)); theory->SetFillColor(2); theory->SetLineColor(1); theory->SetLineWidth(2); theory->SetLineStyle(1); theory->Draw(""); }