852 def makeRatePlot( v, lbduration, plottriggers, averrate, xtit, ytit, name, title, datapath, printText = '' ):
868 c = TCanvas( name, title, 0, 0, 530, 400 )
869 c.GetPad(0).SetTopMargin(0.13)
870 c.GetPad(0).SetGrid()
872 firstlb =
min([lbinfo[0][0]
for lbinfo
in v.values()])
873 lastlb =
max([lbinfo[-1][0]
for lbinfo
in v.values()])
875 frame =
TH1F( name, title, lastlb-firstlb+1, firstlb, lastlb+1 )
876 frame.GetXaxis().SetTitle( xtit )
877 frame.GetXaxis().SetTitleOffset( 1.3 )
878 frame.GetYaxis().SetTitle( ytit )
879 frame.GetYaxis().SetTitleOffset( 1.4 )
887 colorList = [ (ROOT.kBlue,ROOT.kAzure+1),
888 (ROOT.kGreen+2,ROOT.kGreen+2),
889 (ROOT.kRed+1,ROOT.kRed),
890 (ROOT.kTeal-1,ROOT.kTeal),
891 (ROOT.kOrange+8,ROOT.kOrange),
892 (ROOT.kYellow+1,ROOT.kYellow),
893 (ROOT.kOrange+3,ROOT.kOrange+5),
894 (ROOT.kPink+8,ROOT.kPink+9) ]
897 for trname,avrate
in plottriggers:
898 hTAP[trname] =
TH1F(
'%s_ap_%s' % (name,trname), title, lastlb-firstlb+1, firstlb, lastlb+1 )
899 hTAV[trname] =
TH1F(
'%s_av_%s' % (name,trname), title, lastlb-firstlb+1, firstlb, lastlb+1 )
902 hav.SetLineWidth( 2 )
903 if clrIdx < len(colorList):
904 dark,bright = colorList[clrIdx]
905 hav.SetLineColor( dark )
906 hap.SetFillColor( bright )
907 hap.SetMarkerColor( bright )
911 for (lb,bp,ap,av),(lb2,lbstart,dt)
in zip(counts,lbduration):
914 hap.SetBinContent( lb-firstlb+1, (_apr+_avr)/2 )
915 hap.SetBinError( lb-firstlb+1, (_apr-_avr)/2 )
916 hav.SetBinContent( lb-firstlb+1, _avr )
917 ymax =
max(ymax,_apr)
930 for h
in hTAP.values():
932 for h
in hTAV.values():
936 t = TText( frame.GetXaxis().GetXmax(), y2*1.01, printText )
938 t.SetTextSize( 0.035 )
942 now =
str(datetime.datetime.today())
943 tlogo = TText( frame.GetXaxis().GetXmax()*1.025, y1,
'ATLAS Run QUERY %s' % now[:now.find(
'.')] )
944 tlogo.SetTextSize( 0.030 )
945 tlogo.SetTextColor( TColor.GetColor(
"#888888" ) )
946 tlogo.SetTextAngle(90)
950 dy = 0.10 + 0.01*(len(hTAV)-1)
951 legend = TLegend( 1 - c.GetRightMargin() - dx, 1 - c.GetTopMargin() - dy - 0.015,
952 1 - c.GetRightMargin(), 1 - c.GetTopMargin() - 0.015)
953 legend.SetNColumns(2)
954 legend.SetBorderSize( 0 )
955 legend.SetMargin( 0.15 )
956 legend.SetLineColor( 0 )
957 legend.SetTextColor( 1 )
959 for trname,avtrrate
in averrate:
960 if trname
not in hTAV:
962 legend.AddEntry( hTAV[trname], trname,
"l" )
966 frame.Draw(
"sameaxis" )
969 fnames =
'%s/atlrunquery_%s.png' % (datapath, name)
971 frame.SetMaximum(ymax*5)
974 fnames2 =
'%s/atlrunquery_%s_log.png' % (datapath, name)