ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/PlotScript/GlobalFunctions.h
(Generate patch)

Comparing UserCode/auterman/SusyScan/PlotScript/GlobalFunctions.h (file contents):
Revision 1.5 by auterman, Wed Jan 26 15:23:05 2011 UTC vs.
Revision 1.12 by auterman, Wed Mar 2 13:31:32 2011 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines