ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/PlotScript/GlobalFunctions.h
Revision: 1.8
Committed: Wed Feb 9 08:51:32 2011 UTC (14 years, 3 months ago) by auterman
Content type: text/plain
Branch: MAIN
Changes since 1.7: +2 -1 lines
Log Message:
adding executables for tb3 and tb50

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     #include "TGraphErrors.h"
6     #include "TSpline.h"
7    
8 auterman 1.1 #include <cmath>
9 auterman 1.8 #include <iostream>
10 auterman 1.1
11    
12 auterman 1.3 double Luminosity = 36.3; //[pb^-1]
13 auterman 1.1 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 auterman 1.5 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 auterman 1.4 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 auterman 1.6 double ExpExclCL(const SusyScan* p){ return (p->CLs_b_xsec<=0.05 ? 1:0.01); }
33 auterman 1.7 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 auterman 1.6 double ObsExclCL(const SusyScan* p){ return (p->CLs_xsec<=0.05 ? 1:0.01); }
38 auterman 1.1 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 auterman 1.3 double XsecOverExpected(const SusyScan* p){ return (ExpXsecLimit(p)==0 ? 9999. : Xsection(p)/ExpXsecLimit(p)); }
41 auterman 1.1 double SignalAcceptance(const SusyScan* p){ return p->signal / (Luminosity*Xsection(p)); }
42 auterman 1.5 double ExpNSignLimit(const SusyScan* p){ return p->ExpNsigLimit; }
43     double ObsNSignLimit(const SusyScan* p){ return p->ObsNsigLimit; }
44 auterman 1.3 double PLExpNSignLimit(const SusyScan* p){ return p->PLExpNsigLimit; }
45 auterman 1.5 double PLObsNSignLimit(const SusyScan* p){ return p->PLObsNsigLimit; }
46 auterman 1.3 double PLExpXsecLimit(const SusyScan* p){ return p->PLExpXsecLimit; }
47     double PLObsXsecLimit(const SusyScan* p){ return p->PLObsXsecLimit; }
48 auterman 1.4 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 auterman 1.5 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 auterman 1.8 double SignalContamination(const SusyScan* p){return p->signal_contamination; }
63 auterman 1.1
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 auterman 1.5
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_signalCont(){
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     for(int i = 0; i < nl; i++){
225     exl[i] = 5;
226     eyl[i] = 5;
227    
228     }
229    
230     xl[0] = 0;
231     yl[0] = 265;
232     xl[1] = 100;
233     yl[1] = 258;
234     xl[2] = 200;
235     yl[2] = 250;
236     xl[3] = 250;
237     yl[3] = 240;
238     xl[4] = 300;
239     yl[4] = 210;
240     xl[5] = 340;
241     yl[5] = 177;
242     xl[6] = 400;
243     yl[6] = 140;
244     xl[7] = 460;
245     yl[7] = 120;
246     xl[8] = 490;
247     yl[8] =100;
248    
249    
250    
251    
252    
253    
254     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
255     gr1->SetMarkerColor(kGreen+2);
256     gr1->SetMarkerStyle(21);
257    
258    
259     //gr1->Draw("LP");
260    
261     TSpline3 *s = new TSpline3("grs",gr1);
262     s->SetLineColor(kGreen+2);
263     s->SetLineStyle(4);
264     s->SetLineWidth(3);
265    
266    
267     return gr1;
268    
269    
270    
271     }
272    
273    
274     TGraphErrors* getExpected_NLOunc(){
275    
276     Int_t nl = 11;
277     Double_t xl[11];
278     Double_t yl[11];
279     Double_t exl[11];
280     Double_t eyl[11];
281    
282     // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
283    
284     for(int i = 0; i < nl; i++){
285     exl[i] = 5;
286     eyl[i] = 5;
287    
288     }
289    
290     xl[0] = 35;
291     yl[0] = 283;
292     xl[1] = 100;
293     yl[1] = 280;
294     xl[2] = 150;
295     yl[2] = 279;
296     xl[3] = 200;
297     yl[3] = 275;
298     xl[4] = 250;
299     yl[4] = 270;
300     xl[5] = 300;
301     yl[5] = 255;
302     xl[6] = 350;
303     yl[6] = 225;
304     xl[7] = 400;
305     yl[7] = 195;
306     xl[8] = 450;
307     yl[8] = 175;
308     xl[9] = 500;
309     yl[9] = 155;
310     xl[10] = 550;
311     yl[10] = 50;
312    
313    
314    
315     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
316     gr1->SetMarkerColor(kWhite);
317    
318    
319     return gr1;
320    
321    
322    
323    
324    
325     }
326    
327    
328     TGraphErrors* getObserved_NLOunc(){
329    
330     Int_t nl = 11;
331     Double_t xl[11];
332     Double_t yl[11];
333     Double_t exl[11];
334     Double_t eyl[11];
335    
336     // cout << " n " << hist->GetXaxis()->GetNbins() << endl;
337    
338     for(int i = 0; i < nl; i++){
339     exl[i] = 5;
340     eyl[i] = 5;
341    
342     }
343    
344     xl[0] = 35;
345     yl[0] = 272;
346     xl[1] = 100;
347     yl[1] = 270;
348     xl[2] = 150;
349     yl[2] = 268;
350     xl[3] = 200;
351     yl[3] = 265;
352     xl[4] = 250;
353     yl[4] = 255;
354     xl[5] = 300;
355     yl[5] = 236;
356     xl[6] = 350;
357     yl[6] = 198;
358     xl[7] = 400;
359     yl[7] = 168;
360     xl[8] = 450;
361     yl[8] = 150;
362     xl[9] = 490;
363     yl[9] = 135;
364     xl[10] = 503;
365     yl[10] = 120;
366    
367    
368    
369     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
370     gr1->SetMarkerColor(kWhite);
371     gr1->SetLineColor(kWhite);
372     // gr1->SetMarkerStyle(21);
373    
374    
375     //gr1->Draw("LP");
376    
377     TSpline3 *s = new TSpline3("grs",gr1);
378     s->SetLineColor(kRed);
379     // s->SetLineStyle(2);
380     s->SetLineWidth(3);
381    
382    
383     return gr1;
384    
385    
386    
387    
388    
389     }
390