ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/PlotScript/GlobalFunctions.h
Revision: 1.9
Committed: Wed Feb 9 08:57:36 2011 UTC (14 years, 3 months ago) by auterman
Content type: text/plain
Branch: MAIN
Changes since 1.8: +378 -41 lines
Log Message:
new RA1 curves

File Contents

# Content
1 #include "SusyScan.h"
2 #include "GeneratorMasses.h"
3
4 #include "TGraph.h"
5 #include "TGraphErrors.h"
6 #include "TSpline.h"
7
8 #include <cmath>
9 #include <iostream>
10
11
12 double Luminosity = 36.3; //[pb^-1]
13 double Mzero(const SusyScan* p){ return p->Mzero; }
14 double Mhalf(const SusyScan* p){ return p->Mhalf; }
15 double MGluino(const SusyScan* p){ return p->MGL; }
16 double MSquarkL(const SusyScan* p){ return p->MUL; }
17 double MSquarkR(const SusyScan* p){ return p->MUR; }
18 double MChi1(const SusyScan* p){ return p->MZ1; }
19 double MChi2(const SusyScan* p){ return p->MZ2; }
20 double MChi3(const SusyScan* p){ return p->MZ3; }
21 double MChi4(const SusyScan* p){ return p->MZ4; }
22 double MCha1(const SusyScan* p){ return p->MW1; }
23 double MCha2(const SusyScan* p){ return p->MW2; }
24 double Xsection(const SusyScan* p){ return p->Xsection; }
25 double ExpXsecLimit(const SusyScan* p){ return p->ExpXsecLimit; }
26 double ObsXsecLimit(const SusyScan* p){ return p->ObsXsecLimit; }
27 double Signal(const SusyScan* p){ return p->signal; }
28 double SignalUncertainty(const SusyScan* p){ return p->signal_uncertainty; }
29 double SignalRelUncertainty(const SusyScan* p){ return p->signal_uncertainty/p->signal; }
30 double ExpExclusion(const SusyScan* p){ return (ExpXsecLimit(p)<Xsection(p)&&ExpXsecLimit(p)>0.01?1:0.01); }
31 double ObsExclusion(const SusyScan* p){ return (ObsXsecLimit(p)<Xsection(p)&&ObsXsecLimit(p)>0.01?1:0.01); }
32 double ExpExclCL(const SusyScan* p){ return (p->CLs_b_xsec<=0.05 ? 1:0.01); }
33 double ExpExclCLm2sigma(const SusyScan* p){ return (p->CLs_b_n2_xsec<=0.05 ? 1:0.01); }
34 double ExpExclCLm1sigma(const SusyScan* p){ return (p->CLs_b_n1_xsec<=0.05 ? 1:0.01); }
35 double ExpExclCLp1sigma(const SusyScan* p){ return (p->CLs_b_p1_xsec<=0.05 ? 1:0.01); }
36 double ExpExclCLp2sigma(const SusyScan* p){ return (p->CLs_b_p2_xsec<=0.05 ? 1:0.01); }
37 double ObsExclCL(const SusyScan* p){ return (p->CLs_xsec<=0.05 ? 1:0.01); }
38 double SoverSqrtB(const SusyScan* p){ return p->signal/(sqrt(p->background)+p->background_uncertainty+p->signal_uncertainty); }
39 double XsecOverObserved(const SusyScan* p){ return (ObsXsecLimit(p)==0 ? 9999. : Xsection(p)/ObsXsecLimit(p)); }
40 double XsecOverExpected(const SusyScan* p){ return (ExpXsecLimit(p)==0 ? 9999. : Xsection(p)/ExpXsecLimit(p)); }
41 double SignalAcceptance(const SusyScan* p){ return p->signal / (Luminosity*Xsection(p)); }
42 double ExpNSignLimit(const SusyScan* p){ return p->ExpNsigLimit; }
43 double ObsNSignLimit(const SusyScan* p){ return p->ObsNsigLimit; }
44 double PLExpNSignLimit(const SusyScan* p){ return p->PLExpNsigLimit; }
45 double PLObsNSignLimit(const SusyScan* p){ return p->PLObsNsigLimit; }
46 double PLExpXsecLimit(const SusyScan* p){ return p->PLExpXsecLimit; }
47 double PLObsXsecLimit(const SusyScan* p){ return p->PLObsXsecLimit; }
48 double PLExpExclusion(const SusyScan* p){ return (PLExpXsecLimit(p)<Xsection(p)&&PLExpXsecLimit(p)>0.01?1:0.01); }
49 double PLObsExclusion(const SusyScan* p){ return (PLObsXsecLimit(p)<Xsection(p)&&PLObsXsecLimit(p)>0.01?1:0.01); }
50 double FCExpNSignLimit(const SusyScan* p){ return p->FCExpNsigLimit; }
51 double FCObsNSignLimit(const SusyScan* p){ return p->FCObsNsigLimit; }
52 double FCExpXsecLimit(const SusyScan* p){ return p->FCExpXsecLimit; }
53 double FCObsXsecLimit(const SusyScan* p){ return p->FCObsXsecLimit; }
54 double FCExpExclusion(const SusyScan* p){ return (FCExpXsecLimit(p)<Xsection(p)&&FCExpXsecLimit(p)>0.01?1:0.01); }
55 double FCObsExclusion(const SusyScan* p){ return (FCObsXsecLimit(p)<Xsection(p)&&FCObsXsecLimit(p)>0.01?1:0.01); }
56 double MCMCExpNSignLimit(const SusyScan* p){ return p->MCMCExpNsigLimit; }
57 double MCMCObsNSignLimit(const SusyScan* p){ return p->MCMCObsNsigLimit; }
58 double MCMCExpXsecLimit(const SusyScan* p){ return p->MCMCExpXsecLimit; }
59 double MCMCObsXsecLimit(const SusyScan* p){ return p->MCMCObsXsecLimit; }
60 double MCMCExpExclusion(const SusyScan* p){ return (MCMCExpXsecLimit(p)<Xsection(p)&&MCMCExpXsecLimit(p)>0.01?1:0.01); }
61 double MCMCObsExclusion(const SusyScan* p){ return (MCMCObsXsecLimit(p)<Xsection(p)&&MCMCObsXsecLimit(p)>0.01?1:0.01); }
62 double SignalContamination(const SusyScan* p){return p->signal_contamination; }
63
64 double Mzero(const GeneratorMasses* p){ return p->Mzero; }
65 double Mhalf(const GeneratorMasses* p){ return p->Mhalf; }
66 double MGluino(const GeneratorMasses* p){ return p->MGL; }
67 double MSquarkL(const GeneratorMasses* p){ return p->MUL; }
68 double MSquarkR(const GeneratorMasses* p){ return p->MUR; }
69 double MChi1(const GeneratorMasses* p){ return p->MZ1; }
70 double MChi2(const GeneratorMasses* p){ return p->MZ2; }
71 double MChi3(const GeneratorMasses* p){ return p->MZ3; }
72 double MChi4(const GeneratorMasses* p){ return p->MZ4; }
73 double MCha1(const GeneratorMasses* p){ return p->MW1; }
74 double MCha2(const GeneratorMasses* p){ return p->MW2; }
75
76
77 //RA1 Contours
78 TGraph* set_sneutrino_d0_1(){
79 double sn_m0[9]={0,0,55,90,100,110,100,55,0};
80 double sn_m12[9]={0,140,220,240,240,230,210,150,0};
81
82 TGraph* sn_d0_gr = new TGraph(9,sn_m0,sn_m12);
83
84 sn_d0_gr->SetFillColor(kGreen+3);
85 sn_d0_gr->SetFillStyle(1001);
86
87
88 return sn_d0_gr;
89 }
90
91 TGraph* set_sneutrino_d0_2(){
92 double sn_m0[5]={0,50,105,190,0};
93 double sn_m12[5]={0,140,205,140,0};
94
95 TGraph* sn_d0_gr_2 = new TGraph(5,sn_m0,sn_m12);
96
97 sn_d0_gr_2->SetFillColor(kGreen+3);
98 sn_d0_gr_2->SetFillStyle(1001);
99
100
101 return sn_d0_gr_2;
102 }
103
104
105
106 TGraph* set_lep_ch(){
107
108 double ch_m0[5];
109 double ch_m12[5];
110
111
112 ch_m0[0] = 0;
113 ch_m0[1] = 0;
114 ch_m0[2] = 600;
115 ch_m0[3] = 1000;
116 ch_m0[4] = 1000;
117
118 ch_m12[0] = 0;
119 ch_m12[1] = 130;
120 ch_m12[2] = 120;
121 ch_m12[3] = 113;
122 ch_m12[4] = 0;
123
124
125 TGraph* ch_gr = new TGraph(5,ch_m0,ch_m12);
126
127 ch_gr->SetFillColor(3);
128 ch_gr->SetFillStyle(1001);
129
130 return ch_gr;
131
132 }
133
134
135 TGraph* set_lep_sl(){
136
137
138
139 double sl_m0[] = {0,0,30,50,60,75,80,90,100};
140 double sl_m12[] = {0,245,240,220,200,150,100,50,0};
141
142 TGraph* lep_sl = new TGraph(9,sl_m0,sl_m12);
143
144 lep_sl->SetFillColor(5);
145 lep_sl->SetFillStyle(1001);
146
147 return lep_sl;
148 }
149
150 TGraph* set_tev_sg_cdf(){
151
152 double sg_m0[] = {0,50,100,150,200,250,300,350,400,450,500,550,600,600};
153 double sg_m12[] = {0,170,160,155,150,122,116,112,110,106,105,100,98,0};
154 TGraph* sg_gr = new TGraph(14,sg_m0,sg_m12);
155
156 sg_gr->SetFillColor(2);
157 sg_gr->SetFillStyle(1001);
158
159 return sg_gr;
160
161 }
162
163 TGraph* set_tev_sg_d0(){
164 double sgd_m0[] = {0,50,100,150,200,250,300,350,400,450,500,550,600,600};
165 double sgd_m12[] = {0,173,170,168,160,150,140,130,125,120,120,120,120,0};
166 TGraph* sgd_gr = new TGraph(14,sgd_m0,sgd_m12);
167
168 sgd_gr->SetFillColor(41);
169 sgd_gr->SetFillStyle(1001);
170
171 return sgd_gr;
172
173 }
174
175 TGraph* set_tev_tlp_cdf(){
176 double tlp1_m0[] = {0,20,40,60,70,80,90,80,70,60};
177 double tlp1_m12[] = {170,185,200,215,220,215,210,190,175,160};
178 TGraph* tlp1_gr = new TGraph(10,tlp1_m0,tlp1_m12);
179
180 tlp1_gr->SetFillColor(4);
181 tlp1_gr->SetFillStyle(1001);
182
183 return tlp1_gr;
184 }
185
186 TGraph* set_tev_tlp_d0(){
187 double tlp2_m0[] = {70,80,90,100,105,110,120,130,140};
188 double tlp2_m12[] = {160,172,184,196,205,195,185,173,160};
189 TGraph* tlp2_gr = new TGraph(9,tlp2_m0,tlp2_m12);
190
191 tlp2_gr->SetFillColor(4);
192 tlp2_gr->SetFillStyle(1001);
193
194 return tlp2_gr;
195
196 }
197
198 TGraph* set_tev_stau(){
199 double st_m0[] = {0,30,200,0,0};
200 double st_m12[] = {230,240,1000,1000,230};
201 TGraph* st_gr = new TGraph(5,st_m0,st_m12);
202
203 st_gr->SetFillColor(40);
204 st_gr->SetFillStyle(1001);
205
206
207 return st_gr;
208
209 }
210
211
212 TGraphErrors* getLO_tanBeta3(){
213
214
215
216 Int_t nl = 9;
217 Double_t xl[9];
218 Double_t yl[9];
219 Double_t exl[9];
220 Double_t eyl[9];
221
222 // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
223
224
225 xl[0] = 0;
226 yl[0] = 265;
227 xl[1] = 100;
228 yl[1] = 258;
229 xl[2] = 200;
230 yl[2] = 250;
231 xl[3] = 250;
232 yl[3] = 240;
233 xl[4] = 300;
234 yl[4] = 210;
235 xl[5] = 340;
236 yl[5] = 177;
237 xl[6] = 400;
238 yl[6] = 140;
239 xl[7] = 450;
240 yl[7] = 120;
241 xl[8] = 520;
242 yl[8] =100;
243
244
245 TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
246 gr1->SetMarkerColor(kGreen+2);
247 gr1->SetMarkerStyle(21);
248
249
250 //gr1->Draw("LP");
251
252 TSpline3 *s = new TSpline3("grs",gr1);
253 s->SetLineColor(kGreen+2);
254 s->SetLineStyle(4);
255 s->SetLineWidth(3);
256
257
258 return gr1;
259
260
261
262 }
263
264 TGraphErrors* getLO_tanBeta10(){
265
266
267
268 Int_t nl = 10;
269 Double_t xl[10];
270 Double_t yl[10];
271 Double_t exl[10];
272 Double_t eyl[10];
273
274 // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
275
276 xl[0] = 0;
277 yl[0] = 270;
278 xl[1] = 100;
279 yl[1] = 260;
280 xl[2] = 200;
281 yl[2] = 250;
282 xl[3] = 250;
283 yl[3] = 240;
284 xl[4] = 300;
285 yl[4] = 210;
286 xl[5] = 350;
287 yl[5] = 174;
288 xl[6] = 400;
289 yl[6] = 147;
290 xl[7] = 450;
291 yl[7] = 127;
292 xl[8] = 500;
293 yl[8] =115;
294 xl[9] = 520;
295 yl[9] = 112;
296
297
298
299
300
301
302 TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
303 gr1->SetMarkerColor(kGreen+2);
304 gr1->SetMarkerStyle(21);
305
306
307 //gr1->Draw("LP");
308
309 TSpline3 *s = new TSpline3("grs",gr1);
310 s->SetLineColor(kGreen+2);
311 s->SetLineStyle(4);
312 s->SetLineWidth(3);
313
314
315 return gr1;
316
317
318
319 }
320
321 TGraphErrors* getLO_tanBeta50(){
322
323
324
325 Int_t nl = 10;
326 Double_t xl[10];
327 Double_t yl[10];
328 Double_t exl[10];
329 Double_t eyl[10];
330
331 // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
332
333
334 xl[0] = 200;
335 yl[0] = 239;
336 xl[1] = 210;
337 yl[1] = 249;
338 xl[2] = 229;
339 yl[2] = 260;
340 xl[3] = 250;
341 yl[3] = 245;
342 xl[4] = 300;
343 yl[4] = 210;
344 xl[5] = 350;
345 yl[5] = 180;
346 xl[6] = 400;
347 yl[6] = 160;
348 xl[7] = 450;
349 yl[7] = 150;
350 xl[8] = 500;
351 yl[8] =140;
352 xl[9] = 520;
353 yl[9] = 137;
354
355
356
357
358
359
360 TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
361 gr1->SetMarkerColor(kGreen+2);
362 gr1->SetMarkerStyle(21);
363
364
365 //gr1->Draw("LP");
366
367 TSpline3 *s = new TSpline3("grs",gr1);
368 s->SetLineColor(kGreen+2);
369 s->SetLineStyle(4);
370 s->SetLineWidth(3);
371
372
373 return gr1;
374
375
376
377 }
378
379
380
381 TGraphErrors* getExpected_NLO_tanBeta3(){
382
383 Int_t nl = 11;
384 Double_t xl[11];
385 Double_t yl[11];
386 Double_t exl[11];
387 Double_t eyl[11];
388
389 xl[0] = 0;
390 yl[0] = 283;
391 xl[1] = 100;
392 yl[1] = 280;
393 xl[2] = 150;
394 yl[2] = 279;
395 xl[3] = 200;
396 yl[3] = 275;
397 xl[4] = 250;
398 yl[4] = 270;
399 xl[5] = 300;
400 yl[5] = 255;
401 xl[6] = 350;
402 yl[6] = 225;
403 xl[7] = 400;
404 yl[7] = 195;
405 xl[8] = 450;
406 yl[8] = 175;
407 xl[9] = 500;
408 yl[9] = 155;
409 xl[10] = 550;
410 yl[10] = 150;
411
412
413
414 TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
415 gr1->SetMarkerColor(kBlue);
416 gr1->SetMarkerStyle(21);
417
418
419 //gr1->Draw("LP");
420
421 TSpline3 *s = new TSpline3("grs",gr1);
422 s->SetLineColor(kBlue);
423 s->SetLineStyle(2);
424 s->SetLineWidth(3);
425
426
427 return gr1;
428
429
430
431
432
433 }
434
435 TGraphErrors* getExpected_NLO_tanBeta10(){
436
437 Int_t nl = 11;
438 Double_t xl[11];
439 Double_t yl[11];
440 Double_t exl[11];
441 Double_t eyl[11];
442
443 // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
444
445 xl[0] = 0;
446 yl[0] = 283;
447 xl[1] = 100;
448 yl[1] = 280;
449 xl[2] = 150;
450 yl[2] = 279;
451 xl[3] = 200;
452 yl[3] = 275;
453 xl[4] = 250;
454 yl[4] = 270;
455 xl[5] = 300;
456 yl[5] = 255;
457 xl[6] = 350;
458 yl[6] = 225;
459 xl[7] = 400;
460 yl[7] = 195;
461 xl[8] = 450;
462 yl[8] = 175;
463 xl[9] = 500;
464 yl[9] = 165;
465 xl[10] = 550;
466 yl[10] = 150;
467
468
469
470
471
472 TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
473 gr1->SetMarkerColor(kBlue);
474 gr1->SetMarkerStyle(21);
475
476
477 //gr1->Draw("LP");
478
479 TSpline3 *s = new TSpline3("grs",gr1);
480 s->SetLineColor(kBlue);
481 s->SetLineStyle(2);
482 s->SetLineWidth(3);
483
484
485 return gr1;
486
487
488
489
490
491 }
492
493
494 TGraphErrors* getExpected_NLO_tanBeta50(){
495
496 Int_t nl = 10;
497 Double_t xl[10];
498 Double_t yl[10];
499 Double_t exl[10];
500 Double_t eyl[10];
501
502 // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
503
504 xl[0] = 200;
505 yl[0] = 287;
506 xl[1] = 220;
507 yl[1] = 287;
508 xl[2] = 245;
509 yl[2] = 287;
510 xl[3] = 270;
511 yl[3] = 265;
512 xl[4] = 300;
513 yl[4] = 245;
514 xl[5] = 350;
515 yl[5] = 222;
516 xl[6] = 400;
517 yl[6] = 197;
518 xl[7] = 450;
519 yl[7] = 180;
520 xl[8] = 500;
521 yl[8] = 168;
522 xl[9] = 550;
523 yl[9] = 145;
524
525
526
527
528
529 TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
530 gr1->SetMarkerColor(kBlue);
531 gr1->SetMarkerStyle(21);
532
533
534 //gr1->Draw("LP");
535
536 TSpline3 *s = new TSpline3("grs",gr1);
537 s->SetLineColor(kBlue);
538 s->SetLineStyle(2);
539 s->SetLineWidth(3);
540
541
542 return gr1;
543
544
545
546
547
548 }
549
550
551 TGraphErrors* getObserved_NLO_tanBeta3(){
552
553 Int_t nl = 11;
554 Double_t xl[11];
555 Double_t yl[11];
556 Double_t exl[11];
557 Double_t eyl[11];
558
559 // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
560
561
562
563 xl[0] = 0;
564 yl[0] = 274;
565 xl[1] = 100;
566 yl[1] = 270;
567 xl[2] = 150;
568 yl[2] = 268;
569 xl[3] = 200;
570 yl[3] = 265;
571 xl[4] = 250;
572 yl[4] = 255;
573 xl[5] = 300;
574 yl[5] = 230;
575 xl[6] = 350;
576 yl[6] = 195;
577 xl[7] = 400;
578 yl[7] = 160;
579 xl[8] = 450;
580 yl[8] = 140;
581 xl[9] = 480;
582 yl[9] = 130;
583 xl[10] = 530;
584 yl[10] = 120;
585
586
587
588
589 TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
590 gr1->SetMarkerColor(kBlue);
591 gr1->SetMarkerStyle(21);
592
593
594 //gr1->Draw("LP");
595
596 TSpline3 *s = new TSpline3("grs",gr1);
597 s->SetLineColor(kRed);
598 // s->SetLineStyle(2);
599 s->SetLineWidth(3);
600
601
602 return gr1;
603
604
605
606
607
608 }
609
610
611
612 TGraphErrors* getObserved_NLO_tanBeta10(){
613
614 Int_t nl = 11;
615 Double_t xl[11];
616 Double_t yl[11];
617 Double_t exl[11];
618 Double_t eyl[11];
619
620 // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
621
622 xl[0] = 0;
623 yl[0] = 278;
624 xl[1] = 100;
625 yl[1] = 270;
626 xl[2] = 150;
627 yl[2] = 267;
628 xl[3] = 200;
629 yl[3] = 262;
630 xl[4] = 250;
631 yl[4] = 250;
632 xl[5] = 300;
633 yl[5] = 225;
634 xl[6] = 350;
635 yl[6] = 192;
636 xl[7] = 400;
637 yl[7] = 163;
638 xl[8] = 450;
639 yl[8] = 148;
640 xl[9] = 500;
641 yl[9] = 140;
642 xl[10] = 520;
643 yl[10] = 137;
644
645
646
647
648
649 TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
650 gr1->SetMarkerColor(kBlue);
651 gr1->SetMarkerStyle(21);
652
653
654 //gr1->Draw("LP");
655
656 TSpline3 *s = new TSpline3("grs",gr1);
657 s->SetLineColor(kRed);
658 // s->SetLineStyle(2);
659 s->SetLineWidth(3);
660
661
662 return gr1;
663
664
665
666
667
668 }
669
670
671 TGraphErrors* getObserved_NLO_tanBeta50(){
672
673 Int_t nl = 10;
674 Double_t xl[10];
675 Double_t yl[10];
676 Double_t exl[10];
677 Double_t eyl[10];
678
679 // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
680
681
682 xl[0] = 200;
683 yl[0] = 243;
684 xl[1] = 220;
685 yl[1] = 264;
686 xl[2] = 235;
687 yl[2] = 278;
688 xl[3] = 250;
689 yl[3] = 267;
690 xl[4] = 300;
691 yl[4] = 230;
692 xl[5] = 350;
693 yl[5] = 205;
694 xl[6] = 400;
695 yl[6] = 184;
696 xl[7] = 450;
697 yl[7] = 168;
698 xl[8] = 500;
699 yl[8] = 156;
700 xl[9] = 520;
701 yl[9] = 148;
702
703
704
705
706
707 TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
708 gr1->SetMarkerColor(kBlue);
709 gr1->SetMarkerStyle(21);
710
711
712 //gr1->Draw("LP");
713
714 TSpline3 *s = new TSpline3("grs",gr1);
715 s->SetLineColor(kRed);
716 // s->SetLineStyle(2);
717 s->SetLineWidth(3);
718
719
720 return gr1;
721
722
723
724
725
726 }
727