1 |
#include <TCanvas.h>
|
2 |
#include <TPad.h>
|
3 |
#include <TH1.h>
|
4 |
#include <TStyle.h>
|
5 |
#include "MitStyleRemix.h"
|
6 |
|
7 |
void MitStyleRemix() {
|
8 |
const char* author = "$Author: dkralph $$";
|
9 |
const char* modified = "$Modified by ksung $$";
|
10 |
printf(" MIT root style REMIX(%s,%s).\n",author,modified);
|
11 |
printf("\n");
|
12 |
printf(" Use: MakeCanvas(name,title)\n");
|
13 |
printf(" InitSubPad(pad,nPad)\n");
|
14 |
printf(" InitHist(hist,xTitle,yTitle,color)\n");
|
15 |
printf("\n");
|
16 |
SetStyle();
|
17 |
}
|
18 |
|
19 |
TCanvas* MakeCanvas(const char* name, const char *title, int dX, int dY)
|
20 |
{
|
21 |
// Start with a canvas
|
22 |
TCanvas *canvas = new TCanvas(name,title,0,0,dX,dY);
|
23 |
// General overall stuff
|
24 |
canvas->SetFillColor (0);
|
25 |
canvas->SetBorderMode (0);
|
26 |
canvas->SetBorderSize (10);
|
27 |
// Set margins to reasonable defaults
|
28 |
canvas->SetLeftMargin (0.18);
|
29 |
canvas->SetRightMargin (0.05);
|
30 |
canvas->SetTopMargin (0.08);
|
31 |
canvas->SetBottomMargin (0.15);
|
32 |
// Setup a frame which makes sense
|
33 |
canvas->SetFrameFillStyle (0);
|
34 |
canvas->SetFrameLineStyle (0);
|
35 |
canvas->SetFrameBorderMode(0);
|
36 |
canvas->SetFrameBorderSize(10);
|
37 |
canvas->SetFrameFillStyle (0);
|
38 |
canvas->SetFrameLineStyle (0);
|
39 |
canvas->SetFrameBorderMode(0);
|
40 |
canvas->SetFrameBorderSize(10);
|
41 |
|
42 |
return canvas;
|
43 |
}
|
44 |
|
45 |
void InitSubPad(TPad* pad, int i)
|
46 |
{
|
47 |
//printf("Pad: %p, index: %d\n",pad,i);
|
48 |
|
49 |
pad->cd(i);
|
50 |
TPad *tmpPad = (TPad*) pad->GetPad(i);
|
51 |
tmpPad->SetLeftMargin (0.18);
|
52 |
tmpPad->SetTopMargin (0.05);
|
53 |
tmpPad->SetRightMargin (0.07);
|
54 |
tmpPad->SetBottomMargin(0.15);
|
55 |
return;
|
56 |
}
|
57 |
|
58 |
void InitHist(TH1 *hist, const char *xtit, const char *ytit, EColor color)
|
59 |
{
|
60 |
hist->SetXTitle(xtit);
|
61 |
hist->SetYTitle(ytit);
|
62 |
hist->SetLineColor(color);
|
63 |
hist->SetTitleSize (0.055,"Y");
|
64 |
hist->SetTitleOffset(1.600,"Y");
|
65 |
hist->SetLabelOffset(0.014,"Y");
|
66 |
hist->SetLabelSize (0.050,"Y");
|
67 |
hist->SetLabelFont (42 ,"Y");
|
68 |
hist->SetTitleSize (0.055,"X");
|
69 |
hist->SetTitleOffset(1.300,"X");
|
70 |
hist->SetLabelOffset(0.014,"X");
|
71 |
hist->SetLabelSize (0.050,"X");
|
72 |
hist->SetLabelFont (42 ,"X");
|
73 |
hist->SetMarkerStyle(20);
|
74 |
hist->SetMarkerColor(color);
|
75 |
hist->SetMarkerSize (0.6);
|
76 |
// Strangely enough this cannot be set anywhere else??
|
77 |
hist->GetYaxis()->SetTitleFont(42);
|
78 |
hist->GetXaxis()->SetTitleFont(42);
|
79 |
hist->SetTitle("");
|
80 |
return;
|
81 |
}
|
82 |
|
83 |
void SetStyle()
|
84 |
{
|
85 |
TStyle *MITStyle = new TStyle("MIT-Style","The Perfect Style for Plots ;-)");
|
86 |
gStyle = MITStyle;
|
87 |
|
88 |
// Canvas
|
89 |
MITStyle->SetCanvasColor (0);
|
90 |
MITStyle->SetCanvasBorderSize(10);
|
91 |
MITStyle->SetCanvasBorderMode(0);
|
92 |
MITStyle->SetCanvasDefH (700);
|
93 |
MITStyle->SetCanvasDefW (700);
|
94 |
MITStyle->SetCanvasDefX (100);
|
95 |
MITStyle->SetCanvasDefY (100);
|
96 |
|
97 |
// Pads
|
98 |
MITStyle->SetPadColor (0);
|
99 |
MITStyle->SetPadBorderSize (10);
|
100 |
MITStyle->SetPadBorderMode (0);
|
101 |
MITStyle->SetPadBottomMargin(0.13);
|
102 |
MITStyle->SetPadTopMargin (0.08);
|
103 |
MITStyle->SetPadLeftMargin (0.15);
|
104 |
MITStyle->SetPadRightMargin (0.05);
|
105 |
MITStyle->SetPadGridX (0);
|
106 |
MITStyle->SetPadGridY (0);
|
107 |
MITStyle->SetPadTickX (0);
|
108 |
MITStyle->SetPadTickY (0);
|
109 |
|
110 |
// Legends
|
111 |
MITStyle->SetLegendFillColor(0);
|
112 |
|
113 |
// Frames
|
114 |
MITStyle->SetFrameFillStyle ( 0);
|
115 |
MITStyle->SetFrameFillColor ( 0);
|
116 |
MITStyle->SetFrameLineColor ( 1);
|
117 |
MITStyle->SetFrameLineStyle ( 0);
|
118 |
MITStyle->SetFrameLineWidth ( 1);
|
119 |
MITStyle->SetFrameBorderSize(10);
|
120 |
MITStyle->SetFrameBorderMode( 0);
|
121 |
|
122 |
// Histograms
|
123 |
MITStyle->SetHistFillColor(2);
|
124 |
MITStyle->SetHistFillStyle(0);
|
125 |
MITStyle->SetHistLineColor(1);
|
126 |
MITStyle->SetHistLineStyle(0);
|
127 |
MITStyle->SetHistLineWidth(2);
|
128 |
MITStyle->SetNdivisions(505);
|
129 |
|
130 |
// Functions
|
131 |
MITStyle->SetFuncColor(1);
|
132 |
MITStyle->SetFuncStyle(0);
|
133 |
MITStyle->SetFuncWidth(2);
|
134 |
|
135 |
// Various
|
136 |
MITStyle->SetMarkerStyle(20);
|
137 |
MITStyle->SetMarkerColor(kBlack);
|
138 |
MITStyle->SetMarkerSize (1.2);
|
139 |
|
140 |
MITStyle->SetTitleBorderSize(0);
|
141 |
MITStyle->SetTitleFillColor (0);
|
142 |
MITStyle->SetTitleX (0.2);
|
143 |
|
144 |
MITStyle->SetTitleSize (0.085,"X");
|
145 |
MITStyle->SetTitleOffset(0.600,"X");
|
146 |
MITStyle->SetLabelOffset(0.005,"X");
|
147 |
MITStyle->SetLabelSize (0.050,"X");
|
148 |
MITStyle->SetLabelFont (42 ,"X");
|
149 |
|
150 |
MITStyle->SetStripDecimals(kFALSE);
|
151 |
|
152 |
MITStyle->SetTitleSize (0.085,"Y");
|
153 |
MITStyle->SetTitleOffset(0.800,"Y");
|
154 |
MITStyle->SetLabelOffset(0.010,"Y");
|
155 |
MITStyle->SetLabelSize (0.050,"Y");
|
156 |
MITStyle->SetLabelFont (42 ,"Y");
|
157 |
|
158 |
MITStyle->SetTextSize (0.055);
|
159 |
MITStyle->SetTextFont (42);
|
160 |
|
161 |
MITStyle->SetStatFont (42);
|
162 |
MITStyle->SetTitleFont (42);
|
163 |
MITStyle->SetTitleFont (42,"X");
|
164 |
MITStyle->SetTitleFont (42,"Y");
|
165 |
|
166 |
MITStyle->SetOptStat (0);
|
167 |
return;
|
168 |
}
|