-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathisolationStudiesPlot.cxx
More file actions
278 lines (255 loc) · 14.7 KB
/
isolationStudiesPlot.cxx
File metadata and controls
278 lines (255 loc) · 14.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
{
// style
TStyle *tesiStyle = new TStyle("tesiStyle","");
tesiStyle->SetCanvasColor(0);
tesiStyle->SetFrameFillColor(0);
tesiStyle->SetStatColor(0);
tesiStyle->SetOptStat(0000);
tesiStyle->SetOptFit(1111);
tesiStyle->SetTitleFillColor(0);
tesiStyle->SetCanvasBorderMode(0);
tesiStyle->SetPadBorderMode(0);
tesiStyle->SetFrameBorderMode(0);
tesiStyle->cd();
// files
TFile fileSgn("../optimizationIsolation/studiesInputs/H160_WW_2l/H160_WW_2l_isOptimHistoMerged.root");
TFile fileWj ("../optimizationIsolation/studiesInputs/WjetsMadgraph_Fall08/WjetsMadgraph_Fall08_isolationMerged.root");
TFile filettj("../optimizationIsolation/studiesInputs/ttjetsMadgraph_Fall08/ttjetsMadgraph_Fall08_isolationMerged.root");
// histos
TH1F *Hass_eleSumPt03[5][3], *Hass_eleSumPt04[5][3], *Hass_eleSumPt05[5][3];
TH1F *Hass_eleSumHadEt04[5][3], *Hass_eleSumHadEt05[5][3];
TH1F *Hass_eleSumEmEt04[5][3], *Hass_eleSumEmEt05[5][3];
TH1F *Hass_eleScBasedEcalSum04[5][3], *Hass_eleScBasedEcalSum05[5][3];
TH1F *Hass_eleScHaloBasedEcalSum04[5][3], *Hass_eleScHaloBasedEcalSum05[5][3];
TH1F *Hass_eleIsoFromDepsTk[5][3], *Hass_eleIsoFromDepsEcal[5][3], *Hass_eleIsoFromDepsHcal[5][3];
// signal
char title[200];
for (int ii=0; ii<5; ii++){
sprintf(title,"Hass_eleSumPt03[%d]",ii);
Hass_eleSumPt03[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleSumPt04[%d]",ii);
Hass_eleSumPt04[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleSumPt05[%d]",ii);
Hass_eleSumPt05[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleSumEmEt04[%d]",ii);
Hass_eleSumEmEt04[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleSumEmEt05[%d]",ii);
Hass_eleSumEmEt05[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleSumHadEt04[%d]",ii);
Hass_eleSumHadEt04[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleSumHadEt05[%d]",ii);
Hass_eleSumHadEt05[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleScBasedEcalSum04[%d]",ii);
Hass_eleScBasedEcalSum04[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleScBasedEcalSum05[%d]",ii);
Hass_eleScBasedEcalSum05[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleScHaloBasedEcalSum04[%d]",ii);
Hass_eleScHaloBasedEcalSum04[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleScHaloBasedEcalSum05[%d]",ii);
Hass_eleScHaloBasedEcalSum05[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleIsoFromDepsTk[%d]",ii);
Hass_eleIsoFromDepsTk[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleIsoFromDepsEcal[%d]",ii);
Hass_eleIsoFromDepsEcal[ii][0] = (TH1F*)fileSgn->Get(title);
sprintf(title,"Hass_eleIsoFromDepsHcal[%d]",ii);
Hass_eleIsoFromDepsHcal[ii][0] = (TH1F*)fileSgn->Get(title);
}
// w+jets
for (int ii=0; ii<5; ii++){
sprintf(title,"Hass_eleSumPt03[%d]",ii);
Hass_eleSumPt03[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleSumPt04[%d]",ii);
Hass_eleSumPt04[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleSumPt05[%d]",ii);
Hass_eleSumPt05[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleSumEmEt04[%d]",ii);
Hass_eleSumEmEt04[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleSumEmEt05[%d]",ii);
Hass_eleSumEmEt05[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleSumHadEt04[%d]",ii);
Hass_eleSumHadEt04[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleSumHadEt05[%d]",ii);
Hass_eleSumHadEt05[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleScBasedEcalSum04[%d]",ii);
Hass_eleScBasedEcalSum04[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleScBasedEcalSum05[%d]",ii);
Hass_eleScBasedEcalSum05[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleScHaloBasedEcalSum04[%d]",ii);
Hass_eleScHaloBasedEcalSum04[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleScHaloBasedEcalSum05[%d]",ii);
Hass_eleScHaloBasedEcalSum05[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleIsoFromDepsTk[%d]",ii);
Hass_eleIsoFromDepsTk[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleIsoFromDepsEcal[%d]",ii);
Hass_eleIsoFromDepsEcal[ii][1] = (TH1F*)fileWj->Get(title);
sprintf(title,"Hass_eleIsoFromDepsHcal[%d]",ii);
Hass_eleIsoFromDepsHcal[ii][1] = (TH1F*)fileWj->Get(title);
}
// tt+jets
for (int ii=0; ii<5; ii++){
sprintf(title,"Hass_eleSumPt03[%d]",ii);
Hass_eleSumPt03[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleSumPt04[%d]",ii);
Hass_eleSumPt04[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleSumPt05[%d]",ii);
Hass_eleSumPt05[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleSumEmEt04[%d]",ii);
Hass_eleSumEmEt04[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleSumEmEt05[%d]",ii);
Hass_eleSumEmEt05[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleSumHadEt04[%d]",ii);
Hass_eleSumHadEt04[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleSumHadEt05[%d]",ii);
Hass_eleSumHadEt05[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleScBasedEcalSum04[%d]",ii);
Hass_eleScBasedEcalSum04[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleScBasedEcalSum05[%d]",ii);
Hass_eleScBasedEcalSum05[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleScHaloBasedEcalSum04[%d]",ii);
Hass_eleScHaloBasedEcalSum04[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleScHaloBasedEcalSum05[%d]",ii);
Hass_eleScHaloBasedEcalSum05[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleIsoFromDepsTk[%d]",ii);
Hass_eleIsoFromDepsTk[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleIsoFromDepsEcal[%d]",ii);
Hass_eleIsoFromDepsEcal[ii][2] = (TH1F*)filettj->Get(title);
sprintf(title,"Hass_eleIsoFromDepsHcal[%d]",ii);
Hass_eleIsoFromDepsHcal[ii][2] = (TH1F*)filettj->Get(title);
}
// rescaling signal plots
for(int ii=0; ii<5; ii++){
Hass_eleSumPt03[ii][0]. Scale(1./(Hass_eleSumPt03[ii][0].Integral()));
Hass_eleSumPt04[ii][0]. Scale(1./(Hass_eleSumPt04[ii][0].Integral()));
Hass_eleSumPt05[ii][0]. Scale(1./(Hass_eleSumPt05[ii][0].Integral()));
Hass_eleSumEmEt04[ii][0]. Scale(1./(Hass_eleSumEmEt04[ii][0].Integral()));
Hass_eleSumEmEt05[ii][0]. Scale(1./(Hass_eleSumEmEt05[ii][0].Integral()));
Hass_eleSumHadEt04[ii][0]. Scale(1./(Hass_eleSumHadEt04[ii][0].Integral()));
Hass_eleSumHadEt05[ii][0]. Scale(1./(Hass_eleSumHadEt05[ii][0].Integral()));
Hass_eleScBasedEcalSum04[ii][0]. Scale(1./(Hass_eleScBasedEcalSum04[ii][0].Integral()));
Hass_eleScBasedEcalSum05[ii][0]. Scale(1./(Hass_eleScBasedEcalSum05[ii][0].Integral()));
Hass_eleScHaloBasedEcalSum04[ii][0].Scale(1./(Hass_eleScHaloBasedEcalSum04[ii][0].Integral()));
Hass_eleScHaloBasedEcalSum05[ii][0].Scale(1./(Hass_eleScHaloBasedEcalSum05[ii][0].Integral()));
Hass_eleIsoFromDepsTk[ii][0] .Scale(1./(Hass_eleIsoFromDepsTk[ii][0].Integral()));
Hass_eleIsoFromDepsEcal[ii][0] .Scale(1./(Hass_eleIsoFromDepsEcal[ii][0].Integral()));
Hass_eleIsoFromDepsHcal[ii][0] .Scale(1./(Hass_eleIsoFromDepsHcal[ii][0].Integral()));
}
// rescaling w+jets plots
for(int ii=0; ii<5; ii++){
Hass_eleSumPt03[ii][1]. Scale(1./(Hass_eleSumPt03[ii][1].Integral()));
Hass_eleSumPt04[ii][1]. Scale(1./(Hass_eleSumPt04[ii][1].Integral()));
Hass_eleSumPt05[ii][1]. Scale(1./(Hass_eleSumPt05[ii][1].Integral()));
Hass_eleSumEmEt04[ii][1]. Scale(1./(Hass_eleSumEmEt04[ii][1].Integral()));
Hass_eleSumEmEt05[ii][1]. Scale(1./(Hass_eleSumEmEt05[ii][1].Integral()));
Hass_eleSumHadEt04[ii][1]. Scale(1./(Hass_eleSumHadEt04[ii][1].Integral()));
Hass_eleSumHadEt05[ii][1]. Scale(1./(Hass_eleSumHadEt05[ii][1].Integral()));
Hass_eleScBasedEcalSum04[ii][1]. Scale(1./(Hass_eleScBasedEcalSum04[ii][1].Integral()));
Hass_eleScBasedEcalSum05[ii][1]. Scale(1./(Hass_eleScBasedEcalSum05[ii][1].Integral()));
Hass_eleScHaloBasedEcalSum04[ii][1].Scale(1./(Hass_eleScHaloBasedEcalSum04[ii][1].Integral()));
Hass_eleScHaloBasedEcalSum05[ii][1].Scale(1./(Hass_eleScHaloBasedEcalSum05[ii][1].Integral()));
Hass_eleIsoFromDepsTk[ii][1] .Scale(1./(Hass_eleIsoFromDepsTk[ii][1].Integral()));
Hass_eleIsoFromDepsEcal[ii][1] .Scale(1./(Hass_eleIsoFromDepsEcal[ii][1].Integral()));
Hass_eleIsoFromDepsHcal[ii][1] .Scale(1./(Hass_eleIsoFromDepsHcal[ii][1].Integral()));
}
// rescaling tt+jets plots
for(int ii=0; ii<5; ii++){
Hass_eleSumPt03[ii][2]. Scale(1./(Hass_eleSumPt03[ii][2].Integral()));
Hass_eleSumPt04[ii][2]. Scale(1./(Hass_eleSumPt04[ii][2].Integral()));
Hass_eleSumPt05[ii][2]. Scale(1./(Hass_eleSumPt05[ii][2].Integral()));
Hass_eleSumEmEt04[ii][2]. Scale(1./(Hass_eleSumEmEt04[ii][2].Integral()));
Hass_eleSumEmEt05[ii][2]. Scale(1./(Hass_eleSumEmEt05[ii][2].Integral()));
Hass_eleSumHadEt04[ii][2]. Scale(1./(Hass_eleSumHadEt04[ii][2].Integral()));
Hass_eleSumHadEt05[ii][2]. Scale(1./(Hass_eleSumHadEt05[ii][2].Integral()));
Hass_eleScBasedEcalSum04[ii][2]. Scale(1./(Hass_eleScBasedEcalSum04[ii][2].Integral()));
Hass_eleScBasedEcalSum05[ii][2]. Scale(1./(Hass_eleScBasedEcalSum05[ii][2].Integral()));
Hass_eleScHaloBasedEcalSum04[ii][2].Scale(1./(Hass_eleScHaloBasedEcalSum04[ii][2].Integral()));
Hass_eleScHaloBasedEcalSum05[ii][2].Scale(1./(Hass_eleScHaloBasedEcalSum05[ii][2].Integral()));
Hass_eleIsoFromDepsTk[ii][2] .Scale(1./(Hass_eleIsoFromDepsTk[ii][2].Integral()));
Hass_eleIsoFromDepsEcal[ii][2] .Scale(1./(Hass_eleIsoFromDepsEcal[ii][2].Integral()));
Hass_eleIsoFromDepsHcal[ii][2] .Scale(1./(Hass_eleIsoFromDepsHcal[ii][2].Integral()));
}
// cosmetics
int theColor = 0;
int theStyle = 0;
for(int jj=0; jj<3; jj++){
if (jj==0) { theColor = 1; theStyle = 3004; }
if (jj==1) { theColor = 2; theStyle = 3006; }
if (jj==2) { theColor = 3; theStyle = 3005; }
for(int ii=0; ii<5; ii++){
Hass_eleSumPt03[ii][jj].SetFillColor(theColor); Hass_eleSumPt03[ii][jj].SetFillStyle(theStyle);
Hass_eleSumPt04[ii][jj].SetFillColor(theColor); Hass_eleSumPt04[ii][jj].SetFillStyle(theStyle);
Hass_eleSumPt05[ii][jj].SetFillColor(theColor); Hass_eleSumPt05[ii][jj].SetFillStyle(theStyle);
Hass_eleSumEmEt04[ii][jj].SetFillColor(theColor); Hass_eleSumEmEt04[ii][jj].SetFillStyle(theStyle);
Hass_eleSumEmEt05[ii][jj].SetFillColor(theColor); Hass_eleSumEmEt05[ii][jj].SetFillStyle(theStyle);
Hass_eleSumHadEt04[ii][jj].SetFillColor(theColor); Hass_eleSumHadEt04[ii][jj].SetFillStyle(theStyle);
Hass_eleSumHadEt05[ii][jj].SetFillColor(theColor); Hass_eleSumHadEt05[ii][jj].SetFillStyle(theStyle);
Hass_eleScBasedEcalSum04[ii][jj].SetFillColor(theColor); Hass_eleScBasedEcalSum04[ii][jj].SetFillStyle(theStyle);
Hass_eleScBasedEcalSum05[ii][jj].SetFillColor(theColor); Hass_eleScBasedEcalSum05[ii][jj].SetFillStyle(theStyle);
Hass_eleScHaloBasedEcalSum04[ii][jj].SetFillColor(theColor); Hass_eleScHaloBasedEcalSum04[ii][jj].SetFillStyle(theStyle);
Hass_eleScHaloBasedEcalSum05[ii][jj].SetFillColor(theColor); Hass_eleScHaloBasedEcalSum05[ii][jj].SetFillStyle(theStyle);
Hass_eleIsoFromDepsTk[ii][jj].SetFillColor(theColor); Hass_eleIsoFromDepsTk[ii][jj].SetFillStyle(theStyle);
Hass_eleIsoFromDepsEcal[ii][jj].SetFillColor(theColor); Hass_eleIsoFromDepsEcal[ii][jj].SetFillStyle(theStyle);
Hass_eleIsoFromDepsHcal[ii][jj].SetFillColor(theColor); Hass_eleIsoFromDepsHcal[ii][jj].SetFillStyle(theStyle);
// rebinning
Hass_eleSumPt03[ii][jj].Rebin(4);
Hass_eleSumPt04[ii][jj].Rebin(4);
Hass_eleSumPt05[ii][jj].Rebin(4);
Hass_eleSumEmEt04[ii][jj].Rebin(4);
Hass_eleSumEmEt05[ii][jj].Rebin(4);
Hass_eleSumHadEt04[ii][jj].Rebin(4);
Hass_eleSumHadEt05[ii][jj].Rebin(4);
Hass_eleScBasedEcalSum04[ii][jj].Rebin(4);
Hass_eleScBasedEcalSum05[ii][jj].Rebin(4);
Hass_eleScHaloBasedEcalSum04[ii][jj].Rebin(4);
Hass_eleScHaloBasedEcalSum05[ii][jj].Rebin(4);
Hass_eleIsoFromDepsTk[ii][jj].Rebin(4);
Hass_eleIsoFromDepsEcal[ii][jj].Rebin(4);
Hass_eleIsoFromDepsHcal[ii][jj].Rebin(4);
}
}
// axes titles
for(int jj=0; jj<3; jj++){
for(int ii=0; ii<5; ii++){
Hass_eleSumPt03[ii][jj].GetXaxis()->SetTitle("tracker based, #DeltaR = 03");
Hass_eleSumPt04[ii][jj].GetXaxis()->SetTitle("tracker based, #DeltaR = 04");
Hass_eleSumPt05[ii][jj].GetXaxis()->SetTitle("tracker based, #DeltaR = 05");
Hass_eleSumEmEt04[ii][jj].GetXaxis()->SetTitle("ECAL, cone based, #DeltaR = 04");
Hass_eleSumEmEt05[ii][jj].GetXaxis()->SetTitle("ECAL, cone based, #DeltaR = 05");
Hass_eleSumHadEt04[ii][jj].GetXaxis()->SetTitle("HCAL based, #DeltaR = 04");
Hass_eleSumHadEt05[ii][jj].GetXaxis()->SetTitle("HCAL based, #DeltaR = 05");
Hass_eleScBasedEcalSum04[ii][jj].GetXaxis()->SetTitle("ECAL, rechits based, #DeltaR = 04");
Hass_eleScBasedEcalSum05[ii][jj].GetXaxis()->SetTitle("ECAL, rechits based, #DeltaR = 05");
Hass_eleScHaloBasedEcalSum04[ii][jj].GetXaxis()->SetTitle("ECAL, rechits based with halo, #DeltaR = 04");
Hass_eleScHaloBasedEcalSum05[ii][jj].GetXaxis()->SetTitle("ECAL, rechits based with halo, #DeltaR = 05");
Hass_eleIsoFromDepsTk[ii][jj].GetXaxis()->SetTitle("tracker based, jurassic, #DeltaR = 04");
Hass_eleIsoFromDepsEcal[ii][jj].GetXaxis()->SetTitle("ECAL based, jurassic, #DeltaR = 04");
Hass_eleIsoFromDepsHcal[ii][jj].GetXaxis()->SetTitle("HCAL based, jurassic, #DeltaR = 04");
}}
// ------------- plots -----------------------------------
TLegend SvsB(0.50,0.6,0.75,0.82);
SvsB.AddEntry(Hass_eleSumPt04[0][0], "signal","f");
//SvsB.AddEntry(Hass_eleSumPt04[0][2], "ttjets","f");
SvsB.AddEntry(Hass_eleSumPt04[0][1], "wjets","f");
SvsB.SetFillColor(0);
SvsB.SetBorderSize(0.4);
TCanvas *c1 = new TCanvas("c1", "",1);
Hass_eleSumHadEt04[2][0].Draw();
Hass_eleSumHadEt04[2][1].Draw("same");
//Hass_eleSumHadEt04[2][2].Draw("same");
SvsB.Draw();
c1->Print("Hass_eleSumHadEt04.eps");
c1->Print("Hass_eleSumHadEt04.root");
TCanvas *c2 = new TCanvas("c2", "",1);
Hass_eleSumPt04[2][0].Draw();
Hass_eleSumPt04[2][1].Draw("same");
//Hass_eleSumPt04[2][2].Draw("same");
SvsB.Draw();
c2->Print("Hass_eleSumPt04.eps");
c2->Print("Hass_eleSumPt04.root");
TCanvas *c3 = new TCanvas("c3", "",1);
Hass_eleIsoFromDepsEcal[2][0].Draw();
Hass_eleIsoFromDepsEcal[2][1].Draw("same");
//Hass_eleIsoFromDepsEcal[2][2].Draw("same");
SvsB.Draw();
c3->Print("Hass_eleIsoFromDepsEcal.eps");
c3->Print("Hass_eleIsoFromDepsEcal.root");
}