def CMSPrelim(dataset, channel, lowX, lowY): cmsprel = TPaveText(lowX, lowY + 0.06, lowX + 0.30, lowY + 0.16, "NDC") cmsprel.SetBorderSize(0) cmsprel.SetFillStyle(0) cmsprel.SetTextAlign(12) cmsprel.SetTextSize(0.04) cmsprel.SetTextColor(1) cmsprel.SetTextFont(62) cmsprel.AddText(dataset) ## lumi = TPaveText(lowX+0.38, lowY+0.061, lowX+0.45, lowY+0.161, "NDC") ## lumi.SetBorderSize( 0 ) ## lumi.SetFillStyle( 0 ) ## lumi.SetTextAlign( 12 ) ## lumi.SetTextSize ( 0.04 ) ## lumi.SetTextColor( 1 ) ## lumi.SetTextFont ( 62 ) ## lumi.AddText(dataset) chan = TPaveText(lowX + 0.68, lowY + 0.061, lowX + 0.80, lowY + 0.161, "NDC") chan.SetBorderSize(0) chan.SetFillStyle(0) chan.SetTextAlign(12) chan.SetTextSize(0.05) chan.SetTextColor(1) chan.SetTextFont(62) chan.AddText(channel) return cmsprel, chan
def drawenergy1D(is2017, text_="Work in progress 2018", data=True): pt = TPaveText(0.0877181,0.9,0.9580537,0.96,"brNDC") pt.SetBorderSize(0) pt.SetTextAlign(12) pt.SetFillStyle(0) pt.SetTextFont(52) cmstextSize = 0.07 preliminarytextfize = cmstextSize * 0.7 lumitextsize = cmstextSize *0.7 pt.SetTextSize(cmstextSize) text = pt.AddText(0.063,0.57,"#font[61]{CMS}") pt1 = TPaveText(0.0877181,0.9,0.9580537,0.96,"brNDC") pt1.SetBorderSize(0) pt1.SetTextAlign(12) pt1.SetFillStyle(0) pt1.SetTextFont(52) pt1.SetTextSize(preliminarytextfize) text1 = pt1.AddText(0.215,0.4,text_) pt2 = TPaveText(0.0877181,0.9,0.9580537,0.96,"brNDC") pt2.SetBorderSize(0) pt2.SetTextAlign(12) pt2.SetFillStyle(0) pt2.SetTextFont(52) pt2.SetTextFont(42) pt2.SetTextSize(lumitextsize) # text3 = pt2.AddText(0.53,0.5,"#sqrt{s} = 13 TeV(2017)") #pavetext = '' #if is2017: pavetext = "#sqrt{s} = 13 TeV(2017)" #if not is2017: pavetext = "#sqrt{s} = 13 TeV(2018)" #text3 = pt2.AddText(0.61,0.5,pavetext) pavetext = '' if is2017 and data: pavetext = "(13 TeV)" if (not is2017) and data: pavetext = "(13 TeV)" if is2017 and not data: pavetext = "13 TeV" if (not is2017) and not data: pavetext = "13 TeV" if data: text3 = pt2.AddText(0.81,0.5,pavetext) if not data: text3 = pt2.AddText(0.85,0.5,pavetext) return [pt,pt1,pt2] return [pt,pt1,pt2]
def CreateLabel(self, xmin, ymin, xmax, ymax): label = TPaveText(xmin, ymin, xmax, ymax, "NDC") label.SetBorderSize(0) label.SetFillStyle(0) label.SetTextFont(42) label.AddText("Trigger: %s" % (self.__triggername)) return label
def add_desc_to_canvas(config, xmin, ymin, xmax, ymax, size, content): txt1 = TPaveText(xmin, ymin, xmax, ymax, "NDC") txt1.SetFillColor(kWhite) txt1.SetFillStyle(0) txt1.SetBorderSize(0) txt1.SetTextAlign(12) # middle,left txt1.SetTextFont(42) # helvetica txt1.SetTextSize(size) if content["add_alice"]: txt1.AddText("ALICE work in progress") if content["add_gran"]: gran_desc = "#it{n}_{#it{#varphi}} #times #it{n}_{#it{r}} #times #it{n}_{#it{z}}" gran_str = "%d #times %d #times %d" % (config.grid_phi, config.grid_r, config.grid_z) txt1.AddText("%s = %s" % (gran_desc, gran_str)) if content["add_inputs"]: if config.opt_train[0] == 1 and config.opt_train[1] == 1: txt1.AddText("inputs: #it{#rho}_{SC} - <#it{#rho}_{SC}>, <#it{#rho}_{SC}>") elif config.opt_train[1] == 1: txt1.AddText("inputs: #it{#rho}_{SC} - <#it{#rho}_{SC}>") if content["add_events"]: txt1.AddText("#it{N}_{ev}^{training} = %d" % config.train_events) # txt1.AddText("#it{N}_{ev}^{validation} = %d" % config.test_events) # txt1.AddText("#it{N}_{ev}^{apply} = %d" % config.apply_events) if config.name == "dnn": txt1.AddText("%d epochs" % config.epochs) return txt1
def plot(obj, plot_name, plot_notes=[]): canvas = TCanvas('canvas' + plot_name, "Canvas", 450, 450) gPad.SetLeftMargin(.13) gPad.SetTopMargin(.05) gStyle.SetOptStat(11) gStyle.SetOptFit(1111) if 'TH2' in obj.ClassName(): gPad.SetRightMargin(.13) draw_options = 'COLZ' if 'profile' in obj.GetName(): gPad.SetRightMargin(.05) draw_options = '' if 'graph' in obj.GetName(): gPad.SetRightMargin(.05) draw_options = 'APE' obj.SetMarkerSize(.7) obj.SetMarkerStyle(21) note = TPaveText(.2, .7, .5, .9, "brNDC") note.SetFillStyle(0) note.SetFillColor(0) note.SetBorderSize(0) note.SetTextColor(1) note.SetTextFont(42) note.SetTextAlign(11) for note_text in plot_notes: note.AddText(note_text) obj.Draw(draw_options) note.Draw() canvas.Print('output/' + plot_name + '.pdf')
def PaveText(x1,y1,x2,y2): txt = TPaveText(x1,y1,x2,y2) txt.SetFillStyle(0) txt.SetLineWidth(0) txt.SetLineStyle(0) txt.SetTextFont(52) txt.SetTextSize(0.033) return txt
def plotTriggerEfficiency(self, passesHist, totalHist, label=""): if self._fout and self._canvas: passesHist = passesHist.Rebin(self._rebinFactor, "passesHist") totalHist = totalHist.Rebin(self._rebinFactor, "totalHist") self.makePassesConsistentWithTotal(passesHist, totalHist) metGraph = TGraphAsymmErrors(passesHist, totalHist) metGraph.SetEditable(0) pt = TPaveText(0.409774, 0.843023, 0.809524, 0.890827, "brNDC") pt.SetBorderSize(0) pt.SetFillStyle(0) pt.SetTextFont(42) pt.SetTextSize(0.0387597) pt.AddText(str(self._plotLabel)) cmsLabel = TPaveText(0.134085, 0.937984, 0.418546, 0.984496, "brNDC") cmsLabel.SetBorderSize(0) cmsLabel.SetFillStyle(0) cmsLabel.SetTextFont(62) cmsLabel.SetTextSize(0.0387597) cmsLabel.AddText("CMS Preliminary") lumiLabel = TPaveText(0.575188, 0.937339, 0.874687, 0.992894, "brNDC") lumiLabel.SetBorderSize(0) lumiLabel.SetFillStyle(0) lumiLabel.SetTextFont(42) lumiLabel.SetTextSize(0.0387597) lumiLabel.AddText(str(self._luminosityLabel)) setStyle(metGraph) self._canvas.cd() metGraph.Draw("ap") setAxisStyle(metGraph, "E_{T}^{miss, no #mu} [GeV]", label + " trigger efficiency", (0.0, 500.0), (0.0, 1.4)) pt.Draw("same") cmsLabel.Draw("same") lumiLabel.Draw("same") self._fout.cd() self._canvas.Write("triggerEfficiency_" + label) else: print "A TFile and TCanvas must be added. Not making plots..."
def makeStats(mean,rms): label = TPaveText( 0.25, 0.7, 0.3, 0.8, 'NB NDC' ) label.SetTextSize( 0.035 ) label.SetTextFont( 42 ) label.SetFillStyle( 0 ) label.SetLineWidth( 0 ) label.AddText( 'Mean = ' + str(mean) ) label.AddText( 'RMS = ' + str(rms) ) return label
def addText(): label = TPaveText( 0.7, 0.7, 0.75, 0.8, 'NB NDC' ) label.SetTextSize( 0.04 ) label.SetTextFont( 42 ) label.SetFillStyle( 0 ) label.SetLineWidth( 0 ) label.AddText( "Elastic #gamma#gamma#rightarrow#gamma#gamma" ) label.AddText( "FPMC, BSM pred." ) return label
def getWaterMark(markPosition): watermark = TPaveText(markPosition['x1ndc'], markPosition['y1ndc'], markPosition['x2ndc'], markPosition['y2ndc'],"NDC") markText = watermark.AddText("A. Kuensken") markText.SetTextAlign(12) markText.SetTextSize(0.0316456) markText.SetTextColor(15) watermark.SetBorderSize(0) watermark.SetFillStyle(0) return watermark
def drawenergy(is2017, data=True): pt = TPaveText(0.0877181, 0.9, 0.9580537, 0.96, "brNDC") pt.SetBorderSize(0) pt.SetTextAlign(12) pt.SetFillStyle(0) pt.SetTextFont(52) cmstextSize = 0.07 preliminarytextfize = cmstextSize * 0.7 lumitextsize = cmstextSize * 0.7 pt.SetTextSize(cmstextSize) text = pt.AddText(0.01, 0.57, "#font[61]{CMS}") pt1 = TPaveText(0.0877181, 0.904, 0.9580537, 0.96, "brNDC") pt1.SetBorderSize(0) pt1.SetTextAlign(12) pt1.SetFillStyle(0) pt1.SetTextFont(52) pt1.SetTextSize(preliminarytextfize) #text1 = pt1.AddText(0.155,0.4,"Preliminary") text1 = pt1.AddText(0.125, 0.4, " Internal") pt2 = TPaveText(0.0877181, 0.9, 0.7280537, 0.96, "brNDC") pt2.SetBorderSize(0) pt2.SetTextAlign(12) pt2.SetFillStyle(0) pt2.SetTextFont(52) pt2.SetTextFont(42) pt2.SetTextSize(lumitextsize) # text3 = pt2.AddText(0.53,0.5,"#sqrt{s} = 13 TeV(2017)") pavetext = '' if is2017 and data: pavetext = "41.1 fb^{-1} (13 TeV)" if (not is2017) and data: pavetext = "(13 TeV)" if is2017 and not data: pavetext = "(13 TeV)" if (not is2017) and not data: pavetext = "(13 TeV)" if data: text3 = pt2.AddText(0.735, 0.5, pavetext) if not data: text3 = pt2.AddText(0.75, 0.5, pavetext) return [pt, pt1, pt2]
def getPavetext(): addInfo = TPaveText(0.3010112, 0.2066292, 0.4202143, 0.3523546, "NDC") addInfo.SetFillColor(0) addInfo.SetLineColor(0) addInfo.SetFillStyle(0) addInfo.SetBorderSize(0) addInfo.SetTextFont(42) addInfo.SetTextSize(0.040) addInfo.SetTextAlign(12) return addInfo
def __MakeLabel(self, xmin, xmax, ymin, ymax, trigger): """ Add label with trigger, cuts and pileup """ lab = TPaveText(xmin, xmax, ymin, ymax, "NDC") lab.SetBorderSize(0) lab.SetFillStyle(0) lab.SetTextFont(42) lab.SetTextAlign(12) lab.AddText("Trigger: %s" %(trigger)) return lab
def prelimLabel(): label = TPaveText( 0.2, 0.9, 0.27, 0.92, 'NB NDC' ) label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.SetTextAlign(31) label.AddText( "#font[62]{CMS} #font[52]{Preliminary}" ) label.SetTextSize(0.03) label.SetTextColor( 1 ) return label
def condLabel(): label = TPaveText( 0.67, 0.9, 0.81, 0.93, 'NB NDC' ) label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.AddText( "%s cond. (13 TeV)" % era ) label.SetTextSize( 0.034 ) label.SetTextAlign(11) label.SetTextFont( 42 ) label.SetTextColor( 1 ) return label
def selectionLabel(text): label = TPaveText( 0.15, 0.9, 0.23, 0.92, 'NB NDC' ) label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.AddText( text ) label.SetTextSize( 0.048 ) label.SetTextAlign(11) label.SetTextFont( 52 ) label.SetTextColor( 1 ) return label
def simLabel(): label = TPaveText( 0.12, 0.9, 0.18, 0.92, 'NB NDC' ) label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.SetTextAlign(11) label.AddText( "#font[62]{CMS} #font[52]{Simulation}" ) label.SetTextSize(0.035) label.SetTextFont( 52 ) label.SetTextColor( 1 ) return label
def lumiLabel(): label = TPaveText( 0.72, 0.9, 0.8, 0.92, 'NB NDC' ) label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.AddText( "37.19 fb^{-1} (13 TeV)" ) label.SetTextSize( 0.03 ) label.SetTextAlign(11) label.SetTextFont( 42 ) label.SetTextColor( 1 ) return label
def condLabel(): label = TPaveText(0.63, 0.9, 0.8, 0.92, 'NB NDC') label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.AddText("2017 PU cond. (13 TeV)") label.SetTextSize(0.034) label.SetTextAlign(11) label.SetTextFont(42) label.SetTextColor(1) return label
def do_final_cosmetics(self): self.decoratee.do_final_cosmetics() titlebox = TPaveText(0.18, 0.94, 0.9, 0.97, "brNDC") titlebox.AddText(self.make_title()) titlebox.SetTextSize(0.045) titlebox.SetFillStyle(0) titlebox.SetBorderSize(0) titlebox.SetTextAlign(13) titlebox.SetMargin(0.0) titlebox.SetFillColor(0) titlebox.Draw("SAME") self.titlebox = titlebox
def selectionLabel(text,ratio,log,maximum): label = TPaveText( 0.1, 0.9, 0.18, 0.92, 'NB NDC' ) label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.AddText( text ) if ratio: label.SetTextSize( 0.048 ) else: label.SetTextSize( 0.034 ) label.SetTextAlign(11) label.SetTextFont( 52 ) label.SetTextColor( 1 ) return label
def drawDate(filename): from ROOT import TPaveText day,month,year = extractDate(filename) date_string = "%s %s %s" % (day, month, year) pave = TPaveText(0.005, 0.005, 0.1, 0.02, 'NDC') pave.SetTextFont(42) pave.SetTextSize(0.03) pave.SetFillStyle(1001) pave.SetFillColor(0) pave.SetBorderSize(0) pave.SetTextAlign(12) pave.AddText(date_string) return pave
def descriptionLabel(): label = TPaveText( 0.73, 0.65, 0.81, 0.8, 'NB NDC' ) label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.AddText( "Elastic #gamma#gamma#rightarrow#gamma#gamma" ) label.AddText( "FPMC BSM pred." ) label.AddText( "#sigma_{bd} = 30 #murads" ) label.SetTextSize( 0.032 ) label.SetTextAlign(11) label.SetTextFont( 42 ) label.SetTextColor( 1 ) return label
def prelimLabel(): label = TPaveText( 0.14, 0.8, 0.2, 0.87, 'NB NDC' ) label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.SetTextAlign(11) label.AddText( "#font[62]{CMS}" ) #label.AddText( "#scale[0.75]{#font[52]{Preliminary}}" ) label.AddText( "#scale[0.75]{#font[52]{Inteneral}}" ) label.SetTextSize(0.043) label.SetTextFont( 52 ) label.SetTextColor( 1 ) return label
def add_desc_to_canvas(self): txt1 = TPaveText(0.15, 0.8, 0.4, 0.92, "NDC") txt1.SetFillColor(kWhite) txt1.SetFillStyle(0) txt1.SetBorderSize(0) txt1.SetTextAlign(12) # middle,left txt1.SetTextFont(42) # helvetica txt1.SetTextSize(0.04) txt1.AddText("#varphi slice = %d, r slice = %d, z slice = %d" % \ (self.grid_phi, self.grid_r, self.grid_z)) if self.opt_train[0] == 1 and self.opt_train[1] == 1: txt1.AddText("inputs: #rho_{SC} - <#rho_{SC}>, <#rho_{SC}>") elif self.opt_train[1] == 1: txt1.AddText("inputs: #rho_{SC} - <#rho_{SC}>") txt1.Draw()
def DrawLabel(self, xmin, ymin, xmax, ymax, text): """ Add a new label to the pad and draw it @param xmin: Min. x value of the label @param xmin: Max. x value of the label @param xmin: Min. y value of the label @param xmin: Max. y value of the label @param text: Label text """ label = TPaveText(xmin, ymin, xmax, ymax, "NDC") label.SetBorderSize(0) label.SetFillStyle(0) label.SetTextFont(42) label.AddText(text) label.Draw() self.__labels.append(label)
def simLabel(): #label = TPaveText( 0.11, 0.9, 0.2, 0.92, 'NB NDC' ) label = TPaveText(0.8, 0.79, 0.87, 0.86, 'NB NDC') label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) #label.SetTextAlign(11) label.SetTextAlign(31) #label.AddText( "#font[62]{CMS} #font[52]{Simulation}" ) label.AddText("#font[62]{CMS}") label.AddText("#scale[0.75]{#font[52]{Simulation}}") label.SetTextSize(0.045) #label.SetTextFont( 52 ) label.SetTextColor(1) return label
def lumiLabel(): label = TPaveText( 0.7, 0.89, 0.8, 0.93, 'NB NDC' ) label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) if len(years) == 1 and years[0] == '2016': luminosity = '9.78' elif len(years) == 1 and years[0] == '2017': luminosity = '37.19' elif len(years) == 1 and years[0] == '2018': luminosity = '55.72' elif len(years) == 2: luminosity = '92.91' elif len(years) == 3: luminosity = '102.7' label.AddText( luminosity+" fb^{-1} (13 TeV)" ) label.SetTextSize( 0.033 ) label.SetTextAlign(11) label.SetTextFont( 42 ) label.SetTextColor( 1 ) return label
def prelimLabel(location, log): if location == 'left': label = TPaveText(0.135, 0.76, 0.2, 0.84, 'NB NDC') label.AddText("#font[62]{CMS}") label.AddText("#scale[0.75]{#font[52]{Preliminary}}") elif location == 'top': label = TPaveText(0.15, 0.9, 0.25, 0.92, 'NB NDC') label.AddText("#font[62]{CMS} #font[52]{Preliminary}") label.SetFillStyle(0) label.SetBorderSize(0) label.SetLineWidth(0) label.SetLineStyle(0) label.SetTextAlign(11) # Align bottom left if location == 'top': label.SetTextSize(0.04) else: label.SetTextSize(0.05) label.SetTextFont(52) label.SetTextColor(1) return label
def tgs(tgraphs, title): tmg = TMultiGraph() tle = TLegend(0.6, 0.4, 0.9, 0.8) tit = TPaveText(0.2988506, 0.934322, 0.6997126, 1, "nbNDC") # Make title tit.SetFillColor(0) tit.SetFillStyle(0) tit.SetLineColor(0) tit.AddText(title) for i in xrange(len(tgraphs)): tgraphs[i].SetLineWidth(2) tgraphs[i].SetLineColor(i + 1) tmg.Add(tgraphs[i]) tle.AddEntry(tgraphs[i], tgraphs[i].GetName(), "l") return [tmg, tle, tit]