from PLOT.PLOT import PLOT
from RetrieveData.RetrieveDataForPlot import RetrieveDataForPlot
from RetrieveData.Retriever import Retriever

__author__ = 'mmateja'
basic_path = "/home/mmateja/PycharmProjects/OperationPlots/"
#nameFileEnd = "Mu"


startfillnumber = 3819
endfillnumber = 4000

d = Retriever( basic_path, "lumi_LHCb", startfillnumber, endfillnumber)
data = d.retrieve("LPC") #LPC, CONDITION
r = RetrieveDataForPlot(data)
datax,datay=r.retrieveData("fillnumber","max_lumi")
for (key1, value1),(key2, value2) in zip(datax.iteritems(), datay.iteritems()): #-key2,0iteritems ze wzgledu na typy danych
        plot=PLOT(value1, value2)
        plot.setTitle("LHCb Peak Instantaneous Lumi at p-p 6.5 TeV in 2015") #key1
        plot.setxlabel("LHC Fillnumber")
        plot.setylabel("Peak Inst Luminosity (10^24/cm^2*s^1)")
        plot.draw()
datax,datay=r.retrieveData("fillnumber","average_lumi")
for (key1, value1),(key2, value2) in zip(datax.iteritems(), datay.iteritems()): #-key2,0iteritems ze wzgledu na typy danych
        plot=PLOT(value1, value2)
        plot.setTitle("LHCb Peak Instantaneous Lumi at p-p 6.5 TeV in 2015") #key1
        plot.setxlabel("LHC Fillnumber")
        plot.setylabel("Peak Inst Luminosity (10^24/cm^2*s^1)")
        plot.draw()
        #plot.savefig("OUTPUTPLOTS/2015PeakLumiFill.png")
plot.show()
from PLOT.PLOT import PLOT, dateformat
import numpy as np
from datetime import datetime

basic_path = "/home/mmateja/PycharmProjects/OperationPlots/"
#nameFileEnd = "Mu"


startfillnumber = 3819
endfillnumber = 4000

xaxis = "fillnumber"  #TIME_DATE, FILLNUMBER
yaxis = "max_lumi"
d=PlotLPC(xaxis, yaxis, basic_path, "lumi_LHCb", startfillnumber, endfillnumber)
#d=PlotCondition("time_year","value", basic_path, nameFileEnd)
for (key1, value1),(key2, value2) in zip(d.datax.iteritems(), d.datay.iteritems()): #-key2,0iteritems ze wzgledu na typy danych
        #value1 = [datetime.fromtimestamp(v1) for v1 in value1]
        if key1 != key2 and ("time_sec" and "lumi" in xaxis and yaxis):
            print "ERROR DIFFERENT KEYS!!!!!!!"
        if "time_date" in xaxis and yaxis:
            value1 = dateformat(value1)
            plot=PLOT(value1, value2)
            plot.setTitle(key1) #key1
            plot.setDate()
            plot.draw()
        else:
            plot=PLOT(value1, value2)
            plot.setTitle(key1) #key1
            plot.draw()
plot.show()
raw_input("Press enter to continue")
startfillnumber = 3819
endfillnumber = 5000

# Start by retrieving data for LPC/lumi_LHCb files in the range of fillnumbers
print 'Retrieving data from lumi_LHCb between fill# ' + str(startfillnumber) + ' and fill# ' + str(endfillnumber)
d = Retriever( basic_path, "lumi_LHCb", startfillnumber, endfillnumber)
lumi = d.retrieve("LPC") #LPC, CONDITION
r = RetrieveDataForPlot(lumi)

xaxis = "fillnumber"  
yaxis = "max_lumi_lumi"
print 'Doing ' + yaxis + ' vs ' + xaxis
datax,datay = r.retrieveData(xaxis,yaxis)
for (key1, value1),(key2, value2) in zip(datax.iteritems(), datay.iteritems()):
        plot=PLOT()
        plot.setTitle("LHCb Peak Instantaneous Lumi at p-p 6.5 TeV in 2015")
        plot.setxlabel("LHC Fillnumber")
        plot.setylabel("Peak Inst Luminosity (Hz/ub)")
        plot.draw(value1, value2, 'b', 6)
        plot.savefig("OUTPUTPLOTS/2015PeakLumiFill.png")


xaxis = "time_date"  
yaxis = "max_lumi_lumi"
print 'Doing ' + yaxis + ' vs ' + xaxis
datax,datay = r.retrieveData(xaxis,yaxis)
for (key1, value1),(key2, value2) in zip(datax.iteritems(), datay.iteritems()): 
        value1 = dateformat(value1)
        plot=PLOT()
        plot.setDate()
#             plot=PLOT(value1, value2)
#             plot.setTitle(key1) #key1
#             plot.setDate()
#             plot.draw()
#         else:
#             plot=PLOT(value1, value2)
#             plot.setTitle(key1) #key1
#             plot.draw()
#
######################################################################################################################
d = Retriever( basic_path, "lumi_LHCb", startfillnumber, endfillnumber)
data = d.retrieve("LPC") #LPC, CONDITION
r = RetrieveDataForPlot(data)
datax,datay=r.retrieveData("fillnumber","max_lumi")
for (key1, value1),(key2, value2) in zip(datax.iteritems(), datay.iteritems()): #-key2,0iteritems ze wzgledu na typy danych
        plot=PLOT(value1, value2)
        plot.setTitle("LHCb Peak Instantaneous Lumi at p-p 6.5 TeV in 2015") #key1
        plot.setxlabel("LHC Fillnumber")
        plot.setylabel("Peak Inst Luminosity (10^24/cm^2*s^1)")
        plot.draw()
datax,datay=r.retrieveData("fillnumber","average_lumi")
for (key1, value1),(key2, value2) in zip(datax.iteritems(), datay.iteritems()): #-key2,0iteritems ze wzgledu na typy danych
        plot=PLOT(value1, value2)
        plot.setTitle("LHCb Peak Instantaneous Lumi at p-p 6.5 TeV in 2015") #key1
        plot.setxlabel("LHC Fillnumber")
        plot.setylabel("Peak Inst Luminosity (10^24/cm^2*s^1)")
        plot.draw()



xaxis = "time_date"  #TIME_DATE, FILLNUMBER