ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/PlotScript/GlobalFunctions.h
Revision: 1.10
Committed: Wed Feb 9 21:00:29 2011 UTC (14 years, 3 months ago) by auterman
Content type: text/plain
Branch: MAIN
Changes since 1.9: +343 -64 lines
Log Message:
updated Tevatron and LEP contours

File Contents

# User Rev Content
1 auterman 1.1 #include "SusyScan.h"
2     #include "GeneratorMasses.h"
3    
4 auterman 1.5 #include "TGraph.h"
5 auterman 1.10 #include "TLatex.h"
6     #include "TF1.h"
7 auterman 1.5 #include "TGraphErrors.h"
8     #include "TSpline.h"
9 auterman 1.10 #include "TStyle.h"
10     #include "TMath.h"
11 auterman 1.5
12 auterman 1.1 #include <cmath>
13 auterman 1.8 #include <iostream>
14 auterman 1.1
15    
16 auterman 1.3 double Luminosity = 36.3; //[pb^-1]
17 auterman 1.1 double Mzero(const SusyScan* p){ return p->Mzero; }
18     double Mhalf(const SusyScan* p){ return p->Mhalf; }
19     double MGluino(const SusyScan* p){ return p->MGL; }
20     double MSquarkL(const SusyScan* p){ return p->MUL; }
21     double MSquarkR(const SusyScan* p){ return p->MUR; }
22     double MChi1(const SusyScan* p){ return p->MZ1; }
23     double MChi2(const SusyScan* p){ return p->MZ2; }
24     double MChi3(const SusyScan* p){ return p->MZ3; }
25     double MChi4(const SusyScan* p){ return p->MZ4; }
26     double MCha1(const SusyScan* p){ return p->MW1; }
27     double MCha2(const SusyScan* p){ return p->MW2; }
28     double Xsection(const SusyScan* p){ return p->Xsection; }
29     double ExpXsecLimit(const SusyScan* p){ return p->ExpXsecLimit; }
30     double ObsXsecLimit(const SusyScan* p){ return p->ObsXsecLimit; }
31 auterman 1.5 double Signal(const SusyScan* p){ return p->signal; }
32     double SignalUncertainty(const SusyScan* p){ return p->signal_uncertainty; }
33     double SignalRelUncertainty(const SusyScan* p){ return p->signal_uncertainty/p->signal; }
34 auterman 1.4 double ExpExclusion(const SusyScan* p){ return (ExpXsecLimit(p)<Xsection(p)&&ExpXsecLimit(p)>0.01?1:0.01); }
35     double ObsExclusion(const SusyScan* p){ return (ObsXsecLimit(p)<Xsection(p)&&ObsXsecLimit(p)>0.01?1:0.01); }
36 auterman 1.6 double ExpExclCL(const SusyScan* p){ return (p->CLs_b_xsec<=0.05 ? 1:0.01); }
37 auterman 1.7 double ExpExclCLm2sigma(const SusyScan* p){ return (p->CLs_b_n2_xsec<=0.05 ? 1:0.01); }
38     double ExpExclCLm1sigma(const SusyScan* p){ return (p->CLs_b_n1_xsec<=0.05 ? 1:0.01); }
39     double ExpExclCLp1sigma(const SusyScan* p){ return (p->CLs_b_p1_xsec<=0.05 ? 1:0.01); }
40     double ExpExclCLp2sigma(const SusyScan* p){ return (p->CLs_b_p2_xsec<=0.05 ? 1:0.01); }
41 auterman 1.6 double ObsExclCL(const SusyScan* p){ return (p->CLs_xsec<=0.05 ? 1:0.01); }
42 auterman 1.1 double SoverSqrtB(const SusyScan* p){ return p->signal/(sqrt(p->background)+p->background_uncertainty+p->signal_uncertainty); }
43     double XsecOverObserved(const SusyScan* p){ return (ObsXsecLimit(p)==0 ? 9999. : Xsection(p)/ObsXsecLimit(p)); }
44 auterman 1.3 double XsecOverExpected(const SusyScan* p){ return (ExpXsecLimit(p)==0 ? 9999. : Xsection(p)/ExpXsecLimit(p)); }
45 auterman 1.1 double SignalAcceptance(const SusyScan* p){ return p->signal / (Luminosity*Xsection(p)); }
46 auterman 1.5 double ExpNSignLimit(const SusyScan* p){ return p->ExpNsigLimit; }
47     double ObsNSignLimit(const SusyScan* p){ return p->ObsNsigLimit; }
48 auterman 1.3 double PLExpNSignLimit(const SusyScan* p){ return p->PLExpNsigLimit; }
49 auterman 1.5 double PLObsNSignLimit(const SusyScan* p){ return p->PLObsNsigLimit; }
50 auterman 1.3 double PLExpXsecLimit(const SusyScan* p){ return p->PLExpXsecLimit; }
51     double PLObsXsecLimit(const SusyScan* p){ return p->PLObsXsecLimit; }
52 auterman 1.4 double PLExpExclusion(const SusyScan* p){ return (PLExpXsecLimit(p)<Xsection(p)&&PLExpXsecLimit(p)>0.01?1:0.01); }
53     double PLObsExclusion(const SusyScan* p){ return (PLObsXsecLimit(p)<Xsection(p)&&PLObsXsecLimit(p)>0.01?1:0.01); }
54 auterman 1.5 double FCExpNSignLimit(const SusyScan* p){ return p->FCExpNsigLimit; }
55     double FCObsNSignLimit(const SusyScan* p){ return p->FCObsNsigLimit; }
56     double FCExpXsecLimit(const SusyScan* p){ return p->FCExpXsecLimit; }
57     double FCObsXsecLimit(const SusyScan* p){ return p->FCObsXsecLimit; }
58     double FCExpExclusion(const SusyScan* p){ return (FCExpXsecLimit(p)<Xsection(p)&&FCExpXsecLimit(p)>0.01?1:0.01); }
59     double FCObsExclusion(const SusyScan* p){ return (FCObsXsecLimit(p)<Xsection(p)&&FCObsXsecLimit(p)>0.01?1:0.01); }
60     double MCMCExpNSignLimit(const SusyScan* p){ return p->MCMCExpNsigLimit; }
61     double MCMCObsNSignLimit(const SusyScan* p){ return p->MCMCObsNsigLimit; }
62     double MCMCExpXsecLimit(const SusyScan* p){ return p->MCMCExpXsecLimit; }
63     double MCMCObsXsecLimit(const SusyScan* p){ return p->MCMCObsXsecLimit; }
64     double MCMCExpExclusion(const SusyScan* p){ return (MCMCExpXsecLimit(p)<Xsection(p)&&MCMCExpXsecLimit(p)>0.01?1:0.01); }
65     double MCMCObsExclusion(const SusyScan* p){ return (MCMCObsXsecLimit(p)<Xsection(p)&&MCMCObsXsecLimit(p)>0.01?1:0.01); }
66 auterman 1.8 double SignalContamination(const SusyScan* p){return p->signal_contamination; }
67 auterman 1.1
68     double Mzero(const GeneratorMasses* p){ return p->Mzero; }
69     double Mhalf(const GeneratorMasses* p){ return p->Mhalf; }
70     double MGluino(const GeneratorMasses* p){ return p->MGL; }
71     double MSquarkL(const GeneratorMasses* p){ return p->MUL; }
72     double MSquarkR(const GeneratorMasses* p){ return p->MUR; }
73     double MChi1(const GeneratorMasses* p){ return p->MZ1; }
74     double MChi2(const GeneratorMasses* p){ return p->MZ2; }
75     double MChi3(const GeneratorMasses* p){ return p->MZ3; }
76     double MChi4(const GeneratorMasses* p){ return p->MZ4; }
77     double MCha1(const GeneratorMasses* p){ return p->MW1; }
78     double MCha2(const GeneratorMasses* p){ return p->MW2; }
79 auterman 1.5
80 auterman 1.10 TGraph* set_sneutrino_d0_1(Int_t tanBeta){
81     double sn_m0[14]= {0, 0, 48, 55, 80, 90,100,105,109,105,100, 72, 55,0};
82     double sn_m12[14]={0,140,210,220,237,241,242,241,230,220,210,170,150,0};
83 auterman 1.5
84 auterman 1.10 TGraph* sn_d0_gr = new TGraph(14,sn_m0,sn_m12);
85 auterman 1.5
86     sn_d0_gr->SetFillColor(kGreen+3);
87     sn_d0_gr->SetFillStyle(1001);
88    
89     return sn_d0_gr;
90     }
91    
92 auterman 1.10 TGraph* set_sneutrino_d0_2(Int_t tanBeta){
93     double sn_m0[9]= {0, 45, 75,115,130,150,163,185,0};
94     double sn_m12[9]={0,140,170,213,202,183,168,140,0};
95 auterman 1.5
96 auterman 1.10 TGraph* sn_d0_gr_2 = new TGraph(9,sn_m0,sn_m12);
97 auterman 1.5
98     sn_d0_gr_2->SetFillColor(kGreen+3);
99     sn_d0_gr_2->SetFillStyle(1001);
100    
101 auterman 1.10 return sn_d0_gr_2;
102     }
103    
104    
105     TGraph* set_lep_ch_tanBeta10(){
106    
107     double ch_m0[11];
108     double ch_m12[11];
109    
110     ch_m0[0] = 0;
111     ch_m0[1] = 100;
112     ch_m0[2] = 200;
113     ch_m0[3] = 300;
114     ch_m0[4] = 400;
115     ch_m0[5] = 500;
116     ch_m0[6] = 600;
117     ch_m0[7] = 700;
118     ch_m0[8] = 800;
119     ch_m0[9] = 800;
120     ch_m0[10] = 0;
121    
122     ch_m12[0] = 163;
123     ch_m12[1] = 162;
124     ch_m12[2] = 161;
125     ch_m12[3] = 160;
126     ch_m12[4] = 159;
127     ch_m12[5] = 158;
128     ch_m12[6] = 157;
129     ch_m12[7] = 156;
130     ch_m12[8] = 155.4;
131     ch_m12[9] = 0;
132     ch_m12[10] = 0;
133    
134    
135     TGraph* ch_gr = new TGraph(11,ch_m0,ch_m12);
136    
137     ch_gr->SetFillColor(3);
138     ch_gr->SetLineColor(3);
139     // ch_gr->SetLineWidth(3);
140     ch_gr->SetFillStyle(1001);
141    
142     return ch_gr;
143 auterman 1.5
144     }
145    
146    
147    
148 auterman 1.10 TGraph* set_lep_ch_tanBeta3(){
149    
150     double ch_m0[17];
151     double ch_m12[17];
152    
153     ch_m0[0] = 0;
154     ch_m0[1] = 100;
155     ch_m0[2] = 150;
156     ch_m0[3] = 200;
157     ch_m0[4] = 250;
158     ch_m0[5] = 300;
159     ch_m0[6] = 350;
160     ch_m0[7] = 400;
161     ch_m0[8] = 450;
162     ch_m0[9] = 500;
163     ch_m0[10] = 550;
164     ch_m0[11] = 600;
165     ch_m0[12] = 650;
166     ch_m0[13] = 700;
167     ch_m0[14] = 750;
168     ch_m0[15] = 750;
169     ch_m0[16] = 0;
170    
171     ch_m12[0] = 170;
172     ch_m12[1] = 168;
173     ch_m12[2] = 167;
174     ch_m12[3] = 165;
175     ch_m12[4] = 163;
176     ch_m12[5] = 161;
177     ch_m12[6] = 158;
178     ch_m12[7] = 156;
179     ch_m12[8] = 154;
180     ch_m12[9] = 152;
181     ch_m12[10] = 150;
182     ch_m12[11] = 148;
183     ch_m12[12] = 147;
184     ch_m12[13] = 145;
185     ch_m12[14] = 144;
186     ch_m12[15] = 0;
187     ch_m12[16] = 0;
188    
189     TGraph* ch_gr = new TGraph(17,ch_m0,ch_m12);
190    
191     ch_gr->SetFillColor(3);
192     ch_gr->SetLineColor(3);
193     // ch_gr->SetLineWidth(3);
194     ch_gr->SetFillStyle(1001);
195    
196     return ch_gr;
197    
198     }
199    
200 auterman 1.5
201 auterman 1.10 TGraph* set_lep_ch_tanBeta50(){
202 auterman 1.5
203 auterman 1.10 double ch_m0[21];
204     double ch_m12[21];
205    
206     ch_m0[0] = 200;
207     ch_m0[1] = 250;
208     ch_m0[2] = 300;
209     ch_m0[3] = 350;
210     ch_m0[4] = 400;
211     ch_m0[5] = 450;
212     ch_m0[6] = 500;
213     ch_m0[7] = 550;
214     ch_m0[8] = 600;
215     ch_m0[9] = 650;
216     ch_m0[10] = 700;
217     ch_m0[11] = 750;
218     ch_m0[12] = 800;
219     ch_m0[13] =850;
220     ch_m0[14] = 900;
221     ch_m0[15] = 950;
222     ch_m0[16] = 1000;
223     ch_m0[17] = 1050;
224     ch_m0[18] = 1100;
225     ch_m0[19] = 1100;
226     ch_m0[20] = 200;
227 auterman 1.5
228 auterman 1.10 ch_m12[0] = 157;
229     ch_m12[1] = 156;
230     ch_m12[2] = 156;
231     ch_m12[3] = 155;
232     ch_m12[4] = 155;
233     ch_m12[5] = 154;
234     ch_m12[6] = 154;
235     ch_m12[7] = 153;
236     ch_m12[8] = 153;
237     ch_m12[9] = 152;
238     ch_m12[10] = 152;
239     ch_m12[11] = 152;
240     ch_m12[12] = 152;
241     ch_m12[13] = 152;
242     ch_m12[14] = 152;
243     ch_m12[15] = 153;
244     ch_m12[16] = 153;
245     ch_m12[17] = 153;
246     ch_m12[18] = 154;
247     ch_m12[19] = 0;
248     ch_m12[20] = 0;
249    
250 auterman 1.5
251 auterman 1.10 TGraph* ch_gr = new TGraph(21,ch_m0,ch_m12);
252 auterman 1.5
253     ch_gr->SetFillColor(3);
254 auterman 1.10 ch_gr->SetLineColor(3);
255 auterman 1.5 ch_gr->SetFillStyle(1001);
256    
257     return ch_gr;
258    
259     }
260    
261    
262 auterman 1.10 TGraph* set_lep_ch(Int_t tanBeta){
263     if(tanBeta == 3) return set_lep_ch_tanBeta3();
264     if(tanBeta == 10) return set_lep_ch_tanBeta10();
265     if(tanBeta == 50) return set_lep_ch_tanBeta50();
266     }
267 auterman 1.5
268    
269 auterman 1.10 TGraph* set_lep_sl(Int_t tanBeta){
270    
271     // CMS SUSY Summer2010 implementation
272     // double sl_m0[] = {0, 0, 30, 50, 60, 75, 80,90,100};
273     // double sl_m12[] = {0,245,240,220,200,150,100,50,0};
274    
275     //contour from D0 trilepton paper (PLB 680 (2009) 34-43)
276    
277     double *sl_m0 = 0;
278     double *sl_m12 = 0;
279     int n = 0;
280    
281     double sl_m0_3[] ={0, 0, 10, 20, 30, 40, 50, 60, 70, 77,88,95};
282     double sl_m12_3[]={0,245,242,239,232,222,209,189,165,140,60,0};
283     int n_3 = 12;
284    
285     double sl_m0_10[]={ 0, 0, 11, 20, 24, 49, 70, 82,88,90};
286     double sl_m12_10[]={0,240,237,233,230,200,150,100,50,0};
287     int n_10 = 10;
288    
289     if (tanBeta==3){
290     sl_m0 = sl_m0_3;
291     sl_m12 = sl_m12_3;
292     n = n_3;
293     }
294     //CMS PTDR-II
295     //* Selectron_R line mass=99, ISASUGRA7.69, A0=0, m_top=175, tan(beta]=10
296     if (tanBeta==10 || tanBeta==50){
297     sl_m0 = sl_m0_10;
298     sl_m12 = sl_m12_10;
299     n = n_10;
300     }
301 auterman 1.5
302 auterman 1.10 TGraph* lep_sl = new TGraph(n,sl_m0,sl_m12);
303 auterman 1.5
304     lep_sl->SetFillColor(5);
305 auterman 1.10 lep_sl->SetLineColor(5);
306 auterman 1.5 lep_sl->SetFillStyle(1001);
307    
308     return lep_sl;
309     }
310    
311    
312 auterman 1.10 TGraph* set_tev_sg_cdf(Int_t tanBeta){
313    
314     // double sg_m0[] = {0, 0, 20, 50,100,150,200,250,300,350,400,450,500,550,600,600};
315     // double sg_m12[] = {0,160,169,170,160,155,150,122,116,112,110,106,105,100, 98, 0};
316     // int np=16;
317     //New CHF from CDF plot in ICHEP2010 talk (E. Halkiadakis)
318     double sg_m0[]= {0, 0, 30, 75,150,185,225,310,360,400,430,500,600,600};
319     double sg_m12[]={0,162,168,170,160,150,130,120,109,108,100, 96, 95, 0};
320     int np=14;
321    
322     TGraph* sg_gr = new TGraph(np,sg_m0,sg_m12);
323    
324     // gStyle->SetHatchesLineWidth(3);
325 auterman 1.5
326     sg_gr->SetFillColor(2);
327 auterman 1.10 sg_gr->SetLineColor(2);
328     // sg_gr->SetLineWidth(3);
329 auterman 1.5 sg_gr->SetFillStyle(1001);
330    
331     return sg_gr;
332    
333     }
334    
335 auterman 1.10 TGraph* set_tev_sg_d0(Int_t tanBeta){
336 auterman 1.5
337 auterman 1.10 // double sgd_m0[] = {0, 0, 50, 100,150,200,250,300,350,400,450,500,550,600,600};
338     // double sgd_m12[] = {0,168,167,162,157,145,125,120,110,108,95, 94 ,94 ,93,0};
339     // int np=15;
340     double sgd_m0[]= {0, 0, 30, 80,150,240,320,400,500,600,600,0};
341     double sgd_m12[]={0,167,166,162,156,138,121,109,105,105, 0,0};
342     int npd=12;
343    
344     TGraph* sgd_gr = new TGraph(npd,sgd_m0,sgd_m12);
345    
346     gStyle->SetHatchesLineWidth(3);
347    
348     sgd_gr->SetFillColor(kMagenta+3);
349     sgd_gr->SetLineColor(kMagenta+3);
350     sgd_gr->SetLineWidth(3);
351     sgd_gr->SetFillStyle(3335);
352 auterman 1.5
353     return sgd_gr;
354    
355     }
356    
357 auterman 1.10 // TGraph* set_tev_tlp_cdf(Int_t tanBeta){
358     // double tlp1_m0[] = { 0, 20, 40, 60, 70, 80, 90, 80, 70, 60};
359     // double tlp1_m12[] = {170,185,200,215,220,215,210,190,175,160};
360     // TGraph* tlp1_gr = new TGraph(10,tlp1_m0,tlp1_m12);
361    
362     // tlp1_gr->SetFillColor(4);
363     // tlp1_gr->SetLineColor(4);
364     // tlp1_gr->SetFillStyle(1001);
365    
366     // return tlp1_gr;
367     // }
368    
369     // TGraph* set_tev_tlp_d0(Int_t tanBeta){
370     // double tlp2_m0[] = { 70, 80, 90,100,105,110,120,130,140};
371     // double tlp2_m12[] = {160,172,184,196,205,195,185,173,160};
372     // TGraph* tlp2_gr = new TGraph(9,tlp2_m0,tlp2_m12);
373    
374     // tlp2_gr->SetFillColor(4);
375     // tlp2_gr->SetFillStyle(1001);
376    
377     // return tlp2_gr;
378    
379     // }
380    
381    
382    
383    
384    
385     TGraph* set_tev_stau(Int_t tanBeta){
386    
387     double st_m0_tanBeta3[] = {0,10,20,30,40,50,60,70,80,90,100,0};
388     double st_m12_tanBeta3[] = {337,341,356,378,406,439,473,510,548,587,626,626};
389    
390     double st_m0_tanBeta10[] = {0,10,20,30,40,50,60,70,80,90,100,0};
391     double st_m12_tanBeta10[] = {213,220,240,275,312,351,393,435,476,518,559,559};
392    
393     double st_m0_tanBeta50[] = {200,210,220,230,240,250,260,270,280,290,310,325,200,200};
394     double st_m12_tanBeta50[] = {206,226,246,267,288,310,332,354,376,399,450,500,500,206};
395    
396    
397     TGraph* st_gr_tanBeta3 = new TGraph(12,st_m0_tanBeta3,st_m12_tanBeta3);
398     TGraph* st_gr_tanBeta10 = new TGraph(12,st_m0_tanBeta10,st_m12_tanBeta10);
399     TGraph* st_gr_tanBeta50 = new TGraph(14,st_m0_tanBeta50,st_m12_tanBeta50);
400    
401     st_gr_tanBeta3->SetFillColor(40);
402     st_gr_tanBeta3->SetFillStyle(1001);
403    
404     st_gr_tanBeta50->SetFillColor(40);
405     st_gr_tanBeta50->SetFillStyle(1001);
406    
407     st_gr_tanBeta10->SetFillColor(40);
408     st_gr_tanBeta10->SetFillStyle(1001);
409    
410    
411     if(tanBeta == 3)return st_gr_tanBeta3;
412     if(tanBeta == 10)return st_gr_tanBeta10;
413     if(tanBeta == 50)return st_gr_tanBeta50;
414    
415     }
416    
417    
418    
419    
420     TF1* constant_squark(int tanBeta,int i){
421     //---lines of constant gluino/squark
422     double coef1 = 0.35;
423     double coef2[] = {5,5,4.6,4.1};
424    
425     char hname[200];
426    
427     sprintf(hname,"lnsq_%i",i);
428 auterman 1.5
429 auterman 1.10
430     TF1* lnsq = new TF1(hname,"sqrt([0]-x*x*[1]-[2])",0,1000);
431     lnsq->SetParameter(0,(500+150*(i-1))*(500+150*(i-1))/coef2[i]);
432     lnsq->SetParameter(1,1./coef2[i]);
433     lnsq->SetParameter(2,-coef1*91*91*(2*TMath::Cos(TMath::ATan(tanBeta)))/coef2[i]);//--tanbeta=10 --> cos2beta = -99/101
434     lnsq->SetLineWidth(1);
435    
436    
437     lnsq->SetLineColor(kGray);
438 auterman 1.5
439 auterman 1.10 return lnsq;
440 auterman 1.5 }
441    
442    
443 auterman 1.10 TF1* constant_gluino(int tanBeta,int i){
444     //---lines of constant gluino/squark
445     double coef1 = 0.35;
446     double coef2[] = {5,5,4.6,4.1};
447 auterman 1.5
448 auterman 1.10 char hname[200];
449 auterman 1.5
450 auterman 1.10 sprintf(hname,"lngl_%i",i);
451    
452     TF1* lngl = new TF1(hname,"[0]+x*[1]",0,1000);
453     lngl->SetParameter(0,(500+150.*(i-1))/2.4);
454     lngl->SetParameter(1,-40./1400);
455     lngl->SetLineWidth(1);
456     lngl->SetLineColor(kGray);
457    
458     return lngl;
459 auterman 1.5 }
460    
461    
462 auterman 1.10 TLatex* constant_squark_text(Int_t it,TF1& lnsq,Int_t tanBeta_){
463     char legnm[200];
464    
465     sprintf(legnm,"#font[92]{#tilde{q}(%i)GeV}",500+150*(it-1));
466     Double_t place_x = 170;
467     if(tanBeta_ == 50)place_x = 290;
468     TLatex* t3 = new TLatex(place_x+10*(it-1),lnsq.Eval(place_x+10*(it-1))+5,legnm);
469     t3->SetTextSize(0.03);
470     t3->SetTextAngle(-8);
471     t3->SetTextColor(kGray+2);
472    
473    
474    
475     return t3;
476     }
477 auterman 1.5
478 auterman 1.10 TLatex* constant_gluino_text(Int_t it,TF1& lngl){
479     char legnm[200];
480 auterman 1.5
481 auterman 1.10 sprintf(legnm,"#font[12]{#tilde{g}}#font[92]{(%i)GeV}",500+150*(it-1));
482     TLatex* t4 = new TLatex(423,18+lngl.Eval(480),legnm);
483     t4->SetTextSize(0.03);
484     t4->SetTextAlign(13);
485     t4->SetTextColor(kGray+2);
486 auterman 1.5
487 auterman 1.10 return t4;
488 auterman 1.5 }
489    
490    
491 auterman 1.9 TGraphErrors* getLO_tanBeta3(){
492 auterman 1.5
493    
494    
495     Int_t nl = 9;
496     Double_t xl[9];
497     Double_t yl[9];
498     Double_t exl[9];
499     Double_t eyl[9];
500    
501     // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
502    
503 auterman 1.9
504     xl[0] = 0;
505 auterman 1.5 yl[0] = 265;
506     xl[1] = 100;
507     yl[1] = 258;
508     xl[2] = 200;
509     yl[2] = 250;
510     xl[3] = 250;
511     yl[3] = 240;
512     xl[4] = 300;
513     yl[4] = 210;
514     xl[5] = 340;
515     yl[5] = 177;
516     xl[6] = 400;
517     yl[6] = 140;
518 auterman 1.9 xl[7] = 450;
519 auterman 1.5 yl[7] = 120;
520 auterman 1.9 xl[8] = 520;
521 auterman 1.5 yl[8] =100;
522    
523 auterman 1.9
524     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
525     gr1->SetMarkerColor(kGreen+2);
526     gr1->SetMarkerStyle(21);
527    
528    
529     //gr1->Draw("LP");
530    
531     TSpline3 *s = new TSpline3("grs",gr1);
532     s->SetLineColor(kGreen+2);
533     s->SetLineStyle(4);
534     s->SetLineWidth(3);
535    
536    
537     return gr1;
538    
539    
540    
541     }
542    
543     TGraphErrors* getLO_tanBeta10(){
544    
545    
546    
547     Int_t nl = 10;
548     Double_t xl[10];
549     Double_t yl[10];
550     Double_t exl[10];
551     Double_t eyl[10];
552    
553     // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
554    
555     xl[0] = 0;
556     yl[0] = 270;
557     xl[1] = 100;
558     yl[1] = 260;
559     xl[2] = 200;
560     yl[2] = 250;
561     xl[3] = 250;
562     yl[3] = 240;
563     xl[4] = 300;
564     yl[4] = 210;
565     xl[5] = 350;
566     yl[5] = 174;
567     xl[6] = 400;
568     yl[6] = 147;
569     xl[7] = 450;
570     yl[7] = 127;
571     xl[8] = 500;
572     yl[8] =115;
573     xl[9] = 520;
574     yl[9] = 112;
575    
576    
577    
578    
579    
580    
581     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
582     gr1->SetMarkerColor(kGreen+2);
583     gr1->SetMarkerStyle(21);
584    
585    
586     //gr1->Draw("LP");
587    
588     TSpline3 *s = new TSpline3("grs",gr1);
589     s->SetLineColor(kGreen+2);
590     s->SetLineStyle(4);
591     s->SetLineWidth(3);
592    
593    
594     return gr1;
595    
596    
597    
598     }
599    
600     TGraphErrors* getLO_tanBeta50(){
601    
602 auterman 1.5
603 auterman 1.9
604     Int_t nl = 10;
605     Double_t xl[10];
606     Double_t yl[10];
607     Double_t exl[10];
608     Double_t eyl[10];
609    
610     // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
611    
612    
613     xl[0] = 200;
614     yl[0] = 239;
615     xl[1] = 210;
616     yl[1] = 249;
617     xl[2] = 229;
618     yl[2] = 260;
619     xl[3] = 250;
620     yl[3] = 245;
621     xl[4] = 300;
622     yl[4] = 210;
623     xl[5] = 350;
624     yl[5] = 180;
625     xl[6] = 400;
626     yl[6] = 160;
627     xl[7] = 450;
628     yl[7] = 150;
629     xl[8] = 500;
630     yl[8] =140;
631     xl[9] = 520;
632     yl[9] = 137;
633    
634    
635    
636 auterman 1.5
637    
638    
639     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
640     gr1->SetMarkerColor(kGreen+2);
641     gr1->SetMarkerStyle(21);
642    
643    
644     //gr1->Draw("LP");
645    
646     TSpline3 *s = new TSpline3("grs",gr1);
647     s->SetLineColor(kGreen+2);
648     s->SetLineStyle(4);
649     s->SetLineWidth(3);
650    
651    
652     return gr1;
653    
654    
655    
656     }
657    
658    
659 auterman 1.9
660     TGraphErrors* getExpected_NLO_tanBeta3(){
661 auterman 1.5
662     Int_t nl = 11;
663     Double_t xl[11];
664     Double_t yl[11];
665     Double_t exl[11];
666     Double_t eyl[11];
667    
668 auterman 1.9 xl[0] = 0;
669     yl[0] = 283;
670     xl[1] = 100;
671     yl[1] = 280;
672     xl[2] = 150;
673     yl[2] = 279;
674     xl[3] = 200;
675     yl[3] = 275;
676     xl[4] = 250;
677     yl[4] = 270;
678     xl[5] = 300;
679     yl[5] = 255;
680     xl[6] = 350;
681     yl[6] = 225;
682     xl[7] = 400;
683     yl[7] = 195;
684     xl[8] = 450;
685     yl[8] = 175;
686     xl[9] = 500;
687     yl[9] = 155;
688     xl[10] = 550;
689     yl[10] = 150;
690    
691    
692    
693     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
694     gr1->SetMarkerColor(kBlue);
695     gr1->SetMarkerStyle(21);
696    
697    
698     //gr1->Draw("LP");
699    
700     TSpline3 *s = new TSpline3("grs",gr1);
701     s->SetLineColor(kBlue);
702     s->SetLineStyle(2);
703     s->SetLineWidth(3);
704 auterman 1.5
705    
706 auterman 1.9 return gr1;
707    
708 auterman 1.5
709 auterman 1.9
710    
711    
712     }
713    
714     TGraphErrors* getExpected_NLO_tanBeta10(){
715    
716     Int_t nl = 11;
717     Double_t xl[11];
718     Double_t yl[11];
719     Double_t exl[11];
720     Double_t eyl[11];
721    
722     // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
723    
724     xl[0] = 0;
725 auterman 1.5 yl[0] = 283;
726     xl[1] = 100;
727     yl[1] = 280;
728     xl[2] = 150;
729     yl[2] = 279;
730     xl[3] = 200;
731     yl[3] = 275;
732     xl[4] = 250;
733     yl[4] = 270;
734     xl[5] = 300;
735     yl[5] = 255;
736     xl[6] = 350;
737     yl[6] = 225;
738     xl[7] = 400;
739     yl[7] = 195;
740     xl[8] = 450;
741     yl[8] = 175;
742     xl[9] = 500;
743 auterman 1.9 yl[9] = 165;
744 auterman 1.5 xl[10] = 550;
745 auterman 1.9 yl[10] = 150;
746    
747    
748    
749    
750    
751     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
752     gr1->SetMarkerColor(kBlue);
753     gr1->SetMarkerStyle(21);
754    
755    
756     //gr1->Draw("LP");
757    
758     TSpline3 *s = new TSpline3("grs",gr1);
759     s->SetLineColor(kBlue);
760     s->SetLineStyle(2);
761     s->SetLineWidth(3);
762    
763    
764     return gr1;
765    
766    
767    
768    
769    
770     }
771    
772    
773     TGraphErrors* getExpected_NLO_tanBeta50(){
774    
775     Int_t nl = 10;
776     Double_t xl[10];
777     Double_t yl[10];
778     Double_t exl[10];
779     Double_t eyl[10];
780 auterman 1.5
781 auterman 1.9 // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
782    
783     xl[0] = 200;
784     yl[0] = 287;
785     xl[1] = 220;
786     yl[1] = 287;
787     xl[2] = 245;
788     yl[2] = 287;
789     xl[3] = 270;
790     yl[3] = 265;
791     xl[4] = 300;
792     yl[4] = 245;
793     xl[5] = 350;
794     yl[5] = 222;
795     xl[6] = 400;
796     yl[6] = 197;
797     xl[7] = 450;
798     yl[7] = 180;
799     xl[8] = 500;
800     yl[8] = 168;
801     xl[9] = 550;
802     yl[9] = 145;
803    
804    
805    
806 auterman 1.5
807    
808     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
809 auterman 1.9 gr1->SetMarkerColor(kBlue);
810     gr1->SetMarkerStyle(21);
811    
812    
813     //gr1->Draw("LP");
814    
815     TSpline3 *s = new TSpline3("grs",gr1);
816     s->SetLineColor(kBlue);
817     s->SetLineStyle(2);
818     s->SetLineWidth(3);
819    
820 auterman 1.5
821     return gr1;
822    
823    
824    
825    
826    
827     }
828    
829    
830 auterman 1.9 TGraphErrors* getObserved_NLO_tanBeta3(){
831 auterman 1.5
832 auterman 1.9 Int_t nl = 11;
833 auterman 1.5 Double_t xl[11];
834     Double_t yl[11];
835     Double_t exl[11];
836     Double_t eyl[11];
837    
838     // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
839    
840    
841 auterman 1.9
842     xl[0] = 0;
843     yl[0] = 274;
844 auterman 1.5 xl[1] = 100;
845     yl[1] = 270;
846     xl[2] = 150;
847     yl[2] = 268;
848     xl[3] = 200;
849     yl[3] = 265;
850     xl[4] = 250;
851     yl[4] = 255;
852     xl[5] = 300;
853 auterman 1.9 yl[5] = 230;
854 auterman 1.5 xl[6] = 350;
855 auterman 1.9 yl[6] = 195;
856 auterman 1.5 xl[7] = 400;
857 auterman 1.9 yl[7] = 160;
858 auterman 1.5 xl[8] = 450;
859 auterman 1.9 yl[8] = 140;
860     xl[9] = 480;
861     yl[9] = 130;
862     xl[10] = 530;
863 auterman 1.5 yl[10] = 120;
864 auterman 1.9
865    
866    
867    
868     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
869     gr1->SetMarkerColor(kBlue);
870     gr1->SetMarkerStyle(21);
871    
872    
873     //gr1->Draw("LP");
874    
875     TSpline3 *s = new TSpline3("grs",gr1);
876     s->SetLineColor(kRed);
877     // s->SetLineStyle(2);
878     s->SetLineWidth(3);
879    
880    
881     return gr1;
882    
883    
884    
885    
886    
887     }
888    
889    
890    
891     TGraphErrors* getObserved_NLO_tanBeta10(){
892    
893     Int_t nl = 11;
894     Double_t xl[11];
895     Double_t yl[11];
896     Double_t exl[11];
897     Double_t eyl[11];
898    
899     // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
900    
901     xl[0] = 0;
902     yl[0] = 278;
903     xl[1] = 100;
904     yl[1] = 270;
905     xl[2] = 150;
906     yl[2] = 267;
907     xl[3] = 200;
908     yl[3] = 262;
909     xl[4] = 250;
910     yl[4] = 250;
911     xl[5] = 300;
912     yl[5] = 225;
913     xl[6] = 350;
914     yl[6] = 192;
915     xl[7] = 400;
916     yl[7] = 163;
917     xl[8] = 450;
918     yl[8] = 148;
919     xl[9] = 500;
920     yl[9] = 140;
921     xl[10] = 520;
922     yl[10] = 137;
923    
924    
925    
926    
927    
928     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
929     gr1->SetMarkerColor(kBlue);
930     gr1->SetMarkerStyle(21);
931    
932    
933     //gr1->Draw("LP");
934    
935     TSpline3 *s = new TSpline3("grs",gr1);
936     s->SetLineColor(kRed);
937     // s->SetLineStyle(2);
938     s->SetLineWidth(3);
939    
940    
941     return gr1;
942    
943    
944    
945    
946    
947     }
948    
949    
950     TGraphErrors* getObserved_NLO_tanBeta50(){
951    
952     Int_t nl = 10;
953     Double_t xl[10];
954     Double_t yl[10];
955     Double_t exl[10];
956     Double_t eyl[10];
957    
958     // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
959    
960    
961     xl[0] = 200;
962     yl[0] = 243;
963     xl[1] = 220;
964     yl[1] = 264;
965     xl[2] = 235;
966     yl[2] = 278;
967     xl[3] = 250;
968     yl[3] = 267;
969     xl[4] = 300;
970     yl[4] = 230;
971     xl[5] = 350;
972     yl[5] = 205;
973     xl[6] = 400;
974     yl[6] = 184;
975     xl[7] = 450;
976     yl[7] = 168;
977     xl[8] = 500;
978     yl[8] = 156;
979     xl[9] = 520;
980     yl[9] = 148;
981 auterman 1.5
982 auterman 1.9
983    
984 auterman 1.5
985    
986     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
987 auterman 1.9 gr1->SetMarkerColor(kBlue);
988     gr1->SetMarkerStyle(21);
989 auterman 1.5
990    
991     //gr1->Draw("LP");
992    
993     TSpline3 *s = new TSpline3("grs",gr1);
994     s->SetLineColor(kRed);
995     // s->SetLineStyle(2);
996     s->SetLineWidth(3);
997    
998    
999     return gr1;
1000    
1001    
1002    
1003    
1004    
1005     }
1006