#!/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		( 10		)	# 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.SetPadLeftMargin		(0.15)
	gStyle.SetPadBottomMargin	(0.13)
	gStyle.SetPadTopMargin	(0.05)

	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.06)
	gStyle.SetLabelSize(0.06,"X")
	gStyle.SetLabelSize(0.06,"Y")
	gStyle.SetLabelSize(0.06,"Z")
	gStyle.SetLabelSize(0.06,"T")
	gStyle.SetTitleSize(0.06   )
	gStyle.SetTitleSize(0.06,"X")
	gStyle.SetTitleSize(0.06,"Y")
	gStyle.SetTitleSize(0.06,"Z")
	gStyle.SetTitleSize(0.06,"T")
	gStyle.SetTextFont(132)
	gStyle.SetStatFont(132)

	gROOT.SetBatch()
	gROOT.ForceStyle()

	# No Stats !
	gStyle.SetOptStat			( 0	)	# Good standard stats display.
	gStyle.SetOptFit			( 1111	)	# Display fit info if available.

	gStyle.SetTitleW			( 0.70		)	# Title box width

	gStyle.SetPaperSize(15,7)
	# gStyle.SetCanvasDefH(500)  # Defaults
	# gStyle.SetCanvasDefW(700)  # Defaults
	gStyle.SetCanvasDefW(1000)

	# We can have many files in input
	# FileList	= sys.argv[1].split(',')
	Fname	= 'TCSF2006Aa_STRCalib_Ph4_Pa2_Plots.root'

	HistList 	= ['PeakVsHole12','ResiVsHole12']
	# HistName 	= sys.argv[2]
	# OutputFile	= sys.argv[3]
	OutputFile	= '../TEC_STR_FitResults.eps'
	F=[]

	Canv = TCanvas()
	# Leg = TLegend(0.7, 0.7,0.9,0.9)

	# MinY = 3620
	# MaxY = 3830

	Title	= [';Drift time [#mu s];Drift distance [ns]',';Drift time [#mu s];Residuals [#mu m]']
	# LegName = ['Before','After']

	Canv.Divide(len(HistList))

	# for i,f in enumerate(FileList):
	for i,HistName in enumerate(HistList):
		Canv.cd(i+1)
		# Fname = f.split(':')[0]

		# F.append( TFile(Fname) )
		# H	= F[i].Get(HistName)

		F	= TFile(Fname)
		H	= F.Get(HistName)

		H.Draw('AP')
		H.GetHistogram().SetTitle( Title[i])

		if ( i == 0):
		# 	H.Draw()
		# 	H.SetTitle(Title)
		# 	H.SetAxisRange(MinY,MaxY,'Y')
		# 	H.SetLineWidth(2)
		# 	H.SetTitleOffset( 1.2, 'Y')
			H.Fit("pol3", "Q","")
			H.GetFunction('pol3').SetLineWidth(1)
		else:
			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')

	# Leg.Draw()

	# For Postscript
	# Canv.Print(OutputFile,"Landscape")
	# For eps
	Canv.Print(OutputFile)