ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/PlotScript/GlobalFunctions.h
Revision: 1.11
Committed: Tue Feb 22 13:59:19 2011 UTC (14 years, 2 months ago) by auterman
Content type: text/plain
Branch: MAIN
Changes since 1.10: +44 -0 lines
Log Message:
NLO updates

File Contents

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