ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/nowaf/RootFilesInUse/MakePlots.py
Revision: 1.1.1.1 (vendor branch)
Committed: Tue Mar 20 13:12:08 2012 UTC (13 years, 1 month ago) by nowak
Content type: text/x-python
Branch: rootFilesInUse, MAIN
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
Log Message:
t files in use

File Contents

# Content
1 import ROOT
2 import sys, re
3 sys.path.append("/afs/naf.desy.de/user/n/nowaf/UserCode/nowaf/PythonScripts/")
4 import definitions as Def
5 import styles as Style
6 import MakeRealTauEst_cff as RT
7
8 if __name__ == "__main__":
9
10 Def.SetGlobalStyles( withTitle=True )
11
12 #lumi = 4683.9
13 lumi = 4992.1
14 #### v4
15 #lumi = 927.9
16 #lumi = 1000.
17
18 fileName = "_clxix"
19
20
21 saveToPS = False
22 saveToEPS = False
23
24 ##sampleList = []
25 ##sampleList.append( "LM13" )
26 ###sampleList.append( "LM8" )
27 ###sampleList.append( "LM7" )
28 ###sampleList.append( "GMSBc" )
29 ##sampleList.append( "TTbar" )
30 ##sampleList.append( "GVJets" )
31 ##sampleList.append( "WWJets" )
32 ###sampleList.append( "Zinv" )
33 ##sampleList.append( "ZJets" )
34 ##sampleList.append( "WJets" )
35 ###sampleList.append( "Multijet" )
36
37 removeSamplesAcc = []
38 #removeSamplesAcc.append( "TTbar" )
39 removeSamplesAcc.append( "GVJets" )
40 #removeSamplesAcc.append( "WWJets" )
41 #removeSamplesAcc.append( "Zinv" )
42 #removeSamplesAcc.append( "ZJets" )
43 #removeSamplesAcc.append( "WJets" )
44 #removeSamplesAcc.append( "QCDFlat" )
45 #removeSamplesAcc.append( "Data" )
46
47 addSample = []
48 addSample.append( "LM13" )
49 addSample.append( "LM2" )
50
51 fileDir = "/scratch/hh/lustre/cms/user/nowaf/2011Data/VersionII/Plots/RealTauEst/"
52
53 #theTitle = "Base-Line Selection, L = " + str( round( lumi/1000. ,1 ) ) + " fb^{-1}, #sqrt{s}=7 TeV"
54 theTitle = "CMS Preliminary, L = " + str( round( lumi/1000. ,1 ) ) + " fb^{-1}, #sqrt{s}=7 TeV"
55 #theTitle = "CMS Simulation, L = " + str( round( lumi/1000. ,1 ) ) + " fb^{-1}, #sqrt{s}=7 TeV"
56 #theTitle = "HT>350 GeV, MHT<20 GeV, " + str( round( lumi, 1 ) ) + " pb^{-1}, #sqrt{s}=7 TeV"
57 #theTitle = "L = " + str( round( lumi/1000. ,1 ) ) + " fb^{-1}, #sqrt{s}=7 TeV"
58
59 saveName = "plots/Selection/final/BaseLine_control" + fileName + "_pixelLumi"
60 if re.search( "Preliminary", theTitle ):
61 saveName = saveName + "_CMSPrelim"
62
63 #fileDict = {}
64 #fileDict[ "QCDFlat" ] = fileDir + "QCDFlat_xv.root"
65 #fileDict[ "WJets" ] = fileDir + "WJets_xv.root"
66 #fileDict[ "ZJets" ] = fileDir + "ZJets_xv.root"
67 #fileDict[ "Zinv" ] = fileDir + "Zinv_xv.root"
68 #fileDict[ "WWJets" ] = fileDir + "WWJets_xv.root"
69 #fileDict[ "GVJets" ] = fileDir + "GVJets_xv.root"
70 #fileDict[ "TTbar" ] = fileDir + "TTbar_xv.root"
71 #fileDict[ "LM13" ] = fileDir + "LM13_xv.root"
72 #fileDict[ "LM7" ] = fileDir + "LM7_xv.root"
73 #fileDict[ "LM8" ] = fileDir + "LM8_xv.root"
74 #fileDict[ "GMSBc" ] = fileDir + "GMSBc_xv.root"
75
76 #dir = "finalPlotTauControl/"
77 dir = "finalPlotTauPreSelectionControl/"
78 #dir = "finalPlotTauInvertMHTControl/"
79 #dir = "finalPlotTauPreSelectionControl60MHT100/"
80 #dir = "finalPlotMT/"
81 #dir = "finalPlotMTPre/"
82
83 histList = []
84 histList.append( "MHTMHT" )
85 ## #histList.append( "MHTMHTEta" )
86 ## #histList.append( "MHTMHTPhi" )
87 histList.append( "HTHT" )
88 histList.append( "JetSelection30Jet1Pt" )
89 histList.append( "JetSelection30Jet2Pt" )
90 histList.append( "JetSelection30Jet3Pt" )
91 histList.append( "JetSelection30Jet1Eta" )
92 histList.append( "JetSelection30Jet2Eta" )
93 histList.append( "JetSelection30Jet3Eta" )
94 ## ## #histList.append( "JetSelection30Jet1Phi" )
95 ## ## #histList.append( "JetSelection30Jet2Phi" )
96 ## ## #histList.append( "JetSelection30Jet3Phi" )
97 histList.append( "JetSelection30NumberOfJets" )
98 ## ## #histList.append( "MHTdPhiMindPhiJet1MHT" )
99 ## ## #histList.append( "MHTdPhiMindPhiJet2MHT" )
100 ## ## #histList.append( "MHTdPhiMindPhiJet3MHT" )
101 ## ## #histList.append( "ElectronVetonElectrons" )
102 ## ## #histList.append( "MuonVetonMuons" )
103 ## ## #histList.append( "TauSelectionNumberOfTaus" )
104 histList.append( "TauSelectionTau1Pt" )
105 histList.append( "TauSelectionTau1Eta" )
106 ## ## #histList.append( "TauSelectionTau1Phi" )
107 ## ## #histList.append( "TauSelectionTau2Pt" )
108 ## ## #histList.append( "dPhiJ12dphi" )
109 histList.append( "TauSelectiondPhiMHTTau" )
110 histList.append( "MHTdPhiMindPhi12" )
111 histList.append( "MHTdPhiMindPhi13" )
112 histList.append( "MHTdPhiMindPhi23" )
113 histList.append( "MHTdPhiMinmhtDphi" )
114 #histList.append( "MuonVetoMuonMTW" )
115
116
117 rebinDict = {}
118 rebinDict[ "MHTMHT" ] = 4
119 rebinDict[ "MHTMHTEta" ] = 2
120 rebinDict[ "MHTMHTPhi" ] = 2
121 rebinDict[ "HTHT" ] = 4
122 rebinDict[ "JetSelection30Jet1Pt" ] = 2
123 rebinDict[ "JetSelection30Jet2Pt" ] = 2
124 rebinDict[ "JetSelection30Jet3Pt" ] = 2
125 rebinDict[ "JetSelection30Jet1Eta" ] = 4
126 rebinDict[ "JetSelection30Jet2Eta" ] = 4
127 rebinDict[ "JetSelection30Jet3Eta" ] = 4
128 rebinDict[ "JetSelection30Jet1Phi" ] = 4
129 rebinDict[ "JetSelection30Jet2Phi" ] = 4
130 rebinDict[ "JetSelection30Jet3Phi" ] = 4
131 rebinDict[ "TauSelectionTau1Pt" ] = 4
132 rebinDict[ "TauSelectionTau1Eta" ] = 4
133 rebinDict[ "TauSelectionTau1Phi" ] = 4
134 rebinDict[ "TauSelectiondPhiMHTTau" ] = 4
135 rebinDict[ "MHTdPhiMindPhi12" ] = 4
136 rebinDict[ "MHTdPhiMindPhi13" ] = 4
137 rebinDict[ "MHTdPhiMindPhi23" ] = 4
138 rebinDict[ "MHTdPhiMinmhtDphi" ] = 4
139 rebinDict[ "MuonVetoMuonMTW" ] = 2
140
141 colorDict = {}
142 colorDict[ "QCDFlat" ] = ROOT.kYellow + 3
143 colorDict[ "TTbar" ] = ROOT.kRed + 3
144 #colorDict[ "GVJets" ] = ROOT.kRed
145 colorDict[ "ZJets" ] = ROOT.kOrange
146 colorDict[ "Zinv" ] = ROOT.kOrange - 3
147 #colorDict[ "WWJets" ] = ROOT.kOrange
148 #colorDict[ "ZZJets" ] = ROOT.kOrange
149 #colorDict[ "WZJets" ] = ROOT.kOrange
150 #colorDict[ "WWJets" ] = ROOT.kOrange + 7
151 colorDict[ "WWJets" ] = ROOT.kRed
152 colorDict[ "WJets" ] = ROOT.kYellow + 2
153 #colorDict[ "LM13" ] = ROOT.kBlue
154 colorDict[ "LM2" ] = ROOT.kBlue - 7
155 colorDict[ "LM13" ] = ROOT.kAzure + 10
156 colorDict[ "GMSBc" ] = ROOT.kCyan + 2
157 colorDict[ "Data" ] = ROOT.kBlack
158
159 xrangeDict = {}
160 xrangeDict[ "MHTMHT" ] = ( 250,1000 )
161 xrangeDict[ "MHTMHTEta" ] = ( -5,5 )
162 xrangeDict[ "MHTMHTPhi" ] = ( -3.14,3.14 )
163 xrangeDict[ "HTHT" ] = ( 350,2500 )
164 xrangeDict[ "JetSelection30Jet1Pt" ] = ( 0,1600 )
165 xrangeDict[ "JetSelection30Jet2Pt" ] = ( 0,1600 )
166 xrangeDict[ "JetSelection30Jet3Pt" ] = ( 0,1600 )
167 xrangeDict[ "JetSelection30Jet1Eta" ] = ( -5,5 )
168 xrangeDict[ "JetSelection30Jet2Eta" ] = ( -5,5 )
169 xrangeDict[ "JetSelection30Jet3Eta" ] = ( -5,5 )
170 xrangeDict[ "JetSelection30Jet1Phi" ] = ( -3.14,3.14 )
171 xrangeDict[ "JetSelection30Jet2Phi" ] = ( -3.14,3.14 )
172 xrangeDict[ "JetSelection30Jet3Phi" ] = ( -3.14,3.14 )
173 xrangeDict[ "JetSelection30NumberOfJets" ] = ( 0,20 )
174 xrangeDict[ "MHTdPhiMindPhiJet1MHT" ] = ( 0,4 )
175 xrangeDict[ "MHTdPhiMindPhiJet2MHT" ] = ( 0,4 )
176 xrangeDict[ "MHTdPhiMindPhiJet3MHT" ] = ( 0,4 )
177 xrangeDict[ "ElectronVetonElectrons" ] = ( 0,10 )
178 xrangeDict[ "MuonVetonMuons" ] = ( 0,10 )
179 xrangeDict[ "TauSelectionNumberOfTaus" ] = ( 0,10 )
180 xrangeDict[ "TauSelectionTau1Pt" ] = ( 0,500 )
181 xrangeDict[ "TauSelectionTau1Eta" ] = ( -5,5 )
182 xrangeDict[ "TauSelectionTau1Phi" ] = ( -3.14,3.14 )
183 xrangeDict[ "TauSelectionTau2Pt" ] = ( 0,1000 )
184 xrangeDict[ "dPhiJ12dphi" ] = ( 0,4 )
185 xrangeDict[ "TauSelectiondPhiMHTTau" ] = ( 0,3.14 )
186 xrangeDict[ "MHTdPhiMindPhi12" ] =( 0,3.14 )
187 xrangeDict[ "MHTdPhiMindPhi13" ] = ( 0,3.14 )
188 xrangeDict[ "MHTdPhiMindPhi23" ] = ( 0,3.14 )
189 xrangeDict[ "MHTdPhiMinmhtDphi" ] = ( 0,3.14 )
190
191 yrangeDict = {}
192 yrangeDict[ "MHTMHT" ] = ( 2*10**-1, 8*10**3 )
193 yrangeDict[ "MHTMHTEta" ] = ( 10**-2,8*10**3 )
194 yrangeDict[ "MHTMHTPhi" ] = ( 10**-2,8*10**3 )
195 yrangeDict[ "HTHT" ] = ( 2*10**-1,8*10**3 )
196 yrangeDict[ "JetSelection30Jet1Pt" ] = ( 2*10**-1,10**3 )
197 yrangeDict[ "JetSelection30Jet2Pt" ] = ( 2*10**-1,10**3 )
198 yrangeDict[ "JetSelection30Jet3Pt" ] = ( 2*10**-1,10**3 )
199 yrangeDict[ "JetSelection30Jet1Eta" ] = ( 2*10**-1,8*10**3 )
200 yrangeDict[ "JetSelection30Jet2Eta" ] = ( 2*10**-1,8*10**3 )
201 yrangeDict[ "JetSelection30Jet3Eta" ] = ( 2*10**-1,8*10**3 )
202 yrangeDict[ "JetSelection30Jet1Phi" ] = ( 10**-2,8*10**3 )
203 yrangeDict[ "JetSelection30Jet2Phi" ] = ( 10**-2,8*10**3 )
204 yrangeDict[ "JetSelection30Jet3Phi" ] = ( 10**-2,8*10**3 )
205 yrangeDict[ "JetSelection30NumberOfJets" ] = ( 10**-1,10**3 )
206 yrangeDict[ "MHTdPhiMindPhiJet1MHT" ] = ( 10**-2,3*10**3 )
207 yrangeDict[ "MHTdPhiMindPhiJet2MHT" ] = ( 10**-2,3*10**3 )
208 yrangeDict[ "MHTdPhiMindPhiJet3MHT" ] = ( 10**-2,3*10**3 )
209 yrangeDict[ "ElectronVetonElectrons" ] = ( 10**-2,3*10**3 )
210 yrangeDict[ "MuonVetonMuons" ] = ( 10**-2,3*10**3 )
211 yrangeDict[ "TauSelectionNumberOfTaus" ] = ( 10**-2,3*10**3 )
212 yrangeDict[ "TauSelectionTau1Pt" ] = ( 10**-1,10**3 )
213 yrangeDict[ "TauSelectionTau1Eta" ] = ( 10**-1,8*10**3 )
214 yrangeDict[ "TauSelectionTau1Phi" ] = ( 10**-2,8*10**3 )
215 yrangeDict[ "TauSelectionTau2Pt" ] = ( 10**-2,3*10**3 )
216 yrangeDict[ "dPhiJ12dphi" ] = ( 10**-2,3*10**3 )
217 yrangeDict[ "MHTdPhiMindPhi12" ] =( 10**-1,10**4 )
218 yrangeDict[ "MHTdPhiMindPhi13" ] = ( 10**-1,10**4 )
219 yrangeDict[ "MHTdPhiMindPhi23" ] = ( 10**-1,10**4 )
220 yrangeDict[ "MHTdPhiMinmhtDphi" ] = ( 10**-1,10**4 )
221 yrangeDict[ "TauSelectiondPhiMHTTau" ] = ( 10**-1,10**4 )
222 yrangeDict[ "MuonVetoMuonMTW" ] = ( 10**-2,3*10 )
223
224 logDict = {}
225 logDict[ "MHTMHT" ] = True
226 logDict[ "MHTMHTEta" ] = True
227 logDict[ "MHTMHTPhi" ] = True
228 logDict[ "HTHT" ] = True
229 logDict[ "JetSelection30Jet1Pt" ] = True
230 logDict[ "JetSelection30Jet2Pt" ] = True
231 logDict[ "JetSelection30Jet3Pt" ] = True
232 logDict[ "JetSelection30Jet1Eta" ] = True
233 logDict[ "JetSelection30Jet2Eta" ] = True
234 logDict[ "JetSelection30Jet3Eta" ] = True
235 logDict[ "JetSelection30Jet1Phi" ] = True
236 logDict[ "JetSelection30Jet2Phi" ] = True
237 logDict[ "JetSelection30Jet3Phi" ] = True
238 logDict[ "JetSelection30NumberOfJets" ] = True
239 logDict[ "MHTdPhiMindPhiJet1MHT" ] = True
240 logDict[ "MHTdPhiMindPhiJet2MHT" ] = True
241 logDict[ "MHTdPhiMindPhiJet3MHT" ] = True
242 logDict[ "ElectronVetonElectrons" ] = True
243 logDict[ "MuonVetonMuons" ] = True
244 logDict[ "TauSelectionNumberOfTaus" ] = True
245 logDict[ "TauSelectionTau1Pt" ] = True
246 logDict[ "TauSelectionTau1Eta" ] = True
247 logDict[ "TauSelectionTau1Phi" ] = True
248 logDict[ "TauSelectionTau2Pt" ] = True
249 logDict[ "dPhiJ12dphi" ] = True
250 logDict[ "TauSelectiondPhiMHTTau" ] = True
251 logDict[ "MHTdPhiMindPhi12" ] = True
252 logDict[ "MHTdPhiMindPhi13" ] = True
253 logDict[ "MHTdPhiMindPhi23" ] = True
254 logDict[ "MHTdPhiMinmhtDphi" ] = True
255 logDict[ "MuonVetoMuonMTW" ] = True
256
257 #scalingFactors = {}
258 #scalingFactors[ "QCDFlat" ] = lumi/100.
259 #scalingFactors[ "Z+Jets" ] = lumi/100.
260 #scalingFactors[ "VV+Jets" ] = lumi/100.
261 #scalingFactors[ "W+Jets" ] = lumi * 31300. / ( 15110974 * 0.65 )
262 #scalingFactors[ "TTbar" ] = lumi * 165 / ( 1164208. * 0.90 )
263 #scalingFactors[ "GV+Jets" ] = lumi * 173 / 1102193.
264 #scalingFactors[ "Zinv" ] = lumi * 5760 / 2165002.
265 #scalingFactors[ "LM13" ] = lumi * 6.9 / 219915.
266 #scalingFactors[ "LM7" ] = lumi * 1.2 / 220000.
267 #scalingFactors[ "LM8" ] = lumi * 0.7 / 220000.
268 #scalingFactors[ "GMSBc" ] = lumi * 0.25 / 219595.
269
270 titleDict = {}
271 titleDict[ "MHTMHT" ] = ( "#slash H_{T} [GeV]", "" )
272 titleDict[ "MHTMHTPhi" ] = ( "#phi^{MHT}", "" )
273 titleDict[ "MHTMHTEta" ] = ( "#eta^{MHT}", "" )
274 titleDict[ "HTHT" ] = ( "H_{T} [GeV]", "" )
275 titleDict[ "JetSelection30Jet1Pt" ] = ( "P_{T}^{jet1} [GeV]", "" )
276 titleDict[ "JetSelection30Jet2Pt" ] = ( "P_{T}^{jet2} [GeV]", "" )
277 titleDict[ "JetSelection30Jet3Pt" ] = ( "P_{T}^{jet3} [GeV]", "" )
278 titleDict[ "JetSelection30Jet1Eta" ] = ( "#eta^{jet1}", "" )
279 titleDict[ "JetSelection30Jet2Eta" ] = ( "#eta^{jet2}", "" )
280 titleDict[ "JetSelection30Jet3Eta" ] = ( "#eta^{jet3}", "" )
281 titleDict[ "JetSelection30Jet1Phi" ] = ( "#phi^{jet1}", "" )
282 titleDict[ "JetSelection30Jet2Phi" ] = ( "#phi^{jet2}", "" )
283 titleDict[ "JetSelection30Jet3Phi" ] = ( "#phi^{jet3}", "" )
284 titleDict[ "JetSelection30NumberOfJets" ] = ( "Number of jets", "" )
285 titleDict[ "MHTdPhiMindPhiJet1MHT" ] = ( "#Delta #Phi (Jet1,MHT)", "" )
286 titleDict[ "MHTdPhiMindPhiJet2MHT" ] = ( "#Delta #Phi (Jet2,MHT)", "" )
287 titleDict[ "MHTdPhiMindPhiJet3MHT" ] = ( "#Delta #Phi (Jet3,MHT)", "" )
288 titleDict[ "ElectronVetonElectrons" ] = ( "number of electrons", "" )
289 titleDict[ "MuonVetonMuons" ] = ( "number of muons", "" )
290 titleDict[ "TauSelectionNumberOfTaus" ] = ( "Number of taus", "" )
291 titleDict[ "TauSelectionTau1Pt" ] = ( "P_{T}^{#tau} [GeV]", "" )
292 titleDict[ "TauSelectionTau1Eta" ] = ( "#eta^{#tau}", "" )
293 titleDict[ "TauSelectionTau1Phi" ] = ( "#phi^{#tau}", "" )
294 titleDict[ "TauSelectionTau2Pt" ] = ( "P_{T} (Tau2) [GeV]", "" )
295 titleDict[ "dPhiJ12dphi" ] = ( "#Delta #Phi (Jet1,Jet2)", "" )
296 titleDict[ "TauSelectiondPhiMHTTau" ] = ( "#Delta #Phi (MHT,#tau)", "" )
297 titleDict[ "MHTdPhiMindPhi12" ] = ( "#Delta #Phi (jet1,jet2)", "" )
298 titleDict[ "MHTdPhiMindPhi13" ] = ( "#Delta #Phi (jet1,jet3)", "" )
299 titleDict[ "MHTdPhiMindPhi23" ] = ( "#Delta #Phi (jet2,jet3)", "" )
300 titleDict[ "MHTdPhiMinmhtDphi" ] = ( "min #Delta #Phi (MHT,jet123)", "" )
301 titleDict[ "MuonVetoMuonMTW" ] = ( "M_{T} [GeV]", "" )
302
303 positionDict = {}
304 positionDict[ "MHTdPhiMindPhiJet1MHT" ] = "ul"
305 positionDict[ "MHTdPhiMindPhiJet2MHT" ] = "ul"
306 positionDict[ "MHTdPhiMindPhiJet3MHT" ] = "ul"
307 positionDict[ "dPhiJ12dphi" ] = "ul"
308
309 lDict = {}
310 lDict[ "QCDFlat" ] = "QCD"
311 lDict[ "TTbar" ] = "t#bar{t}"
312 lDict[ "GVJets" ] = "#gamma+V+Jets"
313 lDict[ "ZJets" ] = "Z->ll +Jets"
314 lDict[ "Zinv" ] = "Z->#nu#nu +Jets"
315 lDict[ "WWJets" ] = "WW + Jets"
316 lDict[ "WJets" ] = "W + Jets"
317 lDict[ "LM13" ] = "LM13"
318 lDict[ "LM2" ] = "LM2"
319 #lDict[ "LM8" ] = "Signal"
320 #lDict[ "GMSBc" ] = "Signal"
321 lDict[ "Data" ] = "Data"
322
323 statusDict = {}
324 statusDict[ "QCDFlat" ] = "BG"
325 statusDict[ "QCD" ] = "BG"
326 #statusDict[ "QCDFlat" ] = "Signal"
327 statusDict[ "TTbar" ] = "BG"
328 statusDict[ "t#bar{t}" ] = "BG"
329 statusDict[ "GVJets" ] = "BG"
330 statusDict[ "#gamma+V+Jets" ] = "BG"
331 statusDict[ "ZJets" ] = "BG"
332 statusDict[ "Z->ll +Jets" ] = "BG"
333 statusDict[ "Zinv" ] = "BG"
334 statusDict[ "Z->#nu#nu +Jets" ] = "BG"
335 statusDict[ "WWJets" ] = "BG"
336 statusDict[ "WW + Jets" ] = "BG"
337 statusDict[ "WJets" ] = "BG"
338 statusDict[ "W + Jets" ] = "BG"
339 statusDict[ "LM13" ] = "Signal"
340 statusDict[ "LM2" ] = "Signal"
341 statusDict[ "LM8" ] = "Signal"
342 statusDict[ "GMSBc" ] = "Signal"
343 statusDict[ "Data" ] = "Data"
344
345
346 lineDict = {}
347 #lineDict[ "HTHT" ] = ( 600, 600, 10**-2, 10 )
348 #lineDict[ "MHTMHT" ] = ( 400, 400, 10**-2, 10 )
349 if re.search( "MT", dir ):
350 lineDict[ "MuonVetoMuonMTW" ] = ( 100, 100, 10**-2, 10 )
351 pass
352
353
354 legendList = []
355
356
357 #######################################################################
358
359 accReadIn = RT.ReadIn( fileDir, fileName, lumi, rebinDict )
360 accReadIn.removeSamples( removeSamplesAcc )
361 accReadIn.addSamples( addSample )
362 accReadIn.removeHists( [ "MHT" ] )
363 accReadIn.addHists( histList ) #accReadIn.dontScale()
364 histDict = accReadIn.getHists( dir )
365 for hist in accReadIn.histList:
366 for file in accReadIn.sampleList:
367 if hist in titleDict.keys():
368 binWidth = histDict[ hist ][ file ].GetBinWidth( 1 )
369
370 xtitle = titleDict[ hist ][ 0 ]
371 ytitle = "Events/" + str( int( binWidth ) ) + " GeV"
372 if not hist in titleDict.keys() or not re.search( "GeV", titleDict[ hist ][ 0 ] ):
373 ytitle = "Events"
374 pass
375 histDict[ hist ][ file ].UseCurrentStyle()
376 Style.setHistStyle( histDict[ hist ][ file ] , status=statusDict[ file ],\
377 color=colorDict[ file ], xTitle=xtitle, yTitle=ytitle,
378 markerStyle=20, title=theTitle )
379 if hist in xrangeDict.keys():
380 histDict[ hist ][ file ].GetXaxis().SetRangeUser( xrangeDict[ hist ][ 0 ], xrangeDict[ hist ][ 1 ] )
381 pass
382 if hist in yrangeDict.keys():
383 histDict[ hist ][ file ].GetYaxis().SetRangeUser( yrangeDict[ hist ][ 0 ], yrangeDict[ hist ][ 1 ] )
384 pass
385 pass
386 pass
387
388 for file in accReadIn.sampleList:
389 legendList.append( lDict[ file ] )
390 pass
391
392 #### get lists of samples not to be stacked
393 NonStackList = []
394 DataList = []
395 StackList = []
396 for sample in accReadIn.sampleList:
397 if statusDict[ sample ] == "Data":
398 DataList.append( sample )
399 elif statusDict[ sample ] == "Signal":
400 NonStackList.append( sample )
401 #elif statusDict[ sample ] == "BG":
402 # StackList.append( sample )
403 pass
404 pass
405
406
407 cDict = {}
408 stackDict = {}
409 legDict = {}
410 textDict = {}
411 tlineDict = {}
412 for hist in histList:
413
414 #### make the stack
415 if len( NonStackList + DataList ) != len( accReadIn.sampleList ):
416 stackDict[ hist ] = ROOT.THStack( hist, hist )
417 for sample in accReadIn.sampleList:
418 if statusDict[ sample ] == "BG":
419 stackDict[ hist ].Add( histDict[ hist ][ sample ] )
420 pass
421 pass
422 pass
423
424 cDict[ hist ] = ROOT.TCanvas( hist, hist )
425 cDict[ hist ].cd()
426
427 #### draw non-stack stuff first
428 option = ""
429 for dsample in DataList:
430 histDict[ hist ][ dsample ].Draw( option )
431 option = "same"
432 pass
433
434 nondataOption = "hist"
435 for nssample in NonStackList:
436 histDict[ hist ][ nssample ].Draw( nondataOption+option )
437 option = "same"
438 pass
439
440
441 #### i hate stacks.
442 #### set all the fucking stylings AGAIN.
443 if stackDict:
444
445 #### now draw the stack
446 stackDict[ hist ].Draw( nondataOption+option )
447
448 if hist in xrangeDict.keys():
449 stackDict[ hist ].GetXaxis().SetRangeUser( xrangeDict[ hist ][ 0 ], xrangeDict[ hist ][ 1 ] )
450 pass
451 if hist in yrangeDict.keys():
452 #stackDict[ hist ].GetYaxis().SetRangeUser( yrangeDict[ hist ][ 0 ], yrangeDict[ hist ][ 1 ] )
453 stackDict[ hist ].SetMinimum( yrangeDict[ hist ][ 0 ] )
454 stackDict[ hist ].SetMaximum( yrangeDict[ hist ][ 1 ] )
455 pass
456 if hist in titleDict.keys():
457 stackDict[ hist ].GetXaxis().SetTitle( titleDict[ hist ][ 0 ] )
458 stackDict[ hist ].GetYaxis().SetTitle( titleDict[ hist ][ 1 ] )
459 pass
460
461 stackDict[ hist ].SetTitle( "" )
462 #xaxis = stackDict[ hist ].GetHistogram().GetXaxis()
463 #yaxis = stackDict[ hist ].GetHistogram().GetYaxis()
464 xaxis = stackDict[ hist ].GetHistogram()
465 pass
466
467 #### draw non-stack stuff again
468
469 for nssample in NonStackList:
470 if hist in xrangeDict.keys():
471 histDict[ hist ][ nssample ].GetXaxis().SetRangeUser( xrangeDict[ hist ][ 0 ], xrangeDict[ hist ][ 1 ] )
472 pass
473 histDict[ hist ][ nssample ].SetMinimum( yrangeDict[ hist ][ 0 ] )
474 histDict[ hist ][ nssample ].SetMaximum( yrangeDict[ hist ][ 1 ] )
475 histDict[ hist ][ nssample ].Draw( nondataOption + option )
476 option = "same"
477 pass
478
479 for dsample in DataList:
480 if hist in xrangeDict.keys():
481 histDict[ hist ][ dsample ].GetXaxis().SetRangeUser( xrangeDict[ hist ][ 0 ], xrangeDict[ hist ][ 1 ] )
482 pass
483 histDict[ hist ][ dsample ].SetMinimum( yrangeDict[ hist ][ 0 ] )
484 histDict[ hist ][ dsample ].SetMaximum( yrangeDict[ hist ][ 1 ] )
485 histDict[ hist ][ dsample ].Draw( option )
486 option = "same"
487 pass
488
489 #Style.redrawAxis()
490 #xaxis.Draw( "same" )
491 #yaxis.Draw( "same" )
492 xaxis.Draw( "axissame" )
493
494 if hist in logDict.keys() and logDict[ hist ]:
495 ROOT.gPad.SetLogy()
496 pass
497 cDict[ hist ].Update()
498
499 position = "ur"
500 if hist in positionDict.keys():
501 position = positionDict[ hist ]
502 pass
503
504 legDict[ hist ] = Style.makeLegend( hist, histDict, accReadIn.sampleList, statusDict=statusDict,
505 position=position, aliasList=legendList, textSize=0.032 )
506 legDict[ hist ].Draw( "same" )
507
508 #if hist in latexDict.keys():
509 # for i in range( 0, len( latexDict[ hist ][ 0 ] ) ):
510 # textDict[ hist + str ( i ) ] = ROOT.TLatex( latexDict[ hist ][ 1 ][ i ], \
511 # latexDict[ hist ][ 2 ][ i ], \
512 # latexDict[ hist ][ 0 ][ i ] )
513 # textDict[ hist + str ( i ) ].Draw( "same" )
514 # pass
515 # pass
516
517 if hist in lineDict:
518 tlineDict[ hist ] = ROOT.TLine( lineDict[ hist ][ 0 ],
519 lineDict[ hist ][ 2 ],
520 lineDict[ hist ][ 1 ],
521 lineDict[ hist ][ 3 ])
522 tlineDict[ hist ].SetLineWidth( 2 )
523 tlineDict[ hist ].SetLineColor( 13 )
524 tlineDict[ hist ].Draw( "same" )
525 pass
526
527
528
529 cDict[ hist ].Update()
530
531 pass
532
533 if saveToPS:
534 Style.saveToPS( saveName, cDict, histList )
535 if saveToEPS:
536 Style.saveToEPS( saveName, cDict )
537 pass
538
539 Def.DontQuit()
540
541
542
543