1 |
#include <string>
|
2 |
|
3 |
void Plot()
|
4 |
{
|
5 |
|
6 |
char fName[1024];
|
7 |
|
8 |
std::string zhName("ZHmmbb-v5-plots.root");
|
9 |
std::string zzName("ZZmmbb-v5-plots.root");
|
10 |
std::string zjName("Zmm-v5-plots.root");
|
11 |
|
12 |
// Make plots
|
13 |
|
14 |
TFile zh(zhName.c_str());
|
15 |
TFile zj(zjName.c_str());
|
16 |
TFile zz(zzName.c_str());
|
17 |
|
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 |
zhmuonpt->Draw();
|
33 |
zzmuonpt->Draw("same");
|
34 |
zjmuonpt->Draw("same");
|
35 |
|
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 |
c1.SaveAs("muonPt.png");;
|
44 |
|
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 |
zhzinvmass->Draw();
|
62 |
zzzinvmass->Draw("same");
|
63 |
zjzinvmass->Draw("same");
|
64 |
|
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 |
c5.SaveAs("ZMass.png");;
|
73 |
|
74 |
/////////////////////////////
|
75 |
|
76 |
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 |
hNames.push_back("B-jets Phi ");
|
89 |
hNames.push_back("B-jets Mult. ");
|
90 |
hNames.push_back("H invmass preselection ");
|
91 |
hNames.push_back("H Phi ");
|
92 |
hNames.push_back("Z Pt ");
|
93 |
hNames.push_back("H Pt ");
|
94 |
hNames.push_back("Dphi(Z,H) ");
|
95 |
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 |
|
114 |
if(zhHist == 0 || zjHist == 0 || zzHist == 0) {
|
115 |
cout << "Failed to find " << hName << endl;
|
116 |
break;
|
117 |
}
|
118 |
|
119 |
if(i > 7) {
|
120 |
zhHist.Rebin(10);
|
121 |
zjHist.Rebin(10);
|
122 |
zzHist.Rebin(10);
|
123 |
}
|
124 |
|
125 |
zjHist->SetLineColor(kGreen);
|
126 |
zzHist->SetLineColor(kOrange);
|
127 |
zhHist->SetLineColor(kRed);
|
128 |
//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 |
|
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 |
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 |
}
|
170 |
}
|
171 |
}
|
172 |
|
173 |
}
|