1 |
//
|
2 |
// 1 Jul 2010
|
3 |
//
|
4 |
// Helper code to add texts and legend to reliso fit plots.
|
5 |
// Used in:
|
6 |
// fit_data_allj_linear.C
|
7 |
// fit_data_allj_expo.C
|
8 |
//
|
9 |
//----------------------------------------------------------------
|
10 |
|
11 |
void add_cms_label(double intlumi) {
|
12 |
add_cms_label(intlumi, "");
|
13 |
}
|
14 |
|
15 |
void add_cms_label(double intlumi, string njet) {
|
16 |
|
17 |
// TPaveText * mytext = new TPaveText(0.6,0.83,0.93,0.93,"NDC");
|
18 |
TPaveText * mytext = new TPaveText(0.3, 0.8, 0.6, 0.93, "NDC");
|
19 |
mytext->AddText("CMS Preliminary");
|
20 |
mytext->AddText(Form("%.1f pb^{-1} at #sqrt{s} = 7 TeV", intlumi));
|
21 |
if (njet != "") {
|
22 |
if (njet.find('mj') != string::npos) {
|
23 |
string thisJet = njet.substr(njet.find('mj') - 1, 1);
|
24 |
mytext->AddText(Form("e+jets, N_{jets}#geq %sj", thisJet.c_str()));
|
25 |
cout << "thisjet " << thisJet << endl;
|
26 |
}
|
27 |
else if(njet.find('orMoreJets') != string::npos){
|
28 |
string thisJet = njet.substr(njet.find('orMoreJets') - 1, 1);
|
29 |
mytext->AddText(Form("e+jets, N_{jets}#geq %sj", thisJet.c_str()));
|
30 |
cout << "thisjet " << thisJet << endl;
|
31 |
}
|
32 |
else {
|
33 |
mytext->AddText(Form("e+jets, N_{jets} = %s", njet.c_str()));
|
34 |
}
|
35 |
}
|
36 |
// mytext->SetFillColor(0);
|
37 |
mytext->SetFillStyle(0);
|
38 |
mytext->SetBorderSize(0);
|
39 |
mytext->SetTextFont(42);
|
40 |
mytext->SetTextAlign(13);
|
41 |
mytext->Draw();
|
42 |
|
43 |
}
|
44 |
|
45 |
void add_fit_res(double Fit_From, double chi2, double ndf) {
|
46 |
|
47 |
// TPaveText *mt2=new TPaveText(0.6,0.7,0.93,0.8,"NDC");
|
48 |
TPaveText *mt2 = new TPaveText(0.64, 0.8, 0.93, 0.93, "NDC");
|
49 |
mt2->AddText(Form("Fit Range: %0.1f-1.6", Fit_From));
|
50 |
mt2->AddText(Form("#chi^{2}/N_{dof} = %.2f/%.0f", chi2, ndf));
|
51 |
mt2->SetBorderSize(0);
|
52 |
// mt2->SetFillColor(0);
|
53 |
mt2->SetFillStyle(0);
|
54 |
mt2->SetTextFont(42);
|
55 |
mt2->SetTextAlign(13);
|
56 |
mt2->Draw();
|
57 |
|
58 |
}
|
59 |
|
60 |
void add_legend(string func = "pol1") {
|
61 |
|
62 |
// legend
|
63 |
// TLegend *leg = new TLegend( 0.6,0.33,0.9,0.66 );
|
64 |
// TLegend *leg = new TLegend( 0.64,0.35,0.9,0.75 );
|
65 |
TLegend *leg = new TLegend(0.64, 0.4, 0.9, 0.9);
|
66 |
|
67 |
// leg->SetFillColor(0);
|
68 |
leg->SetFillStyle(0);
|
69 |
leg->SetBorderSize(0);
|
70 |
leg->SetTextFont(42);
|
71 |
|
72 |
// Here I define coloured lines for use in the legend
|
73 |
TF1 *blue = new TF1("blue", "pol0", 0, 1);
|
74 |
TF1 *red = new TF1("red", "pol0", 0, 1);
|
75 |
|
76 |
blue->SetLineColor(kBlue);
|
77 |
red->SetLineColor(kRed);
|
78 |
|
79 |
red->SetLineWidth(2);
|
80 |
blue->SetLineWidth(2);
|
81 |
|
82 |
blue->SetLineStyle(kDashed);
|
83 |
|
84 |
// Add entry to legend
|
85 |
leg->AddEntry(data, "Data", "LP");
|
86 |
if (func == "pol1")
|
87 |
leg->AddEntry(red, "Linear Fit", "l");
|
88 |
else if (func == "expo")
|
89 |
leg->AddEntry(red, "Exponenetial Fit", "l");
|
90 |
else if (func == "gaus")
|
91 |
leg->AddEntry(red, "Gaussian Fit", "l");
|
92 |
leg->AddEntry(blue, "Extrapolation", "l");
|
93 |
leg->AddEntry(tt, "t#bar{t}", "F");
|
94 |
/// leg->AddEntry(stop, "Single-Top", "F");
|
95 |
leg->AddEntry(wj, "W#rightarrowl#nu", "F");
|
96 |
leg->AddEntry(zj, "Z/#gamma*#rightarrowl^{+}l^{-}", "F");
|
97 |
leg->AddEntry(QCD, "QCD & #gamma+jets", "F");
|
98 |
leg->Draw();
|
99 |
|
100 |
}
|
101 |
|
102 |
void add_legend_nofit() {
|
103 |
|
104 |
// legend
|
105 |
TLegend *leg = new TLegend(0.6, 0.4 + 0.15, 0.9, 0.78 + 0.1);
|
106 |
// leg->SetFillColor(0);
|
107 |
leg->SetFillStyle(0);
|
108 |
leg->SetBorderSize(0);
|
109 |
leg->SetTextFont(42);
|
110 |
|
111 |
// Add entry to legend
|
112 |
leg->AddEntry(data, "Data", "LP");
|
113 |
leg->AddEntry(tt, "t#bar{t}", "F");
|
114 |
// leg->AddEntry(stop, "Single-top", "F");
|
115 |
leg->AddEntry(wj, "W#rightarrowl#nu", "F");
|
116 |
leg->AddEntry(zj, "Z/#gamma*#rightarrowl^{+}l^{-}", "F");
|
117 |
leg->AddEntry(QCD, "QCD & #gamma+jets", "F");
|
118 |
leg->Draw();
|
119 |
|
120 |
}
|
121 |
|