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

# User Rev Content
1 yilmaz 1.1 #include "weightMix.C"
2 yilmaz 1.2 #include "TProfile.h"
3 yilmaz 1.3 #include "Slices.h"
4 yilmaz 1.1
5 yilmaz 1.3 static int centMode = 1;
6 yilmaz 1.2 static string centName[] = {"N_{trk}^{offline}","HF+","N_{side}","N_{trk}^{low p_{T}}"};
7 yilmaz 1.1
8 yilmaz 1.3 TH1D* getMult(int isample = 2, string var = "xreco"){
9 yilmaz 1.1
10     TH1::SetDefaultSumw2();
11    
12 yilmaz 1.2 TChain* ntdijet = new TChain("ntdijet");
13     TChain* ntmatch = new TChain("ntmatch");
14 yilmaz 1.1 TChain* ntevt = new TChain("ntevt");
15     TChain* ntw;
16    
17 yilmaz 1.3 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 yilmaz 1.2
31 yilmaz 1.1 if(isample == 0){
32 yilmaz 1.2 ntdijet->Add(pPbFile);
33     ntevt->Add(pPbFile);
34 yilmaz 1.1 }
35    
36     if(isample == 1){
37 yilmaz 1.2 ntdijet->Add(PbPbFile);
38     ntevt->Add(PbPbFile);
39 yilmaz 1.1 }
40    
41     if(isample == 2){
42     ntw = new TChain("ntw");
43 yilmaz 1.2 ntmatch->Add(HijingFile);
44     ntdijet->Add(HijingFile);
45     ntevt->Add(HijingFile);
46     ntw->Add(HijingFile);
47 yilmaz 1.1 }
48    
49     if(isample == 3){
50     ntw = new TChain("ntw");
51 yilmaz 1.2 ntmatch->Add(HydjetFile);
52     ntdijet->Add(HydjetFile);
53     ntevt->Add(HydjetFile);
54     ntw->Add(HydjetFile);
55 yilmaz 1.1 }
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 yilmaz 1.2 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 yilmaz 1.1 }
66    
67     ntdijet->AddFriend(ntevt);
68 yilmaz 1.2 if(isample > 1){
69     ntdijet->AddFriend(ntw);
70     ntdijet->AddFriend(ntmatch);
71    
72     }
73 yilmaz 1.1
74     TH2D* h[20];
75 yilmaz 1.3 TH1D* p[20];
76 yilmaz 1.1
77 yilmaz 1.2 int nmax = 300;
78 yilmaz 1.3 if(centMode == 1) nmax = 50;
79     if(centMode == 2) nmax = 50;
80 yilmaz 1.2
81 yilmaz 1.3 int Nbins = 50;
82 yilmaz 1.2 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 yilmaz 1.1
93     for(int i = 0; i < 5; ++i){
94 yilmaz 1.3 h[i] = new TH2D(Form("h%d",i),"",Nbins,0,nmax,100,0,ymax);
95 yilmaz 1.1 }
96    
97 yilmaz 1.3 TH2D* hn = new TH2D(Form("hn%d",isample),"",Nbins,0,nmax,100,0,2.);
98 yilmaz 1.1
99 yilmaz 1.2 TCut dijet("jtpt1 > 120 && jtpt2 > 30");
100    
101     if(var != "dphi") dijet = dijet&&"acos(cos(jtphi1-jtphi2))> 2.0944";
102 yilmaz 1.3 TCut weight("weight*(pthat > 80)");
103 yilmaz 1.1 if(isample < 2) weight = "jtpt1 > -999";
104    
105 yilmaz 1.2 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 yilmaz 1.3 ntdijet->SetAlias("cent","hfp");
113 yilmaz 1.2 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 yilmaz 1.3 ntdijet->SetAlias("etaDijet","(jteta1+jteta2)/2");
136    
137 yilmaz 1.1
138     ntdijet->SetAlias("var",var.data());
139    
140    
141 yilmaz 1.2 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 yilmaz 1.1 TCanvas* c2 = new TCanvas("c2","",600,600);
147 yilmaz 1.2 ntdijet->Draw(Form("var:cent>>h%d",0),weight*dijet,"colz");
148 yilmaz 1.3 c2->Print(Form("figure_c2_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
149 yilmaz 1.2
150 yilmaz 1.1
151     if(isample > 1){
152    
153     TCanvas* c1 = new TCanvas("c1","",600,600);
154 yilmaz 1.2 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 yilmaz 1.1 hn->ProfileX(Form("phn_%d",isample))->Draw("same");
163 yilmaz 1.3 c1->Print(Form("figure_c1_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
164 yilmaz 1.1
165     TCanvas* c3 = new TCanvas("c3","",600,600);
166 yilmaz 1.2 ntdijet->Draw(Form("var:genb+gens>>h%d",1),weight*dijet,"colz");
167 yilmaz 1.3 c3->Print(Form("figure_c3_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
168 yilmaz 1.2
169 yilmaz 1.1
170     TCanvas* c4 = new TCanvas("c4","",600,600);
171 yilmaz 1.2 ntdijet->Draw(Form("var:gens>>h%d",2),weight*dijet,"colz");
172 yilmaz 1.3 c4->Print(Form("figure_c4_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
173 yilmaz 1.2
174 yilmaz 1.1 TCanvas* c5 = new TCanvas("c5","",600,600);
175 yilmaz 1.2 ntdijet->Draw(Form("var:genb>>h%d",3),weight*dijet,"colz");
176 yilmaz 1.3 c5->Print(Form("figure_c5_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
177 yilmaz 1.1
178     }
179    
180     TCanvas* cc1 = new TCanvas("cc1","",600,600);
181 yilmaz 1.3
182 yilmaz 1.1 for(int i = 0; i < 4; ++i){
183 yilmaz 1.3 // 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 yilmaz 1.1 }
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 yilmaz 1.2 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 yilmaz 1.1 p[1]->Draw("hist");
224     p[0]->Draw("same");
225    
226     p[2]->Draw("same");
227     p[3]->Draw("same");
228    
229 yilmaz 1.2 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 yilmaz 1.3 cc1->Print(Form("figure_cc1_%s_%d_centMode%d.pdf",var.data(),isample,centMode));
251 yilmaz 1.2
252 yilmaz 1.1
253     return p[0];
254    
255     }
256    
257    
258 yilmaz 1.2 void plotVariable(string var = "jtpt2/jtpt1"){
259    
260     // var = "nps";
261     // var = "npb";
262 yilmaz 1.1
263 yilmaz 1.2 TCanvas* cc2 = new TCanvas("cc2","",600,600);
264 yilmaz 1.3 TFile* outf = new TFile("nothing.root","recreate");
265     TH1D* p[4];
266 yilmaz 1.1
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 yilmaz 1.2 p[1]->GetXaxis()->SetTitle(centName[centMode].data());
274 yilmaz 1.1
275     p[1]->SetMarkerStyle(25);
276     p[1]->SetMarkerColor(4);
277     p[1]->SetLineColor(4);
278    
279     p[3]->SetLineColor(4);
280    
281 yilmaz 1.2 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 yilmaz 1.1 p[1]->Draw("");
297     p[0]->Draw("same");
298     p[2]->Draw("hist same");
299     p[3]->Draw("hist same");
300    
301 yilmaz 1.2 TLegend *t3=new TLegend(0.26,0.2,0.53,0.45);
302 yilmaz 1.1 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 yilmaz 1.2 if(var == "jtpt2/jtpt1") var = "xreco";
315     if(var == "pt2/pt1") var = "xgen";
316     if(var == "acos(cos(jtphi1-jtphi2))") var = "dphi";
317    
318 yilmaz 1.3 cc2->Print(Form("figure_cc0_%s_centMode%d.pdf",var.data(),centMode));
319 yilmaz 1.2
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 yilmaz 1.3 cc3->Print(Form("figure_cc3_pPb_%s_centMode%d.pdf",var.data(),centMode));
340 yilmaz 1.2
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 yilmaz 1.3 cc4->Print(Form("figure_cc4_PbPb_%s_centMode%d.pdf",var.data(),centMode));
364 yilmaz 1.2
365 yilmaz 1.3 outf->Write();
366     outf->Close();
367 yilmaz 1.2
368 yilmaz 1.1
369     }
370    
371    
372    
373 yilmaz 1.2 void plotSignalMultiplicity(){
374    
375 yilmaz 1.3 string var = "";
376    
377     var = "etaDijet";
378 yilmaz 1.2 plotVariable(var);
379    
380     return;
381    
382 yilmaz 1.3 var = "xreco";
383     plotVariable(var);
384    
385 yilmaz 1.2 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 yilmaz 1.1
406