from ROOT import TFile, TGraph, TCanvas, TLegend, TPad from array import array import sys # plot all on canvas graphs = {} print(len(sys.argv[1:])) for filename in sys.argv[1:]: f = TFile(filename + '.root', 'READ') f.GetList().ls() for i in range(0, f.GetNkeys()): g = f.Get('igprof_cumulative' + str(i)) graphs.setdefault(g.GetTitle(), [[], []])[0].append(g) graphs[g.GetTitle()][1].append(filename) for title, graphsList in graphs.items(): # check Y axis range minval = [] maxval = [] for g in graphsList[0]: minval.append(g.GetYaxis().GetXmin()) maxval.append(g.GetYaxis().GetXmax()) canv = TCanvas("igprof", "igprof runtime", 0, 0, 1600, 1000) canv.Divide(2, 1) pad = canv.cd(1) leg = TLegend(0.1, 0.1, 0.9, 0.9) for i, g in enumerate(graphsList[0]): g.SetMarkerColor(i + 1) g.SetLineColor(i + 1) g.SetMarkerStyle(20 + i)
# # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # # ========================================================================== from ROOT import TFile # Open input file filename = '/project-data/cta/performance/prod3b/CTA-Performance-North-E-20170502/CTA-Performance-North-20deg-average-50h_20170502.root' infile = TFile(filename) # Open output file outfile = TFile('irf.root', 'RECREATE') # Open histograms aeff1 = infile.Get('EffectiveAreaEtrueNoTheta2cut_offaxis') aeff2 = infile.Get('EffectiveAreaEtrueNoTheta2cut') psf1 = infile.Get('AngRes_offaxis') psf2 = infile.Get('AngRes80_offaxis') psf3 = infile.Get('AngularPSF2DEtrue_offaxis') edisp1 = infile.Get('EestOverEtrue_offaxis') edisp2 = infile.Get('MigMatrixNoTheta2cut_offaxis') bkg1 = infile.Get('BGRatePerSqDeg_offaxis') bkg2 = infile.Get('BGRatePerSqDeg') # Write histograms infile.GetList().Write() # Close output file outfile.Close()