#!/usr/bin/python # -*- coding: iso-8859-15 -*- import os,sys # import getopt ##maybe it's supposed to be sys.argv[:] ... maybe tmpargv = sys.argv sys.argv = [ '-n' ] from ROOT import * sys.argv = tmpargv # import psyco # psyco.full() # from time import sleep # from optparse import OptionParser # from ROOT_Tools import RootHandler # from CommandLineMod import CommandLine if __name__ == "__main__": gStyle.SetTitleBorderSize ( 0 ) # duh gStyle.SetPadBorderMode ( 0 ) gStyle.SetOptStat ( 111111 ) # Good standard stats display. gStyle.SetOptFit ( 1111 ) # Display fit info if available. gStyle.SetMarkerStyle ( 3 ) # double cross. gStyle.SetMarkerSize ( 1.0 ) # double cross. gStyle.SetOptTitle ( 1 ) # Display histogram titles. gStyle.SetCanvasColor ( 10 ) # Background color (white) gStyle.SetPadColor ( 10 ) # Background color (white) gStyle.SetFillColor ( 10 ) # Background color (white) gStyle.SetHistFillColor ( 0 ) # Background color (white) gStyle.SetFrameFillColor ( 10 ) # Background color (white) # gStyle.SetFuncColor ( 10 ) # Background color (white) gStyle.SetStatColor ( 10 ) # Background color (white) gStyle.SetTextFont ( 132 ) gStyle.SetPadRightMargin (0.03) gStyle.SetPadLeftMargin (0.10) gStyle.SetPadBottomMargin (0.38) gStyle.SetPadTopMargin (0.03) gStyle.SetTitleFillColor ( 10 ) # Background color (white) gStyle.SetTitleFontSize ( 0.08 ) # Title Font Size gStyle.SetTitleX ( 0.10 ) # Title box width gStyle.SetTitleW ( 0.50 ) # Title box width gStyle.SetTitleH ( 0.09 ) # Title box width gStyle.SetTitleBorderSize ( 0 ) gStyle.SetStatW ( 0.3 ) # Statistic box width gStyle.SetStatX ( 0.95 ) # Statistic box width gStyle.SetStatY ( 0.4 ) # Statistic box width gStyle.SetStatBorderSize ( 1 ) gStyle.SetLegendBorderSize ( 1 ) gStyle.SetPalette ( 1 ) # Nicer colour scale for 2D histograms. gStyle.SetPaperSize ( 20., 24. ) gStyle.SetHistLineWidth ( 1 ) gStyle.SetLabelFont(132) gStyle.SetLabelFont(132,"X") gStyle.SetLabelFont(132,"Y") gStyle.SetLabelFont(132,"Z") gStyle.SetLabelFont(132,"T") gStyle.SetTitleFont(132) gStyle.SetTitleFont(132,"X") gStyle.SetTitleFont(132,"Y") gStyle.SetTitleFont(132,"Z") gStyle.SetTitleFont(132,"T") gStyle.SetLabelSize(0.05) gStyle.SetLabelSize(0.07,"X") gStyle.SetLabelSize(0.05,"Y") gStyle.SetLabelSize(0.05,"Z") gStyle.SetLabelSize(0.05,"T") gStyle.SetTitleSize(0.05 ) gStyle.SetTitleSize(0.05,"X") gStyle.SetTitleSize(0.05,"Y") gStyle.SetTitleSize(0.05,"Z") gStyle.SetTitleSize(0.05,"T") gStyle.SetTextFont(132) gStyle.SetTextSize(0.1) # SetTextAttributes # SetTextAlign # SetTextAngle # SetTextColor # SetTextFont # SetTextSizePixels gStyle.SetStatFont(132) gROOT.SetBatch() gROOT.ForceStyle() # No Stats ! gStyle.SetOptStat ( 0 ) # Good standard stats display. gStyle.SetOptFit ( 0 ) # Display fit info if available. gStyle.SetTitleW ( 0.70 ) # Title box width gStyle.SetPaperSize(15,15) gStyle.SetCanvasDefH(500) # Defaults # gStyle.SetCanvasDefW(700) # Defaults # gStyle.SetCanvasDefW(1000) Copy = [1,3,4,5,6,8,9,10,11,12,13,14,15,16,18,19] Labels = ['Time of flight cut', 'Event type cut', '#mu stopping plane cut', '#mu stopping radius cut', 'PC pulse width cut', '# tracks cut', 'Ierror code cut','Start/stop plane cut','Charge cut','Pair matching cut','#mu-e vertex cut','Distance to target sel.', '#mu-e vertex sel.', 'Decay fit time', 'Fiducial region','Fitted events'] # We can have many files in input # FileList = sys.argv[1].split(',') # FileList = 'sum84-9-1_clk_raw.root' Fname = 'sum84-9-1_clk_raw.root' HistList = ['EventsBeforeCut'] # HistName = # OutputFile = sys.argv[3] OutputFile = '../EventsBeforeCut.eps' F=[] Canv = TCanvas() # Leg = TLegend(0.7, 0.7,0.9,0.9) MinX = 0 MaxX = 110 # Title = [';TDC hit time [ns]',';Drift time [#mu s];Residuals [#mu m]'] Title = ';Cut applied;Count' # LegName = ['Before','After'] # Canv.Divide(len(HistList)) # Canv.Divide(len(FileList)) Canv.SetLogy() # F = [] F = TFile(Fname) # for i,f in enumerate(FileList): H = F.Get(HistList[0]) H.SetTitle( Title) # H.SetAxisRange(MinX,MaxX,'X') # DefineTH1D( "", "EventsBeforeCut",Title,Cuts.size(), -0.5,Cuts.size()-0.5); # for (int b = 0; b < OrderedCuts.size(); b++) # H1D["EventsBeforeCut"]->GetXaxis()->SetBinLabel( b+1, OrderedCuts[b].c_str() ); # gPad.SetGrid(0,1) Hout = TH1D("OutEventsBeforeCut", Title, len(Copy), -0.5, len(Copy) - 0.5) for c,C in enumerate(Copy): Hout.SetBinContent(c+1, H.GetBinContent(C)) # print c,Labels[c], " => ", H.GetXaxis().GetBinLabel(C) Hout.GetXaxis().SetBinLabel(c+1, Labels[c]) Hout.SetTitleOffset( 1.0, 'Y') Hout.SetTitleOffset( 4.3, 'X') Hout.LabelsOption("v") Hout.Draw() ## H = F.Get(HistList[1]) ## H.SetFillColor ( 4 ) # Background color (white) ## H.Draw('bar same') # 29 55 # for i,HistName in enumerate(HistList): # Canv.cd(i+1) # # # F.append( TFile(Fname) ) # # H = F[i].Get(HistName) # # # F.append(TFile(f)) # # H = F[i].Get(HistName) # H = F.Get(HistName) # # H.Draw() # # H.GetHistogram().SetTitle( Title) # H.SetTitle( Title) # # # TPT.append(TPaveText( )) # # TPT[i].SetX1NDC(0.45) # # TPT[i].SetX2NDC(0.65) # # TPT[i].SetY1NDC(0.35) # # TPT[i].SetY2NDC(0.47) # # if ( i == 0): # # TT.append(TPT[i].AddText('Data')) # # # H.Draw() # # H.SetTitle(Title) # # H.SetAxisRange(MinY,MaxY,'Y') # # H.SetLineWidth(2) # # H.SetTitleOffset( 1.2, 'Y') # # else: # # TT.append(TPT[i].AddText('MC')) # # # H.GetHistogram().SetTitleOffset( 1.2, 'Y') # # # if ( i > 3 ): # # # H.SetLineColor(i+2) # # # else: # # # H.SetLineColor(i+1) # # # H.SetLineWidth(2) # # # H.Draw('same') # # # Leg.AddEntry(H, LegName[i], 'l') # # TPT[i].SetBorderSize(0) # # TT[i].SetTextAlign(22) # # TPT[i].Draw() # Leg.Draw() # For Postscript # Canv.Print(OutputFile,"Landscape") # For eps Canv.Print(OutputFile)