1 |
dhidas |
1.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 |
|
|
|