ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dhidas/OSUAnalysis/Tools/scripts/add_text.C
Revision: 1.1
Committed: Thu Dec 1 16:28:48 2011 UTC (13 years, 5 months ago) by dhidas
Content type: text/plain
Branch point for: dhidas, MAIN
Log Message:
Initial revision

File Contents

# User Rev Content
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