ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/nowaf/RootFilesInUse/MakeErrPlotsData.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

# User Rev Content
1 nowak 1.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 FakeHelper as FH
7     from array import array
8    
9     if __name__ == "__main__":
10    
11     Def.SetGlobalStyles()
12    
13     sampleList = []
14     sampleList.append( "Data" )
15    
16     fileDict = {}
17     fileDict[ "Data" ] = "/scratch/hh/lustre/cms/user/nowaf/2011Data/VersionII/Plots/Data_fakes_xiv/Data_Fakes_xiv.root"
18    
19    
20     fileName = "./" + "Data" + "_fakes.root"
21    
22     rebin = 1
23     #rebin = 4
24    
25     TrigList = []
26     #TrigList.append( 30 )
27     #TrigList.append( 60 )
28     #TrigList.append( 80 )
29     #TrigList.append( 110 )
30     #TrigList.append( 150 )
31     #TrigList.append( 190 )
32     #TrigList.append( 240 )
33     TrigList.append( 300 )
34     TrigList.append( 370 )
35    
36     initialHistDict = {}
37     initialHistDict[ "JetTauPtJPT" ] = "JetPtJPT"
38     initialHistDict[ "JetTauEtaJPT" ] = "JetEtaJPT"
39     #initialHistDict[ "JetTauDist" ] = "JetDist"
40     #initialHistDict[ "JetTauIsoRel" ] = "JetIsoRel"
41     initialHistDict[ "JetTauEtaJPTPt20" ] = "JetEtaJPTPt20"
42     initialHistDict[ "JetTauEtaJPTPt40" ] = "JetEtaJPTPt40"
43     initialHistDict[ "JetTauEtaJPTPt60" ] = "JetEtaJPTPt60"
44     initialHistDict[ "JetTauEtaJPTPt80" ] = "JetEtaJPTPt80"
45     initialHistDict[ "JetTauEtaJPTPt100" ] = "JetEtaJPTPt100"
46     initialHistDict[ "JetTauEtaJPTPt200" ] = "JetEtaJPTPt200"
47     initialHistDict[ "JetTauEtaJPTPt500" ] = "JetEtaJPTPt500"
48     initialHistDict[ "JetTauEtaJPTPtInf" ] = "JetEtaJPTPtInf"
49     initialHistDict[ "JetTauPtJPTeta1" ] = "JetPtJPTeta1"
50     initialHistDict[ "JetTauPtJPTeta2" ] = "JetPtJPTeta2"
51     initialHistDict[ "JetTauPtJPTeta25" ] = "JetPtJPTeta25"
52     initialHistDict[ "JetTauIsoReleta1" ] = "JetIsoReleta1"
53     initialHistDict[ "JetTauIsoReleta2" ] = "JetIsoReleta2"
54     initialHistDict[ "JetTauIsoReleta25" ] = "JetIsoReleta25"
55     initialHistDict[ "JetTauIsoRelPt20" ] = "JetIsoRelPt20"
56     initialHistDict[ "JetTauIsoRelPt40" ] = "JetIsoRelPt40"
57     initialHistDict[ "JetTauIsoRelPt60" ] = "JetIsoRelPt60"
58     initialHistDict[ "JetTauIsoRelPt80" ] = "JetIsoRelPt80"
59     initialHistDict[ "JetTauIsoRelPt100" ] = "JetIsoRelPt100"
60     initialHistDict[ "JetTauIsoRelPt200" ] = "JetIsoRelPt200"
61     initialHistDict[ "JetTauIsoRelPt500" ] = "JetIsoRelPt500"
62     initialHistDict[ "JetTauIsoRelPtInf" ] = "JetIsoRelPtInf"
63    
64     histDict = {}
65     graph = {}
66     Mean = {}
67     ErrUp = {}
68     ErrDwn = {}
69     for hist in initialHistDict:
70     print "----- ", hist
71     #histDict[ hist ] = {}
72     #graph[ hist ] = {}
73     #histDict[ initialHistDict[ hist ] ] = {}
74     #Mean[ hist ] = {}
75     #ErrUp[ hist ] = {}
76     #ErrDwn[ hist ] = {}
77     rootfile = ROOT.TFile.Open( fileDict[ "Data" ] )
78     for trig in TrigList:
79     dir = "FakeRateDiJetsLoose3Jet" + str( trig ) + "/"
80     #print dir + hist
81     h = rootfile.Get( dir + hist )
82     h.SetDirectory( 0 )
83     h.UseCurrentStyle()
84     h.Rebin( rebin )
85     if not hist in histDict.keys():
86     histDict[ hist ] = h.Clone()
87     else:
88     histDict[ hist ].Add( h.Clone() )
89    
90    
91     h = rootfile.Get( dir + initialHistDict[ hist ] )
92     h.SetDirectory( 0 )
93     h.UseCurrentStyle()
94     h.Rebin( rebin )
95     if not initialHistDict[ hist ] in histDict.keys():
96     histDict[ initialHistDict[ hist ] ] = h.Clone()
97     else:
98     histDict[ initialHistDict[ hist ] ].Add( h.Clone() )
99     pass
100     pass
101     pass
102     ##### temporary
103     #for trig in TrigList:
104     histDict[ "JetEtaJPT" ] = histDict[ "JetEtaJPTPt20" ].Clone()
105     histDict[ "JetTauEtaJPT" ] = histDict[ "JetTauEtaJPTPt20" ].Clone()
106     for hist in [ "JetEtaJPTPt40", "JetEtaJPTPt60", "JetEtaJPTPt80", "JetEtaJPTPt100",
107     "JetEtaJPTPt200", "JetEtaJPTPt500", "JetEtaJPTPtInf"]:
108     histDict[ "JetEtaJPT" ].Add( histDict[ hist ] )
109     pass
110     for hist in [ "JetTauEtaJPTPt40", "JetTauEtaJPTPt60", "JetTauEtaJPTPt80", "JetTauEtaJPTPt100",
111     "JetTauEtaJPTPt200", "JetTauEtaJPTPt500", "JetTauEtaJPTPtInf"]:
112     histDict[ "JetTauEtaJPT" ].Add( histDict[ hist ] )
113     pass
114    
115     for hist in initialHistDict:
116     #### make new, empty hists with same binning:
117     Mean[ hist ] = ROOT.TH1F( hist + "Mean", hist + "Mean",
118     histDict[ hist ].GetNbinsX(),
119     histDict[ hist ].GetXaxis().GetXmin(),
120     histDict[ hist ].GetXaxis().GetXmax() )
121    
122     ErrUp[ hist ] = ROOT.TH1F( hist + "ErrUp", hist + "ErrUp",
123     histDict[ hist ].GetNbinsX(),
124     histDict[ hist ].GetXaxis().GetXmin(),
125     histDict[ hist ].GetXaxis().GetXmax() )
126    
127     ErrDwn[ hist ] = ROOT.TH1F( hist + "ErrDwn", hist + "ErrDwn",
128     histDict[ hist ].GetNbinsX(),
129     histDict[ hist ].GetXaxis().GetXmin(),
130     histDict[ hist ].GetXaxis().GetXmax() )
131    
132     Mean[ hist ].SetDirectory( 0 )
133     ErrUp[ hist ].SetDirectory( 0 )
134     ErrDwn[ hist ].SetDirectory( 0 )
135    
136     #print type( Mean[ hist ][ file ][ dir ] )
137    
138     lowerBinsHist = FH.getLowerBins( histDict[ hist ], nEntries = 5 )
139     lowerBinsHist2 = FH.getLowerBins( histDict[ initialHistDict[ hist ] ], nEntries = 5 )
140    
141     rebinList = FH.mergeList( [ lowerBinsHist, lowerBinsHist2 ] )
142     obj = array( 'd' )
143     for b in rebinList:
144     obj.append( b )
145     pass
146     histDict[ hist ] = \
147     histDict[ hist ].Rebin( len( rebinList ) -1 , hist , obj )
148     histDict[ initialHistDict[ hist ] ] = \
149     histDict[ initialHistDict[ hist ] ].Rebin( len( rebinList ) -1 , hist , obj )
150     Mean[ hist ] = Mean[ hist ].Rebin( len( rebinList ) -1 , hist , obj )
151     ErrUp[ hist ] = ErrUp[ hist ].Rebin( len( rebinList ) -1 , hist , obj )
152     ErrDwn[ hist ] = ErrDwn[ hist ].Rebin( len( rebinList ) -1 , hist , obj )
153    
154     Style.setHistStyle( Mean[ hist ],
155     status="Signal",
156     color=1,
157     xTitle="Tau P_{T} [GeV]", yTitle="eff" )
158     Style.setHistStyle( ErrUp[ hist ],
159     status="Signal",
160     color=9,
161     xTitle="Tau P_{T} [GeV]", yTitle="eff" )
162     Style.setHistStyle( ErrDwn[ hist ],
163     status="Signal",
164     color=9,
165     xTitle="Tau P_{T} [GeV]", yTitle="eff" )
166    
167     #histDict[ hist ][ file ].Divide( histDict[ initialHistDict[ hist ] ][ file ] )
168     #### make a TGraph first:
169     graph[ hist ] = ROOT.TGraphAsymmErrors()
170     graph[ hist ].BayesDivide( histDict[ hist ],
171     histDict[ initialHistDict[ hist ] ] )
172     graph[ hist ].UseCurrentStyle()
173    
174     #graph[ hist ][ file ].Draw( "AP" )
175     #Def.DontQuit()
176     #print type( Mean[ hist ][ file ][ dir ] )
177    
178     ### now get the mean, the err ups, and the err downs
179     ### note: bins start at 1, points at 0!
180     for bin in range( 0, histDict[ hist ].GetNbinsX() ):
181     x = ROOT.Double( 0 )
182     y = ROOT.Double( 0 )
183     graph[ hist ].GetPoint( ( bin ) , x, y )
184     #print bin, " x=", x, " y=", y
185     errUp = graph[ hist ].GetErrorYhigh( bin )
186     errDwn = graph[ hist ].GetErrorYlow( bin )
187     Mean[ hist ].SetBinContent( bin + 1, y )
188     #print type( Mean[ hist ][ file ][ dir ] )
189     if not y == 0:
190     ErrUp[ hist ].SetBinContent( bin + 1, y + errUp )
191     ErrDwn[ hist ].SetBinContent( bin + 1, y - errDwn )
192     pass
193     else:
194     ErrUp[ hist ].SetBinContent( bin + 1, 0 )
195     ErrDwn[ hist ].SetBinContent( bin + 1, 0 )
196     pass
197     #rootfile.Close()
198     pass
199     pass
200    
201     for file in sampleList:
202     newrootfile = ROOT.TFile( fileName, "RECREATE" )
203     #for dir in dirs:
204     newrootfile.mkdir( "FakeRateDiJetsLoose3Jet" )
205     thedir = newrootfile.GetDirectory( "FakeRateDiJetsLoose3Jet" )
206     for hist in initialHistDict.keys():
207     Mean[ hist ].SetName( hist )
208     ErrUp[ hist ].SetName( hist + "ErrUp" )
209     ErrDwn[ hist ].SetName( hist + "ErrDwn" )
210     Mean[ hist ].SetDirectory( thedir )
211     ErrUp[ hist ].SetDirectory( thedir )
212     ErrDwn[ hist ].SetDirectory( thedir )
213     pass
214     thedir.Write()
215    
216     newrootfile.Close()