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)
Esempio n. 2
0
#
# 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()