ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dhidas/OSUAnalysis/Tools/scripts/HistPlotter.py
Revision: 1.1.1.1 (vendor branch)
Committed: Thu Dec 1 16:28:48 2011 UTC (13 years, 5 months ago) by dhidas
Content type: text/x-python
Branch: dhidas, MAIN
CVS Tags: START, HEAD
Changes since 1.1: +0 -0 lines
Log Message:
osu copy modified

File Contents

# User Rev Content
1 dhidas 1.1 from tdrStyle import *
2     from ROOT import *
3    
4    
5     def setStyle():
6     tdrStyle = setTDRStyle();
7    
8     #slight adaptation
9     tdrStyle.SetPadRightMargin( 0.05 ); #originally was 0.02, too narrow!
10     tdrStyle.SetStatH( 0.2 );
11     #tdrStyle.SetOptStat(1110);//off title
12     tdrStyle.SetOptStat( 0 );#off title
13     tdrStyle.SetOptFit( 0 );#off title
14     tdrStyle.cd();
15     gROOT.ForceStyle();
16    
17    
18     def rebin( hists, nbins, histname ):
19     for sample in hists.keys():
20     if len( hists[sample].keys() ) == 0:
21     continue
22     if '*' in histname:
23     nameToken = histname.replace('*', '')
24     histlist = hists[sample]
25     for name in histlist.keys():
26     if nameToken in name:
27     hists[sample][name].Rebin( nbins )
28     elif hists[sample].has_key( histname ):
29     hists[sample][histname].Rebin( nbins )
30     return hists
31    
32     def setXRange( hists, limits = ( 0, 5000 ), histname = '' ):
33     for sample in hists.keys():
34     if len( hists[sample].keys() ) == 0:
35     continue
36     if '*' in histname:
37     nameToken = histname.replace('*', '')
38     histlist = hists[sample]
39     for name in histlist.keys():
40     if nameToken in name:
41     hists[sample][name].GetXaxis().SetRangeUser( limits[0], limits[1] )
42     elif hists[sample].has_key( histname ):
43     hists[sample][histname].GetXaxis().SetRangeUser( limits[0], limits[1] );
44     return hists
45    
46    
47     def setXTitle( hists, title, histname = '' ):
48     for sample in hists.keys():
49     if len( hists[sample].keys() ) == 0:
50     continue
51     if '*' in histname:
52     nameToken = histname.replace('*', '')
53     histlist = hists[sample]
54     for name in histlist.keys():
55     if nameToken in name:
56     hists[sample][name].SetXTitle( title )
57     elif hists[sample].has_key( histname ):
58     hists[sample][histname].SetXTitle( title );
59     return hists
60    
61     def setYTitle( hists, title, histname = '' ):
62     for sample in hists.keys():
63     if len( hists[sample].keys() ) == 0:
64     continue
65     if '*' in histname:
66     nameToken = histname.replace('*', '')
67     histlist = hists[sample]
68     for name in histlist.keys():
69     if nameToken in name:
70     hists[sample][name].SetYTitle( title )
71     elif hists[sample].has_key( histname ):
72     hists[sample][histname].SetYTitle( title );
73     return hists
74    
75     # for sample in hists.keys():
76     # if len( hists[sample].keys() ) == 0 or not hists[sample].has_key( histname ) or not len( limits ) == 2:
77     # continue
78     # hists[sample][histname].GetXaxis().SetRangeUser( limits[0], limits[1] );
79     # return hists
80    
81     def applyDefaultStylesAndColors( hists ):
82     defaultColors = {'data':0,
83     'ttbar' : kRed + 1,
84     'wjets' : kGreen - 3,
85     'zjets' : kAzure - 2,
86     'bce1' : kRed-7,
87     'bce2' : kRed-8,
88     'bce3' : kRed-9,
89     'enri1' : kBlue-7,
90     'enri2' : kBlue-8,
91     'enri3' : kBlue-9,
92     'pj1' : kYellow-7,
93     'pj2' : kYellow-8,
94     'pj3' : kYellow-9,
95     'qcd': kYellow,
96     'singleTop': kMagenta,
97     'Zprime500': kTeal - 9,
98     'Zprime750': kBlue - 6,
99     'Zprime1000': 28,
100     'Zprime1250': kCyan - 5,
101     'Zprime1500': kOrange + 1, }
102    
103     for sample, histlist in hists.iteritems():
104     if not sample in defaultColors.keys():
105     continue
106     for histname, hist in histlist.iteritems():
107     hists[sample][histname].SetFillColor( defaultColors[sample] )
108     if histname == 'data':
109     hists[sample][histname].SetMarkerStyle( 8 )
110     elif 'Zprime' in histname:
111     hists[sample][histname].SetFillStyle( 0 )
112     hists[sample][histname].SetLineColor( defaultColors[sample] )
113     else:
114     hists[sample][histname].SetFillStyle( 1001 );
115    
116     return hists
117