CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions | Variables
compare Namespace Reference

Functions

def ensureDir
 
def hoverlay
 
def LegendSettings
 
def makeCompareVars
 
def makeEffPlotsVars
 
def overlay
 
def save
 

Variables

tuple argc = len(argvs)
 
 argvs = sys.argv
 
string den_sel = '1'
 
tuple hist = TH1F('h_' + hname + '_' + rel, 'h_' + hname + '_' + rel, hdict['nbin'], hdict['min'], hdict['max'])
 
list hists = []
 
dictionary hvardict
 
string loose_id = 'tau_decayModeFindingOldDMs > 0.5 && tau_byLooseCombinedIsolationDeltaBetaCorr3Hits > 0.5'
 
 num_sel = reco_cut
 
string reco_cut = 'tau_pt > 20 && abs(tau_eta) < 2.3'
 
list runtype = argvs[1]
 
dictionary sampledict
 
tuple tfile = TFile(rdict['file'])
 
string tlabel = 'Z #rightarrow #tau#tau'
 
tuple tree = tfile.Get('per_tau')
 
dictionary vardict
 
string xlabel = 'gen. tau p_{T}^{vis} (GeV)'
 

Function Documentation

def compare.ensureDir (   directory)

Definition at line 40 of file compare.py.

Referenced by save().

40 
41 def ensureDir(directory):
42  if not os.path.exists(directory):
43  os.makedirs(directory)
def ensureDir
Definition: compare.py:40
def compare.hoverlay (   hists,
  xtitle,
  ytitle,
  name 
)

Definition at line 192 of file compare.py.

References LegendSettings(), and save().

193 def hoverlay(hists, xtitle, ytitle, name):
194 
195  c = TCanvas()
196 
197  ymax = 0
198  for hist in hists:
199  if ymax < hist.GetMaximum():
200  ymax = hist.GetMaximum()
201 
202 
203  leg = TLegend(0.6,0.65,0.91,0.9)
204  LegendSettings(leg,1)
205 
206  for ii, ihist in enumerate(hists):
207  ihist.SetMaximum(ymax*1.2)
208  ihist.SetMinimum(0.)
209  ihist.SetMarkerSize(0.)
210  ihist.GetXaxis().SetTitle(xtitle)
211  ihist.GetYaxis().SetTitle(ytitle)
212 
213  if ii ==0:
214  ihist.Draw('h')
215  else:
216  ihist.Draw('hsame')
217 
218  leg.AddEntry(ihist, ihist.GetName(), "l")
219 
220 
221  leg.Draw()
222 
223 
224  save(c, 'compare_' + runtype + '/hist_' + name)
225 
226 
227 
def hoverlay
Definition: compare.py:192
def save
Definition: compare.py:44
def LegendSettings
Definition: compare.py:50
def compare.LegendSettings (   leg,
  ncolumn 
)

Definition at line 50 of file compare.py.

Referenced by hoverlay(), makeCompareVars(), and overlay().

50 
51 def LegendSettings(leg, ncolumn):
52  leg.SetNColumns(ncolumn)
53  leg.SetBorderSize(0)
54  leg.SetFillColor(10)
55  leg.SetLineColor(0)
56  leg.SetFillStyle(0)
57  leg.SetTextSize(0.03)
58  leg.SetTextFont(42)
59 
60 
def LegendSettings
Definition: compare.py:50
def compare.makeCompareVars (   tree,
  var,
  sel,
  leglist,
  nbin,
  xmin,
  xmax,
  xtitle,
  ytitle,
  scale,
  name 
)

Definition at line 61 of file compare.py.

References LegendSettings().

61 
62 def makeCompareVars(tree, var, sel, leglist, nbin, xmin, xmax, xtitle, ytitle, scale, name):
63 
64 # print leglist
65 
66  c = TCanvas()
67 
68  hists = []
69  col = [1,2,4,8,6]
70  ymax = 0
71 
72  for ii, isel in enumerate(sel):
73  hist = TH1F('h_' + str(ii), 'h_' + str(ii), nbin, xmin, xmax)
74  hist.GetXaxis().SetTitle(xtitle)
75  hist.GetYaxis().SetTitle(ytitle)
76  hist.GetYaxis().SetNdivisions(507)
77  hist.SetLineColor(col[ii])
78  hist.SetLineWidth(len(sel)+1-ii)
79  hist.SetLineStyle(1)
80  hist.SetMarkerSize(0)
81  hist.SetMinimum(0)
82  hist.Sumw2()
83 
84 # print hist.GetName(), var, isel
85  tree.Project(hist.GetName(), var, isel)
86  hist.Scale(1./hist.GetEntries())
87 
88  if ymax < hist.GetMaximum():
89  ymax = hist.GetMaximum()
90 
91  hists.append(hist)
92 
93 
94  leg = TLegend(0.6,0.65,0.91,0.9)
95  LegendSettings(leg,1)
96 
97  for ii, ihist in enumerate(hists):
98  ihist.SetMaximum(ymax*1.2)
99  ihist.SetMinimum(0.)
100 
101  if ii ==0:
102  ihist.Draw('h')
103  else:
104  ihist.Draw('hsame')
105 
106  if leglist[ii] != 'None':
107  leg.AddEntry(ihist, leglist[ii], "l")
108 
109 
110  if leglist[0]!='None':
111  leg.Draw()
112 
113 
114 # save(c, 'compare_' + runtype + '/compare_' + name)
115 
116 
117 
118 
def makeCompareVars
Definition: compare.py:61
def LegendSettings
Definition: compare.py:50
def compare.makeEffPlotsVars (   tree,
  varx,
  vary,
  sel,
  nbinx,
  xmin,
  xmax,
  nbiny,
  ymin,
  ymax,
  xtitle,
  ytitle,
  leglabel = None,
  header = '',
  addon = '',
  option = 'pt',
  marker = 20 
)

Definition at line 228 of file compare.py.

References mps_check.array.

229 def makeEffPlotsVars(tree, varx, vary, sel, nbinx, xmin, xmax, nbiny, ymin, ymax, xtitle, ytitle, leglabel = None, header='', addon='', option='pt', marker=20):
230 
231  binning = [20,30,40,50,60,70,80,100,150,200]
232 
233  c = TCanvas()
234 
235  if option=='pt':
236  _hist_ = TH1F('h_effp_' + addon, 'h_effp' + addon, len(binning)-1, array('d',binning))
237  _ahist_ = TH1F('ah_effp_' + addon, 'ah_effp' + addon, len(binning)-1, array('d',binning))
238  elif option=='eta':
239  _hist_ = TH1F('h_effp_' + addon, 'h_effp' + addon, nbinx, xmin, xmax)
240  _ahist_ = TH1F('ah_effp_' + addon, 'ah_effp' + addon, nbinx, xmin, xmax)
241  elif option=='nvtx':
242  _hist_ = TH1F('h_effp_' + addon, 'h_effp' + addon, len(vbinning)-1, array('d',vbinning))
243  _ahist_ = TH1F('ah_effp_' + addon, 'ah_effp' + addon, len(vbinning)-1, array('d',vbinning))
244 
245 
246  tree.Draw(varx + ' >> ' + _hist_.GetName(), sel)
247  tree.Draw(varx + ' >> ' + _ahist_.GetName(), sel + ' && ' + vary)
248 
249  g_efficiency = TGraphAsymmErrors()
250  g_efficiency.BayesDivide(_ahist_, _hist_)
251  g_efficiency.GetXaxis().SetTitle(xtitle)
252  g_efficiency.GetYaxis().SetTitle('efficiency')
253  g_efficiency.GetYaxis().SetNdivisions(507)
254  g_efficiency.SetLineWidth(3)
255  g_efficiency.SetName(header)
256  g_efficiency.SetMinimum(0.)
257  g_efficiency.GetYaxis().SetTitleOffset(1.3)
258  g_efficiency.SetMarkerStyle(marker)
259  g_efficiency.SetMarkerSize(1)
260  g_efficiency.Draw('ap')
261 
262 # save(c, 'plots/' + addon)
263 
264  return copy.deepcopy(g_efficiency)
265 
266 
267 
268 
tuple array
Definition: mps_check.py:181
def makeEffPlotsVars
Definition: compare.py:228
def compare.overlay (   hists,
  ytitle,
  header,
  addon 
)

Definition at line 119 of file compare.py.

References LegendSettings(), and save().

Referenced by FWCaloTowerDetailView.build(), FWMuonDetailView.build(), FWPhotonDetailView.build(), FWElectronDetailView.build(), and SiStripHitEffFromCalibTree.makeSummary().

120 def overlay(hists, ytitle, header, addon):
121 
122  print 'number of histograms = ', len(hists)
123 
124  canvas = TCanvas()
125  leg = TLegend(0.2,0.7,0.5,0.9)
126  LegendSettings(leg, 1)
127 
128  col = [1,2,4,6,8,9,12]
129 
130  ymax = -1
131  ymin = 100
132 
133  for ii, hist in enumerate(hists):
134  hist.GetYaxis().SetTitle('efficiency')
135  hist.SetLineColor(col[ii])
136  hist.SetMarkerColor(col[ii])
137  hist.SetLineWidth(2)
138  hist.SetMarkerSize(1)
139 
140 
141  for ip in range(hist.GetN()):
142  x = Double(-1)
143  y = Double(-1)
144  hist.GetPoint(ip, x, y)
145 
146  if ymin > y:
147  ymin = y
148  if ymax < y:
149  ymax = y
150 
151 #
152 # if ymax < hist.GetMaximum():
153 # ymax = hist.GetMaximum()
154 # if ymin > hist.GetMinimum():
155 # ymin = hist.GetMinimum()
156 
157  if ii==0:
158  hist.Draw("Azp")
159  else:
160 
161  hist.Draw("pzsame")
162 
163 # print hist.GetName(), hist.GetTitle()
164  legname = hist.GetName()
165 
166  leg.AddEntry(hist, legname, 'lep')
167 
168 
169  for hist in hists:
170  hist.SetMaximum(ymax*2)
171 # hist.SetMinimum(ymin*0.5)
172 
173  leg.Draw()
174 
175  tex = TLatex( hists[-1].GetXaxis().GetXmin() + 0.01*(hists[-1].GetXaxis().GetXmax() - hists[-1].GetXaxis().GetXmin()), ymax*2.1, addon.replace('tau_',''))
176 
177  tex.SetTextFont(42)
178  tex.SetTextSize(0.03)
179  tex.Draw()
180 
181  tex2 = TLatex( hists[-1].GetXaxis().GetXmin() + 0.87*(hists[-1].GetXaxis().GetXmax() - hists[-1].GetXaxis().GetXmin()), ymax*2.1, tlabel)
182 
183  tex2.SetTextFont(42)
184  tex2.SetTextSize(0.03)
185  tex2.Draw()
186 
187 
188 
189  save(canvas, 'compare_' + runtype + '/' + header)
190 
191 
def overlay
Definition: compare.py:119
def save
Definition: compare.py:44
def LegendSettings
Definition: compare.py:50
def compare.save (   canvas,
  name 
)

Definition at line 44 of file compare.py.

References ensureDir(), and python.rootplot.root2matplotlib.replace().

Referenced by hoverlay(), and overlay().

44 
45 def save(canvas, name):
46  ensureDir('compare_' + runtype)
47  canvas.SaveAs(name.replace(' ','').replace('&&','')+'.pdf')
48  canvas.SaveAs(name.replace(' ','').replace('&&','')+'.gif')
49 
def ensureDir
Definition: compare.py:40
def save
Definition: compare.py:44

Variable Documentation

tuple compare.argc = len(argvs)

Definition at line 14 of file compare.py.

compare.argvs = sys.argv

Definition at line 13 of file compare.py.

string compare.den_sel = '1'

Definition at line 325 of file compare.py.

tuple compare.hist = TH1F('h_' + hname + '_' + rel, 'h_' + hname + '_' + rel, hdict['nbin'], hdict['min'], hdict['max'])

Definition at line 372 of file compare.py.

list compare.hists = []

Definition at line 315 of file compare.py.

Referenced by AlignmentMonitorGeneric.book(), EcalSelectiveReadoutValidation.EcalSelectiveReadoutValidation(), PedsFullNoiseHistograms.histoAnalysis(), and main().

dictionary compare.hvardict
Initial value:
1 = {
2  'tau_dm':{'var':'tau_dm', 'nbin':12, 'min':0., 'max':12, 'title':'decay Mode', 'sel':'1'},
3  'tau_mass_1prong':{'var':'tau_mass', 'nbin':30, 'min':0., 'max':2.5, 'title':'Tau mass, 1prong', 'sel':'tau_dm==0'},
4  'tau_mass_1prongp0':{'var':'tau_mass', 'nbin':30, 'min':0., 'max':2.5, 'title':'Tau mass, 1prong+#pi^{0}', 'sel':'tau_dm==1'},
5  'tau_mass_2prong':{'var':'tau_mass', 'nbin':30, 'min':0., 'max':2.5, 'title':'Tau mass, 2prong', 'sel':'(tau_dm==5 || tau_dm==6)'},
6  'tau_mass_3prong':{'var':'tau_mass', 'nbin':30, 'min':0., 'max':2.5, 'title':'Tau mass, 3prong (+#pi^{0})', 'sel':'(tau_dm==10 || tau_dm==11)'},
7  'pt_resolution_1prong':{'var':'(tau_genpt-tau_pt)/(tau_genpt)', 'nbin':30, 'min':-1., 'max':1., 'title':'pT resolution, 1prong', 'sel':'tau_dm==0'},
8  'pt_resolution_1prongp0':{'var':'(tau_genpt-tau_pt)/(tau_genpt)', 'nbin':30, 'min':-1., 'max':1., 'title':'pT resolution, 1prong+#pi^{0}', 'sel':'tau_dm==1'},
9  'pt_resolution_2prong':{'var':'(tau_genpt-tau_pt)/(tau_genpt)', 'nbin':30, 'min':-1., 'max':1., 'title':'pT resolution, 2prong', 'sel':'(tau_dm==5 || tau_dm==6)'},
10  'pt_resolution_3prong':{'var':'(tau_genpt-tau_pt)/(tau_genpt)', 'nbin':30, 'min':-1., 'max':1., 'title':'pT resolution, 3prong (+#pi^{0})', 'sel':'(tau_dm==10 || tau_dm==11)'},
11  }

Definition at line 347 of file compare.py.

string compare.loose_id = 'tau_decayModeFindingOldDMs > 0.5 && tau_byLooseCombinedIsolationDeltaBetaCorr3Hits > 0.5'

Definition at line 304 of file compare.py.

string compare.num_sel = reco_cut

Definition at line 324 of file compare.py.

string compare.reco_cut = 'tau_pt > 20 && abs(tau_eta) < 2.3'

Definition at line 303 of file compare.py.

list compare.runtype = argvs[1]

Definition at line 20 of file compare.py.

Referenced by RPCTechTriggerConfig.RPCTechTriggerConfig(), and RunTypeDef.setRunType().

dictionary compare.sampledict
Initial value:
1 = {
2 # '7_6_0_pre7':{'file':'Myroot_7_6_0_pre7_' + runtype + '.root', 'col':2, 'marker':20, 'width':3},
3 # '7_6_0':{'file':'Myroot_7_6_0_' + runtype + '.root', 'col':1, 'marker':21, 'width':4},
4 # '7_6_1':{'file':'Myroot_7_6_1_' + runtype + '.root', 'col':4, 'marker':22, 'width':2},
5  '7_6_1_v3':{'file':'Myroot_7_6_1_v3_' + runtype + '.root', 'col':3, 'marker':23, 'width':1},
6  }

Definition at line 306 of file compare.py.

tuple compare.tfile = TFile(rdict['file'])

Definition at line 321 of file compare.py.

Referenced by SiStripGainFromCalibTree.algoAnalyzeTheTree(), MaterialBudgetCastorHistos.book(), MaterialBudgetHcalHistos.book(), MaterialBudget.book(), MaterialBudgetForward.book(), DreamSD.DreamSD(), ElectronStudy.ElectronStudy(), HCalSD.HCalSD(), HcalTB02Histo.HcalTB02Histo(), HcalTB04Histo.HcalTB04Histo(), HcalTB06Histo.HcalTB06Histo(), HFGflash.HFGflash(), HFShowerParam.HFShowerParam(), HGCalTBMB.HGCalTBMB(), HLTCSCOverlapFilter.HLTCSCOverlapFilter(), and MuonAlignmentFromReference.MuonAlignmentFromReference().

string compare.tlabel = 'Z #rightarrow #tau#tau'

Definition at line 24 of file compare.py.

Referenced by cscdqm::EventProcessor.getCSCFromMap().

tuple compare.tree = tfile.Get('per_tau')

Definition at line 322 of file compare.py.

dictionary compare.vardict
Initial value:
1 = {
2  'againstMuonLoose3':{'var':'tau_againstMuonLoose3 > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'againstMuonLoose3'},
3  'againstMuonTight3':{'var':'tau_againstMuonTight3 > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'againstMuonTight3'},
4 
5  'againstElectronVLooseMVA5':{'var':'tau_againstElectronVLooseMVA5 > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'againstElectronVLooseMVA5'},
6  'againstElectronLooseMVA5':{'var':'tau_againstElectronLooseMVA5 > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'againstElectronLooseMVA5'},
7  'againstElectronMediumMVA5':{'var':'tau_againstElectronMediumMVA5 > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'againstElectronMediumMVA5'},
8 
9  'againstElectronVLooseMVA6':{'var':'tau_againstElectronVLooseMVA6 > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'againstElectronVLooseMVA6'},
10  'againstElectronLooseMVA6':{'var':'tau_againstElectronLooseMVA6 > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'againstElectronLooseMVA6'},
11  'againstElectronMediumMVA6':{'var':'tau_againstElectronMediumMVA6 > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'againstElectronMediumMVA6'},
12 
13  'byLoosePileupWeightedIsolation3Hits':{'var':'tau_byLoosePileupWeightedIsolation3Hits > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byLoosePileupWeightedIsolation3Hits'},
14  'byMediumPileupWeightedIsolation3Hits':{'var':'tau_byMediumPileupWeightedIsolation3Hits > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byMediumPileupWeightedIsolation3Hits'},
15  'byTightPileupWeightedIsolation3Hits':{'var':'tau_byTightPileupWeightedIsolation3Hits > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byTightPileupWeightedIsolation3Hits'},
16 
17  'byLooseCombinedIsolationDeltaBetaCorr3Hits':{'var':'tau_byLooseCombinedIsolationDeltaBetaCorr3Hits > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byLooseCombinedIsolationDeltaBetaCorr3Hits'},
18  'byMediumCombinedIsolationDeltaBetaCorr3Hits':{'var':'tau_byMediumCombinedIsolationDeltaBetaCorr3Hits > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byMediumCombinedIsolationDeltaBetaCorr3Hits'},
19  'byTightCombinedIsolationDeltaBetaCorr3Hits':{'var':'tau_byTightCombinedIsolationDeltaBetaCorr3Hits > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byTightCombinedIsolationDeltaBetaCorr3Hits'},
20 
21  'byLooseIsolationMVA3oldDMwLT':{'var':'tau_byLooseIsolationMVA3oldDMwLT > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byLooseIsolationMVA3oldDMwLT'},
22  'byMediumIsolationMVA3oldDMwLT':{'var':'tau_byMediumIsolationMVA3oldDMwLT > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byMediumIsolationMVA3oldDMwLT'},
23  'byTightIsolationMVA3oldDMwLT':{'var':'tau_byTightIsolationMVA3oldDMwLT > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byTightIsolationMVA3oldDMwLT'},
24 
25  'byLooseIsolationMVArun2v1DBoldDMwLT':{'var':'tau_byLooseIsolationMVArun2v1DBoldDMwLT > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byLooseIsolationMVArun2v1DBoldDMwLT'},
26  'byMediumIsolationMVArun2v1DBoldDMwLT':{'var':'tau_byMediumIsolationMVArun2v1DBoldDMwLT > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byMediumIsolationMVArun2v1DBoldDMwLT'},
27  'byTightIsolationMVArun2v1DBoldDMwLT':{'var':'tau_byTightIsolationMVArun2v1DBoldDMwLT > 0.5 && tau_decayModeFindingOldDMs > 0.5', 'nbin':2, 'min':-0.5, 'max':1.5, 'title':'byTightIsolationMVArun2v1DBoldDMwLT'},
28 
29  }

Definition at line 272 of file compare.py.

string compare.xlabel = 'gen. tau p_{T}^{vis} (GeV)'

Definition at line 25 of file compare.py.