ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/wangdy/sys/rootstyle.py
Revision: 1.5
Committed: Tue Jun 30 08:59:19 2009 UTC (15 years, 10 months ago) by wangdy
Content type: text/x-python
Branch: MAIN
Changes since 1.4: +91 -2 lines
Log Message:
add mitstyle and some style functions

File Contents

# User Rev Content
1 wangdy 1.1 ##
2 wangdy 1.2 ## $Log: rootstyle.py,v $
3 wangdy 1.5 ## Revision 1.4 2009/06/26 10:13:31 wangdy
4     ## first import ildstyle; add yastyle and ildstyle directly into root logon
5     ##
6 wangdy 1.4 ## Revision 1.3 2008/01/18 15:51:18 wangdy
7     ## adjust top margin of the pad w/(o) title
8     ##
9 wangdy 1.3 ## Revision 1.2 2008/01/18 11:33:19 wangdy
10     ## add setting for title color
11     ##
12 wangdy 1.2 ## Revision 1.1 2008/01/18 10:58:00 wangdy
13     ## first import several root style related scripts
14     ##
15 wangdy 1.1 ##
16    
17     """ Dayong's rootlogon file, python version """
18    
19     from ROOT import *
20    
21 wangdy 1.4
22     atlasStyle=TStyle("atlasStyle","Atlas style")
23     tdrStyle = TStyle("tdrStyle","Style for P-TDR")
24     ildStyle = TStyle("ildStyle","ILD Style")
25     yaStyle = TStyle("yaStyle","Yet Another Style, for talks")
26 wangdy 1.5 MITStyle = TStyle("mitStyle","The Perfect Style for Plots ;-)");
27    
28 wangdy 1.4
29 wangdy 1.1 def atlasstyle():
30    
31     """ ATLAS stylebased on a style file from BaBar"""
32    
33     global atlasStyle
34     ##.. style from RooLogon.C in workdir
35 wangdy 1.3 ## atlasStyle=TStyle("ATLAS","Atlas style")
36 wangdy 1.1
37     ## use plain black on white colors
38     icol=0
39     atlasStyle.SetFrameBorderMode(icol)
40 wangdy 1.4 atlasStyle.SetFrameFillColor(icol)
41 wangdy 1.1 atlasStyle.SetCanvasBorderMode(icol)
42     atlasStyle.SetPadBorderMode(icol)
43     atlasStyle.SetPadColor(icol)
44     atlasStyle.SetCanvasColor(icol)
45     atlasStyle.SetStatColor(icol)
46     ##atlasStyle.SetFillColor(icol)
47    
48     ## set the paper & margin sizes
49     atlasStyle.SetPaperSize(20,26)
50 wangdy 1.3
51     ## with title:0.07 ;no title:0.05
52     atlasStyle.SetPadTopMargin(0.07)
53 wangdy 1.1 atlasStyle.SetPadRightMargin(0.05)
54 wangdy 1.3
55     ## with title:0.14 ;no title:0.16
56     atlasStyle.SetPadBottomMargin(0.14)
57 wangdy 1.1 atlasStyle.SetPadLeftMargin(0.12)
58    
59     ## use large fonts
60     ##Int_t font=72
61     font=42
62     tsize=0.05
63     atlasStyle.SetTextFont(font)
64    
65    
66     atlasStyle.SetTextSize(tsize)
67     atlasStyle.SetLabelFont(font,"x")
68     atlasStyle.SetTitleFont(font,"x")
69     atlasStyle.SetLabelFont(font,"y")
70     atlasStyle.SetTitleFont(font,"y")
71     atlasStyle.SetLabelFont(font,"z")
72     atlasStyle.SetTitleFont(font,"z")
73    
74     atlasStyle.SetLabelSize(tsize,"x")
75     atlasStyle.SetTitleSize(tsize,"x")
76     atlasStyle.SetLabelSize(tsize,"y")
77     atlasStyle.SetTitleSize(tsize,"y")
78     atlasStyle.SetLabelSize(tsize,"z")
79     atlasStyle.SetTitleSize(tsize,"z")
80    
81 wangdy 1.2 ## dayong add some settings for title
82     atlasStyle.SetTitleFillColor(0)
83 wangdy 1.1
84     ##use bold lines and markers
85     atlasStyle.SetMarkerStyle(20)
86     atlasStyle.SetMarkerSize(1.2)
87     atlasStyle.SetHistLineWidth(2)
88     atlasStyle.SetLineStyleString(2,"[12 12]") ## postscript dashes
89    
90     ##get rid of X error bars and y error bar caps
91     ##atlasStyle.SetErrorX(0.001)
92    
93     ##do not display any of the standard histogram decorations
94     atlasStyle.SetOptTitle(0)
95     ##atlasStyle.SetOptStat(1111)
96     atlasStyle.SetOptStat(0)
97     ##atlasStyle.SetOptFit(1111)
98     atlasStyle.SetOptFit(0)
99    
100     ## put tick marks on top and RHS of plots
101     atlasStyle.SetPadTickX(1)
102     atlasStyle.SetPadTickY(1)
103     gROOT.SetStyle("ATLAS")
104     gROOT.ForceStyle()
105    
106    
107     def tdrstyle():
108    
109     """
110     Here is CMS ptdr style
111     """
112     global tdrStyle
113 wangdy 1.3 ## tdrStyle = TStyle("tdrStyle","Style for P-TDR")
114 wangdy 1.1
115     ## For the canvas:
116     tdrStyle.SetCanvasBorderMode(0)
117     tdrStyle.SetCanvasColor(kWhite)
118     tdrStyle.SetCanvasDefH(600) ##Height of canvas
119     tdrStyle.SetCanvasDefW(600) ##Width of canvas
120     tdrStyle.SetCanvasDefX(0) ##POsition on screen
121     tdrStyle.SetCanvasDefY(0)
122    
123     ## For the Pad:
124     tdrStyle.SetPadBorderMode(0)
125     ## tdrStyle.SetPadBorderSize(Width_t size = 1)
126     tdrStyle.SetPadColor(kWhite)
127     tdrStyle.SetPadGridX(false)
128     tdrStyle.SetPadGridY(false)
129     tdrStyle.SetGridColor(0)
130     tdrStyle.SetGridStyle(3)
131     tdrStyle.SetGridWidth(1)
132    
133     ## For the frame:
134     tdrStyle.SetFrameBorderMode(0)
135     tdrStyle.SetFrameBorderSize(1)
136     tdrStyle.SetFrameFillColor(0)
137     tdrStyle.SetFrameFillStyle(0)
138     tdrStyle.SetFrameLineColor(1)
139     tdrStyle.SetFrameLineStyle(1)
140     tdrStyle.SetFrameLineWidth(1)
141    
142     ## For the histo:
143     ## tdrStyle.SetHistFillColor(1)
144     ## tdrStyle.SetHistFillStyle(0)
145     tdrStyle.SetHistLineColor(1)
146     tdrStyle.SetHistLineStyle(0)
147     tdrStyle.SetHistLineWidth(1)
148     ## tdrStyle.SetLegoInnerR(Float_t rad = 0.5)
149     ## tdrStyle.SetNumberContours(Int_t number = 20)
150     tdrStyle.SetEndErrorSize(2)
151     tdrStyle.SetMarkerStyle(20)
152     tdrStyle.SetErrorX(0.)
153     tdrStyle.SetMarkerStyle(20)
154    
155     ##For the fit/function:
156     tdrStyle.SetOptFit(1)
157     tdrStyle.SetFitFormat("5.4g")
158     tdrStyle.SetFuncColor(2)
159     tdrStyle.SetFuncStyle(1)
160     tdrStyle.SetFuncWidth(1)
161    
162     ##For the date:
163     tdrStyle.SetOptDate(0)
164     ## tdrStyle.SetDateX(Float_t x = 0.01)
165     ## tdrStyle.SetDateY(Float_t y = 0.01)
166    
167     ## For the statistics box:
168     tdrStyle.SetOptFile(0)
169     tdrStyle.SetOptStat(0) ## To display the mean and RMS: SetOptStat("mr")
170     tdrStyle.SetStatColor(kWhite)
171     tdrStyle.SetStatFont(42)
172     tdrStyle.SetStatFontSize(0.025)
173     tdrStyle.SetStatTextColor(1)
174     tdrStyle.SetStatFormat("6.4g")
175     tdrStyle.SetStatBorderSize(1)
176     tdrStyle.SetStatH(0.1)
177     tdrStyle.SetStatW(0.15)
178     ## tdrStyle.SetStatStyle(Style_t style = 1001)
179     ## tdrStyle.SetStatX(Float_t x = 0)
180     ## tdrStyle.SetStatY(Float_t y = 0)
181    
182     ## Margins:
183     tdrStyle.SetPadTopMargin(0.05)
184     tdrStyle.SetPadBottomMargin(0.13)
185     tdrStyle.SetPadLeftMargin(0.16)
186     tdrStyle.SetPadRightMargin(0.02)
187    
188     ## For the Global title:
189     tdrStyle.SetOptTitle(0)
190     tdrStyle.SetTitleFont(42)
191     tdrStyle.SetTitleColor(1)
192     tdrStyle.SetTitleTextColor(1)
193     tdrStyle.SetTitleFillColor(0)
194     tdrStyle.SetTitleFontSize(0.05)
195     ## tdrStyle.SetTitleH(0) ## Set the height of the title box
196     ## tdrStyle.SetTitleW(0) ## Set the width of the title box
197     ## tdrStyle.SetTitleX(0) ## Set the position of the title box
198     ## tdrStyle.SetTitleY(0.985) ## Set the position of the title box
199     ## tdrStyle.SetTitleStyle(Style_t style = 1001)
200     ## tdrStyle.SetTitleBorderSize(2)
201    
202     ## For the axis titles:
203     tdrStyle.SetTitleColor(1, "XYZ")
204     tdrStyle.SetTitleFont(42, "XYZ")
205     tdrStyle.SetTitleSize(0.06, "XYZ")
206     ## tdrStyle.SetTitleXSize(Float_t size = 0.02) ## Another way to set the size?
207     ## tdrStyle.SetTitleYSize(Float_t size = 0.02)
208     tdrStyle.SetTitleXOffset(0.9)
209     tdrStyle.SetTitleYOffset(1.25)
210     ## tdrStyle.SetTitleOffset(1.1, "Y") ## Another way to set the Offset
211    
212     ## For the axis labels:
213     tdrStyle.SetLabelColor(1, "XYZ")
214     tdrStyle.SetLabelFont(42, "XYZ")
215     tdrStyle.SetLabelOffset(0.007, "XYZ")
216     tdrStyle.SetLabelSize(0.05, "XYZ")
217    
218     ## For the axis:
219     tdrStyle.SetAxisColor(1, "XYZ")
220     tdrStyle.SetStripDecimals(kTRUE)
221     tdrStyle.SetTickLength(0.03, "XYZ")
222     tdrStyle.SetNdivisions(510, "XYZ")
223     tdrStyle.SetPadTickX(1) ## To get tick marks on the opposite side of the frame
224     tdrStyle.SetPadTickY(1)
225    
226     ## Change for log plots:
227     tdrStyle.SetOptLogx(0)
228     tdrStyle.SetOptLogy(0)
229     tdrStyle.SetOptLogz(0)
230    
231     ## Postscript options:
232     ## tdrStyle.SetPaperSize(20.,20.)
233     ## tdrStyle.SetLineScalePS(Float_t scale = 3)
234     ## tdrStyle.SetLineStyleString(Int_t i, const char* text)
235     ## tdrStyle.SetHeaderPS(const char* header)
236     ## tdrStyle.SetTitlePS(const char* pstitle)
237    
238     ## tdrStyle.SetBarOffset(Float_t baroff = 0.5)
239     ## tdrStyle.SetBarWidth(Float_t barwidth = 0.5)
240     ## tdrStyle.SetPaintTextFormat(const char* format = "g")
241     ## tdrStyle.SetPalette(Int_t ncolors = 0, Int_t* colors = 0)
242     ## tdrStyle.SetTimeOffset(Double_t toffset)
243     ## tdrStyle.SetHistMinimumZero(kTRUE)
244     gROOT.SetStyle("tdrStyle")
245     gROOT.ForceStyle()
246    
247 wangdy 1.4 def ildstyle():
248    
249     """
250     Here is ILD style
251     """
252     global ildStyle
253    
254    
255     #set the background color to white
256     ildStyle.SetFillColor(10)
257     ildStyle.SetFrameFillColor(10)
258     ildStyle.SetCanvasColor(10)
259     ildStyle.SetPadColor(10)
260     ildStyle.SetTitleFillColor(0)
261     ildStyle.SetStatColor(10)
262    
263     #dont put a colored frame around the plots
264     ildStyle.SetFrameBorderMode(0)
265     ildStyle.SetCanvasBorderMode(0)
266     ildStyle.SetPadBorderMode(0)
267     ildStyle.SetLegendBorderSize(0)
268    
269     #use the primary color palette
270     ildStyle.SetPalette(1,0)
271    
272     #set the default line color for a histogram to be black
273     ildStyle.SetHistLineColor(kBlack)
274    
275     #set the default line color for a fit function to be red
276     ildStyle.SetFuncColor(kRed)
277    
278     #make the axis labels black
279     ildStyle.SetLabelColor(kBlack,"xyz")
280    
281     #set the default title color to be black
282     ildStyle.SetTitleColor(kBlack)
283    
284     #set the margins
285     ildStyle.SetPadBottomMargin(0.18)
286     ildStyle.SetPadTopMargin(0.08)
287     ildStyle.SetPadRightMargin(0.08)
288     ildStyle.SetPadLeftMargin(0.17)
289    
290     #set axis label and title text sizes
291     ildStyle.SetLabelFont(42,"xyz")
292     ildStyle.SetLabelSize(0.06,"xyz")
293     ildStyle.SetLabelOffset(0.015,"xyz")
294     ildStyle.SetTitleFont(42,"xyz")
295     ildStyle.SetTitleSize(0.07,"xyz")
296     ildStyle.SetTitleOffset(1.1,"yz")
297     ildStyle.SetTitleOffset(1.0,"x")
298     ildStyle.SetStatFont(42)
299     ildStyle.SetStatFontSize(0.07)
300     ildStyle.SetTitleBorderSize(0)
301     ildStyle.SetStatBorderSize(0)
302     ildStyle.SetTextFont(42)
303    
304     #set line widths
305     ildStyle.SetFrameLineWidth(2)
306     ildStyle.SetFuncWidth(2)
307     ildStyle.SetHistLineWidth(2)
308    
309     #set the number of divisions to show
310     ildStyle.SetNdivisions(506, "xy")
311    
312     #turn off xy grids
313     ildStyle.SetPadGridX(0)
314     ildStyle.SetPadGridY(0)
315    
316     #set the tick mark style
317     ildStyle.SetPadTickX(1)
318     ildStyle.SetPadTickY(1)
319    
320     #turn off stats
321     ildStyle.SetOptStat(0)
322     ildStyle.SetOptFit(0)
323    
324     #marker settings
325     ildStyle.SetMarkerStyle(20)
326     ildStyle.SetMarkerSize(0.7)
327     ildStyle.SetLineWidth(2)
328    
329     gROOT.SetStyle("ildStyle")
330     gROOT.ForceStyle()
331    
332     def yastyle():
333    
334     """
335     Here is Yet Another style
336     """
337     global yaStyle
338    
339     yaStyle.SetFillColor(0)
340     yaStyle.SetOptDate()
341     yaStyle.SetOptStat(111110)
342     yaStyle.SetOptFit(1111)
343     yaStyle.SetPadTickX(1)
344     yaStyle.SetPadTickY(1)
345     yaStyle.SetMarkerSize(0.5)
346     yaStyle.SetMarkerStyle(8)
347     yaStyle.SetGridStyle(3)
348     yaStyle.SetPaperSize(TStyle::kA4)
349     yaStyle.SetStatW(0.35) # width of statistics box; default is 0.19
350     yaStyle.SetStatH(0.20) # height of statistics box; default is 0.1
351     yaStyle.SetStatFormat("6.4g") # leave default format for now
352     yaStyle.SetTitleSize(0.055, "") # size for pad title; default is 0.02
353     # Really big; useful for talks.
354     yaStyle.SetTitleSize(0.1, "") # size for pad title; default is 0.02
355     yaStyle.SetLabelSize(0.05, "XYZ") # size for axis labels; default is 0.04
356     yaStyle.SetStatFontSize(0.06) # size for stat. box
357     yaStyle.SetTitleFont(32, "XYZ") # times-bold-italic font (p. 153) for axes
358     yaStyle.SetTitleFont(32, "") # same for pad title
359     yaStyle.SetLabelFont(32, "XYZ") # same for axis labels
360     yaStyle.SetStatFont(32) # same for stat. box
361     yaStyle.SetLabelOffset(0.006, "Y") # default is 0.005
362    
363     gROOT.SetStyle("yaStyle")
364     gROOT.ForceStyle()
365    
366 wangdy 1.5 def mitstyle():
367     global MITStyle
368     # Canvas
369     MITStyle.SetCanvasColor (0);
370     MITStyle.SetCanvasBorderSize(10);
371     MITStyle.SetCanvasBorderMode(0);
372     MITStyle.SetCanvasDefH (700);
373     MITStyle.SetCanvasDefW (700);
374     MITStyle.SetCanvasDefX (100);
375     MITStyle.SetCanvasDefY (100);
376    
377     # Pads
378     MITStyle.SetPadColor (0);
379     MITStyle.SetPadBorderSize (10);
380     MITStyle.SetPadBorderMode (0);
381     MITStyle.SetPadBottomMargin(0.13);
382     MITStyle.SetPadTopMargin (0.08);
383     MITStyle.SetPadLeftMargin (0.15);
384     MITStyle.SetPadRightMargin (0.05);
385     MITStyle.SetPadGridX (0);
386     MITStyle.SetPadGridY (0);
387     MITStyle.SetPadTickX (0);
388     MITStyle.SetPadTickY (0);
389    
390     # Frames
391     MITStyle.SetFrameFillStyle ( 0);
392     MITStyle.SetFrameFillColor ( 0);
393     MITStyle.SetFrameLineColor ( 1);
394     MITStyle.SetFrameLineStyle ( 0);
395     MITStyle.SetFrameLineWidth ( 1);
396     MITStyle.SetFrameBorderSize(10);
397     MITStyle.SetFrameBorderMode( 0);
398    
399     # Histograms
400     MITStyle.SetHistFillColor(2);
401     MITStyle.SetHistFillStyle(0);
402     MITStyle.SetHistLineColor(1);
403     MITStyle.SetHistLineStyle(0);
404     MITStyle.SetHistLineWidth(2);
405     MITStyle.SetNdivisions(505);
406    
407     # Functions
408     MITStyle.SetFuncColor(1);
409     MITStyle.SetFuncStyle(0);
410     MITStyle.SetFuncWidth(2);
411    
412     # Various
413     MITStyle.SetMarkerStyle(20);
414     MITStyle.SetMarkerColor(kBlack);
415     MITStyle.SetMarkerSize (1.2);
416    
417     MITStyle.SetTitleSize (0.055,"X");
418     MITStyle.SetTitleOffset(0.900,"X");
419     MITStyle.SetLabelOffset(0.005,"X");
420     MITStyle.SetLabelSize (0.050,"X");
421     MITStyle.SetLabelFont (42 ,"X");
422    
423     MITStyle.SetStripDecimals(kFALSE);
424    
425     MITStyle.SetTitleSize (0.055,"Y");
426     MITStyle.SetTitleOffset(1.300,"Y");
427     MITStyle.SetLabelOffset(0.010,"Y");
428     MITStyle.SetLabelSize (0.050,"Y");
429     MITStyle.SetLabelFont (42 ,"Y");
430    
431     MITStyle.SetTextSize (0.055);
432     MITStyle.SetTextFont (42);
433    
434     MITStyle.SetStatFont (42);
435     MITStyle.SetTitleFont (42);
436     MITStyle.SetTitleFont (42,"X");
437     MITStyle.SetTitleFont (42,"Y");
438    
439     MITStyle.SetPalette (1);
440    
441     MITStyle.SetOptStat (0);
442     #MITStyle.SetOptStat (111111);
443     gROOT.SetStyle("mitStyle")
444     gROOT.ForceStyle()
445    
446    
447    
448    
449 wangdy 1.1 if __name__ == '__main__':
450 wangdy 1.3 ## default style
451 wangdy 1.1 gROOT.SetStyle("Plain")
452     gStyle.SetOptStat(1111111)
453     gStyle.SetPadTickX(1)
454     gStyle.SetPadTickY(1)
455    
456 wangdy 1.4 ## activate these two style following way: better way
457     # atlasstyle()
458     # tdrstyle()
459     # ildstyle()
460     # yastyle()
461 wangdy 1.5 # mitstyle()
462 wangdy 1.1 ## activate these two style following way
463 wangdy 1.4 ## gROOT.SetStyle("atlasStyle")
464 wangdy 1.1 ## gROOT.SetStyle("tdrStyle")
465 wangdy 1.4 ## gROOT.SetStyle("ildStyle")
466 wangdy 1.5 ## gROOT.SetStyle("yaStyle")
467     ## gROOT.SetStyle("mitStyle")
468 wangdy 1.1 ## gROOT.ForceStyle()
469    
470    
471