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

# 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 auterman 1.11 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 auterman 1.1 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 auterman 1.5 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 auterman 1.4 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 auterman 1.6 double ExpExclCL(const SusyScan* p){ return (p->CLs_b_xsec<=0.05 ? 1:0.01); }
41 auterman 1.7 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 auterman 1.6 double ObsExclCL(const SusyScan* p){ return (p->CLs_xsec<=0.05 ? 1:0.01); }
46 auterman 1.1 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 auterman 1.3 double XsecOverExpected(const SusyScan* p){ return (ExpXsecLimit(p)==0 ? 9999. : Xsection(p)/ExpXsecLimit(p)); }
49 auterman 1.1 double SignalAcceptance(const SusyScan* p){ return p->signal / (Luminosity*Xsection(p)); }
50 auterman 1.5 double ExpNSignLimit(const SusyScan* p){ return p->ExpNsigLimit; }
51     double ObsNSignLimit(const SusyScan* p){ return p->ObsNsigLimit; }
52 auterman 1.3 double PLExpNSignLimit(const SusyScan* p){ return p->PLExpNsigLimit; }
53 auterman 1.5 double PLObsNSignLimit(const SusyScan* p){ return p->PLObsNsigLimit; }
54 auterman 1.3 double PLExpXsecLimit(const SusyScan* p){ return p->PLExpXsecLimit; }
55     double PLObsXsecLimit(const SusyScan* p){ return p->PLObsXsecLimit; }
56 auterman 1.4 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 auterman 1.5 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 auterman 1.8 double SignalContamination(const SusyScan* p){return p->signal_contamination; }
71 auterman 1.1
72 auterman 1.11 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 auterman 1.1 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 auterman 1.5
124 auterman 1.10 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 auterman 1.5
128 auterman 1.10 TGraph* sn_d0_gr = new TGraph(14,sn_m0,sn_m12);
129 auterman 1.5
130     sn_d0_gr->SetFillColor(kGreen+3);
131     sn_d0_gr->SetFillStyle(1001);
132    
133     return sn_d0_gr;
134     }
135    
136 auterman 1.10 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 auterman 1.5
140 auterman 1.10 TGraph* sn_d0_gr_2 = new TGraph(9,sn_m0,sn_m12);
141 auterman 1.5
142     sn_d0_gr_2->SetFillColor(kGreen+3);
143     sn_d0_gr_2->SetFillStyle(1001);
144    
145 auterman 1.10 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 auterman 1.5
188     }
189    
190    
191    
192 auterman 1.10 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 auterman 1.5
245 auterman 1.10 TGraph* set_lep_ch_tanBeta50(){
246 auterman 1.5
247 auterman 1.10 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 auterman 1.5
272 auterman 1.10 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 auterman 1.5
295 auterman 1.10 TGraph* ch_gr = new TGraph(21,ch_m0,ch_m12);
296 auterman 1.5
297     ch_gr->SetFillColor(3);
298 auterman 1.10 ch_gr->SetLineColor(3);
299 auterman 1.5 ch_gr->SetFillStyle(1001);
300    
301     return ch_gr;
302    
303     }
304    
305    
306 auterman 1.10 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 auterman 1.5
312    
313 auterman 1.10 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 auterman 1.5
346 auterman 1.10 TGraph* lep_sl = new TGraph(n,sl_m0,sl_m12);
347 auterman 1.5
348     lep_sl->SetFillColor(5);
349 auterman 1.10 lep_sl->SetLineColor(5);
350 auterman 1.5 lep_sl->SetFillStyle(1001);
351    
352     return lep_sl;
353     }
354    
355    
356 auterman 1.10 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 auterman 1.5
370     sg_gr->SetFillColor(2);
371 auterman 1.10 sg_gr->SetLineColor(2);
372     // sg_gr->SetLineWidth(3);
373 auterman 1.5 sg_gr->SetFillStyle(1001);
374    
375     return sg_gr;
376    
377     }
378    
379 auterman 1.10 TGraph* set_tev_sg_d0(Int_t tanBeta){
380 auterman 1.5
381 auterman 1.10 // 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 auterman 1.5
397     return sgd_gr;
398    
399     }
400    
401 auterman 1.10 // 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 auterman 1.5
473 auterman 1.10
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 auterman 1.5
483 auterman 1.10 return lnsq;
484 auterman 1.5 }
485    
486    
487 auterman 1.10 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 auterman 1.5
492 auterman 1.10 char hname[200];
493 auterman 1.5
494 auterman 1.10 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 auterman 1.5 }
504    
505    
506 auterman 1.10 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 auterman 1.5
522 auterman 1.10 TLatex* constant_gluino_text(Int_t it,TF1& lngl){
523     char legnm[200];
524 auterman 1.5
525 auterman 1.10 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 auterman 1.5
531 auterman 1.10 return t4;
532 auterman 1.5 }
533    
534    
535 auterman 1.9 TGraphErrors* getLO_tanBeta3(){
536 auterman 1.5
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 auterman 1.9
548     xl[0] = 0;
549 auterman 1.5 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 auterman 1.9 xl[7] = 450;
563 auterman 1.5 yl[7] = 120;
564 auterman 1.9 xl[8] = 520;
565 auterman 1.5 yl[8] =100;
566    
567 auterman 1.9
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 auterman 1.5
647 auterman 1.9
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 auterman 1.5
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 auterman 1.9
704     TGraphErrors* getExpected_NLO_tanBeta3(){
705 auterman 1.5
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 auterman 1.9 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 auterman 1.5
749    
750 auterman 1.9 return gr1;
751    
752 auterman 1.5
753 auterman 1.9
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 auterman 1.5 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 auterman 1.9 yl[9] = 165;
788 auterman 1.5 xl[10] = 550;
789 auterman 1.9 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 auterman 1.5
825 auterman 1.9 // 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 auterman 1.5
851    
852     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
853 auterman 1.9 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 auterman 1.5
865     return gr1;
866    
867    
868    
869    
870    
871     }
872    
873    
874 auterman 1.9 TGraphErrors* getObserved_NLO_tanBeta3(){
875 auterman 1.5
876 auterman 1.9 Int_t nl = 11;
877 auterman 1.5 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 auterman 1.9
886     xl[0] = 0;
887     yl[0] = 274;
888 auterman 1.5 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 auterman 1.9 yl[5] = 230;
898 auterman 1.5 xl[6] = 350;
899 auterman 1.9 yl[6] = 195;
900 auterman 1.5 xl[7] = 400;
901 auterman 1.9 yl[7] = 160;
902 auterman 1.5 xl[8] = 450;
903 auterman 1.9 yl[8] = 140;
904     xl[9] = 480;
905     yl[9] = 130;
906     xl[10] = 530;
907 auterman 1.5 yl[10] = 120;
908 auterman 1.9
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 auterman 1.5
1026 auterman 1.9
1027    
1028 auterman 1.5
1029    
1030     TGraphErrors* gr1 = new TGraphErrors(nl,xl,yl,exl,eyl);
1031 auterman 1.9 gr1->SetMarkerColor(kBlue);
1032     gr1->SetMarkerStyle(21);
1033 auterman 1.5
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