1 |
#include "SusyScan.h"
|
2 |
#include "GeneratorMasses.h"
|
3 |
#include "ExclusionPlot.h"
|
4 |
|
5 |
#include "TGraph.h"
|
6 |
#include "TLatex.h"
|
7 |
#include "TF1.h"
|
8 |
#include "TH1F.h"
|
9 |
#include "TGraphErrors.h"
|
10 |
#include "TSpline.h"
|
11 |
#include "TStyle.h"
|
12 |
#include "TMath.h"
|
13 |
#include "TRint.h"
|
14 |
#include "TROOT.h"
|
15 |
#include "TPad.h"
|
16 |
|
17 |
#include <cmath>
|
18 |
#include <iostream>
|
19 |
|
20 |
|
21 |
double Luminosity = 36.0; //[pb^-1]
|
22 |
double Mzero(const SusyScan* p){ return p->Mzero; }
|
23 |
double Mhalf(const SusyScan* p){ return p->Mhalf; }
|
24 |
double MGluino(const SusyScan* p){ return p->MGL; }
|
25 |
double MSquarkL(const SusyScan* p){ return fabs(p->MUL); }
|
26 |
double MSquarkR(const SusyScan* p){ return p->MUR; }
|
27 |
double MChi1(const SusyScan* p){ return p->MZ1; }
|
28 |
double MChi2(const SusyScan* p){ return p->MZ2; }
|
29 |
double MChi3(const SusyScan* p){ return p->MZ3; }
|
30 |
double MChi4(const SusyScan* p){ return p->MZ4; }
|
31 |
double MCha1(const SusyScan* p){ return p->MW1; }
|
32 |
double MCha2(const SusyScan* p){ return p->MW2; }
|
33 |
double MTAU1(const SusyScan* p){ return p->MTAU1; }
|
34 |
double SignalUncertKfactor(const SusyScan* p){return fabs(p->signal_kfactor_UP-p->signal_kfactor_DN)/(2.0*p->signal_kfactor); }
|
35 |
double SignalUncertJEC(const SusyScan* p){ return (fabs(p->signal_JEC_UP)+fabs(p->signal_JEC_DN))/(2.0*p->signal); }
|
36 |
double SignalUncertMuIso(const SusyScan* p){ return (fabs(p->signal_MuIso_UP)+fabs(p->signal_MuIso_DN))/(2.0*p->signal); }
|
37 |
double SignalUncertPDF(const SusyScan* p){
|
38 |
double up=sqrt(p->signal_PDF_UP*p->signal_PDF_UP+p->signal_XSPDF_UP*p->signal_XSPDF_UP);
|
39 |
double dn=sqrt(p->signal_PDF_DN*p->signal_PDF_DN+p->signal_XSPDF_DN*p->signal_XSPDF_DN);
|
40 |
return (up+dn)/(2.0*p->signal); }
|
41 |
double SignalKfactor(const SusyScan* p){return p->signal_kfactor; }
|
42 |
double ChargedLSP(const SusyScan* p){ return (fabs(p->MTAU1) < fabs(p->MZ1) ? 0.01 : 1); }
|
43 |
|
44 |
double Xsection(const SusyScan* p){ return p->Xsection; }
|
45 |
double ExpXsecLimit(const SusyScan* p){ return p->ExpXsecLimit; }
|
46 |
double ObsXsecLimit(const SusyScan* p){ return p->ObsXsecLimit; }
|
47 |
double Signal(const SusyScan* p){ return p->signal; }
|
48 |
double SignalUncertainty(const SusyScan* p){ return p->signal_uncertainty; }
|
49 |
double SignalRelUncertainty(const SusyScan* p){ return p->signal_uncertainty/p->signal; }
|
50 |
double ExpExclusion(const SusyScan* p){ return (ExpXsecLimit(p)<Xsection(p)&&ExpXsecLimit(p)>0.01?1:0.01); }
|
51 |
double ObsExclusion(const SusyScan* p){ return (ObsXsecLimit(p)<Xsection(p)&&ObsXsecLimit(p)>0.01?1:0.01); }
|
52 |
double ExpNoSigExclCL(const SusyScan* p){ return (p->CLs_bNoSig_xsec<=0.05 ? 1:0.01); }
|
53 |
double ExpExclCL(const SusyScan* p){ return (p->CLs_b_xsec<=0.05 ? 1:0.01); }
|
54 |
double ExpExclCLm2sigma(const SusyScan* p){ return (p->CLs_b_n2_xsec<=0.05 ? 1:0.01); }
|
55 |
double ExpExclCLm1sigma(const SusyScan* p){ return (p->CLs_b_n1_xsec<=0.05 ? 1:0.01); }
|
56 |
double ExpExclCLp1sigma(const SusyScan* p){ return (p->CLs_b_p1_xsec<=0.05 ? 1:0.01); }
|
57 |
double ExpExclCLp2sigma(const SusyScan* p){ return (p->CLs_b_p2_xsec<=0.05 ? 1:0.01); }
|
58 |
double ObsExclCL(const SusyScan* p){ return (p->CLs_xsec<=0.05 ? 1:0.01); }
|
59 |
double SoverSqrtB(const SusyScan* p){ return p->signal/(sqrt(p->background)+p->background_uncertainty+p->signal_uncertainty); }
|
60 |
double XsecOverObserved(const SusyScan* p){ return (ObsXsecLimit(p)==0 ? 9999. : Xsection(p)/ObsXsecLimit(p)); }
|
61 |
double XsecOverExpected(const SusyScan* p){ return (ExpXsecLimit(p)==0 ? 9999. : Xsection(p)/ExpXsecLimit(p)); }
|
62 |
double SignalAcceptance(const SusyScan* p){ return p->signal / (Luminosity*Xsection(p)); }
|
63 |
double ExpNSignLimit(const SusyScan* p){ return p->ExpNsigLimit; }
|
64 |
double ObsNSignLimit(const SusyScan* p){ return p->ObsNsigLimit; }
|
65 |
double PLExpNSignLimit(const SusyScan* p){ return p->PLExpNsigLimit; }
|
66 |
double PLObsNSignLimit(const SusyScan* p){ return p->PLObsNsigLimit; }
|
67 |
double PLExpXsecLimit(const SusyScan* p){ return p->PLExpXsecLimit; }
|
68 |
double PLObsXsecLimit(const SusyScan* p){ return p->PLObsXsecLimit; }
|
69 |
double PLExpExclusion(const SusyScan* p){ return (PLExpXsecLimit(p)<Xsection(p)&&PLExpXsecLimit(p)>0.01?1:0.01); }
|
70 |
double PLObsExclusion(const SusyScan* p){ return (PLObsXsecLimit(p)<Xsection(p)&&PLObsXsecLimit(p)>0.01?1:0.01); }
|
71 |
double FCExpNSignLimit(const SusyScan* p){ return p->FCExpNsigLimit; }
|
72 |
double FCObsNSignLimit(const SusyScan* p){ return p->FCObsNsigLimit; }
|
73 |
double FCExpXsecLimit(const SusyScan* p){ return p->FCExpXsecLimit; }
|
74 |
double FCObsXsecLimit(const SusyScan* p){ return p->FCObsXsecLimit; }
|
75 |
double FCExpExclusion(const SusyScan* p){ return (FCExpXsecLimit(p)<Xsection(p)&&FCExpXsecLimit(p)>0.01?1:0.01); }
|
76 |
double FCObsExclusion(const SusyScan* p){ return (FCObsXsecLimit(p)<Xsection(p)&&FCObsXsecLimit(p)>0.01?1:0.01); }
|
77 |
double MCMCExpNSignLimit(const SusyScan* p){ return p->MCMCExpNsigLimit; }
|
78 |
double MCMCObsNSignLimit(const SusyScan* p){ return p->MCMCObsNsigLimit; }
|
79 |
double MCMCExpXsecLimit(const SusyScan* p){ return p->MCMCExpXsecLimit; }
|
80 |
double MCMCObsXsecLimit(const SusyScan* p){ return p->MCMCObsXsecLimit; }
|
81 |
double MCMCExpExclusion(const SusyScan* p){ return (MCMCExpXsecLimit(p)<Xsection(p)&&MCMCExpXsecLimit(p)>0.01?1:0.01); }
|
82 |
double MCMCObsExclusion(const SusyScan* p){ return (MCMCObsXsecLimit(p)<Xsection(p)&&MCMCObsXsecLimit(p)>0.01?1:0.01); }
|
83 |
double SignalContamination(const SusyScan* p){return p->signal_contamination; }
|
84 |
|
85 |
double NLOXsection(const SusyScan* p){ return p->Xsection * p->signal_kfactor; }
|
86 |
double NLOExpXsecLimit(const SusyScan* p){ return p->NLO_ExpXsecLimit; }
|
87 |
double NLOObsXsecLimit(const SusyScan* p){ return p->NLO_ObsXsecLimit; }
|
88 |
double NLOSignal(const SusyScan* p){ return p->NLO_signal; }
|
89 |
double NLOSignalUncertainty(const SusyScan* p){ return p->NLO_signal_uncertainty; }
|
90 |
double NLOSignalRelUncertainty(const SusyScan* p){ return p->NLO_signal_uncertainty/p->NLO_signal; }
|
91 |
double NLOExpExclusion(const SusyScan* p){ return (NLOExpXsecLimit(p)<NLOXsection(p)&&NLOExpXsecLimit(p)>0.01?1:0.01); }
|
92 |
double NLOObsExclusion(const SusyScan* p){ return (NLOObsXsecLimit(p)<NLOXsection(p)&&NLOObsXsecLimit(p)>0.01?1:0.01); }
|
93 |
double NLOExpCL(const SusyScan* p){ return (p->NLO_CLs_b_xsec); }
|
94 |
double NLOExpNoSigExclCL(const SusyScan* p){ return (p->NLO_CLs_bNoSig_xsec<=0.05 ? 1:0.01); }
|
95 |
double NLOExpExclCL(const SusyScan* p){ return (p->NLO_CLs_b_xsec<=0.05 ? 1:0.01); }
|
96 |
double NLOExpExclCLm2sigma(const SusyScan* p){ return (p->NLO_CLs_b_n2_xsec<=0.05 ? 1:0.01); }
|
97 |
double NLOExpExclCLm1sigma(const SusyScan* p){ return (p->NLO_CLs_b_n1_xsec<=0.05 ? 1:0.01); }
|
98 |
double NLOExpExclCLp1sigma(const SusyScan* p){ return (p->NLO_CLs_b_p1_xsec<=0.05 ? 1:0.01); }
|
99 |
double NLOExpExclCLp2sigma(const SusyScan* p){ return (p->NLO_CLs_b_p2_xsec<=0.05 ? 1:0.01); }
|
100 |
double NLOObsExclCL(const SusyScan* p){ return (p->NLO_CLs_xsec<=0.05 ? 1:0.01); }
|
101 |
|
102 |
double NLOHybridObsCL(const SusyScan* p){ return p->NLOHybrid_CLs_xsec; }
|
103 |
double NLOHybridObsExclCL(const SusyScan* p){ return (p->NLOHybrid_CLs_xsec<=0.05 ? 1:0.01); }
|
104 |
double NLOHybridObsErrorCL(const SusyScan* p){ return (p->NLOHybrid_CLs_xsec_error<=0.05 ? 1:0.01); }
|
105 |
|
106 |
double NLOSoverSqrtB(const SusyScan* p){ return p->NLO_signal/(sqrt(p->background)+p->background_uncertainty+p->NLO_signal_uncertainty); }
|
107 |
double NLOXsecOverObserved(const SusyScan* p){ return (NLOObsXsecLimit(p)==0 ? 9999. : NLOXsection(p)/NLOObsXsecLimit(p)); }
|
108 |
double NLOXsecOverExpected(const SusyScan* p){ return (NLOExpXsecLimit(p)==0 ? 9999. : NLOXsection(p)/NLOExpXsecLimit(p)); }
|
109 |
double NLOSignalAcceptance(const SusyScan* p){ return p->NLO_signal / (Luminosity*NLOXsection(p)); }
|
110 |
double NLOExpNSignLimit(const SusyScan* p){ return p->NLO_ExpNsigLimit; }
|
111 |
double NLOObsNSignLimit(const SusyScan* p){ return p->NLO_ObsNsigLimit; }
|
112 |
double NLOPLExpNSignLimit(const SusyScan* p){ return p->NLO_PLExpNsigLimit; }
|
113 |
double NLOPLObsNSignLimit(const SusyScan* p){ return p->NLO_PLObsNsigLimit; }
|
114 |
double NLOPLExpXsecLimit(const SusyScan* p){ return p->NLO_PLExpXsecLimit; }
|
115 |
double NLOPLObsXsecLimit(const SusyScan* p){ return p->NLO_PLObsXsecLimit; }
|
116 |
double NLOPLExpExclusion(const SusyScan* p){ return (NLOPLExpXsecLimit(p)<NLOXsection(p)&&NLOPLExpXsecLimit(p)>0.01?1:0.01); }
|
117 |
double NLOPLObsExclusion(const SusyScan* p){ return (NLOPLObsXsecLimit(p)<NLOXsection(p)&&NLOPLObsXsecLimit(p)>0.01?1:0.01); }
|
118 |
double NLOFCExpNSignLimit(const SusyScan* p){ return p->NLO_FCExpNsigLimit; }
|
119 |
double NLOFCObsNSignLimit(const SusyScan* p){ return p->NLO_FCObsNsigLimit; }
|
120 |
double NLOFCExpXsecLimit(const SusyScan* p){ return p->NLO_FCExpXsecLimit; }
|
121 |
double NLOFCObsXsecLimit(const SusyScan* p){ return p->NLO_FCObsXsecLimit; }
|
122 |
double NLOFCExpExclusion(const SusyScan* p){ return (NLOFCExpXsecLimit(p)<NLOXsection(p)&&NLOFCExpXsecLimit(p)>0.01?1:0.01); }
|
123 |
double NLOFCObsExclusion(const SusyScan* p){ return (NLOFCObsXsecLimit(p)<NLOXsection(p)&&NLOFCObsXsecLimit(p)>0.01?1:0.01); }
|
124 |
double NLOMCMCExpNSignLimit(const SusyScan* p){ return p->NLO_MCMCExpNsigLimit; }
|
125 |
double NLOMCMCObsNSignLimit(const SusyScan* p){ return p->NLO_MCMCObsNsigLimit; }
|
126 |
double NLOMCMCExpXsecLimit(const SusyScan* p){ return p->NLO_MCMCExpXsecLimit; }
|
127 |
double NLOMCMCObsXsecLimit(const SusyScan* p){ return p->NLO_MCMCObsXsecLimit; }
|
128 |
double NLOMCMCExpExclusion(const SusyScan* p){ return (NLOMCMCExpXsecLimit(p)<NLOXsection(p)&&NLOMCMCExpXsecLimit(p)>0.01?1:0.01); }
|
129 |
double NLOMCMCObsExclusion(const SusyScan* p){ return (NLOMCMCObsXsecLimit(p)<NLOXsection(p)&&NLOMCMCObsXsecLimit(p)>0.01?1:0.01); }
|
130 |
double NLOSignalContamination(const SusyScan* p){return p->NLO_signal_contamination; }
|
131 |
|
132 |
double Mzero(const GeneratorMasses* p){ return p->Mzero; }
|
133 |
double Mhalf(const GeneratorMasses* p){ return p->Mhalf; }
|
134 |
double MGluino(const GeneratorMasses* p){ return p->MGL; }
|
135 |
double MSquarkL(const GeneratorMasses* p){ return fabs(p->MUL); }
|
136 |
double MSquarkR(const GeneratorMasses* p){ return p->MUR; }
|
137 |
double MChi1(const GeneratorMasses* p){ return p->MZ1; }
|
138 |
double MChi2(const GeneratorMasses* p){ return p->MZ2; }
|
139 |
double MChi3(const GeneratorMasses* p){ return p->MZ3; }
|
140 |
double MChi4(const GeneratorMasses* p){ return p->MZ4; }
|
141 |
double MCha1(const GeneratorMasses* p){ return p->MW1; }
|
142 |
double MCha2(const GeneratorMasses* p){ return p->MW2; }
|
143 |
|
144 |
|
145 |
|
146 |
void setPlottingStyle(TH1F& hsig){
|
147 |
|
148 |
hsig.SetStats(kFALSE);
|
149 |
|
150 |
hsig.SetAxisRange(80,500,"Y");
|
151 |
hsig.SetAxisRange(0,520,"X");
|
152 |
hsig.SetAxisRange(200,520,"X");
|
153 |
|
154 |
hsig.GetXaxis()->SetTitle("m_{0} (GeV)");
|
155 |
hsig.GetYaxis()->SetTitle("m_{1/2} (GeV)");
|
156 |
hsig.GetYaxis()->SetTitleOffset(0.8);
|
157 |
hsig.GetYaxis()->SetTitleSize(0.06);
|
158 |
hsig.GetYaxis()->SetLabelSize(0.06);
|
159 |
hsig.GetXaxis()->SetTitleOffset(0.9);
|
160 |
hsig.GetXaxis()->SetTitleSize(0.06);
|
161 |
hsig.GetXaxis()->SetLabelSize(0.06);
|
162 |
|
163 |
hsig.SetLineWidth(1);
|
164 |
hsig.SetLineColor(kBlue);
|
165 |
|
166 |
}
|
167 |
|
168 |
|
169 |
|
170 |
|
171 |
TGraph* set_sneutrino_d0_1(Int_t tanBeta){
|
172 |
double sn_m0[14]= {0, 0, 48, 55, 80, 90,100,105,109,105,100, 72, 55,0};
|
173 |
double sn_m12[14]={0,140,210,220,237,241,242,241,230,220,210,170,150,0};
|
174 |
|
175 |
TGraph* sn_d0_gr = new TGraph(14,sn_m0,sn_m12);
|
176 |
|
177 |
sn_d0_gr->SetFillColor(kGreen+3);
|
178 |
sn_d0_gr->SetFillStyle(3001);
|
179 |
|
180 |
return sn_d0_gr;
|
181 |
}
|
182 |
|
183 |
TGraph* set_sneutrino_d0_2(Int_t tanBeta){
|
184 |
double sn_m0[9]= {0, 45, 75,115,130,150,163,185,0};
|
185 |
double sn_m12[9]={0,140,170,213,202,183,168,140,0};
|
186 |
|
187 |
TGraph* sn_d0_gr_2 = new TGraph(9,sn_m0,sn_m12);
|
188 |
|
189 |
sn_d0_gr_2->SetFillColor(kGreen+3);
|
190 |
sn_d0_gr_2->SetFillStyle(3001);
|
191 |
|
192 |
return sn_d0_gr_2;
|
193 |
}
|
194 |
|
195 |
TGraph* set_lep_ch(Int_t tanBeta){
|
196 |
if(tanBeta == 3) return set_lep_ch_tanBeta3();
|
197 |
if(tanBeta == 10) return set_lep_ch_tanBeta10();
|
198 |
if(tanBeta == 50) return set_lep_ch_tanBeta50();
|
199 |
}
|
200 |
|
201 |
TGraph* set_lep_ch_tanBeta10(){
|
202 |
|
203 |
double ch_m0[12];
|
204 |
double ch_m12[12];
|
205 |
|
206 |
ch_m0[0] = 0;
|
207 |
ch_m0[1] = 100;
|
208 |
ch_m0[2] = 200;
|
209 |
ch_m0[3] = 300;
|
210 |
ch_m0[4] = 400;
|
211 |
ch_m0[5] = 500;
|
212 |
ch_m0[6] = 600;
|
213 |
ch_m0[7] = 700;
|
214 |
ch_m0[8] = 800;
|
215 |
ch_m0[9] = 1000;
|
216 |
ch_m0[10] = 1000;
|
217 |
ch_m0[11] = 0;
|
218 |
|
219 |
ch_m12[0] = 163;
|
220 |
ch_m12[1] = 162;
|
221 |
ch_m12[2] = 161;
|
222 |
ch_m12[3] = 160;
|
223 |
ch_m12[4] = 159;
|
224 |
ch_m12[5] = 158;
|
225 |
ch_m12[6] = 157;
|
226 |
ch_m12[7] = 156;
|
227 |
ch_m12[8] = 155.4;
|
228 |
ch_m12[9] = 155.05;
|
229 |
ch_m12[10] = 0;
|
230 |
ch_m12[11] = 0;
|
231 |
|
232 |
|
233 |
TGraph* ch_gr = new TGraph(12,ch_m0,ch_m12);
|
234 |
|
235 |
ch_gr->SetFillColor(3);
|
236 |
ch_gr->SetLineColor(3);
|
237 |
// ch_gr->SetLineWidth(3);
|
238 |
ch_gr->SetFillStyle(3001);
|
239 |
|
240 |
return ch_gr;
|
241 |
|
242 |
}
|
243 |
|
244 |
|
245 |
|
246 |
TGraph* set_lep_ch_tanBeta3(){
|
247 |
|
248 |
double ch_m0[17];
|
249 |
double ch_m12[17];
|
250 |
|
251 |
ch_m0[0] = 0;
|
252 |
ch_m0[1] = 100;
|
253 |
ch_m0[2] = 150;
|
254 |
ch_m0[3] = 200;
|
255 |
ch_m0[4] = 250;
|
256 |
ch_m0[5] = 300;
|
257 |
ch_m0[6] = 350;
|
258 |
ch_m0[7] = 400;
|
259 |
ch_m0[8] = 450;
|
260 |
ch_m0[9] = 500;
|
261 |
ch_m0[10] = 550;
|
262 |
ch_m0[11] = 600;
|
263 |
ch_m0[12] = 650;
|
264 |
ch_m0[13] = 700;
|
265 |
ch_m0[14] = 750;
|
266 |
ch_m0[15] = 750;
|
267 |
ch_m0[16] = 0;
|
268 |
|
269 |
ch_m12[0] = 170;
|
270 |
ch_m12[1] = 168;
|
271 |
ch_m12[2] = 167;
|
272 |
ch_m12[3] = 165;
|
273 |
ch_m12[4] = 163;
|
274 |
ch_m12[5] = 161;
|
275 |
ch_m12[6] = 158;
|
276 |
ch_m12[7] = 156;
|
277 |
ch_m12[8] = 154;
|
278 |
ch_m12[9] = 152;
|
279 |
ch_m12[10] = 150;
|
280 |
ch_m12[11] = 148;
|
281 |
ch_m12[12] = 147;
|
282 |
ch_m12[13] = 145;
|
283 |
ch_m12[14] = 144;
|
284 |
ch_m12[15] = 0;
|
285 |
ch_m12[16] = 0;
|
286 |
|
287 |
TGraph* ch_gr = new TGraph(17,ch_m0,ch_m12);
|
288 |
|
289 |
ch_gr->SetFillColor(3);
|
290 |
ch_gr->SetLineColor(3);
|
291 |
// ch_gr->SetLineWidth(3);
|
292 |
ch_gr->SetFillStyle(3001);
|
293 |
|
294 |
return ch_gr;
|
295 |
|
296 |
}
|
297 |
|
298 |
|
299 |
TGraph* set_lep_ch_tanBeta50(){
|
300 |
|
301 |
double ch_m0[21];
|
302 |
double ch_m12[21];
|
303 |
|
304 |
ch_m0[0] = 200;
|
305 |
ch_m0[1] = 250;
|
306 |
ch_m0[2] = 300;
|
307 |
ch_m0[3] = 350;
|
308 |
ch_m0[4] = 400;
|
309 |
ch_m0[5] = 450;
|
310 |
ch_m0[6] = 500;
|
311 |
ch_m0[7] = 550;
|
312 |
ch_m0[8] = 600;
|
313 |
ch_m0[9] = 650;
|
314 |
ch_m0[10] = 700;
|
315 |
ch_m0[11] = 750;
|
316 |
ch_m0[12] = 800;
|
317 |
ch_m0[13] =850;
|
318 |
ch_m0[14] = 900;
|
319 |
ch_m0[15] = 950;
|
320 |
ch_m0[16] = 1000;
|
321 |
ch_m0[17] = 1050;
|
322 |
ch_m0[18] = 1100;
|
323 |
ch_m0[19] = 1100;
|
324 |
ch_m0[20] = 200;
|
325 |
|
326 |
ch_m12[0] = 157;
|
327 |
ch_m12[1] = 156;
|
328 |
ch_m12[2] = 156;
|
329 |
ch_m12[3] = 155;
|
330 |
ch_m12[4] = 155;
|
331 |
ch_m12[5] = 154;
|
332 |
ch_m12[6] = 154;
|
333 |
ch_m12[7] = 153;
|
334 |
ch_m12[8] = 153;
|
335 |
ch_m12[9] = 152;
|
336 |
ch_m12[10] = 152;
|
337 |
ch_m12[11] = 152;
|
338 |
ch_m12[12] = 152;
|
339 |
ch_m12[13] = 152;
|
340 |
ch_m12[14] = 152;
|
341 |
ch_m12[15] = 153;
|
342 |
ch_m12[16] = 153;
|
343 |
ch_m12[17] = 153;
|
344 |
ch_m12[18] = 154;
|
345 |
ch_m12[19] = 0;
|
346 |
ch_m12[20] = 0;
|
347 |
|
348 |
|
349 |
TGraph* ch_gr = new TGraph(21,ch_m0,ch_m12);
|
350 |
|
351 |
ch_gr->SetFillColor(3);
|
352 |
ch_gr->SetLineColor(3);
|
353 |
ch_gr->SetFillStyle(3001);
|
354 |
|
355 |
return ch_gr;
|
356 |
|
357 |
}
|
358 |
|
359 |
|
360 |
|
361 |
|
362 |
TGraph* set_lep_sl(Int_t tanBeta){
|
363 |
|
364 |
// CMS SUSY Summer2010 implementation
|
365 |
// double sl_m0[] = {0, 0, 30, 50, 60, 75, 80,90,100};
|
366 |
// double sl_m12[] = {0,245,240,220,200,150,100,50,0};
|
367 |
|
368 |
//contour from D0 trilepton paper (PLB 680 (2009) 34-43)
|
369 |
TGraph* lep_sl = 0;
|
370 |
if (tanBeta==3){
|
371 |
double sl_m0[] ={0, 0, 10, 20, 30, 40, 50, 60, 70, 77,88,95};
|
372 |
double sl_m12[]={0,245,242,239,232,222,209,189,165,140,60,0};
|
373 |
int n = 12;
|
374 |
lep_sl = new TGraph(n,sl_m0,sl_m12);
|
375 |
}
|
376 |
//CMS PTDR-II
|
377 |
//* Selectron_R line mass=99, ISASUGRA7.69, A0=0, m_top=175, tan(beta]=10
|
378 |
if (tanBeta==10 || tanBeta==50){
|
379 |
double sl_m0[]={ 0, 0, 11, 20, 24, 49, 70, 82,88,90};
|
380 |
double sl_m12[]={0,240,237,233,230,200,150,100,50,0};
|
381 |
int n = 10;
|
382 |
lep_sl = new TGraph(n,sl_m0,sl_m12);
|
383 |
}
|
384 |
|
385 |
|
386 |
lep_sl->SetFillColor(5);
|
387 |
lep_sl->SetLineColor(5);
|
388 |
lep_sl->SetFillStyle(3001);
|
389 |
|
390 |
return lep_sl;
|
391 |
}
|
392 |
|
393 |
|
394 |
TGraph* set_tev_sg_cdf(Int_t tanBeta){
|
395 |
|
396 |
// double sg_m0[] = {0, 0, 20, 50,100,150,200,250,300,350,400,450,500,550,600,600};
|
397 |
// double sg_m12[] = {0,160,169,170,160,155,150,122,116,112,110,106,105,100, 98, 0};
|
398 |
// int np=16;
|
399 |
//New CHF from CDF plot in ICHEP2010 talk (E. Halkiadakis)
|
400 |
double sg_m0[]= {0, 0, 30, 75,150,185,225,310,360,400,430,500,600,600};
|
401 |
double sg_m12[]={0,162,168,170,160,150,130,120,109,108,100, 96, 95, 0};
|
402 |
int np=14;
|
403 |
|
404 |
TGraph* sg_gr = new TGraph(np,sg_m0,sg_m12);
|
405 |
|
406 |
// gStyle->SetHatchesLineWidth(3);
|
407 |
|
408 |
sg_gr->SetFillColor(2);
|
409 |
sg_gr->SetLineColor(2);
|
410 |
// sg_gr->SetLineWidth(3);
|
411 |
sg_gr->SetFillStyle(3001);
|
412 |
|
413 |
return sg_gr;
|
414 |
|
415 |
}
|
416 |
|
417 |
TGraph* set_tev_sg_d0(Int_t tanBeta){
|
418 |
|
419 |
//official D0 contour from P. Verdier
|
420 |
double sgd_m0[]= {0, 0., 25., 80.,100.,150.,192.,250.,300. ,350.,400.,450. ,500.,600.,600.,0.};
|
421 |
double sgd_m12[]={0,167.,167.,163.,162.,157.,149.,136.,125.5,116.,109.,106.5,105.,105., 0.,0.};
|
422 |
int npd=16;
|
423 |
|
424 |
TGraph* sgd_gr = new TGraph(npd,sgd_m0,sgd_m12);
|
425 |
|
426 |
gStyle->SetHatchesLineWidth(3);
|
427 |
|
428 |
sgd_gr->SetFillColor(kMagenta+1);
|
429 |
sgd_gr->SetLineColor(kMagenta+1);
|
430 |
sgd_gr->SetLineWidth(3);
|
431 |
sgd_gr->SetFillStyle(3335);
|
432 |
//sgd_gr->SetFillStyle(3001);
|
433 |
|
434 |
return sgd_gr;
|
435 |
|
436 |
}
|
437 |
|
438 |
// TGraph* set_tev_tlp_cdf(Int_t tanBeta){
|
439 |
// double tlp1_m0[] = { 0, 20, 40, 60, 70, 80, 90, 80, 70, 60};
|
440 |
// double tlp1_m12[] = {170,185,200,215,220,215,210,190,175,160};
|
441 |
// TGraph* tlp1_gr = new TGraph(10,tlp1_m0,tlp1_m12);
|
442 |
|
443 |
// tlp1_gr->SetFillColor(4);
|
444 |
// tlp1_gr->SetLineColor(4);
|
445 |
// tlp1_gr->SetFillStyle(1001);
|
446 |
|
447 |
// return tlp1_gr;
|
448 |
// }
|
449 |
|
450 |
// TGraph* set_tev_tlp_d0(Int_t tanBeta){
|
451 |
// double tlp2_m0[] = { 70, 80, 90,100,105,110,120,130,140};
|
452 |
// double tlp2_m12[] = {160,172,184,196,205,195,185,173,160};
|
453 |
// TGraph* tlp2_gr = new TGraph(9,tlp2_m0,tlp2_m12);
|
454 |
|
455 |
// tlp2_gr->SetFillColor(4);
|
456 |
// tlp2_gr->SetFillStyle(1001);
|
457 |
|
458 |
// return tlp2_gr;
|
459 |
|
460 |
// }
|
461 |
|
462 |
|
463 |
|
464 |
|
465 |
|
466 |
TGraph* set_tev_stau(Int_t tanBeta){
|
467 |
|
468 |
double st_m0_tanBeta3[] = {0,10,20,30,40,50,60,70,80,90,100,0};
|
469 |
double st_m12_tanBeta3[] = {337,341,356,378,406,439,473,510,548,587,626,626};
|
470 |
|
471 |
double st_m0_tanBeta10[] = {0,10,20,30,40,50,60,70,80,90,100,0};
|
472 |
double st_m12_tanBeta10[] = {213,220,240,275,312,351,393,435,476,518,559,559};
|
473 |
|
474 |
double st_m0_tanBeta50[] = {200,210,220,230,240,250,260,270,280,290,310,325,200,200};
|
475 |
double st_m12_tanBeta50[] = {206,226,246,267,288,310,332,354,376,399,450,500,500,206};
|
476 |
|
477 |
|
478 |
TGraph* st_gr_tanBeta3 = new TGraph(12,st_m0_tanBeta3,st_m12_tanBeta3);
|
479 |
TGraph* st_gr_tanBeta10 = new TGraph(12,st_m0_tanBeta10,st_m12_tanBeta10);
|
480 |
TGraph* st_gr_tanBeta50 = new TGraph(14,st_m0_tanBeta50,st_m12_tanBeta50);
|
481 |
|
482 |
st_gr_tanBeta3->SetFillColor(40);
|
483 |
st_gr_tanBeta3->SetFillStyle(1001);
|
484 |
|
485 |
st_gr_tanBeta50->SetFillColor(40);
|
486 |
st_gr_tanBeta50->SetFillStyle(1001);
|
487 |
|
488 |
st_gr_tanBeta10->SetFillColor(40);
|
489 |
st_gr_tanBeta10->SetFillStyle(1001);
|
490 |
|
491 |
|
492 |
if(tanBeta == 3)return st_gr_tanBeta3;
|
493 |
if(tanBeta == 10)return st_gr_tanBeta10;
|
494 |
if(tanBeta == 50)return st_gr_tanBeta50;
|
495 |
|
496 |
}
|
497 |
|
498 |
|
499 |
|
500 |
|
501 |
TF1* constant_squark(int tanBeta,int i){
|
502 |
//---lines of constant gluino/squark
|
503 |
double coef1 = 0.35;
|
504 |
double coef2[] = {5,5,4.6,4.1};
|
505 |
|
506 |
char hname[200];
|
507 |
|
508 |
sprintf(hname,"lnsq_%i",i);
|
509 |
|
510 |
|
511 |
TF1* lnsq = new TF1(hname,"sqrt([0]-x*x*[1]-[2])",0,1000);
|
512 |
lnsq->SetParameter(0,(500+150*(i-1))*(500+150*(i-1))/coef2[i]);
|
513 |
lnsq->SetParameter(1,1./coef2[i]);
|
514 |
lnsq->SetParameter(2,-coef1*91*91*(2*TMath::Cos(TMath::ATan(tanBeta)))/coef2[i]);//--tanbeta=10 --> cos2beta = -99/101
|
515 |
lnsq->SetLineWidth(1);
|
516 |
|
517 |
|
518 |
lnsq->SetLineColor(kGray);
|
519 |
|
520 |
return lnsq;
|
521 |
}
|
522 |
|
523 |
|
524 |
TF1* constant_gluino(int tanBeta,int i){
|
525 |
//---lines of constant gluino/squark
|
526 |
double coef1 = 0.35;
|
527 |
double coef2[] = {5,5,4.6,4.1};
|
528 |
|
529 |
char hname[200];
|
530 |
|
531 |
sprintf(hname,"lngl_%i",i);
|
532 |
|
533 |
TF1* lngl = new TF1(hname,"[0]+x*[1]",0,1000);
|
534 |
lngl->SetParameter(0,(500+150.*(i-1))/2.4);
|
535 |
lngl->SetParameter(1,-40./1400);
|
536 |
lngl->SetLineWidth(1);
|
537 |
lngl->SetLineColor(kGray);
|
538 |
|
539 |
return lngl;
|
540 |
}
|
541 |
|
542 |
|
543 |
TLatex* constant_squark_text(Int_t it,TF1& lnsq,Int_t tanBeta_){
|
544 |
char legnm[200];
|
545 |
|
546 |
sprintf(legnm,"#font[92]{#tilde{q}(%i)GeV}",500+150*(it-1));
|
547 |
Double_t place_x = 170;
|
548 |
if(tanBeta_ == 50)place_x = 290;
|
549 |
TLatex* t3 = new TLatex(place_x+10*(it-1),lnsq.Eval(place_x+10*(it-1))+5,legnm);
|
550 |
t3->SetTextSize(0.02);
|
551 |
t3->SetTextAngle(-8);
|
552 |
t3->SetTextColor(kGray+2);
|
553 |
|
554 |
|
555 |
|
556 |
return t3;
|
557 |
}
|
558 |
|
559 |
TLatex* constant_gluino_text(Int_t it,TF1& lngl){
|
560 |
char legnm[200];
|
561 |
|
562 |
sprintf(legnm,"#font[12]{#tilde{g}}#font[92]{(%i)GeV}",500+150*(it-1));
|
563 |
TLatex* t4 = new TLatex(423,18+lngl.Eval(480),legnm);
|
564 |
t4->SetTextSize(0.02);
|
565 |
t4->SetTextAlign(13);
|
566 |
t4->SetTextColor(kGray+2);
|
567 |
|
568 |
return t4;
|
569 |
}
|
570 |
|
571 |
|
572 |
|
573 |
TLegend* makeStauLegend(Double_t txtsz,Int_t tanBeta_){
|
574 |
Double_t ypos_1 = 0.86;
|
575 |
Double_t ypos_2 = 0.88;
|
576 |
Double_t xpos_1 = 0.16;
|
577 |
Double_t xpos_2 = 0.17;
|
578 |
if(tanBeta_ == 50){
|
579 |
xpos_1 = 0.17;
|
580 |
xpos_2 = 0.18;
|
581 |
ypos_1 = 0.76;
|
582 |
ypos_2 = 0.78;
|
583 |
|
584 |
}
|
585 |
TLegend* legst = new TLegend(xpos_1,ypos_1,xpos_2,ypos_2);
|
586 |
legst->SetHeader("#tilde{#tau} = LSP");
|
587 |
legst->SetFillStyle(0);
|
588 |
legst->SetBorderSize(0);
|
589 |
legst->SetTextSize(0.03);
|
590 |
|
591 |
return legst;
|
592 |
}
|
593 |
|
594 |
|
595 |
TLegend* makeExpLegend(TGraph& sg_gr, TGraph& sgd_gr,TGraph& ch_gr,TGraph& sl_gr,TGraph& tev_sn,Double_t txtsz,Int_t tanbeta){
|
596 |
TLegend* legexp = new TLegend(0.64,0.65,0.99,0.9,NULL,"brNDC");
|
597 |
legexp->SetFillColor(0);
|
598 |
legexp->SetShadowColor(0);
|
599 |
legexp->SetTextSize(txtsz);
|
600 |
legexp->SetBorderSize(0);
|
601 |
|
602 |
sg_gr.SetLineColor(1);
|
603 |
legexp->AddEntry(&sg_gr,"CDF #tilde{#font[12]{g}}, #tilde{#font[12]{q}}, #scale[0.8]{tan#beta=5, #mu<0}","f");
|
604 |
// sgd_gr.SetLineColor(1);
|
605 |
// sgd_gr.SetLineWidth(1);
|
606 |
|
607 |
legexp->AddEntry(&sgd_gr,"D0 #tilde{#font[12]{g}}, #tilde{#font[12]{q}}, #scale[0.8]{tan#beta=3, #mu<0}","f");
|
608 |
ch_gr.SetLineColor(1);
|
609 |
legexp->AddEntry(&ch_gr,"LEP2 #tilde{#chi}_{1}^{#pm}","f");
|
610 |
|
611 |
sl_gr.SetLineColor(1);
|
612 |
if(tanbeta != 50) legexp->AddEntry(&sl_gr,"LEP2 #tilde{#font[12]{l}}^{#pm}","f");
|
613 |
if(tanbeta == 3) legexp->AddEntry(&tev_sn,"D0 #chi^{#pm}_{1}, #chi^{0}_{2}","f");
|
614 |
|
615 |
|
616 |
return legexp;
|
617 |
|
618 |
}
|
619 |
|
620 |
|
621 |
TGraph* getGraph(TH2F* h1, double level){
|
622 |
|
623 |
h1->SetContour(1);
|
624 |
h1->SetContourLevel(0,level);
|
625 |
h1->Draw("CONT LIST");
|
626 |
gPad->Update();
|
627 |
|
628 |
TObjArray* contours = (TObjArray*)gROOT->GetListOfSpecials()->FindObject("contours");
|
629 |
|
630 |
std::cout << "contours: " << contours << std::endl;
|
631 |
// Draw contours
|
632 |
TList* graphList = (TList*)(contours->At(0));
|
633 |
std::cout << "number of graphs: " << graphList->GetSize() << std::endl;
|
634 |
TGraph* myGraph = 0;
|
635 |
for (int igraph = 0; igraph<graphList->GetSize();++igraph) {
|
636 |
myGraph = (TGraph*)graphList->At(igraph);
|
637 |
|
638 |
std::cout << " - graph " << igraph << " has " << myGraph->GetN() << " points" << std::endl;
|
639 |
if (myGraph->GetN() > 50){
|
640 |
std::cout << "Drawing " << myGraph->GetN() <<" points" << std::endl;
|
641 |
// myGraph->Print("all");
|
642 |
// myGraph->SetLineColor(9);
|
643 |
// myGraph->SetLineColor(46);
|
644 |
//myGraph->SetLineWidth(3);
|
645 |
// myGraph->SetLineStyle(2);
|
646 |
// myGraph->SetMarkerStyle(20);
|
647 |
// myGraph->SetMarkerColor(9);
|
648 |
|
649 |
// myGraph->Draw("C");
|
650 |
// cvsSys->Update();
|
651 |
|
652 |
// TString graphName("graph"+name+"_");
|
653 |
// graphName += igraph;
|
654 |
// myGraph->SetName(graphName);
|
655 |
break;
|
656 |
}
|
657 |
}
|
658 |
return myGraph;
|
659 |
}
|
660 |
|
661 |
TH2F* fillHoles(TH2F* h2){
|
662 |
|
663 |
int nx = h2->GetNbinsX();
|
664 |
int ny = h2->GetNbinsY();
|
665 |
std::cout << "Nbins: " << nx << " " << ny << std::endl;
|
666 |
|
667 |
for (int i=1;i<nx+1;i++){
|
668 |
for (int j=ny;j>0;j--){
|
669 |
int pos = j;
|
670 |
int count =0;
|
671 |
if (h2->GetBinContent(i,j)==0 && h2->GetBinContent(i-1,j)==-1 && h2->GetBinContent(i+1,j)==-1) h2->SetBinContent(i,j,-1.);
|
672 |
|
673 |
if (h2->GetBinContent(i,j)==1
|
674 |
&& h2->GetBinContent(i-1,j)==-1
|
675 |
&& h2->GetBinContent(i+1,j)==-1
|
676 |
&& h2->GetBinContent(i,j+1)==-1
|
677 |
&& h2->GetBinContent(i,j-1)==-1)
|
678 |
h2->SetBinContent(i,j,-1.);
|
679 |
|
680 |
// if (h2->GetBinContent(i,j)<0){
|
681 |
if (h2->GetBinContent(i,j)<0 && h2->GetBinContent(i,j-1)<0){
|
682 |
// cout <<" bin content " << i <<" " << j<< " " << pos << " " << h2->GetBinContent(i,j) <<endl;
|
683 |
for (int k=pos;k>0;k--){
|
684 |
h2->SetBinContent(i,k,-1.);
|
685 |
}
|
686 |
break;
|
687 |
}
|
688 |
|
689 |
|
690 |
}
|
691 |
}
|
692 |
return h2;
|
693 |
}
|
694 |
|
695 |
|
696 |
|
697 |
|
698 |
|
699 |
|
700 |
|
701 |
|
702 |
|
703 |
|
704 |
|
705 |
|
706 |
//old------------------------------------------------------------------------
|
707 |
|
708 |
TGraph* sq_LEP(){//sq-gl
|
709 |
double sq[] = {0,0,100,100};
|
710 |
double gl[] = {0,2000,2000,0};
|
711 |
TGraph* res = new TGraph(4,sq,gl);
|
712 |
res->SetFillColor(kBlue);
|
713 |
return res;
|
714 |
}
|
715 |
TGraph* gl_TEV(){//sq-gl
|
716 |
double sq[] = {0,2000,2000,0};
|
717 |
double gl[] = {0,0,190,190};
|
718 |
TGraph* res = new TGraph(4,sq,gl);
|
719 |
res->SetFillColor(kGreen+2);
|
720 |
return res;
|
721 |
}
|
722 |
|
723 |
TGraph* gl_CDF(){//sq-gl
|
724 |
double sq[] = {0,2000,2000,0};
|
725 |
double gl[] = {190,190,230,230};
|
726 |
TGraph* res = new TGraph(4,sq,gl);
|
727 |
res->SetFillColor(kOrange+5);
|
728 |
return res;
|
729 |
}
|
730 |
|
731 |
TGraph* gl_DEZ(){//sq-gl
|
732 |
double sq[] = {0,2000,2000,0};
|
733 |
double gl[] = {230,230,255,255};
|
734 |
TGraph* res = new TGraph(4,sq,gl);
|
735 |
res->SetFillColor(kYellow-5);
|
736 |
return res;
|
737 |
}
|
738 |
|
739 |
TGraph* gl_WHT(){//sq-gl
|
740 |
double sq[] = {101,2000,2000,101};
|
741 |
double gl[] = {256,256,400,400};
|
742 |
TGraph* res = new TGraph(4,sq,gl);
|
743 |
res->SetFillColor(kWhite);
|
744 |
return res;
|
745 |
}
|
746 |
|
747 |
|
748 |
////////////////////////////////////////////
|
749 |
TGraph* gl_LEP(){//gl-sq
|
750 |
double sq[] = {0,0,100,100};
|
751 |
double gl[] = {0,2000,2000,0};
|
752 |
TGraph* res = new TGraph(4,gl,sq);
|
753 |
res->SetFillColor(kBlue);
|
754 |
return res;
|
755 |
}
|
756 |
|
757 |
TGraph* sq_TEV(){//gl-sq
|
758 |
double sq[] = {0,2000,2000,330,250,300,200,150,100,0};
|
759 |
double gl[] = {0,0,190,190,260,300,500,560,500,500};
|
760 |
|
761 |
TGraph* res = new TGraph(10,gl,sq);
|
762 |
res->SetFillColor(kGreen+2);
|
763 |
return res;
|
764 |
}
|
765 |
|
766 |
TGraph* sq_CDF(){//gl-sq
|
767 |
double sq[] = {0,2000,2000,480,460,420,410,380,390,290,0};
|
768 |
double gl[] = {0,0,280,280,300,310,330,340,440,320,320};
|
769 |
TGraph* res = new TGraph(11,gl,sq);
|
770 |
res->SetFillColor(kOrange+5);
|
771 |
return res;
|
772 |
}
|
773 |
TGraph* sq_DEZ(){//gl-sq
|
774 |
double sq[] = {0,2000,2000,460,430,400,390,290,0};
|
775 |
double gl[] = {0,0,305,305,320,350,440,320,320};
|
776 |
TGraph* res = new TGraph(9,gl,sq);
|
777 |
res->SetFillColor(kYellow-5);
|
778 |
return res;
|
779 |
}
|
780 |
|
781 |
TGraph* glsq_NoSol(){//sq-gl
|
782 |
gStyle->SetHatchesSpacing(2.0);
|
783 |
gStyle->SetHatchesLineWidth(1);
|
784 |
double sq[] = {83,83,110,1297.6,0, 0};
|
785 |
double gl[] = { 0,63,120,1466, 1466,0};
|
786 |
TGraph* res = new TGraph(6,gl,sq);
|
787 |
res->SetLineColor(1);
|
788 |
res->SetLineWidth(2);
|
789 |
res->SetFillStyle(3354);
|
790 |
return res;
|
791 |
}
|
792 |
|
793 |
|
794 |
|
795 |
|
796 |
|
797 |
TGraph * Atlas_m0_m12_tb3_obs()
|
798 |
{
|
799 |
TGraph *graph = new TGraph(71);
|
800 |
graph->SetLineWidth(2);
|
801 |
graph->SetPoint(0,54,357.341);
|
802 |
graph->SetPoint(1,82,358.4171);
|
803 |
graph->SetPoint(2,110,359.8179);
|
804 |
graph->SetPoint(3,110.934,359.875);
|
805 |
graph->SetPoint(4,138,361.5302);
|
806 |
graph->SetPoint(5,166,362.5696);
|
807 |
graph->SetPoint(6,189.0676,359.875);
|
808 |
graph->SetPoint(7,194,359.1415);
|
809 |
graph->SetPoint(8,222,354.5211);
|
810 |
graph->SetPoint(9,248.1714,351.625);
|
811 |
graph->SetPoint(10,250,351.4583);
|
812 |
graph->SetPoint(11,278,349.4991);
|
813 |
graph->SetPoint(12,306,343.4051);
|
814 |
graph->SetPoint(13,306.1313,343.375);
|
815 |
graph->SetPoint(14,334,335.3855);
|
816 |
graph->SetPoint(15,334.7966,335.125);
|
817 |
graph->SetPoint(16,350.8793,326.875);
|
818 |
graph->SetPoint(17,362,319.7823);
|
819 |
graph->SetPoint(18,364.6568,318.625);
|
820 |
graph->SetPoint(19,383.5969,310.375);
|
821 |
graph->SetPoint(20,390,308.6978);
|
822 |
graph->SetPoint(21,415.0931,302.125);
|
823 |
graph->SetPoint(22,418,300.2992);
|
824 |
graph->SetPoint(23,423.9359,293.875);
|
825 |
graph->SetPoint(24,431.0348,285.625);
|
826 |
graph->SetPoint(25,441.6066,277.375);
|
827 |
graph->SetPoint(26,446,275.3629);
|
828 |
graph->SetPoint(27,468.0485,269.125);
|
829 |
graph->SetPoint(28,474,267.2393);
|
830 |
graph->SetPoint(29,486.3632,260.875);
|
831 |
graph->SetPoint(30,495.8534,252.625);
|
832 |
graph->SetPoint(31,502,244.7684);
|
833 |
graph->SetPoint(32,502.3699,244.375);
|
834 |
graph->SetPoint(33,508.424,236.125);
|
835 |
graph->SetPoint(34,514.4781,227.875);
|
836 |
graph->SetPoint(35,518.8059,219.625);
|
837 |
graph->SetPoint(36,521.5056,211.375);
|
838 |
graph->SetPoint(37,524.324,203.125);
|
839 |
graph->SetPoint(38,527.1424,194.875);
|
840 |
graph->SetPoint(39,530,193.5052);
|
841 |
graph->SetPoint(40,552.5782,186.625);
|
842 |
graph->SetPoint(41,558,185.8767);
|
843 |
graph->SetPoint(42,586,180.1476);
|
844 |
graph->SetPoint(43,592.2836,178.375);
|
845 |
graph->SetPoint(44,614,171.422);
|
846 |
graph->SetPoint(45,617.5927,170.125);
|
847 |
graph->SetPoint(46,627.5396,161.875);
|
848 |
graph->SetPoint(47,642,157.9876);
|
849 |
graph->SetPoint(48,658.2277,153.625);
|
850 |
graph->SetPoint(49,670,151.1225);
|
851 |
graph->SetPoint(50,698,146.9886);
|
852 |
graph->SetPoint(51,711.5425,145.375);
|
853 |
graph->SetPoint(52,726,143.6935);
|
854 |
graph->SetPoint(53,754,140.0648);
|
855 |
graph->SetPoint(54,782,137.4563);
|
856 |
graph->SetPoint(55,783.0426,137.125);
|
857 |
graph->SetPoint(56,796.0326,128.875);
|
858 |
graph->SetPoint(57,810,125.0328);
|
859 |
graph->SetPoint(58,826.0235,120.625);
|
860 |
graph->SetPoint(59,838,117.3305);
|
861 |
graph->SetPoint(60,866,116.7462);
|
862 |
graph->SetPoint(61,894,116.1044);
|
863 |
graph->SetPoint(62,922,114.6645);
|
864 |
graph->SetPoint(63,950,116.937);
|
865 |
graph->SetPoint(64,978,117.6956);
|
866 |
graph->SetPoint(65,1006,115.198);
|
867 |
graph->SetPoint(66,1034,113.1166);
|
868 |
graph->SetPoint(67,1038.967,112.375);
|
869 |
graph->SetPoint(68,1062,108.0997);
|
870 |
graph->SetPoint(69,1090,104.373);
|
871 |
graph->SetPoint(70,1096.429,104.125);
|
872 |
graph->SetFillColor(0);
|
873 |
return graph;
|
874 |
}
|
875 |
TGraph * Atlas_mGl_mSq_obs()
|
876 |
{
|
877 |
//x:gluino mass, y:squark mass
|
878 |
TGraph *graph = new TGraph(64);
|
879 |
graph->SetLineWidth(2);
|
880 |
graph->SetPoint(0,511.2569,1976.25);
|
881 |
graph->SetPoint(1,513.125,1936.181);
|
882 |
graph->SetPoint(2,513.4714,1928.75);
|
883 |
graph->SetPoint(3,515.6859,1881.25);
|
884 |
graph->SetPoint(4,517.9004,1833.75);
|
885 |
graph->SetPoint(5,520.1148,1786.25);
|
886 |
graph->SetPoint(6,522.3293,1738.75);
|
887 |
graph->SetPoint(7,524.5438,1691.25);
|
888 |
graph->SetPoint(8,526.1095,1643.75);
|
889 |
graph->SetPoint(9,526.5267,1596.25);
|
890 |
graph->SetPoint(10,526.9924,1548.75);
|
891 |
graph->SetPoint(11,527.2745,1501.25);
|
892 |
graph->SetPoint(12,526.9487,1453.75);
|
893 |
graph->SetPoint(13,526.6228,1406.25);
|
894 |
graph->SetPoint(14,532.902,1358.75);
|
895 |
graph->SetPoint(15,540.182,1311.25);
|
896 |
graph->SetPoint(16,547.4619,1263.75);
|
897 |
graph->SetPoint(17,558.0438,1216.25);
|
898 |
graph->SetPoint(18,561.875,1203.002);
|
899 |
graph->SetPoint(19,579.4475,1168.75);
|
900 |
graph->SetPoint(20,603.8166,1121.25);
|
901 |
graph->SetPoint(21,610.625,1107.979);
|
902 |
graph->SetPoint(22,630.8311,1073.75);
|
903 |
graph->SetPoint(23,658.8712,1026.25);
|
904 |
graph->SetPoint(24,659.375,1025.691);
|
905 |
graph->SetPoint(25,703.8609,978.75);
|
906 |
graph->SetPoint(26,708.125,975.5966);
|
907 |
graph->SetPoint(27,756.875,945.0332);
|
908 |
graph->SetPoint(28,778.5082,931.25);
|
909 |
graph->SetPoint(29,805.625,916.3566);
|
910 |
graph->SetPoint(30,847.5791,883.75);
|
911 |
graph->SetPoint(31,854.375,879.4212);
|
912 |
graph->SetPoint(32,903.125,848.0476);
|
913 |
graph->SetPoint(33,927.7959,836.25);
|
914 |
graph->SetPoint(34,951.875,823.2943);
|
915 |
graph->SetPoint(35,1000.625,790.1523);
|
916 |
graph->SetPoint(36,1004.488,788.75);
|
917 |
graph->SetPoint(37,1049.375,774.2142);
|
918 |
graph->SetPoint(38,1098.125,755.1404);
|
919 |
graph->SetPoint(39,1130.904,741.25);
|
920 |
graph->SetPoint(40,1146.875,736.2226);
|
921 |
graph->SetPoint(41,1195.625,720.3208);
|
922 |
graph->SetPoint(42,1244.375,701.1234);
|
923 |
graph->SetPoint(43,1266.694,693.75);
|
924 |
graph->SetPoint(44,1293.125,685.9941);
|
925 |
graph->SetPoint(45,1341.875,668.9126);
|
926 |
graph->SetPoint(46,1390.625,652.8072);
|
927 |
graph->SetPoint(47,1439.375,647.4204);
|
928 |
graph->SetPoint(48,1448.107,646.25);
|
929 |
graph->SetPoint(49,1488.125,638.5908);
|
930 |
graph->SetPoint(50,1536.875,620.8084);
|
931 |
graph->SetPoint(51,1585.625,603.026);
|
932 |
graph->SetPoint(52,1597.347,598.75);
|
933 |
graph->SetPoint(53,1634.375,581.9133);
|
934 |
graph->SetPoint(54,1683.125,559.7463);
|
935 |
graph->SetPoint(55,1701.81,551.25);
|
936 |
graph->SetPoint(56,1731.875,537.5793);
|
937 |
graph->SetPoint(57,1780.625,515.4123);
|
938 |
graph->SetPoint(58,1806.273,503.75);
|
939 |
graph->SetPoint(59,1829.375,493.2101);
|
940 |
graph->SetPoint(60,1878.125,471.0784);
|
941 |
graph->SetPoint(61,1910.736,456.25);
|
942 |
graph->SetPoint(62,1926.875,448.241);
|
943 |
graph->SetPoint(63,1975.625,426.7444);
|
944 |
return graph;
|
945 |
}
|
946 |
|
947 |
|
948 |
//- Jim Lungu ----------------------------------------------
|
949 |
|
950 |
TGraph* Jim_mht_tb3(int mode){
|
951 |
Int_t n = 10;
|
952 |
Double_t x[10] = {15,65,115,165,215,265,315,365,415,465};
|
953 |
Double_t yobs[10] = {330,330,340,340,330,320,310,300,280,260};
|
954 |
Double_t yexp[10] = {330,320,320,320,320,310,300,290,270,250};
|
955 |
Double_t yexpp[10] = {350,350,350,340,340,330,330,310,300,280};
|
956 |
Double_t yexpn[10] = {310,310,310,300,300,300,280,270,240,240};
|
957 |
Double_t y[10];
|
958 |
for (int i=0;i<n;i++) {
|
959 |
if (mode==0) y[i] = yobs[i];
|
960 |
if (mode==1) y[i] = yexp[i];
|
961 |
if (mode==2) y[i] = yexpp[i];
|
962 |
if (mode==3) y[i] = yexpn[i];
|
963 |
}
|
964 |
TGraph* gr = new TGraph(n,x,y);
|
965 |
gr->SetLineWidth(2);
|
966 |
if (mode==1) gr->SetLineStyle(2);
|
967 |
if (mode>2) {gr->SetFillColor(8); gr->SetLineColor(8);}
|
968 |
else
|
969 |
gr->SetLineColor(2);
|
970 |
return gr;
|
971 |
}
|
972 |
|
973 |
TGraph* Jim_ht_tb3(int mode){
|
974 |
Int_t n = 10;
|
975 |
Double_t x[10] = {15,65,115,165,215,265,315,365,415,465};
|
976 |
Double_t yobs[10] = {300,300,290,290,300,290,280,270,260,250};
|
977 |
Double_t yexp[10] = {300,300,290,300,300,290,280,270,260,250};
|
978 |
Double_t yexpp[10] = {320,320,320,320,310,310,300,290,280,270};
|
979 |
Double_t yexpn[10] = {290,290,280,290,280,280,270,250,250,240};
|
980 |
Double_t y[10];
|
981 |
for (int i=0;i<n;i++) {
|
982 |
if (mode==0) y[i] = yobs[i];
|
983 |
if (mode==1) y[i] = yexp[i];
|
984 |
if (mode==2) y[i] = yexpp[i];
|
985 |
if (mode==3) y[i] = yexpn[i];
|
986 |
}
|
987 |
TGraph* gr = new TGraph(n,x,y);
|
988 |
gr->SetLineWidth(2);
|
989 |
if (mode==1) gr->SetLineStyle(2);
|
990 |
if (mode>2) {gr->SetFillColor(8); gr->SetLineColor(8);}
|
991 |
else
|
992 |
gr->SetLineColor(2);
|
993 |
return gr;
|
994 |
}
|
995 |
|
996 |
TGraph* Jim_mht_tb50(int mode){
|
997 |
Int_t n = 9;
|
998 |
Double_t x[9] = {205,255,305,355,405,455,505,555,605};
|
999 |
Double_t yobs[9] = {330,330,310,300,300,270,250,240,210};
|
1000 |
Double_t yexp[9] = {320,320,300,290,280,250,240,230,210};
|
1001 |
Double_t yexpp[9] = {350,340,330,320,310,290,260,250,230};
|
1002 |
Double_t yexpn[9] = {300,300,290,280,260,240,230,200,190};
|
1003 |
Double_t y[9];
|
1004 |
for (int i=0;i<n;i++) {
|
1005 |
if (mode==0) y[i] = yobs[i];
|
1006 |
if (mode==1) y[i] = yexp[i];
|
1007 |
if (mode==2) y[i] = yexpp[i];
|
1008 |
if (mode==3) y[i] = yexpn[i];
|
1009 |
}
|
1010 |
TGraph* gr = new TGraph(n,x,y);
|
1011 |
gr->SetLineWidth(2);
|
1012 |
if (mode==1) gr->SetLineStyle(2);
|
1013 |
if (mode>2) {gr->SetFillColor(8); gr->SetLineColor(8);}
|
1014 |
else
|
1015 |
gr->SetLineColor(2);
|
1016 |
return gr;
|
1017 |
}
|
1018 |
|
1019 |
TGraph* Jim_ht_tb50(int mode){
|
1020 |
Int_t n = 9;
|
1021 |
Double_t x[9] = {205,255,305,355,405,455,505,555,605};
|
1022 |
Double_t yobs[9] = {300,290,280,280,260,250,230,220,220};
|
1023 |
Double_t yexp[9] = {300,290,280,280,260,250,240,230,220};
|
1024 |
Double_t yexpp[9] = {320,310,300,290,290,270,260,250,240};
|
1025 |
Double_t yexpn[9] = {280,270,270,260,250,240,230,220,210};
|
1026 |
Double_t y[10];
|
1027 |
for (int i=0;i<n;i++) {
|
1028 |
if (mode==0) y[i] = yobs[i];
|
1029 |
if (mode==1) y[i] = yexp[i];
|
1030 |
if (mode==2) y[i] = yexpp[i];
|
1031 |
if (mode==3) y[i] = yexpn[i];
|
1032 |
}
|
1033 |
TGraph* gr = new TGraph(n,x,y);
|
1034 |
gr->SetLineWidth(2);
|
1035 |
if (mode==1) gr->SetLineStyle(2);
|
1036 |
if (mode>2) {gr->SetFillColor(8); gr->SetLineColor(8);}
|
1037 |
else
|
1038 |
gr->SetLineColor(2);
|
1039 |
return gr;
|
1040 |
}
|
1041 |
|
1042 |
TGraph* Jim_mht_tb10(int mode){
|
1043 |
Int_t n = 20;
|
1044 |
Double_t x[20] = {15,65,115,165,215,265,315,365,415,465,515,565,615,665,715,765,815,865,915,965};
|
1045 |
Double_t yobs[20] = {330,340,330,330,330,320,310,280,280,260,240,230,220,220,210,190,190,180,180,180};
|
1046 |
Double_t yexp[20] = {330,320,320,320,320,310,300,280,270,250,240,220,220,200,190,190,180,160,170,160};
|
1047 |
Double_t yexpp[20] = {330,340,350,340,330,330,330,310,300,280,270,240,240,230,220,210,200,180,190,180};
|
1048 |
Double_t yexpn[20] = {290,280,310,300,300,290,280,270,250,240,220,210,200,190,160,170,160,150,150,140};
|
1049 |
Double_t y[20];
|
1050 |
for (int i=0;i<n;i++) {
|
1051 |
if (mode==0) y[i] = yobs[i];
|
1052 |
if (mode==1) y[i] = yexp[i];
|
1053 |
if (mode==2) y[i] = yexpp[i];
|
1054 |
if (mode==3) y[i] = yexpn[i];
|
1055 |
}
|
1056 |
TGraph* gr = new TGraph(n,x,y);
|
1057 |
gr->SetLineWidth(2);
|
1058 |
if (mode==1) gr->SetLineStyle(2);
|
1059 |
if (mode>2) {gr->SetFillColor(8); gr->SetLineColor(8);}
|
1060 |
else
|
1061 |
gr->SetLineColor(2);
|
1062 |
return gr;
|
1063 |
}
|
1064 |
|
1065 |
TGraph* Jim_ht_tb10(int mode){
|
1066 |
Int_t n = 20;
|
1067 |
Double_t x[20] = {15,65,115,165,215,265,315,365,415,465,515,565,615,665,715,765,815,865,915,965};
|
1068 |
Double_t yobs[20] = {290,280,300,290,300,290,280,270,250,250,240,230,220,220,210,190,200,180,190,180};
|
1069 |
Double_t yexp[20] = {290,280,290,300,300,290,280,270,250,250,240,240,220,220,210,190,200,180,190,180};
|
1070 |
Double_t yexpp[20] = {330,320,310,310,310,310,300,280,280,260,260,250,240,230,220,220,210,210,200,190};
|
1071 |
Double_t yexpn[20] = {290,280,280,280,280,280,270,260,240,240,230,220,200,200,190,190,180,180,170,170};
|
1072 |
Double_t y[20];
|
1073 |
for (int i=0;i<n;i++) {
|
1074 |
if (mode==0) y[i] = yobs[i];
|
1075 |
if (mode==1) y[i] = yexp[i];
|
1076 |
if (mode==2) y[i] = yexpp[i];
|
1077 |
if (mode==3) y[i] = yexpn[i];
|
1078 |
}
|
1079 |
TGraph* gr = new TGraph(n,x,y);
|
1080 |
gr->SetLineWidth(2);
|
1081 |
if (mode==1) gr->SetLineStyle(2);
|
1082 |
if (mode>2) {gr->SetFillColor(8); gr->SetLineColor(8);}
|
1083 |
else
|
1084 |
gr->SetLineColor(2);
|
1085 |
return gr;
|
1086 |
}
|
1087 |
|
1088 |
|
1089 |
|