本文整理汇总了Python中tdrstyle.setTDRStyle函数的典型用法代码示例。如果您正苦于以下问题:Python setTDRStyle函数的具体用法?Python setTDRStyle怎么用?Python setTDRStyle使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了setTDRStyle函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: get_canvas
def get_canvas(cname):
tdrstyle.setTDRStyle()
CMS_lumi.lumi_8TeV = "19.7 fb^{-1}"
CMS_lumi.writeExtraText = 1
CMS_lumi.extraText = "Preliminary"
iPos = 0
if( iPos==0 ): CMS_lumi.relPosX = 0.16
H_ref = 800;
W_ref = 800;
W = W_ref
H = H_ref
T = 0.08*H_ref
B = 0.12*H_ref
L = 0.12*W_ref
R = 0.04*W_ref
canvas = ROOT.TCanvas(cname,cname,50,50,W,H)
canvas.SetFillColor(0)
canvas.SetBorderMode(0)
canvas.SetFrameFillStyle(0)
canvas.SetFrameBorderMode(0)
canvas.SetLeftMargin( L/W+0.02 )
canvas.SetRightMargin( R/W )
canvas.SetTopMargin( T/H )
canvas.SetBottomMargin( B/H )
canvas.SetGrid()
canvas.SetLogy()
return canvas
开发者ID:jngadiub,项目名称:EXOVVVHLimitsComparison,代码行数:33,代码来源:CombineEXOVVLimits.py
示例2: get_canvas
def get_canvas(text):
tdrstyle.setTDRStyle()
CMS_lumi.lumi_13TeV = "2.1 fb^{-1}," + text
CMS_lumi.writeExtraText = 1
CMS_lumi.extraText = ""
iPos = 0
if( iPos==0 ): CMS_lumi.relPosX = 0.12
H_ref = 600
W_ref = 800
W = W_ref
H = H_ref
T = 0.08*H_ref
B = 0.12*H_ref
L = 0.12*W_ref
R = 0.04*W_ref
canvas = ROOT.TCanvas("c2","c2",50,50,W,H)
canvas.SetFillColor(0)
canvas.SetBorderMode(0)
canvas.SetFrameFillStyle(0)
canvas.SetFrameBorderMode(0)
canvas.SetLeftMargin( L/W+0.01 )
canvas.SetRightMargin( R/W+0.03 )
canvas.SetTopMargin( T/H )
canvas.SetBottomMargin( B/H+0.03 )
canvas.SetGrid()
canvas.SetLogy()
return canvas
开发者ID:jstupak,项目名称:EXOVVFitter,代码行数:33,代码来源:runLimitsEXO_g1.py
示例3: get_canvas
def get_canvas():
tdrstyle.setTDRStyle()
CMS_lumi.lumi_13TeV = "13 TeV"
CMS_lumi.writeExtraText = 0
CMS_lumi.extraText = "Preliminary"
iPos = 0
if( iPos==0 ): CMS_lumi.relPosX = 0.07
H_ref = 600;
W_ref = 800;
W = W_ref
H = H_ref
T = 0.08*H_ref
B = 0.12*H_ref
L = 0.12*W_ref
R = 0.04*W_ref
#canvas = ROOT.TCanvas("c2","c2",50,50,W,H)
canvas = ROOT.TCanvas("c2","c2",W,H)
canvas.SetFillColor(0)
canvas.SetBorderMode(0)
canvas.SetFrameFillStyle(0)
canvas.SetFrameBorderMode(0)
canvas.SetLeftMargin( L/W )
canvas.SetRightMargin( R/W )
canvas.SetTopMargin( T/H )
canvas.SetBottomMargin( B/H )
canvas.SetTickx()
canvas.SetTicky()
return canvas
开发者ID:jngadiub,项目名称:ExoDiBosonAnalysis,代码行数:34,代码来源:plot-xsec.py
示例4: get_canvas
def get_canvas(cname,lumi8,lumi13):
tdrstyle.setTDRStyle()
CMS_lumi.lumi_13TeV = "%s fb^{-1}"%lumi13
CMS_lumi.lumi_8TeV = "%s fb^{-1}"%lumi8
CMS_lumi.writeExtraText = 1
CMS_lumi.extraText = "Preliminary"
CMS_lumi.lumi_sqrtS = "13 TeV" # used with iPeriod = 0, e.g. for simulation-only plots (default is an empty string)
iPos = 0
if( iPos==0 ): CMS_lumi.relPosX = 0.13
iPeriod=4
H_ref = 630
W_ref = 600
W = W_ref
H = H_ref
T = 0.08*H_ref
B = 0.12*H_ref
L = 0.12*W_ref
R = 0.04*W_ref
canvas = ROOT.TCanvas(cname,cname,50,50,W,H)
canvas.SetFillColor(0)
canvas.SetBorderMode(0)
canvas.SetFrameFillStyle(0)
canvas.SetFrameBorderMode(0)
canvas.SetLeftMargin( L/W+0.01 )
canvas.SetRightMargin( R/W+0.03 )
canvas.SetTopMargin( 0.07 ) #/T/H
canvas.SetBottomMargin( B/H )
#canvas.SetGrid()
canvas.SetLogy()
return canvas
开发者ID:jngadiub,项目名称:ExoDiBosonCombination,代码行数:35,代码来源:plot_limits_B2G16007.py
示例5: get_canvas
def get_canvas(cname):
tdrstyle.setTDRStyle()
iPos = 0
if( iPos==0 ): CMS_lumi.relPosX = 0.13
iPeriod=4
H_ref = 500
W_ref = 500
W = W_ref
H = H_ref
T = 0.08*H_ref
B = 0.12*H_ref
L = 0.12*W_ref
R = 0.04*W_ref
canvas = ROOT.TCanvas(cname,cname,50,50,W,H)
canvas.SetFillColor(0)
canvas.SetBorderMode(0)
canvas.SetFrameFillStyle(0)
canvas.SetFrameBorderMode(0)
canvas.SetLeftMargin( 0.35 )
canvas.SetRightMargin( 0.02 )
canvas.SetTopMargin( 0.01 ) #/T/H
canvas.SetBottomMargin( B/H )
return canvas
开发者ID:jngadiub,项目名称:ExoDiBosonCombination,代码行数:28,代码来源:plot_pulls_signal_13TeV.py
示例6: __init__
def __init__(self, OutDir):
self.OutDir = OutDir
if not os.path.isdir(self.OutDir):
try:
os.makedirs(self.OutDir)
except OSError:
pass
self.lumi = Lumi
tdrstyle.setTDRStyle()
self.canvas = self.CreatCanvas()
开发者ID:zhenbinwu,项目名称:SuperTopTagger,代码行数:11,代码来源:PyDraw.py
示例7: setTDRStyle
def setTDRStyle(canvas, luminosity, energy, printCMS):
tdrstyle.setTDRStyle()
if printCMS == "right" or printCMS == "left":
if energy == 13:
CMS_lumi.lumi_13TeV = "%s fb^{-1}" % luminosity
if printCMS == "left":
iPos = 11
else:
iPos = 13
CMS_lumi.writeExtraText = 1
CMS_lumi.extraText = "Very Preliminary"
CMS_lumi.CMS_lumi(canvas, 4, iPos)
开发者ID:truggles,项目名称:Z_to_TauTau_13TeV,代码行数:12,代码来源:plot_functions.py
示例8: __init__
def __init__(self):
'''
Set up PlotStyle, set gStyle for things we always want no matter what.
'''
# CMS-approved everything
tdrstyle.setTDRStyle()
### Differences from TDR standard:
# Big canvas (can always shrink later)
gStyle.SetCanvasDefH(1200)
gStyle.SetCanvasDefW(1200)
# Tick marks on all sides
gStyle.SetPadTickX(1)
gStyle.SetPadTickY(1)
# Everything has white backgrounds
gStyle.SetLegendFillColor(0)
# Colors that don't suck
gStyle.SetPalette(1)
# Make axis title and labels just a little smaller and (for Y) closer to the axis
gStyle.SetTitleSize(0.048, "X")
gStyle.SetTitleSize(0.044, "YZ")
gStyle.SetLabelSize(0.033, "XYZ")
gStyle.SetTitleYOffset(1.15)
gStyle.SetTitleXOffset(0.86)
gStyle.SetPadLeftMargin(0.1)
gStyle.SetPadRightMargin(0.025)
gStyle.SetPadBottomMargin(0.095)
gStyle.SetTitleAlign(12)
# Apply changes
gROOT.ForceStyle()
# Force exponentials when axes are over 3 digits
TGaxis.SetMaxDigits(3)
TGaxis.SetExponentOffset(-0.060, 0.008, "y")
TGaxis.SetExponentOffset(-0.055, -0.062, "x") # will overlap with title unless title is centered
开发者ID:nwoods,项目名称:ZZAnalyzer,代码行数:41,代码来源:PlotStyle.py
示例9: DrawPUperFile
def DrawPUperFile(filedir, l1seed, key=None):
global mcdf
allfiles = glob.glob(filedir)
if not os.path.exists("plots"):
os.mkdir("plots")
tdrstyle.setTDRStyle()
ROOT.gStyle.SetOptStat(000000000)
df = pd.DataFrame()
flist = [ ]
for file_ in allfiles:
df_ = pd.read_csv(file_, index_col=None, header=0)
flist.append(df_)
df = pd.concat(flist)
mcdf = GetMCDataFrame(allfiles)
if l1seed == "All":
for seed in pd.unique(df.L1Seed):
DrawPU(df, seed)
else:
return DrawPU(df, l1seed, key)
开发者ID:cms-l1-dpg,项目名称:L1Menu,代码行数:21,代码来源:PU_CSV.py
示例10: makeComparisonPlots
def makeComparisonPlots(patTuple_list, ntuple_l1recoMuonTree, label, handle,
plottingVariables):
ROOT.gROOT.SetBatch() # don't pop up canvases
ROOT.gStyle.SetErrorX(0)
tdrstyle.setTDRStyle()
muonHists_patTree = plotMuQuantities_pat(patTuple_list, label, handle,
plottingVariables)
muonHists_l1muRecoTree = plotMuQuantities_l1(ntuple_l1recoMuonTree,
plottingVariables)
for muonHist_patTree, muonHist_l1muRecoTree, plotVar in izip(muonHists_patTree,
muonHists_l1muRecoTree,
plottingVariables):
# Draw histograms
c1 = ROOT.TCanvas("", "", 1024, 786)
muonHist_l1muRecoTree.SetLineColor(ROOT.kBlue)
muonHist_l1muRecoTree.DrawCopy("E1HIST")
muonHist_patTree.SetLineColor(ROOT.kRed)
muonHist_patTree.DrawCopy("E1HISTSAME")
c1.Print(plotVar.title + ".pdf")
开发者ID:dinyar,项目名称:ComparePat2L1RecoTreePlotter,代码行数:22,代码来源:ComparePat2L1RecoTreePlotter.py
示例11: drawPlots_tdrstyle
def drawPlots_tdrstyle(data, signal, signalSF, signalName, background, backgroundSF, backgroundName, xlo, xhi, name, xaxisLabel, axisMin, axisMax, doLogy):
tdrstyle.setTDRStyle()
CMS_lumi.lumi_8TeV = '19.7 fb^{-1}'
CMS_lumi.extraText = 'Preliminary'
CMS_lumi.writeExtraText = 1
CMS_lumi.lumi_sqrtS = '8 TeV'
iPos = 11
H = 600
W = 800
# iPeriod = 1*(0/1 7 TeV) + 2*(0/1 8 TeV) + 4*(0/1 13 TeV)
iPeriod = 2
# references for T, B, L, R
T = 0.08*H
B = 0.12*H
L = 0.12*W
R = 0.04*W
can = ROOT.TCanvas('can', 'plot', 50, 50, W, H)
padFraction = 0.3
padhi = ROOT.TPad('padhi', 'padhi', 0, padFraction, 1, 1)
padhi.SetLeftMargin( L/W )
padhi.SetRightMargin( R/W )
padhi.SetTopMargin(T/H/(1.0 - padFraction))
padhi.SetBottomMargin(0)
padhi.SetTickx(0)
padhi.SetTicky(0)
padhi.SetLogy(doLogy)
padlo = ROOT.TPad('padlo', 'padlo', 0, 0, 1, padFraction)
padlo.SetLeftMargin( L/W )
padlo.SetRightMargin( R/W )
padlo.SetTopMargin(0)
padlo.SetBottomMargin(B/H/padFraction)
padlo.SetTickx(0)
padlo.SetTicky(0)
padhi.Draw()
padlo.Draw()
signal.Scale(signalSF)
background.Scale(backgroundSF)
background.SetFillColor(8)
sumHist = signal.Clone('sumHist')
sumHist.Add(background)
sumHist.SetFillColor(ROOT.kGray)
sumHist.GetXaxis().SetRangeUser(xlo, xhi)
sumHist.GetYaxis().SetRangeUser(axisMin, axisMax)
sumHist.GetYaxis().SetTitle('Events / 10 GeV')
ratio = data.Clone('ratio')
ratio.Reset()
for ibin in range(ratio.GetNbinsX()):
if(sumHist.GetBinContent(ibin+1) == 0):
continue
ratio.SetBinContent(ibin+1, data.GetBinContent(ibin+1) / sumHist.GetBinContent(ibin+1))
ratio.SetBinError(ibin+1, data.GetBinError(ibin+1) / sumHist.GetBinContent(ibin+1))
ratio.GetYaxis().SetRangeUser(0.45, 1.55)
ratio.GetYaxis().SetTitle('Data / Background')
ratio.GetYaxis().SetLabelSize(0.06)
ratio.GetYaxis().SetTitleSize(0.06)
ratio.GetYaxis().SetTitleOffset(0.5)
#ratio.GetYaxis().SetNdivisions(512)
ratio.GetXaxis().SetRangeUser(xlo, xhi)
ratio.GetXaxis().SetTitle(xaxisLabel)
ratio.GetXaxis().SetLabelSize(0.10)
ratio.GetXaxis().SetTitleSize(0.12)
ratio.GetXaxis().SetTitleOffset(1.2)
oneLine = ROOT.TLine(xlo, 1.0, xhi + 10.0, 1.0)
oneLine.SetLineStyle(2)
reqtitle = ''
if 'ele_bjj' in name or 'ele_jjj' in name:
if 'z_mass' in name:
reqtitle = 'ee'
else:
reqtitle = 'e#gamma'
else:
if 'z_mass' in name:
reqtitle = '#mu#mu'
else:
reqtitle = '#mu#gamma'
if 'bjj' in name:
reqtitle = reqtitle + '+bjj'
else:
reqtitle = reqtitle + '+jjj'
#leg = ROOT.TLegend(0.7, 0.6, 0.85, 0.85, '', 'brNDC')
leg = ROOT.TLegend(0.72, 0.6, 0.89, 0.85, '', 'brNDC')
leg.SetFillColor(0)
#.........这里部分代码省略.........
开发者ID:bpf6qc,项目名称:leptonAnalysis,代码行数:101,代码来源:utils.py
示例12: DrawPU
def DrawPU(f, l1seed, key=None):
df = f[(f.L1Seed == l1seed )]
RetVar = None
for i in range(0, len(pubins) -1):
pumap[pubins[i]] = []
pumap[pubins[i]].append(df[np.logical_and(df.PileUp > pubins[i], df.PileUp <= pubins[i+1])].Fired.sum())
pumap[pubins[i]].append(df[np.logical_and(df.PileUp > pubins[i], df.PileUp <= pubins[i+1])].Total.sum())
# # No merging
# PileUp = pd.unique(df.PileUp)
# for i in PileUp:
# pumap[i] = []
# pumap[i].append(df[df.PileUp == i].Fired.sum())
# pumap[i].append(df[df.PileUp == i].Total.sum())
x = []
y = []
yerr = []
for k, v in pumap.iteritems():
if v[1] != 0:
x.append(k)
if unit == "Hz":
y.append(float(v[0])/v[1] * freq * nBunches )
yerr.append( math.sqrt(float(v[0]))/v[1] * freq * nBunches )
if unit == "kHz":
y.append(float(v[0])/v[1] * freq * nBunches / 1000)
yerr.append( math.sqrt(float(v[0]))/v[1] * freq * nBunches / 1000)
## Draw the plot
graph = ROOT.TGraphErrors(len(x))
minx = min(x)
maxx = 31
for i, (xx, yy, yee) in enumerate(zip(x, y, yerr)):
graph.SetPoint(i, xx, yy)
graph.SetPointError(i, 0, yee)
c1 = ROOT.TCanvas("fd","Fdf", 600, 500)
ROOT.gStyle.SetOptStat(000000000)
tdrstyle.setTDRStyle()
graph.Draw("AP")
graph.SetTitle(l1seed)
graph.GetXaxis().SetTitle("PileUp")
graph.GetXaxis().SetLimits(0, 50)
if unit == "Hz":
graph.GetYaxis().SetTitle("Rate (nBunches = %d) [Hz]" % nBunches)
if unit == "kHz":
graph.GetYaxis().SetTitle("Rate (nBunches = %d) [kHz]" % nBunches)
leg = ROOT.TLegend(0.7432886,0.1733615,0.9949664,0.3530655)
leg.SetFillColor(0)
leg.SetBorderSize(0)
leg.SetBorderSize(0)
leg.SetFillStyle(0)
leg.SetTextFont(62)
leg.AddEntry(graph, "Data", "p")
## Get Stage1
s1fun = GetStage1Fun(l1seed)
if DrawStage1 and s1fun is not None:
s1fun.SetLineColor(ROOT.kGreen+2)
s1fun.SetLineWidth(2)
s1fun.Draw("same")
tex = ROOT.TLatex(0.19, 0.81, s1fun.GetName())
tex.SetNDC()
tex.SetTextAlign(13)
tex.SetTextFont(61)
tex.SetTextSize(0.04)
tex.SetTextColor(ROOT.kGreen+2)
tex.SetLineWidth(2)
tex.Draw()
tex = ROOT.TLatex(0.19, 0.9, l1seed)
tex.SetNDC()
tex.SetTextAlign(13)
tex.SetTextFont(61)
tex.SetTextSize(0.05)
tex.SetTextColor(ROOT.kBlack)
tex.SetLineWidth(2)
tex.Draw()
## Pol2
fitname = "pol2"
graph.Fit("pol2", "QF", "", minx, maxx)
f2 = graph.GetFunction(fitname).Clone()
f2.SetLineColor(ROOT.kBlue)
f2.SetLineWidth(2)
fun = "f2 = %.2f + %.2f*x + %.3f*x^2" % (f2.GetParameter(0), f2.GetParameter(1), f2.GetParameter(2) )
RetVar = f2.GetParameter(2)
tex = ROOT.TLatex(0.19, 0.75, fun)
f2.Draw("same")
tex.SetNDC()
tex.SetTextAlign(13)
tex.SetTextFont(61)
tex.SetTextSize(0.04)
tex.SetTextColor(ROOT.kBlue)
tex.SetLineWidth(2)
tex.Draw()
## Pol1
#.........这里部分代码省略.........
开发者ID:cms-l1-dpg,项目名称:L1Menu,代码行数:101,代码来源:PU_CSV.py
示例13: DrawPU
def DrawPU(canvas, f, l1seed, count, key=None):
df = f[(f.L1Seed == l1seed )]
RetVar = None
for i in range(0, len(pubins) -1):
pumap[pubins[i]] = []
pumap[pubins[i]].append(df[np.logical_and(df.PileUp > pubins[i], df.PileUp <= pubins[i+1])].Fired0.sum())
pumap[pubins[i]].append(df[np.logical_and(df.PileUp > pubins[i], df.PileUp <= pubins[i+1])].Total.sum())
x = []
y = []
yerr = []
for k, v in pumap.iteritems():
if v[1] != 0:
x.append(k)
if unit == "Hz":
y.append(float(v[0])/v[1] * freq * nBunches )
yerr.append( math.sqrt(float(v[0]))/v[1] * freq * nBunches )
if unit == "kHz":
y.append(float(v[0])/v[1] * freq * nBunches / 1000)
yerr.append( math.sqrt(float(v[0]))/v[1] * freq * nBunches / 1000)
## Draw the plot
graph = ROOT.TGraphErrors(len(x))
for i, (xx, yy, yee) in enumerate(zip(x, y, yerr)):
# if yy != 0 and yee/yy >0.3:
# continue
#if i == 22 or i == 23 or i == 24:
# continue
graph.SetPoint(i, xx, yy)
#print (i,xx,yy,yee)
#print "h1->SetBinContent( %d, %f);" %(xx,yy)
#print "h1->SetBinError( %d, %f);" %(xx,yee)
graph.SetPointError(i, 0, yee)
graph.SetMarkerStyle(20+count)
graph.SetMarkerSize(1.5)
graph.SetMarkerColor(1+count)
graph.SetLineColor(1+count)
graph.SetLineWidth(2)
tdrstyle.setTDRStyle()
canvas.cd()
canvas.Update()
if count == 0:
graph.Draw("AP")
graph.GetXaxis().SetTitle("PileUp")
graph.GetXaxis().SetLimits(plot_min, maxx)
graph.GetYaxis().SetRangeUser(0, maxy)
graph.GetYaxis().SetTitle("Rate (nBunches = %d) [%s]" % (nBunches, unit))
else:
graph.Draw("P")
canvas.Update()
leg.AddEntry(graph, l1seed, "p")
result_ptr = graph.Fit(fitname, "SQ", "", fit_min, fit_max)
error_vec = result_ptr.GetConfidenceIntervals()
print ("error vec size = %d, fitted PU = %d" % (error_vec.size(), fit_max - fit_min + 1))
f2 = graph.GetFunction("fitname").Clone()
#f2 = graph.GetFunction(fitname).Clone()
f2.SetLineColor(1+count)
f2.SetLineWidth(2)
f2.SetRange(plot_min, fit_min)
f2.SetLineStyle(5)
minChi = f2.GetChisquare() / f2.GetNDF()
#fun = "Fit = %.2f + %.2f*x + %.3f*x^2" % (f2.GetParameter(0), f2.GetParameter(1), f2.GetParameter(2) )
#fun = "Fit = %f*x + %f*x^2" % (f2.GetParameter(0), f2.GetParameter(1) )
#print fun
f2.Draw("same")
f2_2 = f2.Clone("dashline2")
f2_2.SetRange(fit_max, plot_max)
f2_2.Draw("same")
if config == 2017:
if PU <= fit_max: key = "Rate(PU=%d): %.2f +- %.2f, chi2/NDF=%.2f" %(PU, f2_2.Eval(PU), error_vec.at(PU-fit_min), minChi)
else: key = "Rate(PU=%d): %.2f +- %.2f, chi2/NDF=%.2f" %(PU, f2_2.Eval(PU), error_vec.back(), minChi)
if config == 2018:
#key = ""
key = "Rate: %.2f +- %.2f @PU50, %.2f +- %.2f @PU56, %.2f +- %.2f @PU62" %(f2_2.Eval(50), error_vec.at(50-fit_min), f2_2.Eval(56), error_vec.at(56-fit_min), f2_2.Eval(62), error_vec.at(62-fit_min))
if key is not None:
tex = ROOT.TLatex(0.2, 0.85, key)
tex.SetNDC()
tex.SetTextFont(61)
tex.SetTextSize(0.055)
tex.SetTextColor(ROOT.kGreen+2)
tex.SetLineWidth(2)
tex.Draw()
canvas.Update()
开发者ID:cms-l1-dpg,项目名称:L1Menu,代码行数:89,代码来源:CompPUDep.py
示例14: PlotDataMCPAS
def PlotDataMCPAS(hdictlist_bg, hdict_data, hdictlist_sig=0, legdict=0
, outputdir="plots", outfile=0, cname="canvas", plotinfo="Selection X"
, ratiotitle="ratio", logscale=False, scale="No", scalefactor=1, intlumi=19.7, style="CMS"):
# CMS style plots
if style == "CMS":
tdrstyle.setTDRStyle()
# First do some checks on the input
if outfile == 0:
print "You did not pass me a root file to store the plots. I will only produce pdf files."
if not os.path.isdir(outputdir):
print "Output directory doesn't exist yet. \nWill create directory %s" % (outputdir)
os.makedirs(outputdir)
# Get clones of all the mc histograms and put them in a list
hQCD_index = -1 # will need this if we want to scale QCD only
histos = []
for i,hdict in enumerate(hdictlist_bg):
# first check that the histogram exists
if not hdict["histogram"]:
print "Histogram for sample", hdict["name"], "and canvas", cname, "doesn't exist, will stop making this plot now"
return
h = hdict["histogram"].Clone()
h.Sumw2()
h.SetFillColor(hdict["color"])
h.SetLineColor(hdict["color"])
h.GetYaxis().SetTitle(hdict["ytitle"])
h.GetXaxis().SetTitle(hdict["xtitle"])
h.SetTitle(hdict["title"])
histos.append(h)
if "QCD" in hdict["name"]:
hQCD_index = i
# Get data histogram
hdata = 0
if hdict_data == 0:
print "Will make plots without data"
else:
if not hdict_data["histogram"]:
print hdict["name"], "doesn't exist, will stop making this plot now"
return
hdata = hdict_data["histogram"].Clone()
hdata.Sumw2()
hdata.SetMarkerStyle(hdict_data["markerstyle"])
hdata.SetLineColor(hdict_data["color"])
hdata.GetYaxis().SetTitle(hdict_data["ytitle"])
hdata.SetTitle(hdict_data["title"])
# Get signal histograms
hsignal = []
if hdictlist_sig != 0:
for hdict in hdictlist_sig:
if not hdict["histogram"]:
print hdict["name"], "doesn't exist, will stop making this plot now"
return
h = hdict["histogram"].Clone()
h.Sumw2()
h.SetFillColor(hdict["color"])
h.SetLineColor(hdict["color"])
hsignal.append(h)
# make a stack of all the mc, will use the reverse order of the list
mc = rt.THStack()
for h in reversed(histos):
mc.Add(h,"hist")
for h in hsignal:
mc.Add(h,"hist")
# make the total mc histogram, used for the ratio plot
htotal = histos[0].Clone()
for h in histos[1:]:
htotal.Add(h)
# scale MC to data if required
if scale == "Yes" and hdata != 0:
sf = scalefactor
if sf == 1: # we should rescale to match data
mc_int = htotal.Integral(0,htotal.GetNbinsX()+1)
if mc_int == 0:
mc_int = 1.
data_int = hdata.Integral()
sf = data_int/mc_int
for h in histos:
h.Scale(sf)
print "Scaled all histograms by factor", sf
# Scale everything according to the bin width
if scale == "Width":
for h in histos:
h.Scale(scalefactor,"width")
if hdata != 0:
hdata.Scale(scalefactor,"width")
for h in hsignal:
h.Scale(scalefactor,"width")
print "Will plot per bin width"
# scale only QCD to match data in the first non-empty bin
if scale == "QCD" and hdata != 0:
sf = scalefactor
#.........这里部分代码省略.........
开发者ID:nstrobbe,项目名称:RazorBoost,代码行数:101,代码来源:plotTools.py
示例15: Plot2DPAS
def Plot2DPAS(hdict,outputdir="plots",outfile=0,cname="canvas"
,logscale=False,scale="No",lumitext="Preliminary"):
# CMS style plots
tdrstyle.setTDRStyle()
# First do some checks on the input
if outfile == 0:
print "You did not pass me a root file to store the plots. I will only produce pdf files."
if not os.path.isdir(outputdir):
print "Output directory doesn't exist yet"
print "Will create directory %s" % (outputdir)
os.makedirs(outputdir)
# placeholder for draw objects
rootEvil = []
# Make the canvas
canvas = rt.TCanvas(cname,"",50,50,800,600)
CMS_lumi.lumi_8TeV = "19.7 fb^{-1}"
CMS_lumi.writeExtraText = 1
CMS_lumi.extraText = lumitext
iPos = 0#11
if( iPos==0 ): CMS_lumi.relPosX = 0.12
iPeriod = 2
H_ref = 600
W_ref = 800
W = W_ref
H = H_ref
# references for T, B, L, R
T = 0.08*H_ref
B = 0.12*H_ref
L = 0.12*W_ref
R = 0.12*W_ref
canvas.SetLeftMargin( L/W )
canvas.SetRightMargin( R/W )
canvas.SetTopMargin( T/H )
canvas.SetBottomMargin( B/H )
#canvas.SetLeftMargin(0.13)
#canvas.SetRightMargin(0.17)
#canvas.SetBottomMargin(0.13)
if logscale:
canvas.SetLogz(1)
canvas.cd()
# Get histogram from dictionary, and plot it
print "Getting histogram"
h = hdict["histogram"] # Get the histogram
if scale == "Yes":
sf = h.Integral(0,h.GetNbinsX()+1,0,h.GetNbinsY()+1)
h.Scale(1./sf)
if scale == "Width":
h.Scale(1,"width")
if scale == "Yes":
h.GetZaxis().SetTitle("A.U.")
else:
h.GetZaxis().SetTitle("Events")
maxi = h.GetMaximum()
if logscale:
h.SetMaximum(maxi*2)
else:
h.SetMaximum(maxi*1.2)
if scale == "Yes":
h.SetMaximum(1)
h.GetXaxis().SetTitle(hdict["xtitle"])
h.GetXaxis().SetTitleSize(0.05)
h.GetXaxis().SetTitleOffset(1.05)
h.GetXaxis().SetLabelSize(0.04)
h.GetYaxis().SetTitle(hdict["ytitle"])
h.GetYaxis().SetTitleSize(0.05)
h.GetYaxis().SetTitleOffset(1.05)
h.GetYaxis().SetLabelSize(0.04)
#h.GetZaxis().SetTitleSize(0.05)
#h.GetZaxis().SetTitleOffset(1.1)
#h.GetZaxis().SetLabelSize(0.04)
h.SetTitle(hdict["title"])
drawoption = hdict["drawoption"]
palette = hdict["palette"]
if "colz" in drawoption and palette == "SMS":
print "change color palette"
SetColorPaletteSMS()
if "colz" in drawoption and palette == "2DRatio":
SetColorPalette2DRatio()
rootEvil.append(h.DrawClone(drawoption))
print "Drew histogram"
print hdict["name"]
if hdict["name"] != "":
t = '#scale[1.1]{%s}' % (hdict["name"])
if len(hdict["name"]) > 20:
tex = rt.TLatex(0.45,0.82,t)
#.........这里部分代码省略.........
开发者ID:nstrobbe,项目名称:RazorBoost,代码行数:101,代码来源:plotTools.py
示例16: setTDRStyle
#!/usr/bin/env python
#execfile('loadPyRoot.py')
from ROOT import TFile, TCanvas, TGraphErrors, TH1D, TF1, gStyle, TAxis, TH1F
from tdrstyle import setTDRStyle
setTDRStyle(False)
gStyle.SetOptFit(True)
file_official = TFile("/home/home2/institut_3b/kargoll/TauAnalysis/H2TauLimits/CMSSW_7_1_5/src/auxiliaries/shapes/CERN/htt_mt.inputs-sm-8TeV.root","READ")
channels = ["0jet_high", "0jet_medium",
"1jet_high_mediumhiggs", "1jet_high_lowhiggs", "1jet_medium",
"vbf_loose", "vbf_tight"]
mLow = 90
mHigh = 160
mStep = 5
for channel in channels:
can = TCanvas()
NPoints = (mHigh-mLow)/mStep + 1
graph = TGraphErrors(NPoints)
graph.SetTitle(channel)
m = mLow
while m <= mHigh:
i = (m-mLow)/5
x = m
开发者ID:bkargoll,项目名称:AnalysisTools,代码行数:30,代码来源:plot_svFitMassRegression.py
示例17: elif
ofile.write("Events after minDPhi cut : %.2f\n" %(h.GetBinContent(9)) )
if(h.GetBinContent(0)!=0):ofile.write("Selection efficiency : %.2f\n" %(h.GetBinContent(9)/h.GetBinContent(0)) )
elif(channel == "fullhadronic"):
ofile.write("Events after minDPhi cut : %.2f\n" %(h.GetBinContent(7)) )
if(h.GetBinContent(0)!=0):ofile.write("Selection efficiency : %.2f\n" %(h.GetBinContent(7)/h.GetBinContent(0)) )
ROOT.gROOT.Reset();
ROOT.gROOT.SetStyle('Plain')
ROOT.gStyle.SetPalette(1)
ROOT.gStyle.SetOptStat(0)
ROOT.gROOT.SetBatch() # don't pop up canvases
ROOT.TH1.SetDefaultSumw2()
ROOT.TH1.AddDirectory(False)
tdrstyle.setTDRStyle();
settings = {}
store = []
settings.update(plots.common_SR.settings)
store += plots.common_SR.store
if opt.channel == 'semileptonic':
# Add semileptonic specific settings and plots to store
settings.update(plots.semileptonic_SR.settings)
store += plots.semileptonic_SR.store
# Define sl output paths
outhistos = 'output/sl/histos_SR'
outpdfs = 'output/sl/pdfs_SR'
开发者ID:oiorio,项目名称:NAAnaFW,代码行数:31,代码来源:makePlots_SR.py
示例18: main
def main():
# ROOT.gROOT.SetBatch(True)
sys.path.insert(0, "~/CMSstyle/")
import tdrstyle
tdrstyle.setTDRStyle()
# ROOT.LoadMacro("~/bbH/atlasstyle-00-03-05/AtlasStyle.C")
# SetAtlasStyle()
gStyle.SetStatColor(0)
gStyle.SetCanvasColor(0)
gStyle.SetPadColor(0)
gStyle.SetPadBorderMode(0)
gStyle.SetCanvasBorderMode(0)
gStyle.SetFrameBorderMode(0)
# gStyle.SetOptStat(1110)
gStyle.SetOptStat(0)
gStyle.SetStatH(0.2)
gStyle.SetStatW(0.2)
gStyle.SetStatX(0.99)
gStyle.SetTitleColor(1)
gStyle.SetTitleFillColor(0)
# gStyle.SetTitleY(1.)
# gStyle.SetTitleX(.15)
gStyle.SetTitleBorderSize(0)
gStyle.SetPadTickX(1)
gStyle.SetPadTickY(1)
gStyle.SetPalette(1)
# gStyle.SetMarkerStyle(20);
# gStyle.SetMarkerSize(2);
# gStyle.SetLineWidth(2);
# gStyle.SetLineStyleString(2,"[12 12]"); # postscript dashes
v_samples = ["7_4_6.patch1", "7_5_0.pre6"]
prefix = "ExoVVAnalysis."
directories = ["AK4_low", "AK4_high", "AK8_low", "AK8_high"]
histNames = [
"Jet_pt",
"Jet_eta",
"Jet_m",
"Jet_phi",
"Jet_e",
"Jet_muf",
"Jet_phf",
"Jet_emf",
"Jet_nhf",
"Jet_chf",
"Jet_area",
"Jet_cm",
"Jet_nm",
]
histNamesAK8 = [
"Jet_tau1",
"Jet_tau2",
"Jet_tau3",
"Jet_tau21",
"Jet_tau32",
"Jet_tau31",
"Jet_pruned_m",
"Jet_softdrop_m",
"Jet_pruned_Wwindow_m",
"Jet_softdrop_Wwindow_m",
]
_files = {}
for sample in v_samples:
inFile = "%s%s.root" % (prefix, sample)
print "Opening " + inFile
_files[sample] = TFile.Open(inFile, "READ")
canvasList = []
for i in range(len(histNames)):
for direct in directories:
hists = {}
for sample in v_samples:
hist = _files[sample].Get("%s/%s" % (direct, histNames[i]))
print "names: %s" % ("%s/%s" % (direct, histNames[i]))
hists["%s_%s_%s" % (sample, direct, histNames[i])] = hist.Clone(
"%s_%s_%s" % (sample, direct, histNames[i])
)
hist.Delete()
# scale to unity
hists["%s_%s_%s" % (sample, direct, histNames[i])].Scale(
1.0
/ (
hists["%s_%s_%s" % (sample, direct, histNames[i])].Integral(
0, hists["%s_%s_%s" % (sample, direct, histNames[i])].GetNbinsX() + 1
)
)
)
MakeRatioPlot(
hists["%s_%s_%s" % (v_samples[0], direct, histNames[i])],
hists["%s_%s_%s" % (v_samples[1], direct, histNames[i])],
#.........这里部分代码省略.........
开发者ID:cgalloni,项目名称:SFrameAnalysis,代码行数:101,代码来源:ratioPlots.py
示例19: main
def main():
f = ROOT.TFile.Open(sys.argv[1])
t = f.Get('tree')
eff_csv = ROOT.TEfficiency('h_csv', 'Highest CSV Higgs;p_{T}(V) (GeV);Efficiency', 20, 0, 500)
eff_dijet = ROOT.TEfficiency('h_dijet', 'Highest Dijet Higgs;p_{T}(V) (GeV);Efficiency', 20, 0, 500)
# Creating references to instance methods avoids spending time on attribute lookup in the for loop.
fill_csv = eff_csv.Fill
fill_dijet = eff_dijet.Fill
# Preload threshold value for simplified function call.
isdRMatch = functools.partial(ROOT.isdRMatch, 0.5)
for i, e in enumerate(t):
if i % 10000 == 0:
print 'Processing event {!s}'.format(i)
# Generator level selection cuts.
min_GenBQuarkFromH_pt = min(e.GenBQuarkFromH_pt[0], e.GenBQuarkFromH_pt[1])
max_abs_GenBQuarkFromH_eta = max(abs(e.GenBQuarkFromH_eta[0]), abs(e.GenBQuarkFromH_eta[1]))
if min_GenBQuarkFromH_pt < 20 or max_abs_GenBQuarkFromH_eta > 2.5:
continue
# Higgs candidate dR matching. Note that GenHiggsBoson is a PyFloatBuffer,
# so it must be accessed by index as opposed to the Higgs candidate.
match_csv = isdRMatch(e.GenHiggsBoson_eta[0], e.GenHiggsBoson_phi[0], e.HCSV_eta, e.HCSV_phi)
fill_csv(match_csv, e.V_pt)
match_dijet = isdRMatch(e.GenHiggsBoson_eta[0], e.GenHiggsBoson_phi[0], e.H_eta, e.H_phi)
fill_dijet(match_dijet, e.V_pt)
# Format plotting style.
tdrstyle.setTDRStyle()
CMS_lumi.extraText = 'Simulation'
CMS_lumi.lumi_sqrtS = '13 TeV'
c = ROOT.TCanvas('c', 'c', 50, 50, 800, 600)
c.SetFillColor(0)
c.SetBorderMode(0)
c.SetFrameFillStyle(0)
c.SetFrameBorderMode(0)
c.SetLeftMargin(0.12)
c.SetRightMargin(0.04)
c.SetTopMargin(0.08)
c.SetBottomMargin(0.12)
c.SetTickx(0)
c.SetTicky(0)
eff_csv.SetLineColor(ROOT.kRed)
eff_csv.SetFillColor(ROOT.kRed)
eff_csv.Draw()
eff_dijet.SetLineColor(ROOT.kBlue)
eff_dijet.SetFillColor(ROOT.kBlue)
eff_dijet.Draw('same')
ROOT.gPad.Update()
graph_csv = eff_csv.GetPaintedGraph()
graph_dijet = eff_dijet.GetPaintedGraph()
graph_csv.SetMaximum(1.3)
x_axis = graph_csv.GetXaxis()
line_unity = ROOT.TLine(x_axis.GetXmin(), 1, x_axis.GetXmax(), 1)
line_unity.SetLineStyle(2)
line_unity.Draw('same')
y_axis = graph_csv.GetYaxis()
y_axis.SetTitleOffset(1)
legend = ROOT.TLegend(0.75, 0.18, 0.95, 0.35)
legend.AddEntry(graph_csv, 'Highest CSV', 'le')
legend.AddEntry(graph_dijet, 'Highest Dijet', 'le')
legend.Draw('same')
latex = ROOT.TLatex()
latex.SetNDC()
latex.SetTextFont(42)
latex.SetTextAngle(0)
latex.SetTextColor(ROOT.kBlack)
latex.SetTextSize(0.57 * ROOT.gPad.GetTopMargin())
latex.SetTextAlign(12)
latex.DrawLatex(0.78, 0.88, 'WH #rightarrow l#nu b#bar{b}')
CMS_lumi.CMS_lumi(pad=c, iPeriod=0, iPosX=11)
c.cd()
c.Update()
c.RedrawAxis()
frame = c.GetFrame()
frame.Draw()
c.SaveAs('higgs_efficiency_WlnH.png')
c.SaveAs('higgs_efficiency_WlnH.pdf')
f.Close()
开发者ID:swang373,项目名称:Projects,代码行数:76,代码来源:higgs_efficiency.py
示例20: drawTH1
def drawTH1(name, cmsLumi, mclist, data, x_name, y_name, doLog=False, doRatio=True, ratioRange=0.45):
#leg = ROOT.TLegend(0.58,0.78,0.8,0.9)
leg = ROOT.TLegend(0.71,0.68,0.88,0.91)
leg.SetBorderSize(0)
#leg.SetNColumns(2)
leg.SetTextSize(0.029)
leg.SetTextFont(42)
leg.SetLineColor(0)
leg.SetFillColor(0)
leg.AddEntry(data,"Data","lp")
hs = ROOT.THStack("hs_%s_mc"%(name), "hs_%s_mc"%(name))
hratio = mclist[0].Clone("hratio")
hratio.Reset()
leghist = []
for i, mc in enumerate(mclist):
hnew = mc.Clone("hnew"+mc.GetName())
hnew.Sumw2(False)
hs.Add(hnew)
hratio.Add(mc)
inversed = mclist[len(mclist)-1-i]
if not any(inversed.GetTitle() == s for s in leghist):
leg.AddEntry(inversed, inversed.GetTitle(), "f")
leghist.append(inversed.GetTitle())
hratio.Divide(data,hratio,1.,1.,"B")
tdrstyle.setTDRStyle()
setDefTH1Style(data, x_name, y_name)
data.SetMaximum(data.GetMaximum()*1.8)
if doLog:
#data.SetMaximum(10**7)
data.SetMaximum(data.GetMaximum()*100)
ratio_fraction = 0
if doRatio:
ratio_fraction = 0.3
data.GetXaxis().SetLabelSize(0)
data.GetXaxis().SetTitleSize(0)
data.GetYaxis().CenterTitle()
setDefTH1Style(hratio, x_name, "Data/MC")
hratio.GetYaxis().SetNdivisions(5)
canv = makeCanvas(name, doRatio)
pads=[canv]
pads = rootplotcore.divide_canvas(canv, ratio_fraction)
pads[0].cd()
setMargins(pads[0],doRatio)
if doLog:
pads[0].SetLogy()
data.Draw()
hs.Draw("same")
data.Draw("same")
data.Draw("esamex0")
leg.Draw("same")
pads[0].Update()
if doRatio:
pads[1].cd()
pads[1].SetGridy()
setMargins(pads[1],doRatio)
hratio.SetLineColor(1)
hratio.SetMarkerStyle(10)
hratio.Draw("ep")
hratio.SetMaximum(1.+ratioRange)
hratio.SetMinimum(1.-ratioRange)
for p in pads:
p.RedrawAxis()
p.Modified()
p.Update()
canv.cd()
iPos = 11
if( iPos==0 ):
cmsLumi.relPosX = 0.12
cmsLumi.CMS_lumi(canv, 0, iPos)
canv.Modified()
canv.Update()
canv.SaveAs(name)
开发者ID:hcwhwang,项目名称:ttbb,代码行数:84,代码来源:histoHelper.py
注:本文中的tdrstyle.setTDRStyle函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论