ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CmsHi/JetAnalysis/macros/plotSignalMultiplicity.C
Revision: 1.3
Committed: Wed Feb 13 12:47:54 2013 UTC (12 years, 2 months ago) by yilmaz
Content type: text/plain
Branch: MAIN
CVS Tags: HiForest_V02_85, HiForest_V02_84, HiForest_V02_83, HiForest_V02_82, HiForest_V02_81, HiForest_V02_80, HiForest_V02_79, HiForest_V02_78, HiForest_V02_77, HiForest_V02_76, HiForest_V02_73, HEAD
Changes since 1.2: +53 -33 lines
Log Message:
latest plotting macros

File Contents

# Content
1 #include "weightMix.C"
2 #include "TProfile.h"
3 #include "Slices.h"
4
5 static int centMode = 1;
6 static string centName[] = {"N_{trk}^{offline}","HF+","N_{side}","N_{trk}^{low p_{T}}"};
7
8 TH1D* getMult(int isample = 2, string var = "xreco"){
9
10 TH1::SetDefaultSumw2();
11
12 TChain* ntdijet = new TChain("ntdijet");
13 TChain* ntmatch = new TChain("ntmatch");
14 TChain* ntevt = new TChain("ntevt");
15 TChain* ntw;
16
17 const char* pPbFile = "/d101/yetkin/analysis/d0204/ntuple_data_pPb_akPu3PF_forest71_20130204_01.root";
18 const char* PbPbFile = "/d101/yetkin/analysis/d0204/ntuple_data_PbPb_akPu3PF_forest71_20130204_01.root";
19 const char* HydjetFile = "/d101/yetkin/analysis/d0204/hydjet.root";
20 const char* HijingFile = "/d101/yetkin/analysis/d0204/hijing.root";
21
22
23 pPbFile = "ntuple_data_pPb_akPu3PF_forest71_20130204_01.root";
24 // PbPbFile = "ntuple_data_PbPb2011_akPu3PF_forest71_20130204_01.root";
25 PbPbFile = "ntuple_data_PbPb_akPu3PF_forest71_20130205_01.root";
26
27 HijingFile = "hijing.root";
28 HydjetFile = "hydjet.root";
29
30
31 if(isample == 0){
32 ntdijet->Add(pPbFile);
33 ntevt->Add(pPbFile);
34 }
35
36 if(isample == 1){
37 ntdijet->Add(PbPbFile);
38 ntevt->Add(PbPbFile);
39 }
40
41 if(isample == 2){
42 ntw = new TChain("ntw");
43 ntmatch->Add(HijingFile);
44 ntdijet->Add(HijingFile);
45 ntevt->Add(HijingFile);
46 ntw->Add(HijingFile);
47 }
48
49 if(isample == 3){
50 ntw = new TChain("ntw");
51 ntmatch->Add(HydjetFile);
52 ntdijet->Add(HydjetFile);
53 ntevt->Add(HydjetFile);
54 ntw->Add(HydjetFile);
55 }
56
57 string varName = "NNNNN";
58 if(var == "ngen30") varName = "N_{GenJet}(p_{T}>30)";
59 if(var == "njet30") varName = "N_{RecoJet}(p_{T}>30)";
60 if(var == "xreco") varName = "#LTp_{T,2}/p_{T,1}#GT";
61 if(var == "dphi") varName = "#LT#Delta#phi_{1,2}#GT";
62
63 if(var == "xgen"){
64 varName = "True (GenJet) #LTp_{T,2}/p_{T,1}#GT";
65 }
66
67 ntdijet->AddFriend(ntevt);
68 if(isample > 1){
69 ntdijet->AddFriend(ntw);
70 ntdijet->AddFriend(ntmatch);
71
72 }
73
74 TH2D* h[20];
75 TH1D* p[20];
76
77 int nmax = 300;
78 if(centMode == 1) nmax = 50;
79 if(centMode == 2) nmax = 50;
80
81 int Nbins = 50;
82 double ymax = 10;
83
84 if(var == "dphi"){
85 ymax = pi;
86 }
87 if(var == "xreco" || var == "xgen"){
88 ymax = 1;
89 }
90
91 // if(isample == 2) nmax = 500;
92
93 for(int i = 0; i < 5; ++i){
94 h[i] = new TH2D(Form("h%d",i),"",Nbins,0,nmax,100,0,ymax);
95 }
96
97 TH2D* hn = new TH2D(Form("hn%d",isample),"",Nbins,0,nmax,100,0,2.);
98
99 TCut dijet("jtpt1 > 120 && jtpt2 > 30");
100
101 if(var != "dphi") dijet = dijet&&"acos(cos(jtphi1-jtphi2))> 2.0944";
102 TCut weight("weight*(pthat > 80)");
103 if(isample < 2) weight = "jtpt1 > -999";
104
105 if(centMode == 0){
106 ntdijet->SetAlias("cent","ntrk");
107 ntdijet->SetAlias("gens","nps");
108 ntdijet->SetAlias("genb","npb");
109 }
110
111 if(centMode == 1){
112 ntdijet->SetAlias("cent","hfp");
113 ntdijet->SetAlias("gens","hfs");
114 ntdijet->SetAlias("genb","hfb");
115 }
116
117 if(centMode == 2){
118 ntdijet->SetAlias("cent","nside");
119 ntdijet->SetAlias("gens","nls");
120 ntdijet->SetAlias("genb","nlb");
121 }
122
123 if(centMode == 3){
124 ntdijet->SetAlias("cent","nls+nlb");
125 ntdijet->SetAlias("gens","nls");
126 ntdijet->SetAlias("genb","nlb");
127 }
128
129 ntdijet->SetAlias("gen","gens+genb");
130
131
132 ntdijet->SetAlias("xgen","pt2/pt1");
133 ntdijet->SetAlias("xreco","jtpt2/jtpt1");
134 ntdijet->SetAlias("dphi","acos(cos(jtphi1-jtphi2))");
135 ntdijet->SetAlias("etaDijet","(jteta1+jteta2)/2");
136
137
138 ntdijet->SetAlias("var",var.data());
139
140
141 if(var == "jtpt2/jtpt1") var = "xreco";
142 if(var == "pt2/pt1") var = "xgen";
143 if(var == "acos(cos(jtphi1-jtphi2))") var = "dphi";
144
145
146 TCanvas* c2 = new TCanvas("c2","",600,600);
147 ntdijet->Draw(Form("var:cent>>h%d",0),weight*dijet,"colz");
148 c2->Print(Form("figure_c2_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
149
150
151 if(isample > 1){
152
153 TCanvas* c1 = new TCanvas("c1","",600,600);
154 ntdijet->Draw(Form("gens/genb:cent>>hn%d",isample),weight*dijet,"colz");
155 hn->SetTitle(Form(";%s;N_{signal particle}/N_{bkg particle}",centName[centMode].data()));
156 hn->GetXaxis()->CenterTitle();
157 hn->GetYaxis()->CenterTitle();
158
159 hn->Draw("colz");
160
161
162 hn->ProfileX(Form("phn_%d",isample))->Draw("same");
163 c1->Print(Form("figure_c1_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
164
165 TCanvas* c3 = new TCanvas("c3","",600,600);
166 ntdijet->Draw(Form("var:genb+gens>>h%d",1),weight*dijet,"colz");
167 c3->Print(Form("figure_c3_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
168
169
170 TCanvas* c4 = new TCanvas("c4","",600,600);
171 ntdijet->Draw(Form("var:gens>>h%d",2),weight*dijet,"colz");
172 c4->Print(Form("figure_c4_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
173
174 TCanvas* c5 = new TCanvas("c5","",600,600);
175 ntdijet->Draw(Form("var:genb>>h%d",3),weight*dijet,"colz");
176 c5->Print(Form("figure_c5_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
177
178 }
179
180 TCanvas* cc1 = new TCanvas("cc1","",600,600);
181
182 for(int i = 0; i < 4; ++i){
183 // h[i]->RebinX(2);
184
185 fitSlices(h[i]);
186 p[i] = (TH1D*)gDirectory->Get(Form("%s_1",h[i]->GetName()));
187 // p[i] = h[i]->ProfileX();
188
189 p[i]->SetName(Form("p%d_%d",i,isample));
190 }
191
192 p[2]->SetMarkerColor(2);
193 p[2]->SetLineColor(2);
194
195 p[3]->SetMarkerColor(4);
196 p[3]->SetLineColor(4);
197
198 p[1]->SetMaximum(5);
199 p[1]->SetMinimum(0);
200
201 if(var == "xreco" || var == "xgen"){
202 p[1]->SetMaximum(1);
203 }
204 if(var == "dphi"){
205 p[1]->SetMaximum(pi);
206 p[1]->SetMinimum(pi-pi/3);
207
208 }
209 if(var == "nps" || var == "npb"){
210 p[1]->SetMaximum(50);
211 }
212
213 p[1]->GetXaxis()->SetTitle("N_{?}");
214 p[0]->GetXaxis()->SetTitle(centName[centMode].data());
215
216 for(int i = 0; i < 4; ++i){
217 p[i]->GetYaxis()->SetTitle(varName.data());
218 p[i]->GetXaxis()->CenterTitle();
219 p[i]->GetYaxis()->CenterTitle();
220 }
221
222
223 p[1]->Draw("hist");
224 p[0]->Draw("same");
225
226 p[2]->Draw("same");
227 p[3]->Draw("same");
228
229 TLegend *t3=new TLegend(0.26,0.2,0.53,0.45);
230 t3->SetFillColor(0);
231 t3->SetBorderSize(0);
232 t3->SetFillStyle(0);
233 t3->SetTextFont(63);
234 t3->SetTextSize(20);
235 if(centMode == 0){
236 t3->AddEntry(p[1],Form("N = %s","N_{gen}"),"l");
237 t3->AddEntry(p[0],Form("N = %s","N_{trk}"),"p");
238 t3->AddEntry(p[2],Form("N = %s","N_{signal}"),"p");
239 t3->AddEntry(p[3],Form("N = %s","N_{bkg}"),"p");
240 }
241 if(centMode == 1){
242 t3->AddEntry(p[1],Form("N = %s","E_{T}^{HF}_{gen}"),"l");
243 t3->AddEntry(p[0],Form("N = %s","E_{T}^{HF}_{reco}"),"p");
244 t3->AddEntry(p[2],Form("N = %s","E_{T}^{HF}_{signal}"),"p");
245 t3->AddEntry(p[3],Form("N = %s","E_{T}^{HF}_{bkg}"),"p");
246 }
247
248 t3->Draw();
249
250 cc1->Print(Form("figure_cc1_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
251
252
253 return p[0];
254
255 }
256
257
258 void plotVariable(string var = "jtpt2/jtpt1"){
259
260 // var = "nps";
261 // var = "npb";
262
263 TCanvas* cc2 = new TCanvas("cc2","",600,600);
264 TFile* outf = new TFile("nothing.root","recreate");
265 TH1D* p[4];
266
267 for(int i = 0; i < 4; ++i){
268 p[i] = getMult(i,var);
269 p[i]->SetName(Form("pp%d",i));
270 p[i]->SetDirectory(0);
271 }
272
273 p[1]->GetXaxis()->SetTitle(centName[centMode].data());
274
275 p[1]->SetMarkerStyle(25);
276 p[1]->SetMarkerColor(4);
277 p[1]->SetLineColor(4);
278
279 p[3]->SetLineColor(4);
280
281 p[1]->SetMaximum(5);
282 p[1]->SetMinimum(0);
283 if(var == "xreco" || var == "xgen"){
284 p[1]->SetMaximum(1);
285 }
286 if(var == "dphi"){
287 p[1]->SetMaximum(pi);
288 p[1]->SetMinimum(pi-pi/3);
289
290 }
291 if(var == "nps" || var == "npb"){
292 p[1]->SetMaximum(250);
293 }
294
295 cc2->cd();
296 p[1]->Draw("");
297 p[0]->Draw("same");
298 p[2]->Draw("hist same");
299 p[3]->Draw("hist same");
300
301 TLegend *t3=new TLegend(0.26,0.2,0.53,0.45);
302 t3->SetFillColor(0);
303 t3->SetBorderSize(0);
304 t3->SetFillStyle(0);
305 t3->SetTextFont(63);
306 t3->SetTextSize(20);
307 t3->AddEntry(p[0],"pPb data","p");
308 t3->AddEntry(p[1],"PbPb data","p");
309 t3->AddEntry(p[2],"pPb Hijing + Pythia","l");
310 t3->AddEntry(p[3],"PbPb Hydjet + Pythia","l");
311
312 t3->Draw();
313
314 if(var == "jtpt2/jtpt1") var = "xreco";
315 if(var == "pt2/pt1") var = "xgen";
316 if(var == "acos(cos(jtphi1-jtphi2))") var = "dphi";
317
318 cc2->Print(Form("figure_cc0_%s_centMode%d.pdf",var.data(),centMode));
319
320
321 TCanvas* cc3 = new TCanvas("cc3","",600,600);
322
323 p[0]->GetXaxis()->SetTitle(centName[centMode].data());
324
325 p[0]->Draw("");
326 p[2]->Draw("hist same");
327
328 t3=new TLegend(0.26,0.2,0.53,0.45);
329 t3->SetFillColor(0);
330 t3->SetBorderSize(0);
331 t3->SetFillStyle(0);
332 t3->SetTextFont(63);
333 t3->SetTextSize(20);
334 t3->AddEntry(p[0],"pPb data","p");
335 t3->AddEntry(p[2],"pPb Hijing + Pythia","l");
336
337 t3->Draw();
338
339 cc3->Print(Form("figure_cc3_pPb_%s_centMode%d.pdf",var.data(),centMode));
340
341 TCanvas* cc4 = new TCanvas("cc4","",600,600);
342 if(centMode == 0){
343 p[1]->GetXaxis()->SetTitle("N_{trk}^{heavy ion tracking}");
344 }
345 if(centMode == 1){
346 p[1]->GetXaxis()->SetTitle("E_{T}^{HF+}_{heavy ion reco}");
347 }
348
349 p[1]->Draw("");
350 p[3]->Draw("hist same");
351
352 t3=new TLegend(0.26,0.2,0.53,0.45);
353 t3->SetFillColor(0);
354 t3->SetBorderSize(0);
355 t3->SetFillStyle(0);
356 t3->SetTextFont(63);
357 t3->SetTextSize(20);
358 t3->AddEntry(p[1],"PbPb data","p");
359 t3->AddEntry(p[3],"PbPb Hydjet + Pythia","l");
360
361 t3->Draw();
362
363 cc4->Print(Form("figure_cc4_PbPb_%s_centMode%d.pdf",var.data(),centMode));
364
365 outf->Write();
366 outf->Close();
367
368
369 }
370
371
372
373 void plotSignalMultiplicity(){
374
375 string var = "";
376
377 var = "etaDijet";
378 plotVariable(var);
379
380 return;
381
382 var = "xreco";
383 plotVariable(var);
384
385 var = "xgen";
386 plotVariable(var);
387
388 var = "dphi";
389 plotVariable(var);
390
391 var = "ngen30";
392 plotVariable(var);
393
394 var = "njet30";
395 plotVariable(var);
396
397 var = "nps";
398 plotVariable(var);
399 var = "npb";
400 plotVariable(var);
401
402
403 }
404
405
406