ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/PlotScript/plot50tb.cc
Revision: 1.8
Committed: Fri May 20 07:39:34 2011 UTC (13 years, 11 months ago) by auterman
Content type: text/plain
Branch: MAIN
Changes since 1.7: +130 -5 lines
Log Message:
post CWR comments

File Contents

# Content
1 #include "plot.h"
2 #include "SusyScan.h"
3 #include "GeneratorMasses.h"
4 #include "PlotTools.h"
5 #include "TheLimits.h"
6 #include "GlobalFunctions.h"
7 #include "StyleSettings.h"
8
9 #include "TRint.h"
10 #include "TROOT.h"
11 #include "TObjArray.h"
12 #include "TStyle.h"
13
14 #include "TChain.h"
15 #include "TFile.h"
16 #include "TGraph.h"
17 #include "TH1.h"
18 #include "TH2.h"
19 #include "TH2F.h"
20 #include "TTree.h"
21 #include "TKey.h"
22 #include "Riostream.h"
23 #include "TCanvas.h"
24 #include "TLegend.h"
25 #include "TLatex.h"
26 #include "TMarker.h"
27
28 #include <string>
29 #include <cmath>
30 #include <stdio.h>
31
32 int plot(int argc, char** argv)
33 {
34 //interactive root session
35 //TApplication theApp("App", 0, 0);
36 if (gROOT->IsBatch()) {
37 fprintf(stderr, "%s: cannot run in batch mode\n", argv[0]);
38 return 1;
39 }
40
41 /*
42 //Style stuff
43 gStyle->SetHistFillColor(0);
44 gStyle->SetPalette(1);
45 gStyle->SetCanvasColor(0);
46 gStyle->SetCanvasBorderMode(0);
47 gStyle->SetPadColor(0);
48 gStyle->SetPadBorderMode(0);
49 gStyle->SetFrameBorderMode(0);
50
51 gStyle->SetTitleFillColor(0);
52 gStyle->SetTitleBorderSize(0);
53 gStyle->SetTitleX(0.10);
54 gStyle->SetTitleY(0.98);
55 gStyle->SetTitleW(0.8);
56 gStyle->SetTitleH(0.06);
57
58 gStyle->SetErrorX(0);
59 gStyle->SetStatColor(0);
60 gStyle->SetStatBorderSize(0);
61 gStyle->SetStatX(0);
62 gStyle->SetStatY(0);
63 gStyle->SetStatW(0);
64 gStyle->SetStatH(0);
65
66 gStyle->SetTitleFont(22);
67 gStyle->SetLabelFont(22,"X");
68 gStyle->SetLabelFont(22,"Y");
69 gStyle->SetLabelFont(22,"Z");
70 gStyle->SetLabelSize(0.03,"X");
71 gStyle->SetLabelSize(0.03,"Y");
72 gStyle->SetLabelSize(0.03,"Z");
73 */
74 util::StyleSettings::paper();
75 gStyle->SetPadBottomMargin(0.18);
76
77 //gROOT->SetStyle("MyStyle");
78 TCanvas * c1 = new TCanvas("c1","c1",600,600);
79 //c1->SetFillStyle ( 4000 );
80 //c1->SetLeftMargin ( 0.15 );
81 //c1->SetRightMargin ( 0.15 );
82 //c1->SetBottomMargin( 0.10 );
83 c1->cd();
84
85 //Get limits and generator masses ---------------------------------------------------
86 TheLimits * genpoints = new TheLimits();
87 //genpoints->Fill(argc, argv);
88 //genpoints->Fill("limits_MHT_tb50_20110303/filelist.txt");
89 genpoints->Fill("limits_moriond_MHT/filelist_tb50.txt");
90
91 TheLimits * genpointsHT = new TheLimits();
92 //genpointsHT->Fill("limits_HT_tb50_20110303/filelist.txt");
93 genpointsHT->Fill("limits_moriond_HT/filelist_tb50.txt");
94
95
96 //Replace read limits with specific numbers
97 //genpoints->OverwriteLimits("ABCD_MHT");
98
99 genpoints->FillGeneratorMasses("GenScan_tb50.dat");
100 genpoints->match();
101 genpointsHT->FillGeneratorMasses("GenScan_tb50.dat");
102 genpointsHT->match();
103
104 //genpoints->ExpandGrid(1);
105 //genpoints->ExpandGrid(1);
106 //genpoints->ExpandGrid(1);
107 //genpointsHT->ExpandGrid(1);
108 //genpointsHT->ExpandGrid(1);
109 //genpointsHT->ExpandGrid(1);
110
111 //the plotting ----------------------------------------------------------------------
112 //plotting helper functions
113 PlotTools<SusyScan> * plotTools = new PlotTools<SusyScan>(genpoints->GetScan());
114 PlotTools<SusyScan> * plotToolsHT = new PlotTools<SusyScan>(genpointsHT->GetScan());
115 PlotTools<GeneratorMasses> * plotMasses = new PlotTools<GeneratorMasses>(genpoints->GetGeneratorMasses());
116
117 //iso mass lines
118 TGraph * gl500 = plotMasses->Line(Mzero, Mhalf, MGluino, 500);
119 TGraph * sq500 = plotMasses->Line(Mzero, Mhalf, MSquarkL, 500, 10);
120 sq500->SetLineWidth(2); sq500->SetLineColor(7);
121
122 TGraph * chi100 = plotMasses->Line(Mzero, Mhalf, MChi1, 50, 20);
123 TGraph * cha200 = plotMasses->Line(Mzero, Mhalf, MCha1, 200, 20);
124 cha200->SetLineColor(2);
125
126 //the histograms
127 c1->SetLogz(1);
128 //h->SetMaximum(27);
129 //h->SetMinimum(0.01);
130
131 /**/
132 // cross-section in M0 - M1/2
133 TH2F*hxsec = new TH2F("xsec",";m_{0} [GeV]; m_{1/2} [GeV]; cross section [pb]",
134 40,200,600,26,140,400);
135 plotTools->Area(hxsec, Mzero, Mhalf, Xsection);
136 hxsec->SetMinimum(0.01);
137 //sq500->Draw();
138 //gl500->Draw();
139 hxsec->Draw("colz");
140 c1->SaveAs("results_tb50/Xsection_m0_m12_tb50.pdf");
141 std::string wait;
142 //std::cin>>wait;
143
144 // Observed Limit in M0 - M1/2
145 TH2F*hobslimit = new TH2F("obslimit",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Observed Limit [pb]",
146 40,200,600,26,140,400);
147 plotTools->Area(hobslimit, Mzero, Mhalf, ObsXsecLimit);
148 hobslimit->SetMinimum(0.01);
149 hobslimit->Draw("colz");
150 c1->SaveAs("results_tb50/ObsLimit_m0_m12_tb50.pdf");
151
152 // Expected Limit in M0 - M1/2
153 TH2F*hexplimit = new TH2F("explimit",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Expected Limit [pb]",
154 40,200,600,26,140,400);
155 plotTools->Area(hexplimit, Mzero, Mhalf, ExpXsecLimit);
156 hexplimit->SetMinimum(0.01);
157 hexplimit->Draw("colz");
158 c1->SaveAs("results_tb50/ExpLimit_m0_m12_tb50.pdf");
159
160 // Signal Acceptance in M0 - M1/2
161 TH2F*hsigacc = new TH2F("sigacc",";m_{0} [GeV]; m_{1/2} [GeV]; Signal Acceptance",
162 40,200,600,26,140,400);
163 plotTools->Area(hsigacc, Mzero, Mhalf, SignalAcceptance);
164 hsigacc->SetMinimum(0.01);
165 hsigacc->SetMaximum(1.0);
166 hsigacc->Draw("colz");
167 chi100->Draw();
168 cha200->Draw();
169 gl500 ->Draw();
170 sq500 ->Draw();
171 c1->SaveAs("results_tb50/SigAcc_m0_m12_tb50.pdf");
172
173 // Exp. Limit on Number of Signal Events in M0 - M1/2
174 c1->SetLogz(0);
175 TH2F*hexplimitnsig = new TH2F("explimitnsig",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL exp. limit signal events [# ]",
176 40,200,600,26,140,400);
177 plotTools->Area(hexplimitnsig, Mzero, Mhalf, ExpNSignLimit);
178 hexplimitnsig->SetMinimum(0.0);
179 hexplimitnsig->SetMaximum(20);
180 hexplimitnsig->Draw("colz");
181 c1->SaveAs("results_tb50/ExpLimitOnNSig_m0_m12_tb50.pdf");
182
183 // Charged LSP in M0 - M1/2
184 c1->SetRightMargin ( 0.15 );
185 c1->SetLogz(0);
186 TH2F*hchargedLSP = new TH2F("explimitnsig",";m_{0} [GeV]; m_{1/2} [GeV]; Charged LSP",
187 40,200,600,26,140,400);
188 plotTools->Area(hchargedLSP, Mzero, Mhalf, ChargedLSP);
189 //hchargedLSP->SetMinimum(-0.01);
190 //hchargedLSP->SetMaximum(1.1);
191 hchargedLSP->Draw("colz");
192 c1->SaveAs("results_tb50/ChargedLSP_m0_m12_tb50.pdf");
193
194 TH2F*hnLSP = new TH2F("explimitnsig",";m_{0} [GeV]; m_{1/2} [GeV]; Neutral LSP",
195 40,200,600,26,140,400);
196 plotTools->Area(hnLSP, Mzero, Mhalf, MChi1);
197 //hchargedLSP->SetMinimum(-0.01);
198 //hchargedLSP->SetMaximum(1.1);
199 hnLSP->Draw("colz");
200 c1->SaveAs("results_tb50/NeutralLSP_m0_m12_tb50.pdf");
201
202 // Obs. Limit on Number of Signal Events in M0 - M1/2
203 TH2F*hobslimitnsig = new TH2F("obslimitnsig",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL obs. limit signal events [# ]",
204 40,200,600,26,140,400);
205 plotTools->Area(hobslimitnsig, Mzero, Mhalf, ObsNSignLimit);
206 hobslimitnsig->SetMinimum(0.0);
207 hobslimitnsig->SetMaximum(20);
208 hobslimitnsig->Draw("colz");
209 c1->SaveAs("results_tb50/ObsLimitOnNSig_m0_m12_tb50.pdf");
210
211 c1->SetLogz(0);
212 // Expected Exclusion in M0 - M1/2
213 TH2F*hexpexcl = new TH2F("expexcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Expected Exclusion",
214 40,200,600,26,140,400);
215 plotTools->Area(hexpexcl, Mzero, Mhalf, ExpExclCL);
216 hexpexcl->Draw("colz");
217 c1->SaveAs("results_tb50/ExpExclusion_m0_m12_tb50.pdf");
218
219 // Observed Exclusion in M0 - M1/2
220 TH2F*hobsexcl = new TH2F("obsexcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Observed Exclusion",
221 40,200,600,26,140,400);
222 plotTools->Area(hobsexcl, Mzero, Mhalf, ObsExclCL);
223 hobsexcl->Draw("colz");
224 c1->SaveAs("results_tb50/ObsExclusion_m0_m12_tb50.pdf");
225
226 // Observed Exclusion in M0 - M1/2
227 TH2F*hPLobsexcl = new TH2F("plobsexcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Observed Exclusion",
228 40,200,600,26,140,400);
229 plotTools->Area(hPLobsexcl, Mzero, Mhalf, PLObsExclusion);
230 hPLobsexcl->Draw("colz");
231 c1->SaveAs("results_tb50/PL_ObsExclusion_m0_m12_tb50.pdf");
232
233 c1->SetRightMargin ( 0.1 );
234 // TestContours in M0 - M1/2
235 TH2F*texcl = new TH2F("texcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Expected Exclusion",
236 40,200,600,26,140,400);
237 TH2F*texpexcl=(TH2F*)texcl->Clone();
238 plotToolsHT->Area(texpexcl, Mzero, Mhalf, NLOExpExclCLp1sigma);
239 std::vector<TGraph*> contours = plotTools->GetContours(texpexcl,3);
240 texpexcl->Draw("colz");
241 int col=kBlue-10;
242 for (std::vector<TGraph*>::iterator cont=contours.begin(); cont!=contours.end(); ++cont){
243 if (! *cont) continue;
244 double x, y;
245 (*cont)->GetPoint(0, x, y);
246 (*cont)->SetLineColor(col);
247 (*cont)->Draw("l");
248 TLatex l; l.SetTextSize(0.04); l.SetTextColor(col++);
249 char val[20];
250 sprintf(val,"%d",(int)(cont-contours.begin()));
251 l.DrawLatex(x,y,val);
252 //if (cont-contours.begin()>3) break;
253 }
254 c1->SaveAs("results_tb50/ExclusionTestContours_m0_m12_tb50.pdf");
255
256
257 // Exclusion in M0 - M1/2
258 TH2F*hexcl = new TH2F("hexcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Expected Exclusion",
259 40,200,600,26,140,450);
260 TH2F*hs = new TH2F("hs","",40,200,600,26,140,400);
261 TGraph * gexpexcl = plotTools ->GetContour(hs,Mzero,Mhalf,NLOExpExclCL, 3,0, 2,2);
262 TGraph * gexpexcl_LO = plotTools ->GetContour(hs,Mzero,Mhalf,ExpExclCL, 3,0, 2,4);
263 TGraph * gobsexcl = plotTools ->GetContour(hs,Mzero,Mhalf,NLOObsExclCL, 3,0, 2,1);
264 TGraph * gobsexcl_LO = plotTools ->GetContour(hs,Mzero,Mhalf,ObsExclCL, 3,0, 2,1);
265 TGraph * gMCMCexpexcl = plotToolsHT->GetContour(hs,Mzero,Mhalf,MCMCExpExclusion, 3,0, 3,2);
266 TGraph * gMCMCobsexcl = plotToolsHT->GetContour(hs,Mzero,Mhalf,MCMCObsExclusion, 3,0, 3,1);
267 TGraph * gFCexpexclHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOFCExpExclusion, 3,0, 3,2);
268 TGraph * gFCexpexclHT_LO = plotToolsHT->GetContour(hs,Mzero,Mhalf,FCExpExclusion, 3,0, 3,4);
269 TGraph * gFCexpexclMHT = plotTools->GetContour(hs,Mzero,Mhalf,NLOFCExpExclusion, 3,0, 3,2);
270 TGraph * gFCexpexclMHT_LO = plotTools->GetContour(hs,Mzero,Mhalf,FCExpExclusion, 3,0, 3,4);
271 TGraph * gFCobsexclHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOFCObsExclusion, 3,0, 3,1);
272 TGraph * gFCobsexclMHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOFCObsExclusion, 3,0, 3,1);
273 TGraph * gCLsExpExclHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOExpExclCL, 3,0, 1,2);
274 TGraph * gCLsObsExclHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOObsExclCL, 3,0, 1,1);
275 TGraph * gCLsExpExclHT_LO = plotToolsHT->GetContour(hs,Mzero,Mhalf,ExpExclCL, 3,0, 1,4);
276 TGraph * gCLsObsExclHT_LO = plotToolsHT->GetContour(hs,Mzero,Mhalf,ObsExclCL, 3,0, 2,1);
277 TGraph * gCLsExpExclHTm1 = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOExpExclCLm1sigma,3,0, 5,2);
278 TGraph * gCLsExpExclHTp1 = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOExpExclCLp1sigma,3,0, 5,2);
279 TGraph * gCLsExpExclMHTm1 = plotTools ->GetContour(hs,Mzero,Mhalf,NLOExpExclCLm1sigma, 3,0, 5,2);
280 TGraph * gCLsExpExclMHTp1 = plotTools ->GetContour(hs,Mzero,Mhalf,NLOExpExclCLp1sigma, 3,0, 5,2);
281 TGraph * gCheck1 = (TGraph*)gobsexcl->Clone();
282 TGraph * gCheck2 = (TGraph*)gexpexcl->Clone();
283 Smooth( gCLsObsExclHT, 27); gCLsObsExclHT->SetLineWidth( 3 );
284 Smooth( gCLsExpExclHT, 27 ); gCLsExpExclHT->SetLineWidth( 3 );
285 Smooth( gCLsObsExclHT_LO, 27); gCLsObsExclHT_LO->SetLineWidth( 2 );
286 Smooth( gCLsExpExclHT_LO, 27 ); gCLsExpExclHT_LO->SetLineWidth( 3 );
287 Smooth( gexpexcl, 27 );
288 Smooth( gobsexcl_LO, 27 );gobsexcl_LO->SetLineWidth( 2 );
289 //Smooth( gobsexcl, 27 );
290 Smooth( gobsexcl, 27 );
291 Smooth( gexpexcl_LO, 27 );
292 Smooth( gFCexpexclHT, 27 );
293 Smooth( gFCexpexclHT_LO, 27 );gFCexpexclHT_LO->SetLineWidth( 3 );
294 Smooth( gFCexpexclMHT, 27 );
295 Smooth( gFCexpexclMHT_LO, 27 );
296 Smooth( gFCobsexclHT, 27 );gFCobsexclHT->SetLineWidth( 3 );
297 Smooth( gFCobsexclMHT, 27 );
298 Smooth( gCLsExpExclHTm1, 27 );
299 Smooth( gCLsExpExclHTp1, 27 );
300 Smooth( gCLsExpExclMHTm1, 27 );
301 Smooth( gCLsExpExclMHTp1, 27 );
302 TGraph * CLsObsNLO = plotToolsHT->ChooseBest(gCLsObsExclHT,gobsexcl, gCLsObsExclHT,gobsexcl);
303 TGraph * CLsObsLO = plotToolsHT->ChooseBest(gCLsObsExclHT_LO,gobsexcl_LO, gCLsObsExclHT_LO,gobsexcl_LO);
304 TGraph * CLsExpNLO = plotToolsHT->ChooseBest(gCLsExpExclHT,gexpexcl, gCLsExpExclHT,gexpexcl);
305 TGraph * CLsExpLO = plotToolsHT->ChooseBest(gCLsExpExclHT_LO,gexpexcl_LO, gCLsExpExclHT_LO,gexpexcl_LO);
306 TGraph * FCExpLO = plotToolsHT->ChooseBest(gFCexpexclHT_LO,gFCexpexclMHT_LO,gFCexpexclHT_LO,gFCexpexclMHT_LO);
307 TGraph * FCExpNLO = plotToolsHT->ChooseBest(gFCexpexclHT,gFCexpexclMHT,gFCexpexclHT,gFCexpexclMHT);
308 TGraph * FCObsNLO = plotToolsHT->ChooseBest(gFCobsexclHT,gFCobsexclMHT,gFCobsexclHT,gFCobsexclMHT);
309 TGraph * gCLsExpExclp1 = plotToolsHT->ChooseBest(gCLsExpExclHTp1,gCLsExpExclMHTp1, gCLsExpExclHTp1,gCLsExpExclMHTp1);
310 TGraph * gCLsExpExclm1 = plotToolsHT->ChooseBest(gCLsExpExclHTm1,gCLsExpExclMHTm1, gCLsExpExclHTm1,gCLsExpExclMHTm1);
311 TGraph * gCLsExp1Sigma = MakeBand(gCLsExpExclp1, gCLsExpExclm1);
312 hexcl->GetYaxis()->SetTitleOffset(1.3);
313 hexcl->GetXaxis()->SetTitleOffset(0.92);
314 hexcl->Draw("colz");
315 //gCLsExpExclHTp1->Draw("l");
316 //gCLsExpExclMHTp1->Draw("l");
317 //gCLsExpExclHTm1->Draw("l");
318 //gCLsExpExclMHTm1->Draw("l");
319 gCLsExp1Sigma->Draw("f");
320 //set old exclusion Limits
321 TGraph* Atlas = Atlas_m0_m12_tb3_obs();
322 Atlas->SetLineColor( 28 );
323 TGraph* LEP_ch = set_lep_ch(50);
324 TGraph* LEP_sl = set_lep_sl(50);//slepton curve
325 TGraph* TEV_sg_cdf = set_tev_sg_cdf(50);//squark gluino cdf
326 TGraph* TEV_sg_d0 = set_tev_sg_d0(50);//squark gluino d0
327 //TGraph* TEV_tlp_cdf = set_tev_tlp_cdf(10);//trilepton cdf
328 //TGraph* TEV_tlp_d0 = set_tev_tlp_d0(10);//trilepton d0
329 TGraph* stau = set_tev_stau(50);//stau
330 TGraph* TEV_sn_d0_1 = set_sneutrino_d0_1(50);
331 TGraph* TEV_sn_d0_2 = set_sneutrino_d0_2(50);
332 TGraphErrors* First = getObserved_NLO_tanBeta50();
333 TGraphErrors* Second = getExpected_NLO_tanBeta50();//getLO_jetMultis();
334 TGraphErrors* Third = getLO_tanBeta50();
335 First->GetXaxis()->SetRangeUser(0,505);
336 First->GetYaxis()->SetRangeUser(80,500);
337 First->GetXaxis()->SetTitle("m_{0} (GeV)");
338 First->GetYaxis()->SetTitle("m_{1/2} (GeV)");
339 TSpline3 *sFirst = new TSpline3("sFirst",First);
340 sFirst->SetLineColor(kBlue);
341 //sFirst->SetLineWidth(3);
342 TSpline3 *sSecond = new TSpline3("sSecond",Second);
343 sSecond->SetLineColor(kBlue);
344 sSecond->SetLineStyle(2);
345 //sSecond->SetLineWidth(3);
346 TSpline3 *sThird = new TSpline3("sThird",Third);
347 sThird->SetLineColor(kBlue);
348 sThird->SetLineStyle(4);
349 //sThird->SetLineWidth(3);
350 //TEV_sn_d0_1->Draw("fsame");
351 //TEV_sn_d0_2->Draw("fsame"); //only for tb=3
352 LEP_ch->Draw("fsame");
353 LEP_sl->Draw("fsame");
354 //TEV_sg_cdf->Draw("fsame");
355 //TEV_sg_cdf->Draw("lsame");
356 //TEV_sg_d0->Draw("fsame");
357 sFirst->Draw("same");
358 //sSecond->Draw("same");
359 //sThird->Draw("same");
360 Atlas->Draw("c,same");
361 TLatex b; b.SetTextSize(0.02); b.SetTextColor(1);
362 TLatex ms; ms.SetTextSize(0.025); ms.SetTextFont(42);//ms.SetTextColor(12);
363 ms.DrawLatex(490,458,"tan#beta=50, #mu>0, A_{0}=0");
364 TLegend* legexp = new TLegend(0.69,0.77,0.93,0.92,NULL,"brNDC");
365 legexp->SetFillColor(0);legexp->SetShadowColor(0);legexp->SetFillStyle(4000);legexp->SetTextFont(42);legexp->SetTextSize(0.025);legexp->SetBorderSize(0);
366 //TEV_sg_cdf.SetLineColor(1);
367 legexp->SetHeader("CMS preliminary");
368 //legexp->AddEntry(TEV_sg_cdf,"CDF #tilde{#font[12]{g}}, #tilde{#font[12]{q}}, #scale[0.8]{tan#beta=5, #mu<0}","f");
369 //legexp->AddEntry(TEV_sg_d0,"D0 #tilde{#font[12]{g}}, #tilde{#font[12]{q}}, #scale[0.8]{tan#beta=3, #mu<0}","f");
370 //ch_gr.SetLineColor(1);
371 legexp->AddEntry(LEP_ch,"LEP2 #tilde{#chi}_{1}^{#pm}","f");
372 //sl_gr.SetLineColor(1);
373 //legexp->AddEntry(LEP_sl,"LEP2 #tilde{#font[12]{l}}^{#pm}","f"); //NOT FOR tb=50!
374 //if(tanbeta == 3)
375 //legexp->AddEntry(TEV_sn_d0_1,"D0 #chi^{#pm}_{1}, #chi^{0}_{2}","f");
376 legexp->AddEntry(sFirst, "CMS #alpha_{T}");
377 legexp->AddEntry(Atlas, "Atlas, #scale[0.8]{tan#beta=3}","l");
378 legexp->Draw();
379
380 CLsObsNLO->Draw("l");
381 CLsObsLO->Draw("l");
382 CLsExpNLO->Draw("l");
383 //FCExpNLO->Draw("l");
384 stau->Draw("fsame");
385 b.DrawLatex( 220,420,"#tilde{#tau} LSP");
386
387 //constant ssqquark and gluino lines
388 TF1* lnsq[4];
389 TF1* lngl[4];
390 TLatex sqt; sqt.SetTextSize(0.02); sqt.SetTextAngle(-22);sqt.SetTextColor(kGray+2);
391 sqt.DrawLatex(270,180,"#font[92]{#tilde{q}(500)GeV}");
392 sqt.DrawLatex(327,245,"#font[92]{#tilde{q}(650)GeV}");
393 sqt.DrawLatex(390,348,"#font[92]{#tilde{q}(800)GeV}");
394 TLatex glt; glt.SetTextSize(0.02); sqt.SetTextAngle(-4); glt.SetTextColor(kGray+2);
395 glt.DrawLatex(528,195,"#font[92]{#tilde{g}(500)GeV}");
396 glt.DrawLatex(528,258,"#font[92]{#tilde{g}(650)GeV}");
397 glt.DrawLatex(528,322,"#font[92]{#tilde{g}(800)GeV}");
398 int tanBeta_=50;
399 for(int i = 0; i < 4; i++){
400 lnsq[i] = constant_squark(tanBeta_,i);
401 lngl[i] = constant_gluino(tanBeta_,i);
402 lngl[i]->Draw("same");
403 lnsq[i]->Draw("same");
404 }
405 TLegend * leg = new TLegend(0.38,0.8,0.73,0.92);
406 leg->SetBorderSize(0);leg->SetFillColor(0);leg->SetFillStyle(4000);leg->SetTextFont(42);legexp->SetTextSize(0.025);
407 TGraph * expLeg = (TGraph*)CLsExpNLO->Clone();expLeg->SetFillStyle(gCLsExp1Sigma->GetFillStyle());expLeg->SetFillColor(gCLsExp1Sigma->GetFillColor());
408 leg->SetHeader("L_{int} = 36/pb, #sqrt{s} = 7 TeV");
409 leg->AddEntry(CLsObsNLO,"Observed, NLO","l");
410 leg->AddEntry(CLsObsLO, "Observed, LO","l");
411 leg->AddEntry(expLeg, "Expected #pm 1#sigma, NLO","lf");
412 //leg->AddEntry(FCExpLO, "Expected, FC, NLO","l");
413 leg->Draw();
414 gPad->RedrawAxis();
415 c1->SaveAs("results/Exclusion_m0_m12_tb50.pdf");
416
417
418 hexcl->Draw("");
419 gCLsExp1Sigma->SetName("CLsNLO_Exp1SigmaUncertaintyTb50");
420 CLsObsNLO->SetName("CLsNLO_ObservedTb50");
421 CLsExpNLO->SetName("CLsNLO_ExpectedTb50");
422 CLsExpLO->SetName("CLsLO_ExpectedTb50");
423 gCLsExp1Sigma->Draw("l");
424 CLsObsNLO->Draw("l");
425 CLsExpNLO->Draw("l");
426 CLsObsLO->Draw("l");
427 c1->SaveAs("results/LimitContours_tb50.C");
428
429
430
431 hexcl->Draw("colz");
432 LEP_ch->Draw("fsame");
433 LEP_sl->Draw("fsame");
434 if (gCLsExp1Sigma) gCLsExp1Sigma->Draw("lf");
435 sFirst->Draw("same");
436 Atlas->Draw("c,same");
437 ms.DrawLatex(490,458,"tan#beta=50, #mu>0, A_{0}=0");
438 CLsObsNLO->Draw("l");
439 //CLsObsLO->Draw("l");
440 CLsExpNLO->Draw("l");
441 //FCExpNLO->Draw("l");
442 //Jim's limits///////////////////////////////////////////////////////////////////////////////
443 TGraph* JimObsHT = Jim_ht_tb50(0);
444 TGraph* JimObsMHT = Jim_mht_tb50(0);
445 TGraph* JimExpHT = Jim_ht_tb50(1);
446 TGraph* JimExpMHT = Jim_mht_tb50(1);
447 TGraph* JimExpHTup = Jim_ht_tb50(2);
448 TGraph* JimExpMHTup = Jim_mht_tb50(2);
449 TGraph* JimExpHTdn = Jim_ht_tb50(3);
450 TGraph* JimExpMHTdn = Jim_mht_tb50(3);
451 Smooth(JimObsHT, 2);
452 Smooth(JimObsMHT,2);
453 Smooth(JimExpHT, 2);
454 Smooth(JimExpMHT,2);
455 Smooth(JimExpHTup, 2);
456 Smooth(JimExpMHTup,2);
457 Smooth(JimExpHTdn, 2);
458 Smooth(JimExpMHTdn,2);
459 TGraph * JimObs = plotToolsHT->ChooseBest(JimObsHT,JimObsMHT,JimObsHT,JimObsMHT);
460 TGraph * JimExp = plotToolsHT->ChooseBest(JimExpHT,JimExpMHT,JimExpHT,JimExpMHT);
461 TGraph * JimExpup = plotToolsHT->ChooseBest(JimExpHTup,JimExpMHTup,JimExpHTup,JimExpMHTup);
462 TGraph * JimExpdn = plotToolsHT->ChooseBest(JimExpHTdn,JimExpMHTdn,JimExpHTdn,JimExpMHTdn);
463 TGraph * JimExp1Sigma = MakeBand(JimExpup, JimExpdn);JimExp1Sigma->SetFillStyle(3001);
464 TGraph * JimLeg = (TGraph*)JimExp->Clone();JimLeg->SetFillStyle(JimExp1Sigma->GetFillStyle());JimLeg->SetFillColor(JimExp1Sigma->GetFillColor());
465 JimExp1Sigma->Draw("f");
466 JimObs->Draw("c");
467 JimExp->Draw("c");
468 stau->Draw("fsame");
469 b.DrawLatex( 220,420,"#tilde{#tau} LSP");
470 //constant ssqquark and gluino lines
471 sqt.DrawLatex(270,180,"#font[92]{#tilde{q}(500)GeV}");
472 sqt.DrawLatex(327,245,"#font[92]{#tilde{q}(650)GeV}");
473 sqt.DrawLatex(390,348,"#font[92]{#tilde{q}(800)GeV}");
474 glt.DrawLatex(528,195,"#font[92]{#tilde{g}(500)GeV}");
475 glt.DrawLatex(528,258,"#font[92]{#tilde{g}(650)GeV}");
476 glt.DrawLatex(528,322,"#font[92]{#tilde{g}(800)GeV}");
477 for(int i = 0; i < 4; i++){
478 lngl[i]->Draw("same");
479 lnsq[i]->Draw("same");
480 }
481 legexp->Draw();
482 TLegend * legBayes = new TLegend(0.38,0.8,0.73,0.92);
483 legBayes->SetBorderSize(0);legBayes->SetFillColor(0);legBayes->SetFillStyle(4000);legBayes->SetTextFont(42);
484 legBayes->SetHeader("L_{int} = 36/pb, #sqrt{s} = 7 TeV");
485 legBayes->AddEntry(JimObs, "Observed, Bayes","l");
486 legBayes->AddEntry(JimLeg, "Expected #pm 1#sigma, Bayes","lf");
487 legBayes->AddEntry(CLsObsNLO,"Observed, CLs","l");
488 legBayes->AddEntry(expLeg, "Expected #pm 1#sigma, CLs","lf");
489 legBayes->Draw();
490 gPad->RedrawAxis();
491 c1->SaveAs("results/Exclusion_m0_m12_tb50_Bayes.pdf");
492
493
494 //The RA1-style Expected limits - no-signal hypothesis *only* for pseudo data ///////////////////////////////
495 TGraph * gCLsExpNoSExclMHT = plotTools ->GetContour(hs,Mzero,Mhalf,NLOExpNoSigExclCL, 3,0, 1,2);
496 TGraph * gCLsExpNoSExclHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOExpNoSigExclCL, 3,0, 1,2);
497 TGraph * gCLsExpNoSExclHTm1 = plotToolsHT->ModifyExpSigma(gCLsExpExclHTm1, gCLsExpExclHT, gCLsExpNoSExclHT);
498 TGraph * gCLsExpNoSExclHTp1 = plotToolsHT->ModifyExpSigma(gCLsExpExclHTp1, gCLsExpExclHT, gCLsExpNoSExclHT);
499 TGraph * gCLsExpNoSExclMHTm1 = plotTools ->ModifyExpSigma(gCLsExpExclMHTm1,gCLsExpExclHT, gCLsExpNoSExclHT);
500 TGraph * gCLsExpNoSExclMHTp1 = plotTools ->ModifyExpSigma(gCLsExpExclMHTp1,gCLsExpExclHT, gCLsExpNoSExclHT);
501 Smooth( gCLsExpNoSExclMHT, 27 ); gCLsExpNoSExclMHT->SetLineWidth( 3 );
502 Smooth( gCLsExpNoSExclHT, 27 ); gCLsExpNoSExclHT->SetLineWidth( 3 );
503 Smooth( gCLsExpNoSExclHTm1, 27 );
504 Smooth( gCLsExpNoSExclHTp1, 27 );
505 Smooth( gCLsExpNoSExclMHTm1, 27 );
506 Smooth( gCLsExpNoSExclMHTp1, 27 );
507 TGraph * CLsExpNoSNLO = plotToolsHT->ChooseBest(gCLsExpNoSExclHT,gCLsExpNoSExclMHT, gCLsExpNoSExclHT,gCLsExpNoSExclMHT);
508 TGraph * gCLsExpNoSExclp1 = plotToolsHT->ChooseBest(gCLsExpNoSExclHTp1,gCLsExpNoSExclMHTp1, gCLsExpNoSExclHTp1,gCLsExpNoSExclMHTp1);
509 TGraph * gCLsExpNoSExclm1 = plotToolsHT->ChooseBest(gCLsExpNoSExclHTm1,gCLsExpNoSExclMHTm1, gCLsExpNoSExclHTm1,gCLsExpNoSExclMHTm1);
510 TGraph * gCLsExpNoS1Sigma = MakeBand(gCLsExpNoSExclp1, gCLsExpNoSExclm1);gCLsExpNoS1Sigma->SetFillStyle(4010);
511 hexcl->Draw("colz");
512 LEP_ch->Draw("fsame");
513 LEP_sl->Draw("fsame");
514 if (gCLsExp1Sigma) gCLsExp1Sigma->Draw("lf");
515 sFirst->Draw("same");
516 Atlas->Draw("c,same");
517 ms.DrawLatex(490,458,"tan#beta=50, #mu>0, A_{0}=0");
518 gCLsExpNoS1Sigma->Draw("lf,same");
519 sFirst->Draw("same");
520 Atlas->Draw("c,same");
521 CLsObsNLO->Draw("l,same");
522 CLsObsLO->Draw("l,same");
523 CLsExpNoSNLO->Draw("l,same");
524 //gCLsExpNoSExclMHT->Draw("l,same");
525 //gCLsExpNoSExclHT->Draw("l,same");
526 //gCLsObsExclHT->Draw("l,same");
527 //gobsexcl->Draw("l,same");
528 //FCExpNLO->Draw("l");
529 stau->Draw("fsame");
530 b.DrawLatex( 220,420,"#tilde{#tau} LSP");
531 //constant ssqquark and gluino lines
532 sqt.DrawLatex(270,180,"#font[92]{#tilde{q}(500)GeV}");
533 sqt.DrawLatex(327,245,"#font[92]{#tilde{q}(650)GeV}");
534 sqt.DrawLatex(390,348,"#font[92]{#tilde{q}(800)GeV}");
535 glt.DrawLatex(528,195,"#font[92]{#tilde{g}(500)GeV}");
536 glt.DrawLatex(528,258,"#font[92]{#tilde{g}(650)GeV}");
537 glt.DrawLatex(528,322,"#font[92]{#tilde{g}(800)GeV}");
538 for(int i = 0; i < 4; i++){
539 lngl[i]->Draw("same");
540 lnsq[i]->Draw("same");
541 }
542 legexp->Draw();
543 leg->Draw();
544 gPad->RedrawAxis();
545 c1->SaveAs("results/Exclusion_m0_m12_tb50_NoSigHypPseudoData.pdf");
546
547
548
549 // Signal Contamination in M0 - M1/2
550 c1->SetLogz(0);
551 TH2F*hsigcont = new TH2F("sigcont",";m_{0} [GeV]; m_{1/2}; number of signal in bkg yield [events]",
552 40,200,600,26,140,400);
553 plotToolsHT->Area(hsigcont, Mzero, Mhalf, SignalContamination);
554 hsigcont->SetMinimum(0.01);
555 hsigcont->SetMaximum(20);
556 hsigcont->Draw("colz");
557 if (gCLsObsExclHT) gCLsObsExclHT->Draw("l");
558 c1->SaveAs("results_tb50/SignalContamination_HT_m0_m12_tb50.pdf");
559
560 // Signal Contamination in M0 - M1/2
561 c1->SetLogz(0);
562 TH2F*hsigcontMHT = new TH2F("sigcontMHT",";m_{0} [GeV]; m_{1/2}; number of signal in bkg yield [events]",
563 40,200,600,26,140,400);
564 plotTools->Area(hsigcontMHT, Mzero, Mhalf, SignalContamination);
565 hsigcontMHT->SetMinimum(0.01);
566 hsigcontMHT->SetMaximum(20);
567 hsigcontMHT->Draw("colz");
568 if (gobsexcl) gobsexcl->Draw("l");
569 c1->SaveAs("results_tb50/SignalContamination_MHT_m0_m12_tb50.pdf");
570
571 // Signal JEC Uncertainty MHT
572 c1->SetLogz(0);
573 TH2F*hsig_jec_mht = new TH2F("sigjecmht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal JEC uncertainty",
574 40,200,600,26,140,400);
575 plotTools->Area(hsig_jec_mht, Mzero, Mhalf, SignalUncertJEC);
576 hsig_jec_mht->SetMinimum(0.0);
577 hsig_jec_mht->SetMaximum(0.25);
578 hsig_jec_mht->SetContour(10);
579 hsig_jec_mht->Draw("colz");
580 if (gobsexcl) gobsexcl->Draw("l");
581 c1->SaveAs("results_tb50/SigJEC_MHT_m0_m12_tb50.pdf");
582
583 // Signal JEC Uncertainty HT
584 c1->SetLogz(0);
585 TH2F*hsig_jec_ht = new TH2F("sigjecht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal JEC uncertainty",
586 40,200,600,26,140,400);
587 plotTools->Area(hsig_jec_ht, Mzero, Mhalf, SignalUncertJEC);
588 hsig_jec_ht->SetMinimum(0.0);
589 hsig_jec_ht->SetMaximum(0.25);
590 hsig_jec_ht->SetContour(10);
591 hsig_jec_ht->Draw("colz");
592 if (gCLsObsExclHT) gCLsObsExclHT->Draw("l");
593 c1->SaveAs("results_tb50/SigJEC_HT_m0_m12_tb50.pdf");
594
595
596 // Signal MuIso Uncertainty MHT
597 c1->SetLogz(0);
598 TH2F*hsig_MuIso_mht = new TH2F("sigMuIsomht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal #mu_{iso} uncertainty",
599 40,200,600,26,140,400);
600 plotTools->Area(hsig_MuIso_mht, Mzero, Mhalf, SignalUncertMuIso);
601 hsig_MuIso_mht->SetMinimum(0.0);
602 hsig_MuIso_mht->SetMaximum(0.05);
603 hsig_MuIso_mht->SetContour(5);
604 hsig_MuIso_mht->Draw("colz");
605 if (gobsexcl) gobsexcl->Draw("l");
606 c1->SaveAs("results_tb50/SigMuIso_MHT_m0_m12_tb50.pdf");
607
608 // Signal MuIso Uncertainty HT
609 c1->SetLogz(0);
610 TH2F*hsig_MuIso_ht = new TH2F("sigMuIsoht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal #mu_{iso} uncertainty",
611 40,200,600,26,140,400);
612 plotTools->Area(hsig_MuIso_ht, Mzero, Mhalf, SignalUncertMuIso);
613 hsig_MuIso_ht->SetMinimum(0.0);
614 hsig_MuIso_ht->SetMaximum(0.05);
615 hsig_MuIso_ht->SetContour(5);
616 hsig_MuIso_ht->Draw("colz");
617 if (gCLsObsExclHT) gCLsObsExclHT->Draw("l");
618 c1->SaveAs("results_tb50/SigMuIso_HT_m0_m12_tb50.pdf");
619
620
621 // Signal kFactor Uncertainty MHT
622 c1->SetLogz(0);
623 TH2F*hsig_kFactor_mht = new TH2F("sigkFactormht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal #mu_{iso} uncertainty",
624 40,200,600,26,140,400);
625 plotTools->Area(hsig_kFactor_mht, Mzero, Mhalf, SignalUncertKfactor);
626 hsig_kFactor_mht->SetMinimum(0.1);
627 hsig_kFactor_mht->SetMaximum(0.2);
628 hsig_kFactor_mht->SetContour(10);
629 hsig_kFactor_mht->Draw("colz");
630 if (gobsexcl) gobsexcl->Draw("l");
631 c1->SaveAs("results_tb50/SigkFactor_MHT_m0_m12_tb50.pdf");
632
633 // Signal kFactor Uncertainty HT
634 c1->SetLogz(0);
635 TH2F*hsig_kFactor_ht = new TH2F("sigkFactorht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal #mu_{iso} uncertainty",
636 40,200,600,26,140,400);
637 plotTools->Area(hsig_kFactor_ht, Mzero, Mhalf, SignalUncertKfactor);
638 hsig_kFactor_ht->SetMinimum(0.1);
639 hsig_kFactor_ht->SetMaximum(0.2);
640 hsig_kFactor_ht->SetContour(10);
641 hsig_kFactor_ht->Draw("colz");
642 if (gCLsObsExclHT) gCLsObsExclHT->Draw("l");
643 c1->SaveAs("results_tb50/SigkFactor_HT_m0_m12_tb50.pdf");
644
645
646 //-----------------------------------------------------------------------------------
647 c1->SetLogz(1);
648
649 TGraph * mz500 = plotMasses->Line( MSquarkL, MGluino, Mzero, 500, 1);
650 TGraph * mh250 = plotMasses->Line( MSquarkL, MGluino, Mhalf, 250, 1);
651
652 // cross-section in squark - gluino mass
653 TH2F*hxsec_qg = new TH2F("xsec_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; cross section [pb]",
654 40,200,900,30,200,900);
655 plotTools->Area(hxsec_qg, MSquarkL, MGluino, Xsection);
656 hxsec_qg->SetMinimum(0.01);
657 hxsec_qg->Draw("colz");
658 mz500->Draw();
659 mh250->Draw();
660 c1->SaveAs("results_tb50/Xsection_mSql_mGl_tb50.pdf");
661
662 // Observed Limit in squark - gluino mass
663 TH2F*hobslimit_qg = new TH2F("obslimit_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Limit [pb]",
664 40,200,900,30,200,900);
665 plotTools->Area(hobslimit_qg, MSquarkL, MGluino, ObsXsecLimit);
666 hobslimit_qg->SetMinimum(0.01);
667 hobslimit_qg->Draw("colz");
668 c1->SaveAs("results_tb50/ObsLimit_mSql_mGl_tb50.pdf");
669
670 // Expected Limit in squark - gluino mass
671 TH2F*hexplimit_qg = new TH2F("explimit_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Expected Limit [pb]",
672 40,200,900,30,200,900);
673 plotTools->Area(hexplimit_qg, MSquarkL, MGluino, ExpXsecLimit);
674 hexplimit_qg->SetMinimum(0.01);
675 hexplimit_qg->Draw("colz");
676 c1->SaveAs("results_tb50/ExpLimit_mSql_mGl_tb50.pdf");
677
678 // Signal Acceptance in squark - gluino mass
679 TH2F*hsigacc_qg = new TH2F("sigacc_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; Signal Acceptance",
680 40,200,900,30,200,900);
681 plotTools->Area(hsigacc_qg, MSquarkL, MGluino, SignalAcceptance);
682 hsigacc_qg->SetMinimum(0.01);
683 hsigacc_qg->SetMaximum(1.0);
684 hsigacc_qg->Draw("colz");
685 c1->SaveAs("results_tb50/SigAcc_mSql_mGl_tb50.pdf");
686
687 // Exp. Limit on Number of Signal Events in squark - gluino mass
688 c1->SetLogz(0);
689 TH2F*hexplimitnsig_qg = new TH2F("explimitnsig_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL exp. limit signal events [# ]",
690 40,200,900,30,200,900);
691 plotTools->Area(hexplimitnsig_qg, MSquarkL, MGluino, ExpNSignLimit);
692 hexplimitnsig_qg->SetMinimum(0.0);
693 hexplimitnsig_qg->SetMaximum(20);
694 hexplimitnsig_qg->Draw("colz");
695 c1->SaveAs("results_tb50/ExpLimitOnNSig_mSql_mGl_tb50.pdf");
696
697 // Obs. Limit on Number of Signal Events in squark - gluino mass
698 TH2F*hobslimitnsig_qg = new TH2F("obslimitnsig_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL obs. limit signal events [# ]",
699 40,200,900,30,200,900);
700 plotTools->Area(hobslimitnsig_qg, MSquarkL, MGluino, ObsNSignLimit);
701 hobslimitnsig_qg->SetMinimum(0.0);
702 hobslimitnsig_qg->SetMaximum(20);
703 hobslimitnsig_qg->Draw("colz");
704 c1->SaveAs("results_tb50/ObsLimitOnNSig_mSql_mGl_tb50.pdf");
705
706 c1->SetLogz(0);
707 // Expected Exclusion in squark - gluino mass
708 TH2F*hexpexcl_qg = new TH2F("expexcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Expected Exclusion",
709 40,200,900,30,200,900);
710 plotTools->Area(hexpexcl_qg, MSquarkL, MGluino, ExpExclCL);
711 hexpexcl_qg->Draw("colz");
712 c1->SaveAs("results_tb50/ExpExclusion_mSql_mGl_tb50.pdf");
713
714 // Observed Exclusion in squark - gluino mass
715 TH2F*hobsexcl_qg = new TH2F("obsexcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Exclusion",
716 40,200,900,30,200,900);
717 plotTools->Area(hobsexcl_qg, MSquarkL, MGluino, ObsExclCL);
718 //std::vector<TGraph *> vobsexcl_qg = plotTools->GetContours(hobsexcl_qg);
719 hobsexcl_qg->Draw("colz");
720 //for (std::vector<TGraph *>::iterator g=vobsexcl_qg.begin();g!=vobsexcl_qg.end();++g){
721 // if (! *g) continue;
722 // // (*g)->Draw("l");
723 //}
724 c1->SaveAs("results_tb50/ObsExclusion_mSql_mGl_tb50.pdf");
725
726 // TestContours in M0 - M1/2
727 TH2F*texcl_qg = new TH2F("texcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Exclusion",
728 40,200,900,30,200,900);
729 TH2F*tPLobsexcl_qg=(TH2F*)texcl_qg->Clone();
730 plotTools->Area(tPLobsexcl_qg, MSquarkL, MGluino, PLObsExclusion);
731 TH2F*tPLexpexcl_qg=(TH2F*)texcl_qg->Clone();
732 plotTools->Area(tPLexpexcl_qg, MSquarkL, MGluino, PLExpExclusion);
733 //std::vector<TGraph*> contours_qg = plotTools->GetContours(hexpexcl_qg,3);
734 //std::vector<TGraph*> contours_qg = plotTools->GetContours(hobsexcl_qg,3);
735 std::vector<TGraph*> contours_qg = plotTools->GetContours(tPLobsexcl_qg,3);
736 //std::vector<TGraph*> contours_qg = plotTools->GetContours(tPLexpexcl_qg,3);
737 //hPLexpexcl_qg
738 //hexcl_qg->Draw("colz");
739 //hexpexcl_qg->Draw("colz");
740 //hobsexcl_qg->Draw("colz");
741 tPLobsexcl_qg->Draw("colz");
742 int col_gl=kBlue-10;
743 for (std::vector<TGraph*>::iterator cont=contours_qg.begin(); cont!=contours_qg.end(); ++cont){
744 if (! *cont) continue;
745 double x, y;
746 (*cont)->GetPoint(0, x, y);
747 (*cont)->SetLineColor(col_gl);(*cont)->SetLineWidth(3);
748 (*cont)->Draw("l");
749 TLatex l; l.SetTextSize(0.04); l.SetTextColor(col_gl++);
750 char val[20];
751 sprintf(val,"%d",(int)(cont-contours_qg.begin()));
752 l.DrawLatex(x,y,val);
753 if (cont-contours_qg.begin()>3) break;
754 }
755 c1->SaveAs("results_tb50/ExclusionTestContours_mSql_mGl_tb50.pdf");
756
757 // Observed Exclusion in squark - gluino mass
758 TH2F*hPLobsexcl_qg = new TH2F("plobsexcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Exclusion",
759 40,200,900,30,200,900);
760 plotTools->Area(hPLobsexcl_qg, MSquarkL, MGluino, PLObsExclusion);
761 //hPLobsexcl_qg->Draw("colz");
762 //c1->SaveAs("results_tb50/PL_ObsExclusion_mSql_mGl_tb50.pdf");
763
764
765
766 // Exclusion in squark - gluino mass ----------------------------------------
767 TH2F*hexcl_qg = new TH2F("hexcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Exclusion",
768 40,200,900,30,200,900);
769 TGraph * gexpexcl_qg = plotTools->GetContour(hexcl_qg,MSquarkL,MGluino, NLOExpExclCL, 3,0, 2,2);
770 TGraph * gexpexcl_qg_LO = plotTools->GetContour(hexcl_qg,MSquarkL,MGluino, ExpExclCL, 3,0, 2,4);
771 TGraph * gobsexcl_qg = plotTools->GetContour(hexcl_qg,MSquarkL,MGluino, NLOObsExclCL, 3,0, 2,1);
772 TGraph * gMCMCexpexcl_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,MCMCExpExclusion,3,0, 3,2);
773 TGraph * gMCMCobsexcl_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,MCMCObsExclusion,3,0, 3,1);
774 TGraph * gCLsExpExclHT_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,NLOExpExclCL, 3,0, 1,2);
775 TGraph * gCLsExpExclHT_qg_LO = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,ExpExclCL, 3,0, 1,4);
776 TGraph * gCLsObsExclHT_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,NLOObsExclCL, 3,0, 1,1);
777 TGraph * gCLsExpExclHTm1_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,NLOExpExclCLm1sigma,3,0, 5,2);
778 TGraph * gCLsExpExclHTp1_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,NLOExpExclCLp1sigma,3,0, 5,2);
779 TGraph * gCLsExp1Sigma_qg = MakeBand(gCLsExpExclHTp1_qg, gCLsExpExclHTm1_qg);
780 hexcl_qg->Draw("");
781 //
782 if (gCLsExp1Sigma_qg) gCLsExp1Sigma_qg->Draw("lf");
783 if (gobsexcl_qg) gobsexcl_qg->Draw("l");
784 if (gCLsObsExclHT_qg) gCLsObsExclHT_qg->Draw("l");
785 if (gexpexcl_qg) gexpexcl_qg->Draw("l");
786 if (gexpexcl_qg_LO) gexpexcl_qg_LO->Draw("l");
787 if (gCLsExpExclHT_qg) gCLsExpExclHT_qg->Draw("l");
788 if (gCLsExpExclHT_qg_LO) gCLsExpExclHT_qg_LO->Draw("l");
789 //
790 TLegend * leg_qg = new TLegend(0.45,0.78,0.85,0.89);
791 leg_qg->SetBorderSize(0);leg_qg->SetFillColor(0);leg->SetTextFont(42);
792 TGraph * expLeg_qg = (TGraph*)gCLsExpExclHT_qg->Clone();expLeg_qg->SetFillStyle(gCLsExp1Sigma_qg->GetFillStyle());expLeg_qg->SetFillColor(gCLsExp1Sigma_qg->GetFillColor());
793 if (gobsexcl_qg) leg_qg->AddEntry(gobsexcl_qg,"NLO Observed (MHT, CLs)","l");
794 if (gexpexcl_qg) leg_qg->AddEntry(gexpexcl_qg,"NLO Expected (MHT, CLs)","l");
795 if (gexpexcl_qg_LO) leg_qg->AddEntry(gexpexcl_qg_LO,"LO Expected (MHT, CLs)","l");
796 if (gCLsObsExclHT_qg) leg_qg->AddEntry(gCLsObsExclHT_qg,"NLO Observed (HT, CLs)","l");
797 if (gCLsExpExclHT_qg) leg_qg->AddEntry(expLeg_qg,"NLO Expected (HT, CLs)","lf");
798 if (gCLsExpExclHT_qg_LO) leg_qg->AddEntry(gCLsExpExclHT_qg_LO,"LO Expected (HT, CLs)","l");
799 //if (gPLobsexcl_qg) leg_qg->AddEntry(gPLobsexcl_qg,"Observed (PL, RooStat)","l");
800 //if (gPLexpexcl_qg) leg_qg->AddEntry(gPLexpexcl_qg,"Expected (PL, RooStat)","l");
801 leg_qg->Draw();
802 c1->SaveAs("results_tb50/Exclusion_mSql_mGl_tb50.pdf");
803 //c1->SaveAs("plot_tb10.pdf");
804
805
806 /*
807 //c1->SaveAs("plot_tb50.pdf");
808 c1->SetLogy(1);
809 c1->SetLogx(1);
810 TH2F*hUncertScan = new TH2F("hUncertScan",";relative signal uncertainty; number of signal events",
811 10,0.1,0.6,10,0.9,200);
812 //hUncertScan->GetXaxis()->SetNdivisions(505, false);
813 //hUncertScan->SetMinimum(1);
814 TGraph * gCLsExpUncert = new TGraph(0);
815 TGraph * gCLsObsUncert = new TGraph(0);
816 TGraph * gPLExpUncert = new TGraph(0);
817 TGraph * gPLObsUncert = new TGraph(0);
818 TGraph * gFCExpUncert = new TGraph(0);
819 TGraph * gFCObsUncert = new TGraph(0);
820 TGraph * gMCMCExpUncert= new TGraph(0);
821 TGraph * gMCMCObsUncert= new TGraph(0);
822 plotTools->Graph(gCLsExpUncert, SignalRelUncertainty, ExpNSignLimit,1);
823 plotTools->Graph(gCLsObsUncert, SignalRelUncertainty, ObsNSignLimit,1);
824 plotTools->Graph(gPLExpUncert, SignalRelUncertainty, PLExpNSignLimit,1);
825 plotTools->Graph(gPLObsUncert, SignalRelUncertainty, PLObsNSignLimit, 1);
826 plotTools->Graph(gFCExpUncert, SignalRelUncertainty, FCExpNSignLimit,1);
827 plotTools->Graph(gFCObsUncert, SignalRelUncertainty, FCObsNSignLimit, 1);
828 plotTools->Graph(gMCMCExpUncert,SignalRelUncertainty, MCMCExpNSignLimit,1);
829 plotTools->Graph(gMCMCObsUncert,SignalRelUncertainty, MCMCObsNSignLimit, 1);
830 gCLsExpUncert->SetLineStyle(8);
831 gPLObsUncert->SetLineColor(2);
832 gPLExpUncert->SetLineColor(2); gPLExpUncert->SetLineStyle(8);
833 gFCObsUncert->SetLineColor(3);
834 gFCExpUncert->SetLineColor(3); gFCExpUncert->SetLineStyle(8);
835 gMCMCObsUncert->SetLineColor(4);
836 gMCMCExpUncert->SetLineColor(4); gMCMCExpUncert->SetLineStyle(8);
837 hUncertScan->Draw("h");
838 gCLsExpUncert->Draw("l");
839 gCLsObsUncert->Draw("l");
840 gPLObsUncert->Draw("l");
841 gPLExpUncert->Draw("l");
842 gFCObsUncert->Draw("l");
843 gFCExpUncert->Draw("l");
844 gMCMCObsUncert->Draw("l");
845 gMCMCExpUncert->Draw("l");
846 TLatex l; l.SetTextSize(0.03); l.SetTextColor(1);
847 l.DrawLatex(0.025,25,"excluded");
848 TMarker m; m.SetMarkerStyle(29); m.SetMarkerColor(2);
849 m.DrawMarker(0.128, 28.5);l.DrawLatex(0.14,28.5,"LM1");
850 m.DrawMarker(0.147, 77.4);l.DrawLatex(0.16,77.4,"LM0");
851
852 TLegend * leg_S = new TLegend(0.5,0.14,0.85,0.38);
853 leg_S->SetBorderSize(0);leg_S->SetFillColor(0);
854 leg_S->SetHeader("95% CL upper limits");
855 leg_S->AddEntry(gCLsExpUncert,"Expected (CLs, TLimit)","l");
856 leg_S->AddEntry(gCLsObsUncert,"Observed (CLs, TLimit)","l");
857 leg_S->AddEntry(gPLExpUncert,"Expected (PL, RooStat)","l");
858 leg_S->AddEntry(gPLObsUncert,"Observed (PL, RooStat)","l");
859 leg_S->AddEntry(gFCObsUncert,"Observed (FC, RooStat)","l");
860 leg_S->AddEntry(gFCExpUncert,"Expected (FC, RooStat)","l");
861 leg_S->AddEntry(gMCMCObsUncert,"Observed (MCMC, RooStat)","l");
862 leg_S->AddEntry(gMCMCExpUncert,"Expected (MCMC, RooStat)","l");
863 leg_S->Draw();
864 c1->SaveAs("results_tb50/UncertaintyScan.pdf");
865 */
866 //theApp.Run();
867 }
868
869
870 int main(int argc, char** argv)
871 {
872 return plot(argc, argv);
873 }