1 |
dasu |
1.3 |
#include <string>
|
2 |
|
|
|
3 |
|
|
void Plot()
|
4 |
dasu |
1.1 |
{
|
5 |
dasu |
1.3 |
|
6 |
|
|
char fName[1024];
|
7 |
|
|
|
8 |
dasu |
1.4 |
std::string zhName("ZHmmbb-v5-plots.root");
|
9 |
|
|
std::string zzName("ZZmmbb-v5-plots.root");
|
10 |
|
|
std::string zjName("Zmm-v5-plots.root");
|
11 |
dasu |
1.3 |
|
12 |
|
|
// Make plots
|
13 |
|
|
|
14 |
|
|
TFile zh(zhName.c_str());
|
15 |
|
|
TFile zj(zjName.c_str());
|
16 |
|
|
TFile zz(zzName.c_str());
|
17 |
dasu |
1.1 |
|
18 |
|
|
TH1F *zhmuonpt=zh.Get("Muons Pt");
|
19 |
|
|
TH1F *zjmuonpt=zj.Get("Muons Pt");
|
20 |
|
|
TH1F *zzmuonpt=zz.Get("Muons Pt");
|
21 |
|
|
|
22 |
|
|
zjmuonpt->SetLineColor(kGreen);
|
23 |
|
|
zzmuonpt->SetLineColor(kOrange+3);
|
24 |
|
|
zhmuonpt->SetLineColor(kRed);
|
25 |
|
|
|
26 |
|
|
zjmuonpt->Scale(1./zjmuonpt->Integral());
|
27 |
|
|
zzmuonpt->Scale(1./zzmuonpt->Integral());
|
28 |
|
|
zhmuonpt->Scale(1./zhmuonpt->Integral());
|
29 |
|
|
|
30 |
|
|
TCanvas c1;
|
31 |
|
|
|
32 |
dasu |
1.3 |
zhmuonpt->Draw();
|
33 |
dasu |
1.1 |
zzmuonpt->Draw("same");
|
34 |
dasu |
1.3 |
zjmuonpt->Draw("same");
|
35 |
dasu |
1.1 |
|
36 |
|
|
TLegend *lg=new TLegend(0.5,0.5,0.7,0.7);
|
37 |
|
|
lg->SetFillColor(kWhite);
|
38 |
|
|
lg->AddEntry(zhmuonpt,"ZH, m(H)=120 GeV","l");
|
39 |
|
|
lg->AddEntry(zjmuonpt,"Z+jets","l");
|
40 |
|
|
lg->AddEntry(zzmuonpt,"ZZ","l");
|
41 |
|
|
lg->Draw();
|
42 |
|
|
|
43 |
dasu |
1.3 |
c1.SaveAs("muonPt.png");;
|
44 |
dasu |
1.1 |
|
45 |
|
|
/////////////////////////////
|
46 |
|
|
|
47 |
|
|
TH1F *zhzinvmass=zh.Get("Z invmass");
|
48 |
|
|
TH1F *zjzinvmass=zj.Get("Z invmass");
|
49 |
|
|
TH1F *zzzinvmass=zz.Get("Z invmass");
|
50 |
|
|
|
51 |
|
|
zjzinvmass->SetLineColor(kGreen);
|
52 |
|
|
zzzinvmass->SetLineColor(kOrange+3);
|
53 |
|
|
zhzinvmass->SetLineColor(kRed);
|
54 |
|
|
|
55 |
|
|
zjzinvmass->Scale(1./zjzinvmass->Integral());
|
56 |
|
|
zzzinvmass->Scale(1./zzzinvmass->Integral());
|
57 |
|
|
zhzinvmass->Scale(1./zhzinvmass->Integral());
|
58 |
|
|
|
59 |
|
|
TCanvas c5;
|
60 |
|
|
|
61 |
dasu |
1.3 |
zhzinvmass->Draw();
|
62 |
dasu |
1.1 |
zzzinvmass->Draw("same");
|
63 |
dasu |
1.3 |
zjzinvmass->Draw("same");
|
64 |
dasu |
1.1 |
|
65 |
|
|
TLegend *lg5=new TLegend(0.5,0.5,0.7,0.7);
|
66 |
|
|
lg5->SetFillColor(kWhite);
|
67 |
|
|
lg5->AddEntry(zhzinvmass,"ZH, m(H)=120 GeV","l");
|
68 |
|
|
lg5->AddEntry(zjzinvmass,"Z+jets","l");
|
69 |
|
|
lg5->AddEntry(zzzinvmass,"ZZ","l");
|
70 |
|
|
lg5->Draw();
|
71 |
|
|
|
72 |
dasu |
1.3 |
c5.SaveAs("ZMass.png");;
|
73 |
dasu |
1.1 |
|
74 |
|
|
/////////////////////////////
|
75 |
|
|
|
76 |
dasu |
1.3 |
vector<string> geom;
|
77 |
|
|
geom.push_back("Phase 1");
|
78 |
|
|
geom.push_back("StdGeom");
|
79 |
|
|
|
80 |
|
|
vector<string> bJetOP;
|
81 |
|
|
bJetOP.push_back("Loose");
|
82 |
|
|
bJetOP.push_back("Medium");
|
83 |
|
|
bJetOP.push_back("Tight");
|
84 |
|
|
|
85 |
|
|
vector<string> hNames;
|
86 |
|
|
hNames.push_back("B-jets Et ");
|
87 |
|
|
hNames.push_back("B-jets Eta ");
|
88 |
dasu |
1.5 |
hNames.push_back("B-jets Phi ");
|
89 |
dasu |
1.3 |
hNames.push_back("B-jets Mult. ");
|
90 |
dasu |
1.5 |
hNames.push_back("H invmass preselection ");
|
91 |
|
|
hNames.push_back("H Phi ");
|
92 |
dasu |
1.3 |
hNames.push_back("Z Pt ");
|
93 |
|
|
hNames.push_back("H Pt ");
|
94 |
dasu |
1.5 |
hNames.push_back("Dphi(Z,H) ");
|
95 |
dasu |
1.3 |
hNames.push_back("H invmass ");
|
96 |
|
|
|
97 |
|
|
for(int i = 0; i < geom.size(); i++) {
|
98 |
|
|
for(int j = 0; j < bJetOP.size(); j++) {
|
99 |
|
|
for(int k = 0; k < hNames.size(); k++) {
|
100 |
|
|
|
101 |
|
|
cout << hNames[k] << endl;
|
102 |
|
|
|
103 |
|
|
string hName(hNames[k].c_str());
|
104 |
|
|
hName += bJetOP[j];
|
105 |
|
|
hName += " ";
|
106 |
|
|
hName += geom[i];
|
107 |
|
|
|
108 |
|
|
cout << hName << endl;
|
109 |
|
|
|
110 |
|
|
TH1F *zhHist=zh.Get(hName.c_str());
|
111 |
|
|
TH1F *zjHist=zj.Get(hName.c_str());
|
112 |
|
|
TH1F *zzHist=zz.Get(hName.c_str());
|
113 |
dasu |
1.5 |
|
114 |
dasu |
1.3 |
if(zhHist == 0 || zjHist == 0 || zzHist == 0) {
|
115 |
|
|
cout << "Failed to find " << hName << endl;
|
116 |
|
|
break;
|
117 |
|
|
}
|
118 |
dasu |
1.5 |
|
119 |
|
|
if(i > 7) {
|
120 |
|
|
zhHist.Rebin(10);
|
121 |
|
|
zjHist.Rebin(10);
|
122 |
|
|
zzHist.Rebin(10);
|
123 |
|
|
}
|
124 |
dasu |
1.3 |
|
125 |
|
|
zjHist->SetLineColor(kGreen);
|
126 |
dasu |
1.5 |
zzHist->SetLineColor(kOrange);
|
127 |
dasu |
1.3 |
zhHist->SetLineColor(kRed);
|
128 |
dasu |
1.5 |
//zjHist->SetFillColor(kYellow);
|
129 |
|
|
zzHist->SetFillColor(kBlue);
|
130 |
|
|
zhHist->SetFillColor(kBlack);
|
131 |
|
|
|
132 |
|
|
// zjHist->Scale(1./zjHist->Integral());
|
133 |
|
|
// zzHist->Scale(1./zzHist->Integral());
|
134 |
|
|
// zhHist->Scale(1./zhHist->Integral());
|
135 |
dasu |
1.3 |
|
136 |
|
|
TCanvas *c = new TCanvas();
|
137 |
|
|
|
138 |
|
|
zhHist->Draw();
|
139 |
|
|
zzHist->Draw("same");
|
140 |
|
|
zjHist->Draw("same");
|
141 |
|
|
|
142 |
|
|
TLegend *lg2=new TLegend(0.5,0.5,0.7,0.7);
|
143 |
|
|
lg2->SetFillColor(kWhite);
|
144 |
|
|
lg2->AddEntry(zhHist,"ZH, m(H)=120 GeV","l");
|
145 |
|
|
lg2->AddEntry(zjHist,"Z+jets","l");
|
146 |
|
|
lg2->AddEntry(zzHist,"ZZ","l");
|
147 |
|
|
lg2->Draw();
|
148 |
|
|
|
149 |
|
|
strcpy(fName, hName.c_str());
|
150 |
|
|
for(int l = 0; l < strlen(fName); l++) {
|
151 |
|
|
if(fName[l] == ' ') fName[l] = '-';
|
152 |
|
|
}
|
153 |
|
|
strcat(fName, ".png");
|
154 |
|
|
c->SaveAs(fName);
|
155 |
|
|
|
156 |
dasu |
1.5 |
TCanvas *cStack = new TCanvas();
|
157 |
|
|
THStack *stack = new THStack("Stack", hName.c_str());
|
158 |
|
|
stack->Add(zjHist);
|
159 |
|
|
stack->Add(zzHist);
|
160 |
|
|
stack->Add(zhHist);
|
161 |
|
|
gPad->SetLogy(1);
|
162 |
|
|
stack->Draw();
|
163 |
|
|
lg2->Draw();
|
164 |
|
|
fName[strlen(fName)-4] = 0;
|
165 |
|
|
strcat(fName, "-stack.png");
|
166 |
|
|
cStack->SaveAs(fName);
|
167 |
|
|
gPad->SetLogy(0);
|
168 |
|
|
|
169 |
dasu |
1.3 |
}
|
170 |
|
|
}
|
171 |
|
|
}
|
172 |
|
|
|
173 |
dasu |
1.1 |
}
|