ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/PlotScript/plot3tb.cc
Revision: 1.6
Committed: Wed Mar 2 13:31:33 2011 UTC (14 years, 2 months ago) by auterman
Content type: text/plain
Branch: MAIN
Changes since 1.5: +103 -65 lines
Log Message:
ARC review improvements

File Contents

# User Rev Content
1 auterman 1.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 auterman 1.6 #include "StyleSettings.h"
8 auterman 1.1
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     //Style stuff
42 auterman 1.6 /*
43 auterman 1.1 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 auterman 1.6 */
74     util::StyleSettings::paperNoTitle();
75     gStyle->SetPadBottomMargin(0.18);
76 auterman 1.1
77     //gROOT->SetStyle("MyStyle");
78     TCanvas * c1 = new TCanvas("c1","c1",600,600);
79 auterman 1.6 //c1->SetFillStyle ( 4000 );
80     //c1->SetLeftMargin ( 0.15 );
81     //c1->SetRightMargin ( 0.15 );
82     //c1->SetBottomMargin( 0.10 );
83 auterman 1.1 c1->cd();
84    
85     //Get limits and generator masses ---------------------------------------------------
86     TheLimits * genpoints = new TheLimits();
87     //genpoints->Fill(argc, argv);
88 auterman 1.6 genpoints->Fill("limits_MHT_tb3-20110301/filelist.txt");
89 auterman 1.1
90     TheLimits * genpointsHT = new TheLimits();
91 auterman 1.6 genpointsHT->Fill("limits_HT_tb3-20110301/filelist.txt");
92 auterman 1.1
93    
94     //Replace read limits with specific numbers
95     //genpoints->OverwriteLimits("ABCD_MHT");
96    
97 auterman 1.4 genpoints->FillGeneratorMasses("GenScan_tb3.dat");
98 auterman 1.1 genpoints->match();
99 auterman 1.4 genpointsHT->FillGeneratorMasses("GenScan_tb3.dat");
100 auterman 1.1 genpointsHT->match();
101    
102     //the plotting ----------------------------------------------------------------------
103     //plotting helper functions
104     PlotTools<SusyScan> * plotTools = new PlotTools<SusyScan>(genpoints->GetScan());
105     PlotTools<SusyScan> * plotToolsHT = new PlotTools<SusyScan>(genpointsHT->GetScan());
106     PlotTools<GeneratorMasses> * plotMasses = new PlotTools<GeneratorMasses>(genpoints->GetGeneratorMasses());
107    
108     //iso mass lines
109     TGraph * gl500 = plotMasses->Line(Mzero, Mhalf, MGluino, 500);
110     TGraph * sq500 = plotMasses->Line(Mzero, Mhalf, MSquarkL, 500, 10);
111     sq500->SetLineWidth(2); sq500->SetLineColor(7);
112    
113     TGraph * chi100 = plotMasses->Line(Mzero, Mhalf, MChi1, 50, 20);
114     TGraph * cha200 = plotMasses->Line(Mzero, Mhalf, MCha1, 200, 20);
115     cha200->SetLineColor(2);
116    
117     //the histograms
118     c1->SetLogz(1);
119     //h->SetMaximum(27);
120     //h->SetMinimum(0.01);
121    
122     /**/
123     // cross-section in M0 - M1/2
124     TH2F*hxsec = new TH2F("xsec",";m_{0} [GeV]; m_{1/2} [GeV]; cross section [pb]",
125     50,0,509.9,25,100,350);
126     plotTools->Area(hxsec, Mzero, Mhalf, Xsection);
127     hxsec->SetMinimum(0.01);
128     //sq500->Draw();
129     //gl500->Draw();
130     hxsec->Draw("colz");
131     c1->SaveAs("results_tb3/Xsection_m0_m12_tb3.pdf");
132     std::string wait;
133     //std::cin>>wait;
134    
135     // Observed Limit in M0 - M1/2
136     TH2F*hobslimit = new TH2F("obslimit",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Observed Limit [pb]",
137     50,0,509.9,25,100,350);
138     plotTools->Area(hobslimit, Mzero, Mhalf, ObsXsecLimit);
139     hobslimit->SetMinimum(0.01);
140     hobslimit->Draw("colz");
141     c1->SaveAs("results_tb3/ObsLimit_m0_m12_tb3.pdf");
142    
143     // Expected Limit in M0 - M1/2
144     TH2F*hexplimit = new TH2F("explimit",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Expected Limit [pb]",
145     50,0,509.9,25,100,350);
146     plotTools->Area(hexplimit, Mzero, Mhalf, ExpXsecLimit);
147     hexplimit->SetMinimum(0.01);
148     hexplimit->Draw("colz");
149     c1->SaveAs("results_tb3/ExpLimit_m0_m12_tb3.pdf");
150    
151     // Signal Acceptance in M0 - M1/2
152     TH2F*hsigacc = new TH2F("sigacc",";m_{0} [GeV]; m_{1/2} [GeV]; Signal Acceptance",
153     50,0,509.9,25,100,350);
154     plotTools->Area(hsigacc, Mzero, Mhalf, SignalAcceptance);
155     hsigacc->SetMinimum(0.01);
156     hsigacc->SetMaximum(1.0);
157     hsigacc->Draw("colz");
158     chi100->Draw();
159     cha200->Draw();
160     gl500 ->Draw();
161     sq500 ->Draw();
162     c1->SaveAs("results_tb3/SigAcc_m0_m12_tb3.pdf");
163    
164     // Exp. Limit on Number of Signal Events in M0 - M1/2
165     c1->SetLogz(0);
166     TH2F*hexplimitnsig = new TH2F("explimitnsig",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL exp. limit signal events [# ]",
167     50,0,509.9,25,100,350);
168     plotTools->Area(hexplimitnsig, Mzero, Mhalf, ExpNSignLimit);
169     hexplimitnsig->SetMinimum(0.0);
170     hexplimitnsig->SetMaximum(20);
171     hexplimitnsig->Draw("colz");
172     c1->SaveAs("results_tb3/ExpLimitOnNSig_m0_m12_tb3.pdf");
173    
174     // Obs. Limit on Number of Signal Events in M0 - M1/2
175     TH2F*hobslimitnsig = new TH2F("obslimitnsig",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL obs. limit signal events [# ]",
176     50,0,509.9,25,100,350);
177     plotTools->Area(hobslimitnsig, Mzero, Mhalf, ObsNSignLimit);
178     hobslimitnsig->SetMinimum(0.0);
179     hobslimitnsig->SetMaximum(20);
180     hobslimitnsig->Draw("colz");
181     c1->SaveAs("results_tb3/ObsLimitOnNSig_m0_m12_tb3.pdf");
182    
183     c1->SetLogz(0);
184     // Expected Exclusion in M0 - M1/2
185     TH2F*hexpexcl = new TH2F("expexcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Expected Exclusion",
186     50,0,509.9,35,100,450);
187     plotTools->Area(hexpexcl, Mzero, Mhalf, ExpExclCL);
188     hexpexcl->Draw("colz");
189     c1->SaveAs("results_tb3/ExpExclusion_m0_m12_tb3.pdf");
190    
191     // Observed Exclusion in M0 - M1/2
192     TH2F*hobsexcl = new TH2F("obsexcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Observed Exclusion",
193     50,0,509.9,35,100,450);
194     plotTools->Area(hobsexcl, Mzero, Mhalf, ObsExclCL);
195     hobsexcl->Draw("colz");
196     c1->SaveAs("results_tb3/ObsExclusion_m0_m12_tb3.pdf");
197    
198     // Observed Exclusion in M0 - M1/2
199     TH2F*hPLobsexcl = new TH2F("plobsexcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Observed Exclusion",
200     50,0,509.9,35,100,450);
201     plotTools->Area(hPLobsexcl, Mzero, Mhalf, PLObsExclusion);
202     hPLobsexcl->Draw("colz");
203     c1->SaveAs("results_tb3/PL_ObsExclusion_m0_m12_tb3.pdf");
204    
205 auterman 1.6 // TestContours in M0 - M1/2 ===================================================================
206 auterman 1.1 TH2F*texcl = new TH2F("texcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Expected Exclusion",
207     50,0,509.9,35,100,450);
208     TH2F*texpexcl=(TH2F*)texcl->Clone();
209 auterman 1.6 plotToolsHT->Area(texpexcl, Mzero, Mhalf, NLOExpExclCLm1sigma);
210     std::vector<TGraph*> contours = plotToolsHT->GetContours(texpexcl,3);
211 auterman 1.1 texpexcl->Draw("colz");
212     int col=kBlue-10;
213     for (std::vector<TGraph*>::iterator cont=contours.begin(); cont!=contours.end(); ++cont){
214     if (! *cont) continue;
215     double x, y;
216     (*cont)->GetPoint(0, x, y);
217     (*cont)->SetLineColor(col);
218     (*cont)->Draw("l");
219     TLatex l; l.SetTextSize(0.04); l.SetTextColor(col++);
220     char val[20];
221     sprintf(val,"%d",(int)(cont-contours.begin()));
222     l.DrawLatex(x,y,val);
223     }
224     c1->SaveAs("results_tb3/ExclusionTestContours_m0_m12_tb3.pdf");
225    
226    
227     // Exclusion in M0 - M1/2
228     TH2F*hexcl = new TH2F("hexcl",";m_{0} [GeV]; m_{1/2} [GeV]; 95% CL Expected Exclusion",
229     50,0,509.9,35,100,450);
230 auterman 1.6 TH2F*hs = new TH2F("hs","",50,0,509.9,35,100,450);
231     TGraph * gexpexcl = plotTools ->GetContour(hs,Mzero,Mhalf,NLOExpExclCL, 3,2, 2,2);
232     TGraph * gexpexcl_LO = plotTools ->GetContour(hs,Mzero,Mhalf,ExpExclCL, 3,0, 2,4);
233     TGraph * gobsexcl = plotTools ->GetContour(hs,Mzero,Mhalf,NLOObsExclCL, 3,2, 2,1);
234     TGraph * gMCMCexpexcl = plotToolsHT->GetContour(hs,Mzero,Mhalf,MCMCExpExclusion, 3,0, 3,2);
235     TGraph * gMCMCobsexcl = plotToolsHT->GetContour(hs,Mzero,Mhalf,MCMCObsExclusion, 3,0, 3,1);
236     TGraph * gFCexpexclHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOFCExpExclusion, 3,0, 3,2);
237     TGraph * gFCexpexclHT_LO = plotToolsHT->GetContour(hs,Mzero,Mhalf,FCExpExclusion, 3,0, 3,4);
238     TGraph * gFCexpexclMHT = plotTools->GetContour(hs,Mzero,Mhalf,NLOFCExpExclusion, 3,0, 3,2);
239     TGraph * gFCexpexclMHT_LO = plotTools->GetContour(hs,Mzero,Mhalf,FCExpExclusion, 3,0, 3,4);
240     TGraph * gFCobsexclHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOFCObsExclusion, 3,0, 3,1);
241     TGraph * gFCobsexclMHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOFCObsExclusion, 3,0, 3,1);
242     TGraph * gCLsExpExclHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOExpExclCL, 3,2, 1,2);
243     TGraph * gCLsObsExclHT = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOObsExclCL, 3,0, 1,1);
244     TGraph * gCLsExpExclHT_LO = plotToolsHT->GetContour(hs,Mzero,Mhalf,ExpExclCL, 3,0, 1,4);
245     TGraph * gCLsObsExclHT_LO = plotToolsHT->GetContour(hs,Mzero,Mhalf,ObsExclCL, 3,0, 1,1);
246     TGraph * gCLsExpExclHTm1 = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOExpExclCLm1sigma,3,2, 5,2);
247     TGraph * gCLsExpExclHTp1 = plotToolsHT->GetContour(hs,Mzero,Mhalf,NLOExpExclCLp1sigma,3,2, 5,2);
248     TGraph * gCLsExpExclMHTm1 = plotTools ->GetContour(hs,Mzero,Mhalf,NLOExpExclCLm1sigma, 3,2, 5,2);
249     TGraph * gCLsExpExclMHTp1 = plotTools ->GetContour(hs,Mzero,Mhalf,NLOExpExclCLp1sigma, 3,2, 5,2);
250     TGraph * gCheck1 = (TGraph*)gobsexcl->Clone();
251     TGraph * gCheck2 = (TGraph*)gexpexcl->Clone();
252 auterman 1.5 Smooth( gCLsObsExclHT, 33); gCLsObsExclHT->SetLineWidth( 3 );
253     Smooth( gCLsExpExclHT, 33 ); gCLsExpExclHT->SetLineWidth( 3 );
254 auterman 1.6 Smooth( gCLsObsExclHT_LO, 33); gCLsObsExclHT_LO->SetLineWidth( 3 );
255     Smooth( gCLsExpExclHT_LO, 33 ); gCLsExpExclHT_LO->SetLineWidth( 3 );
256 auterman 1.5 Smooth( gexpexcl, 33 );
257     Smooth( gobsexcl, 33 );
258 auterman 1.6 Smooth( gobsexcl, 33 );
259     Smooth( gexpexcl_LO, 33 );
260     Smooth( gFCexpexclHT, 33 );
261     Smooth( gFCexpexclHT_LO, 33 );gFCexpexclHT_LO->SetLineWidth( 3 );
262     Smooth( gFCexpexclMHT, 33 );
263     Smooth( gFCexpexclMHT_LO, 33 );
264     Smooth( gFCobsexclHT, 33 );gFCobsexclHT->SetLineWidth( 3 );
265     Smooth( gFCobsexclMHT, 33 );
266 auterman 1.5 Smooth( gCLsExpExclHTm1, 33 );
267     Smooth( gCLsExpExclHTp1, 33 );
268 auterman 1.6 Smooth( gCLsExpExclMHTm1, 33 );
269     Smooth( gCLsExpExclMHTp1, 33 );
270     TGraph * CLsObsNLO = plotToolsHT->ChooseBest(gCLsObsExclHT,gobsexcl, gCLsObsExclHT,gobsexcl);
271     TGraph * CLsExpNLO = plotToolsHT->ChooseBest(gCLsExpExclHT,gexpexcl, gCLsExpExclHT,gexpexcl);
272     TGraph * CLsExpLO = plotToolsHT->ChooseBest(gCLsExpExclHT_LO,gexpexcl_LO, gCLsExpExclHT_LO,gexpexcl_LO);
273     TGraph * FCExpLO = plotToolsHT->ChooseBest(gFCexpexclHT_LO,gFCexpexclMHT_LO,gFCexpexclHT_LO,gFCexpexclMHT_LO);
274     TGraph * FCObsNLO = plotToolsHT->ChooseBest(gFCobsexclHT,gFCobsexclMHT,gFCobsexclHT,gFCobsexclMHT);
275     TGraph * gCLsExpExclp1 = plotToolsHT->ChooseBest(gCLsExpExclHTp1,gCLsExpExclMHTp1, gCLsExpExclHTp1,gCLsExpExclMHTp1);
276     TGraph * gCLsExpExclm1 = plotToolsHT->ChooseBest(gCLsExpExclHTm1,gCLsExpExclMHTm1, gCLsExpExclHTm1,gCLsExpExclMHTm1);
277     TGraph * gCLsExp1Sigma = MakeBand(gCLsExpExclp1, gCLsExpExclm1);
278     hexcl->GetYaxis()->SetTitleOffset(1.3);
279     hexcl->Draw("colz");
280 auterman 1.1 //set old exclusion Limits
281 auterman 1.3 TGraph* LEP_ch = set_lep_ch(3);
282     TGraph* LEP_sl = set_lep_sl(3);//slepton curve
283     TGraph* TEV_sg_cdf = set_tev_sg_cdf(3);//squark gluino cdf
284     TGraph* TEV_sg_d0 = set_tev_sg_d0(3);//squark gluino d0
285     //TGraph* TEV_tlp_cdf = set_tev_tlp_cdf(10);//trilepton cdf
286     //TGraph* TEV_tlp_d0 = set_tev_tlp_d0(10);//trilepton d0
287     TGraph* stau = set_tev_stau(3);//stau
288     TGraph* TEV_sn_d0_1 = set_sneutrino_d0_1(3);
289     TGraph* TEV_sn_d0_2 = set_sneutrino_d0_2(3);
290 auterman 1.2 TGraphErrors* First = getObserved_NLO_tanBeta3();
291     TGraphErrors* Second = getExpected_NLO_tanBeta3();//getLO_jetMultis();
292     TGraphErrors* Third = getLO_tanBeta3();
293 auterman 1.1 First->GetXaxis()->SetRangeUser(0,505);
294     First->GetYaxis()->SetRangeUser(80,500);
295     First->GetXaxis()->SetTitle("m_{0} (GeV)");
296     First->GetYaxis()->SetTitle("m_{1/2} (GeV)");
297     TSpline3 *sFirst = new TSpline3("sFirst",First);
298     sFirst->SetLineColor(kBlue);
299 auterman 1.5 //sFirst->SetLineWidth(3);
300 auterman 1.1 TSpline3 *sSecond = new TSpline3("sSecond",Second);
301     sSecond->SetLineColor(kBlue);
302     sSecond->SetLineStyle(2);
303 auterman 1.5 //sSecond->SetLineWidth(3);
304 auterman 1.1 TSpline3 *sThird = new TSpline3("sThird",Third);
305 auterman 1.5 sThird->SetLineColor(kBlue);
306 auterman 1.1 sThird->SetLineStyle(4);
307 auterman 1.5 //sThird->SetLineWidth(3);
308 auterman 1.6 //gCheck1->Draw("same");
309     //gCheck2->Draw("same");
310     //gexpexcl->Draw("l");
311     //gobsexcl->Draw("l");
312     //gexpexcl_LO->Draw("l");
313     //gCLsExpExclHT_LO->Draw("l");
314     //gCLsObsExclHT->Draw("l");
315     //gCLsExpExclHT->Draw("l");
316     //gFCexpexclHT_LO->Draw("l");
317     //gFCexpexclMHT_LO->Draw("l");
318 auterman 1.5 if (gCLsExp1Sigma) gCLsExp1Sigma->Draw("lf");
319 auterman 1.1 TEV_sn_d0_1->Draw("fsame");
320     TEV_sn_d0_2->Draw("fsame");
321 auterman 1.4 TEV_sg_d0->Draw("fsame");
322     TEV_sg_cdf->Draw("fsame");
323 auterman 1.1 LEP_ch->Draw("fsame");
324     LEP_sl->Draw("fsame");
325     stau->Draw("fsame");
326     sFirst->Draw("same");
327     sSecond->Draw("same");
328 auterman 1.2 sThird->Draw("same");
329 auterman 1.6 CLsObsNLO->Draw("l");
330     CLsExpNLO->Draw("l");
331     CLsExpLO->Draw("l");
332     FCExpLO->Draw("l");
333     //FCObsNLO->Draw("l");
334    
335     //gl500->Draw("c"); gl600->Draw("c"); gl700->Draw("c"); gl800->Draw("c"); gl900->Draw("c"); gl1000->Draw("c");
336     //sq500->Draw("c"); sq600->Draw("c"); sq700->Draw("c"); sq800->Draw("c"); sq900->Draw("c"); sq1000->Draw("c");
337     //TLegend * leg = new TLegend(0.55,0.7,0.84,0.89);
338     //leg->SetBorderSize(0);leg->SetFillColor(0);leg->SetTextFont(42);
339     TLegend * leg = new TLegend(0.6,0.66,0.96,0.90);
340     leg->SetBorderSize(0);leg->SetFillColor(0);leg->SetFillStyle(4000);leg->SetTextFont(42);
341    
342     TGraph * expLeg = (TGraph*)CLsExpNLO->Clone();expLeg->SetFillStyle(gCLsExp1Sigma->GetFillStyle());expLeg->SetFillColor(gCLsExp1Sigma->GetFillColor());
343     leg->SetHeader("CMS preliminary, 95%CL");
344     leg->AddEntry(expLeg, "Expected (CLs, NLO)","l");
345     leg->AddEntry(CLsObsNLO,"Observed (CLs, NLO)","l");
346     leg->AddEntry(CLsExpLO, "Expected (CLs, LO)","l");
347     leg->AddEntry(FCExpLO, "Expected (FC, LO)","l");
348     //if (gobsexcl) leg->AddEntry(gobsexcl,"Observed (MHT, CLs, TLimit)","l");
349     //if (gCLsExpExclHT) leg->AddEntry(expLeg ,"NLO Expected (HT, CLs)","l");
350     //if (gCLsObsExclHT) leg->AddEntry(gCLsObsExclHT,"NLO Observed (HT, CLs)","l");
351     //if (gCLsObsExclHT_LO) leg->AddEntry(gCLsObsExclHT_LO,"LO Observed (HT, CLs)","l");
352     //if (gCLsExpExclHT_LO) leg->AddEntry(gCLsExpExclHT_LO,"LO Expected (HT, CLs)","l");
353 auterman 1.1 //if (gPLobsexcl) leg->AddEntry(gPLobsexcl,"Observed (PL, RooStat)","l");
354     //if (gPLexpexcl) leg->AddEntry(gPLexpexcl,"Expected (PL, RooStat)","l");
355 auterman 1.6 //if (gFCobsexcl) leg->AddEntry(gFCobsexcl,"NLO Observed (HT, FC, RooStat)","l");
356     //if (gFCexpexcl) leg->AddEntry(gFCexpexcl,"NLO Expected (HT, FC, RooStat)","l");
357 auterman 1.1 //if (gMCMCobsexcl) leg->AddEntry(gMCMCobsexcl,"Observed (MHT, MCMC, RooStat)","l");
358 auterman 1.6 //if (gMCMCexpexcl) leg->AddEntry(gMCMCexpexcl,"LO Expected (HT, MCMC, RooStat)","l");
359     //if (gexpexcl) leg->AddEntry(gexpexcl,"NLO Expected (MHT, CLs)","l");
360     //if (gobsexcl) leg->AddEntry(gobsexcl,"NLO Observed (MHT, CLs)","l");
361     if (sSecond) leg->AddEntry(sSecond,"#alpha_{T} Expected (FC, NLO)");
362     if (sFirst) leg->AddEntry(sFirst, "#alpha_{T} Observed (FC, NLO)");
363     if (sThird) leg->AddEntry(sThird, "#alpha_{T} Expected (FC, LO)");
364 auterman 1.1 leg->Draw();
365     gPad->RedrawAxis();
366     c1->SaveAs("results_tb3/Exclusion_m0_m12_tb3.pdf");
367    
368 auterman 1.4 plotToolsHT->Print(Xsection, Mzero,Mhalf,gCLsObsExclHT, 10);
369    
370 auterman 1.1 // Signal Contamination in M0 - M1/2
371     c1->SetLogz(0);
372     TH2F*hsigcont = new TH2F("sigcont",";m_{0} [GeV]; m_{1/2}; number of signal in bkg yield [events]",
373     50,0,509.9,25,100,350);
374     plotToolsHT->Area(hsigcont, Mzero, Mhalf, SignalContamination);
375     hsigcont->SetMinimum(0.01);
376     hsigcont->SetMaximum(20);
377     hsigcont->Draw("colz");
378     if (gCLsObsExclHT) gCLsObsExclHT->Draw("l");
379     c1->SaveAs("results_tb3/SignalContamination_HT_m0_m12_tb3.pdf");
380    
381     // Signal Contamination in M0 - M1/2
382     c1->SetLogz(0);
383     TH2F*hsigcontMHT = new TH2F("sigcontMHT",";m_{0} [GeV]; m_{1/2}; number of signal in bkg yield [events]",
384     50,0,509.9,25,100,350);
385     plotTools->Area(hsigcontMHT, Mzero, Mhalf, SignalContamination);
386     hsigcontMHT->SetMinimum(0.01);
387     hsigcontMHT->SetMaximum(20);
388     hsigcontMHT->Draw("colz");
389     if (gobsexcl) gobsexcl->Draw("l");
390     c1->SaveAs("results_tb3/SignalContamination_MHT_m0_m12_tb3.pdf");
391    
392 auterman 1.5
393     // Signal JEC Uncertainty MHT
394     c1->SetLogz(0);
395     TH2F*hsig_jec_mht = new TH2F("sigjecmht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal JEC uncertainty",
396     50,0,509.9,25,100,350);
397     plotTools->Area(hsig_jec_mht, Mzero, Mhalf, SignalUncertJEC);
398     hsig_jec_mht->SetMinimum(0.0);
399     hsig_jec_mht->SetMaximum(0.25);
400     hsig_jec_mht->SetContour(10);
401     hsig_jec_mht->Draw("colz");
402     if (gobsexcl) gobsexcl->Draw("l");
403     c1->SaveAs("results_tb3/SigJEC_MHT_m0_m12_tb3.pdf");
404    
405     // Signal JEC Uncertainty HT
406     c1->SetLogz(0);
407     TH2F*hsig_jec_ht = new TH2F("sigjecht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal JEC uncertainty",
408     50,0,509.9,25,100,350);
409 auterman 1.6 plotToolsHT->Area(hsig_jec_ht, Mzero, Mhalf, SignalUncertJEC);
410 auterman 1.5 hsig_jec_ht->SetMinimum(0.0);
411     hsig_jec_ht->SetMaximum(0.25);
412     hsig_jec_ht->SetContour(10);
413     hsig_jec_ht->Draw("colz");
414     if (gCLsObsExclHT) gCLsObsExclHT->Draw("l");
415     c1->SaveAs("results_tb3/SigJEC_HT_m0_m12_tb3.pdf");
416    
417 auterman 1.1
418 auterman 1.5 // Signal MuIso Uncertainty MHT
419     c1->SetLogz(0);
420     TH2F*hsig_MuIso_mht = new TH2F("sigMuIsomht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal #mu_{iso} uncertainty",
421     50,0,509.9,25,100,350);
422     plotTools->Area(hsig_MuIso_mht, Mzero, Mhalf, SignalUncertMuIso);
423     hsig_MuIso_mht->SetMinimum(0.0);
424     hsig_MuIso_mht->SetMaximum(0.05);
425     hsig_MuIso_mht->SetContour(5);
426     hsig_MuIso_mht->Draw("colz");
427     if (gobsexcl) gobsexcl->Draw("l");
428     c1->SaveAs("results_tb3/SigMuIso_MHT_m0_m12_tb3.pdf");
429    
430     // Signal MuIso Uncertainty HT
431     c1->SetLogz(0);
432     TH2F*hsig_MuIso_ht = new TH2F("sigMuIsoht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal #mu_{iso} uncertainty",
433     50,0,509.9,25,100,350);
434 auterman 1.6 plotToolsHT->Area(hsig_MuIso_ht, Mzero, Mhalf, SignalUncertMuIso);
435 auterman 1.5 hsig_MuIso_ht->SetMinimum(0.0);
436     hsig_MuIso_ht->SetMaximum(0.05);
437     hsig_MuIso_ht->SetContour(5);
438     hsig_MuIso_ht->Draw("colz");
439     if (gCLsObsExclHT) gCLsObsExclHT->Draw("l");
440     c1->SaveAs("results_tb3/SigMuIso_HT_m0_m12_tb3.pdf");
441    
442    
443     // Signal kFactor Uncertainty MHT
444     c1->SetLogz(0);
445     TH2F*hsig_kFactor_mht = new TH2F("sigkFactormht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal #mu_{iso} uncertainty",
446     50,0,509.9,25,100,350);
447     plotTools->Area(hsig_kFactor_mht, Mzero, Mhalf, SignalUncertKfactor);
448     hsig_kFactor_mht->SetMinimum(0.1);
449     hsig_kFactor_mht->SetMaximum(0.2);
450     hsig_kFactor_mht->SetContour(10);
451     hsig_kFactor_mht->Draw("colz");
452     if (gobsexcl) gobsexcl->Draw("l");
453     c1->SaveAs("results_tb3/SigkFactor_MHT_m0_m12_tb3.pdf");
454    
455     // Signal kFactor Uncertainty HT
456     c1->SetLogz(0);
457     TH2F*hsig_kFactor_ht = new TH2F("sigkFactorht",";m_{0} [GeV]; m_{1/2} [GeV]; Signal #mu_{iso} uncertainty",
458     50,0,509.9,25,100,350);
459 auterman 1.6 plotToolsHT->Area(hsig_kFactor_ht, Mzero, Mhalf, SignalUncertKfactor);
460 auterman 1.5 hsig_kFactor_ht->SetMinimum(0.1);
461     hsig_kFactor_ht->SetMaximum(0.2);
462     hsig_kFactor_ht->SetContour(10);
463     hsig_kFactor_ht->Draw("colz");
464     if (gCLsObsExclHT) gCLsObsExclHT->Draw("l");
465     c1->SaveAs("results_tb3/SigkFactor_HT_m0_m12_tb3.pdf");
466    
467 auterman 1.1 //-----------------------------------------------------------------------------------
468     c1->SetLogz(1);
469    
470     TGraph * mz500 = plotMasses->Line( MSquarkL, MGluino, Mzero, 500, 1);
471     TGraph * mh250 = plotMasses->Line( MSquarkL, MGluino, Mhalf, 250, 1);
472    
473     // cross-section in squark - gluino mass
474     TH2F*hxsec_qg = new TH2F("xsec_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; cross section [pb]",
475 auterman 1.4 60,200,800,40,200,900);
476 auterman 1.1 plotTools->Area(hxsec_qg, MSquarkL, MGluino, Xsection);
477     hxsec_qg->SetMinimum(0.01);
478     hxsec_qg->Draw("colz");
479     mz500->Draw();
480     mh250->Draw();
481     c1->SaveAs("results_tb3/Xsection_mSql_mGl_tb3.pdf");
482    
483     // Observed Limit in squark - gluino mass
484     TH2F*hobslimit_qg = new TH2F("obslimit_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Limit [pb]",
485 auterman 1.4 60,200,800,40,200,900);
486 auterman 1.1 plotTools->Area(hobslimit_qg, MSquarkL, MGluino, ObsXsecLimit);
487     hobslimit_qg->SetMinimum(0.01);
488     hobslimit_qg->Draw("colz");
489     c1->SaveAs("results_tb3/ObsLimit_mSql_mGl_tb3.pdf");
490    
491     // Expected Limit in squark - gluino mass
492     TH2F*hexplimit_qg = new TH2F("explimit_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Expected Limit [pb]",
493 auterman 1.4 60,200,800,40,200,900);
494 auterman 1.1 plotTools->Area(hexplimit_qg, MSquarkL, MGluino, ExpXsecLimit);
495     hexplimit_qg->SetMinimum(0.01);
496     hexplimit_qg->Draw("colz");
497     c1->SaveAs("results_tb3/ExpLimit_mSql_mGl_tb3.pdf");
498    
499     // Signal Acceptance in squark - gluino mass
500     TH2F*hsigacc_qg = new TH2F("sigacc_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; Signal Acceptance",
501 auterman 1.4 60,200,800,40,200,900);
502 auterman 1.1 plotTools->Area(hsigacc_qg, MSquarkL, MGluino, SignalAcceptance);
503     hsigacc_qg->SetMinimum(0.01);
504     hsigacc_qg->SetMaximum(1.0);
505     hsigacc_qg->Draw("colz");
506     c1->SaveAs("results_tb3/SigAcc_mSql_mGl_tb3.pdf");
507    
508     // Exp. Limit on Number of Signal Events in squark - gluino mass
509     c1->SetLogz(0);
510     TH2F*hexplimitnsig_qg = new TH2F("explimitnsig_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL exp. limit signal events [# ]",
511 auterman 1.4 60,200,800,40,200,900);
512 auterman 1.1 plotTools->Area(hexplimitnsig_qg, MSquarkL, MGluino, ExpNSignLimit);
513     hexplimitnsig_qg->SetMinimum(0.0);
514     hexplimitnsig_qg->SetMaximum(20);
515     hexplimitnsig_qg->Draw("colz");
516     c1->SaveAs("results_tb3/ExpLimitOnNSig_mSql_mGl_tb3.pdf");
517    
518     // Obs. Limit on Number of Signal Events in squark - gluino mass
519     TH2F*hobslimitnsig_qg = new TH2F("obslimitnsig_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL obs. limit signal events [# ]",
520 auterman 1.4 60,200,800,40,200,900);
521 auterman 1.1 plotTools->Area(hobslimitnsig_qg, MSquarkL, MGluino, ObsNSignLimit);
522     hobslimitnsig_qg->SetMinimum(0.0);
523     hobslimitnsig_qg->SetMaximum(20);
524     hobslimitnsig_qg->Draw("colz");
525     c1->SaveAs("results_tb3/ObsLimitOnNSig_mSql_mGl_tb3.pdf");
526    
527     c1->SetLogz(0);
528     // Expected Exclusion in squark - gluino mass
529     TH2F*hexpexcl_qg = new TH2F("expexcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Expected Exclusion",
530 auterman 1.4 60,200,800,40,200,900);
531 auterman 1.1 plotTools->Area(hexpexcl_qg, MSquarkL, MGluino, ExpExclCL);
532     hexpexcl_qg->Draw("colz");
533     c1->SaveAs("results_tb3/ExpExclusion_mSql_mGl_tb3.pdf");
534    
535     // Observed Exclusion in squark - gluino mass
536     TH2F*hobsexcl_qg = new TH2F("obsexcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Exclusion",
537 auterman 1.4 60,200,800,40,200,900);
538 auterman 1.1 plotTools->Area(hobsexcl_qg, MSquarkL, MGluino, ObsExclCL);
539     //std::vector<TGraph *> vobsexcl_qg = plotTools->GetContours(hobsexcl_qg);
540     hobsexcl_qg->Draw("colz");
541     //for (std::vector<TGraph *>::iterator g=vobsexcl_qg.begin();g!=vobsexcl_qg.end();++g){
542     // if (! *g) continue;
543     // // (*g)->Draw("l");
544     //}
545     c1->SaveAs("results_tb3/ObsExclusion_mSql_mGl_tb3.pdf");
546    
547     // TestContours in M0 - M1/2
548     TH2F*texcl_qg = new TH2F("texcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Exclusion",
549 auterman 1.4 60,200,800,40,200,900);
550 auterman 1.1 TH2F*tPLobsexcl_qg=(TH2F*)texcl_qg->Clone();
551     plotTools->Area(tPLobsexcl_qg, MSquarkL, MGluino, PLObsExclusion);
552     TH2F*tPLexpexcl_qg=(TH2F*)texcl_qg->Clone();
553     plotTools->Area(tPLexpexcl_qg, MSquarkL, MGluino, PLExpExclusion);
554     //std::vector<TGraph*> contours_qg = plotTools->GetContours(hexpexcl_qg,3);
555     //std::vector<TGraph*> contours_qg = plotTools->GetContours(hobsexcl_qg,3);
556     std::vector<TGraph*> contours_qg = plotTools->GetContours(tPLobsexcl_qg,3);
557     //std::vector<TGraph*> contours_qg = plotTools->GetContours(tPLexpexcl_qg,3);
558     //hPLexpexcl_qg
559     //hexcl_qg->Draw("colz");
560     //hexpexcl_qg->Draw("colz");
561     //hobsexcl_qg->Draw("colz");
562     tPLobsexcl_qg->Draw("colz");
563     int col_gl=kBlue-10;
564     for (std::vector<TGraph*>::iterator cont=contours_qg.begin(); cont!=contours_qg.end(); ++cont){
565     if (! *cont) continue;
566     double x, y;
567     (*cont)->GetPoint(0, x, y);
568     (*cont)->SetLineColor(col_gl);(*cont)->SetLineWidth(3);
569     (*cont)->Draw("l");
570     TLatex l; l.SetTextSize(0.04); l.SetTextColor(col_gl++);
571     char val[20];
572     sprintf(val,"%d",(int)(cont-contours_qg.begin()));
573     l.DrawLatex(x,y,val);
574     if (cont-contours_qg.begin()>3) break;
575     }
576     c1->SaveAs("results_tb3/ExclusionTestContours_mSql_mGl_tb3.pdf");
577    
578     // Observed Exclusion in squark - gluino mass
579     TH2F*hPLobsexcl_qg = new TH2F("plobsexcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Exclusion",
580 auterman 1.4 60,200,800,40,200,900);
581 auterman 1.1 plotTools->Area(hPLobsexcl_qg, MSquarkL, MGluino, PLObsExclusion);
582     //hPLobsexcl_qg->Draw("colz");
583     //c1->SaveAs("results_tb3/PL_ObsExclusion_mSql_mGl_tb3.pdf");
584    
585    
586    
587     TH2F*hexcl_qg = new TH2F("hexcl_qg",";m_{#tilde{q}} [GeV]; m_{#tilde{g}} [GeV]; 95% CL Observed Exclusion",
588 auterman 1.4 50,200,800,30,200,900);
589 auterman 1.5 TGraph * gexpexcl_qg = plotTools->GetContour(hexcl_qg,MSquarkL,MGluino,NLOExpExclCL, 3,0, 2,2);
590     TGraph * gexpexcl_qg_LO = plotTools->GetContour(hexcl_qg,MSquarkL,MGluino,ExpExclCL, 3,0, 2,4);
591     TGraph * gobsexcl_qg = plotTools->GetContour(hexcl_qg,MSquarkL,MGluino,NLOObsExclCL, 3,0, 2,1);
592 auterman 1.4 TGraph * gMCMCexpexcl_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,MCMCExpExclusion,3,0, 3,2);
593     TGraph * gMCMCobsexcl_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,MCMCObsExclusion,3,0, 3,1);
594 auterman 1.5 TGraph * gCLsExpExclHT_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,NLOExpExclCL, 3,0, 1,2);
595     TGraph * gCLsExpExclHT_qg_LO = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,ExpExclCL, 3,0, 1,4);
596     TGraph * gCLsObsExclHT_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,NLOObsExclCL, 3,0, 1,1);
597     TGraph * gCLsExpExclHTm1_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,NLOExpExclCLm1sigma,3,0, 5,2);
598     TGraph * gCLsExpExclHTp1_qg = plotToolsHT->GetContour(hexcl_qg,MSquarkL,MGluino,NLOExpExclCLp1sigma,3,0, 5,2);
599     Smooth(gexpexcl_qg, 11);
600     Smooth(gobsexcl_qg, 11);
601     Smooth(gCLsExpExclHT_qg, 11);
602     Smooth(gCLsObsExclHT_qg, 11);
603     Smooth(gCLsExpExclHTm1_qg, 11);
604     Smooth(gCLsExpExclHTp1_qg, 11);
605 auterman 1.4 TGraph * gCLsExp1Sigma_qg = MakeBand(gCLsExpExclHTp1_qg, gCLsExpExclHTm1_qg);
606 auterman 1.1 hexcl_qg->Draw("");
607 auterman 1.4 //
608     if (gCLsExp1Sigma_qg) gCLsExp1Sigma_qg->Draw("lf");
609     if (gobsexcl_qg) gobsexcl_qg->Draw("l");
610 auterman 1.1 if (gCLsObsExclHT_qg) gCLsObsExclHT_qg->Draw("l");
611 auterman 1.4 if (gexpexcl_qg) gexpexcl_qg->Draw("l");
612 auterman 1.1 if (gCLsExpExclHT_qg) gCLsExpExclHT_qg->Draw("l");
613 auterman 1.5 if (gexpexcl_qg_LO) gexpexcl_qg_LO->Draw("l");
614     if (gCLsExpExclHT_qg_LO) gCLsExpExclHT_qg_LO->Draw("l");
615 auterman 1.4 //
616 auterman 1.1 TLegend * leg_qg = new TLegend(0.45,0.78,0.85,0.89);
617     leg_qg->SetBorderSize(0);leg_qg->SetFillColor(0);
618 auterman 1.5 TGraph * expLeg_qg = (TGraph*)gCLsExpExclHT_qg->Clone();expLeg_qg->SetFillStyle(gCLsExp1Sigma_qg->GetFillStyle());expLeg_qg->SetFillColor(gCLsExp1Sigma_qg->GetFillColor());
619     if (gobsexcl_qg) leg_qg->AddEntry(gobsexcl_qg,"NLO Observed (MHT, CLs)","l");
620     if (gexpexcl_qg) leg_qg->AddEntry(gexpexcl_qg,"NLO Expected (MHT, CLs)","l");
621     if (gexpexcl_qg_LO) leg_qg->AddEntry(gexpexcl_qg_LO,"LO Expected (MHT, CLs)","l");
622     if (gCLsObsExclHT_qg) leg_qg->AddEntry(gCLsObsExclHT_qg,"NLO Observed (HT, CLs)","l");
623     if (gCLsExpExclHT_qg) leg_qg->AddEntry(expLeg_qg,"NLO Expected (HT, CLs)","lf");
624     if (gCLsExpExclHT_qg_LO) leg_qg->AddEntry(gCLsExpExclHT_qg_LO,"LO Expected (HT, CLs)","l");
625 auterman 1.1 //if (gPLobsexcl_qg) leg_qg->AddEntry(gPLobsexcl_qg,"Observed (PL, RooStat)","l");
626     //if (gPLexpexcl_qg) leg_qg->AddEntry(gPLexpexcl_qg,"Expected (PL, RooStat)","l");
627     leg_qg->Draw();
628     c1->SaveAs("results_tb3/Exclusion_mSql_mGl_tb3.pdf");
629 auterman 1.4 //c1->SaveAs("plot_tb10.pdf");
630    
631    
632 auterman 1.1
633     c1->SetLogy(1);
634     c1->SetLogx(1);
635     TH2F*hUncertScan = new TH2F("hUncertScan",";relative signal uncertainty; number of signal events",
636     10,0.1,0.6,10,0.9,200);
637     //hUncertScan->GetXaxis()->SetNdivisions(505, false);
638     //hUncertScan->SetMinimum(1);
639     TGraph * gCLsExpUncert = new TGraph(0);
640     TGraph * gCLsObsUncert = new TGraph(0);
641     TGraph * gPLExpUncert = new TGraph(0);
642     TGraph * gPLObsUncert = new TGraph(0);
643     TGraph * gFCExpUncert = new TGraph(0);
644     TGraph * gFCObsUncert = new TGraph(0);
645     TGraph * gMCMCExpUncert= new TGraph(0);
646     TGraph * gMCMCObsUncert= new TGraph(0);
647     plotTools->Graph(gCLsExpUncert, SignalRelUncertainty, ExpNSignLimit,1);
648     plotTools->Graph(gCLsObsUncert, SignalRelUncertainty, ObsNSignLimit,1);
649     plotTools->Graph(gPLExpUncert, SignalRelUncertainty, PLExpNSignLimit,1);
650     plotTools->Graph(gPLObsUncert, SignalRelUncertainty, PLObsNSignLimit, 1);
651     plotTools->Graph(gFCExpUncert, SignalRelUncertainty, FCExpNSignLimit,1);
652     plotTools->Graph(gFCObsUncert, SignalRelUncertainty, FCObsNSignLimit, 1);
653     plotTools->Graph(gMCMCExpUncert,SignalRelUncertainty, MCMCExpNSignLimit,1);
654     plotTools->Graph(gMCMCObsUncert,SignalRelUncertainty, MCMCObsNSignLimit, 1);
655     gCLsExpUncert->SetLineStyle(8);
656     gPLObsUncert->SetLineColor(2);
657     gPLExpUncert->SetLineColor(2); gPLExpUncert->SetLineStyle(8);
658     gFCObsUncert->SetLineColor(3);
659     gFCExpUncert->SetLineColor(3); gFCExpUncert->SetLineStyle(8);
660     gMCMCObsUncert->SetLineColor(4);
661     gMCMCExpUncert->SetLineColor(4); gMCMCExpUncert->SetLineStyle(8);
662     hUncertScan->Draw("h");
663     gCLsExpUncert->Draw("l");
664     gCLsObsUncert->Draw("l");
665     gPLObsUncert->Draw("l");
666     gPLExpUncert->Draw("l");
667     gFCObsUncert->Draw("l");
668     gFCExpUncert->Draw("l");
669     gMCMCObsUncert->Draw("l");
670     gMCMCExpUncert->Draw("l");
671     TLatex l; l.SetTextSize(0.03); l.SetTextColor(1);
672     l.DrawLatex(0.025,25,"excluded");
673     TMarker m; m.SetMarkerStyle(29); m.SetMarkerColor(2);
674     m.DrawMarker(0.128, 28.5);l.DrawLatex(0.14,28.5,"LM1");
675     m.DrawMarker(0.147, 77.4);l.DrawLatex(0.16,77.4,"LM0");
676    
677     TLegend * leg_S = new TLegend(0.5,0.14,0.85,0.38);
678     leg_S->SetBorderSize(0);leg_S->SetFillColor(0);
679     leg_S->SetHeader("95% CL upper limits");
680     leg_S->AddEntry(gCLsExpUncert,"Expected (CLs, TLimit)","l");
681     leg_S->AddEntry(gCLsObsUncert,"Observed (CLs, TLimit)","l");
682     leg_S->AddEntry(gPLExpUncert,"Expected (PL, RooStat)","l");
683     leg_S->AddEntry(gPLObsUncert,"Observed (PL, RooStat)","l");
684     leg_S->AddEntry(gFCObsUncert,"Observed (FC, RooStat)","l");
685     leg_S->AddEntry(gFCExpUncert,"Expected (FC, RooStat)","l");
686     leg_S->AddEntry(gMCMCObsUncert,"Observed (MCMC, RooStat)","l");
687     leg_S->AddEntry(gMCMCExpUncert,"Expected (MCMC, RooStat)","l");
688     leg_S->Draw();
689     c1->SaveAs("results_tb3/UncertaintyScan.pdf");
690    
691     //theApp.Run();
692     }
693    
694    
695     int main(int argc, char** argv)
696     {
697     return plot(argc, argv);
698     }