예제 #1
0
def histo (db, tag,since,filename='histo.root'):
    '''Make histograms and save to file. tag can be an xml file'''
    
    coeff_barl=[]
    coeff_endc=[]
    
    if  tag.find(".xml")< 0:
      found=0
      try:  
#          exec('import '+db.moduleName(tag)+' as Plug')
        db.startReadOnlyTransaction()
        Plug = __import__(str(db.payloadModules(tag)[0]))
        payload = Plug.Object(db)
        listOfIovElem= [iovElem for iovElem in db.iov(tag).elements]
        what = {'how':'barrel'}
        w = inspect.setWhat(Plug.What(),what)
        exb = Plug.Extractor(w)
        what = {'how':'endcap'}
        w = inspect.setWhat(Plug.What(),what)
        exe = Plug.Extractor(w)
        for elem in db.iov(tag).elements :       
          if str(elem.since())==str(since):
            found=1
            payload.load(elem)
            payload.extract(exb)
            coeff_barl = [i for i in exb.values()]
            payload.extract(exe)
            coeff_endc = [i for i in exe.values()]
        db.commitTransaction()

      except Exception, er :
          print " histo exception ",er
      if not found :
        print "Could not retrieve payload for tag: " , tag, " since: ", since
        sys.exit(0)
예제 #2
0
	def histo(self, tag='EcalIntercalibConstantsMC_EBg50_EEnoB',since=1,till=4294967295,definition=30):
		#print "TILL: ",till
    		'''Make histograms. tag can be an xml file'''
		db 	= 	self.rdbms.getDB(self.dbName)
		db.startTransaction()
    		coeff_barl=[]
    		coeff_endc=[]
    		if  tag.find(".xml")< 0:
        		try:  
          			#exec('import '+db.moduleName(tag)+' as Plug')
				modName = str(db.payloadModules(tag)[0])
				Plug = __import__(modName)
          			what 	= 	{'how':'barrel'}
          			w 	= 	inspect.setWhat(Plug.What(),what)
          			ex 	= 	Plug.Extractor(w)
          			p	=	self.getObject(db,tag,since)
          			p.extract(ex)
          			coeff_barl = [i for i in ex.values()]


          			what = {'how':'endcap'}
          			w = inspect.setWhat(Plug.What(),what)
          			ex = Plug.Extractor(w)
          			p.extract(ex)
          			coeff_endc = [i for i in ex.values()]     

        		except Exception, er :
          			print er 
예제 #3
0
def histo(db, tag, since, filename='histo.root'):
    '''Make histograms and save to file. tag can be an xml file'''

    coeff_barl = []
    coeff_endc = []

    if tag.find(".xml") < 0:
        found = 0
        try:
            #          exec('import '+db.moduleName(tag)+' as Plug')
            db.startTransaction()
            Plug = __import__(str(db.payloadModules(tag)[0]))
            payload = Plug.Object(db)
            listOfIovElem = [iovElem for iovElem in db.iov(tag).elements]
            what = {'how': 'barrel'}
            w = inspect.setWhat(Plug.What(), what)
            exb = Plug.Extractor(w)
            what = {'how': 'endcap'}
            w = inspect.setWhat(Plug.What(), what)
            exe = Plug.Extractor(w)
            for elem in db.iov(tag).elements:
                if str(elem.since()) == str(since):
                    found = 1
                    payload.load(elem)
                    payload.extract(exb)
                    coeff_barl = [i for i in exb.values()]
                    payload.extract(exe)
                    coeff_endc = [i for i in exe.values()]
            db.commitTransaction()

        except Exception, er:
            print " histo exception ", er
        if not found:
            print "Could not retrieve payload for tag: ", tag, " since: ", since
            sys.exit(0)
예제 #4
0
def compare(tag1,db1,since1,
            tag2,db2,since2,filename='compare.root'):
  '''Produce comparison plots for two records. Save plots to file \
     according to format. tag can be an xml file'''

  coeff_1_b=[]
  coeff_2_b=[]

  coeff_1_e=[]
  coeff_2_e=[]
  
  if  tag1.find(".xml") < 0:
      try:
        exec('import '+db1.moduleName(tag1)+' as Plug')  
        what = {'how':'barrel'}
        w = inspect.setWhat(Plug.What(),what)
        ex = Plug.Extractor(w)
        p = getObject(db1,tag1,since1)
        p.extract(ex)
        coeff_1_b = [i for i in ex.values()]# first set of coefficients
        what = {'how':'endcap'}
        w = inspect.setWhat(Plug.What(),what)
        ex = Plug.Extractor(w)
        p.extract(ex)
        coeff_1_e = [i for i in ex.values()]# first set of coefficients


      except Exception,er :
          print er
예제 #5
0
def histo (db, tag,since,filename='histo.root'):
    '''Make histograms and save to file. tag can be an xml file'''
    
    coeff_barl=[]
    coeff_endc=[]
    
    if  tag.find(".xml")< 0:
        try:  
          exec('import '+db.moduleName(tag)+' as Plug')

          what = {'how':'barrel'}
          w = inspect.setWhat(Plug.What(),what)
          ex = Plug.Extractor(w)
          p=getObject(db,tag,since)
          p.extract(ex)
          coeff_barl = [i for i in ex.values()]


          what = {'how':'endcap'}
          w = inspect.setWhat(Plug.What(),what)
          ex = Plug.Extractor(w)
          p.extract(ex)
          coeff_endc = [i for i in ex.values()]     

        except Exception, er :
          print er 
예제 #6
0
    def histo(self,
              tag='EcalIntercalibConstantsMC_EBg50_EEnoB',
              since=1,
              till=4294967295,
              definition=30):
        #print "TILL: ",till
        '''Make histograms. tag can be an xml file'''
        db = self.rdbms.getDB(self.dbName)
        db.startTransaction()
        coeff_barl = []
        coeff_endc = []
        if tag.find(".xml") < 0:
            try:
                #exec('import '+db.moduleName(tag)+' as Plug')
                modName = str(db.payloadModules(tag)[0])
                Plug = __import__(modName)
                what = {'how': 'barrel'}
                w = inspect.setWhat(Plug.What(), what)
                ex = Plug.Extractor(w)
                p = self.getObject(db, tag, since)
                p.extract(ex)
                coeff_barl = [i for i in ex.values()]

                what = {'how': 'endcap'}
                w = inspect.setWhat(Plug.What(), what)
                ex = Plug.Extractor(w)
                p.extract(ex)
                coeff_endc = [i for i in ex.values()]

            except Exception, er:
                print er
예제 #7
0
def compare(tag1,db1,since1,
            tag2,db2,since2,filename='compare.root'):
  '''Produce comparison plots for two records. Save plots to file \
     according to format. tag can be an xml file'''
  print "EcalCondTools.py compare tag1 ", tag1, "since1 : ", since1, " tag2 ", tag2," s2 ", since2

  coeff_1_b=[]
  coeff_2_b=[]

  coeff_1_e=[]
  coeff_2_e=[]
  
  if  tag1.find(".xml") < 0:
      found=0
      try:
        db1.startReadOnlyTransaction()
        Plug = __import__(str(db1.payloadModules(tag1)[0]))
        payload = Plug.Object(db1)
        listOfIovElem= [iovElem for iovElem in db1.iov(tag1).elements]
        what = {'how':'barrel'}
        w = inspect.setWhat(Plug.What(),what)
        exb = Plug.Extractor(w)
        what = {'how':'endcap'}
        w = inspect.setWhat(Plug.What(),what)
        exe = Plug.Extractor(w)
#        p = getObject(db1,tag1,since1,ex)
#        p.extract(ex)
        print " before loop"
        for elem in db1.iov(tag1).elements :       
          if str(elem.since())==str(since1):
            found=1
            payload.load(elem)
            payload.extract(exb)
            coeff_1_b = [i for i in exb.values()]# first set of coefficients
            payload.extract(exe)
            coeff_1_e = [i for i in exe.values()]
        db1.commitTransaction()

      except Exception,er :
        print " compare first set exception ",er
      if not found :
        print "Could not retrieve payload for tag: " , tag1, " since: ", since1
        sys.exit(0)
예제 #8
0
def compare(tag1, db1, since1, tag2, db2, since2, filename='compare.root'):
    '''Produce comparison plots for two records. Save plots to file \
     according to format. tag can be an xml file'''
    print "EcalCondTools.py compare tag1 ", tag1, "since1 : ", since1, " tag2 ", tag2, " s2 ", since2

    coeff_1_b = []
    coeff_2_b = []

    coeff_1_e = []
    coeff_2_e = []

    if tag1.find(".xml") < 0:
        found = 0
        try:
            db1.startTransaction()
            Plug = __import__(str(db1.payloadModules(tag1)[0]))
            payload = Plug.Object(db1)
            listOfIovElem = [iovElem for iovElem in db1.iov(tag1).elements]
            what = {'how': 'barrel'}
            w = inspect.setWhat(Plug.What(), what)
            exb = Plug.Extractor(w)
            what = {'how': 'endcap'}
            w = inspect.setWhat(Plug.What(), what)
            exe = Plug.Extractor(w)
            #        p = getObject(db1,tag1,since1,ex)
            #        p.extract(ex)
            print " before loop"
            for elem in db1.iov(tag1).elements:
                if str(elem.since()) == str(since1):
                    found = 1
                    payload.load(elem)
                    payload.extract(exb)
                    coeff_1_b = [i for i in exb.values()
                                 ]  # first set of coefficients
                    payload.extract(exe)
                    coeff_1_e = [i for i in exe.values()]
            db1.commitTransaction()

        except Exception, er:
            print " compare first set exception ", er
        if not found:
            print "Could not retrieve payload for tag: ", tag1, " since: ", since1
            sys.exit(0)
예제 #9
0
    def set_lost(self, vi):
        self.__lost = vi

    def descr_which(self):
        d = CondDB.VString()
        d.append('me')
        d.append('you')
        d.append('her')
        return d


ts = TestWhat()
wd = inspect.WhatDescription(ts)
d = wd.describe()
print d

ret = {}
for key in d.keys():
    (mode, val) = d[key]
    if (mode == 'single'):
        ret[key] = val[1]
    else:
        ret[key] = [0, 2]

inspect.setWhat(ts, ret)

print ts.how()
print[v for v in ts.which()]
print[v for v in ts.lost()]
예제 #10
0
      except Exception,er :
        print " compare first set exception ",er
      if not found :
        print "Could not retrieve payload for tag: " , tag1, " since: ", since1
        sys.exit(0)

  else:
      coeff_1_b,coeff_1_e = EcalPyUtils.fromXML(tag1)

  if  tag2.find(".xml")<0:
      found=0
      try:  
        db2.startReadOnlyTransaction()
        Plug = __import__(str(db2.payloadModules(tag2)[0]))
        what = {'how':'barrel'}
        w = inspect.setWhat(Plug.What(),what)
        exb = Plug.Extractor(w)
        what = {'how':'endcap'}
        w = inspect.setWhat(Plug.What(),what)
        exe = Plug.Extractor(w)
#        p = getObject(db2,tag2,since2)
#        p.extract(ex)
        for elem in db2.iov(tag2).elements :       
          if str(elem.since())==str(since2):
            found=1
            payload.load(elem)
            payload.extract(exb)
            coeff_2_b = [i for i in exb.values()]# second set of coefficients
            payload.extract(exe)
            coeff_2_e = [i for i in exe.values()]
        db2.commitTransaction()
예제 #11
0
def compare(tag1, db1, since1, tag2, db2, since2, filename='compare.root'):
    '''Produce comparison plots for two records. Save plots to file \
     according to format. tag can be an xml file'''
    print("EcalCondTools.py compare tag1 ", tag1, "since1 : ", since1,
          " tag2 ", tag2, " s2 ", since2)

    coeff_1_b = []
    coeff_2_b = []

    coeff_1_e = []
    coeff_2_e = []

    if tag1.find(".xml") < 0:
        found = 0
        try:
            db1.startReadOnlyTransaction()
            Plug = __import__(str(db1.payloadModules(tag1)[0]))
            payload = Plug.Object(db1)
            listOfIovElem = [iovElem for iovElem in db1.iov(tag1).elements]
            what = {'how': 'barrel'}
            w = inspect.setWhat(Plug.What(), what)
            exb = Plug.Extractor(w)
            what = {'how': 'endcap'}
            w = inspect.setWhat(Plug.What(), what)
            exe = Plug.Extractor(w)
            #        p = getObject(db1,tag1,since1,ex)
            #        p.extract(ex)
            print(" before loop")
            for elem in db1.iov(tag1).elements:
                if str(elem.since()) == str(since1):
                    found = 1
                    payload.load(elem)
                    payload.extract(exb)
                    coeff_1_b = [i for i in exb.values()
                                 ]  # first set of coefficients
                    payload.extract(exe)
                    coeff_1_e = [i for i in exe.values()]
            db1.commitTransaction()

        except Exception as er:
            print(" compare first set exception ", er)
        if not found:
            print("Could not retrieve payload for tag: ", tag1, " since: ",
                  since1)
            sys.exit(0)

    else:
        coeff_1_b, coeff_1_e = EcalPyUtils.fromXML(tag1)

    if tag2.find(".xml") < 0:
        found = 0
        try:
            db2.startReadOnlyTransaction()
            Plug = __import__(str(db2.payloadModules(tag2)[0]))
            what = {'how': 'barrel'}
            w = inspect.setWhat(Plug.What(), what)
            exb = Plug.Extractor(w)
            what = {'how': 'endcap'}
            w = inspect.setWhat(Plug.What(), what)
            exe = Plug.Extractor(w)
            #        p = getObject(db2,tag2,since2)
            #        p.extract(ex)
            for elem in db2.iov(tag2).elements:
                if str(elem.since()) == str(since2):
                    found = 1
                    payload.load(elem)
                    payload.extract(exb)
                    coeff_2_b = [i for i in exb.values()
                                 ]  # second set of coefficients
                    payload.extract(exe)
                    coeff_2_e = [i for i in exe.values()]
            db2.commitTransaction()

        except Exception as er:
            print(" compare second set exception ", er)
        if not found:
            print("Could not retrieve payload for tag: ", tag2, " since: ",
                  since2)
            sys.exit(0)

    else:
        coeff_2_b, coeff_2_e = EcalPyUtils.fromXML(tag2)

    gStyle.SetPalette(1)

    savefile = TFile(filename, "RECREATE")

    ebhisto, ebmap, profx, profy = compareBarrel(coeff_1_b, coeff_2_b)
    eephisto, eepmap, eemhisto, eemmap = compareEndcap(coeff_1_e, coeff_2_e)

    #make more canvas (suppressed : use a root file)

    #  cEBdiff = TCanvas("EBdiff","EBdiff")
    #  cEBdiff.Divide(2,2)

    #  cEBdiff.cd(1)
    #  ebhisto.Draw()
    #  cEBdiff.cd(2)
    #  ebmap.Draw("colz")
    #  cEBdiff.cd(3)
    #  profx.Draw()
    #  cEBdiff.cd(4)
    #  profy.Draw()

    #  EBfilename = "EB_"+filename
    #  cEBdiff.SaveAs(EBfilename)

    #  cEEdiff = TCanvas("EEdiff","EEdiff")
    #  cEEdiff.Divide(2,2)

    #  cEEdiff.cd(1)
    #  eephisto.Draw()
    #  cEEdiff.cd(2)
    #  eepmap.Draw("colz")
    #  cEEdiff.cd(3)
    #  eemhisto.Draw()
    #  cEEdiff.cd(4)
    #  eemmap.Draw("colz")

    #  EEfilename = "EE_"+filename
    #  cEEdiff.SaveAs(EEfilename)

    eeborderphisto, eeborderpmap, eebordermhisto, eebordermmap = compareEndcapBorder(
        coeff_1_e, coeff_2_e)
    ebborderhisto, ebbordermap = compareBarrelBorder(coeff_1_b, coeff_2_b)

    border_diff_distro_can = TCanvas("border_difference", "borders difference")
    border_diff_distro_can.Divide(2, 3)

    border_diff_distro_can.cd(1)
    ebborderhisto.Draw()
    border_diff_distro_can.cd(2)
    ebbordermap.Draw("colz")
    border_diff_distro_can.cd(3)
    eeborderphisto.Draw()
    border_diff_distro_can.cd(4)
    eeborderpmap.Draw("colz")
    border_diff_distro_can.cd(5)
    eebordermhisto.Draw()
    border_diff_distro_can.cd(6)
    eebordermmap.Draw("colz")

    bordersfilename = "borders_" + filename
    prof_filename = "profiles_" + filename

    #  border_diff_distro_can.SaveAs(bordersfilename)

    savefile.Write()
예제 #12
0
def histo(db, tag, since, filename='histo.root'):
    '''Make histograms and save to file. tag can be an xml file'''

    coeff_barl = []
    coeff_endc = []

    if tag.find(".xml") < 0:
        found = 0
        try:
            #          exec('import '+db.moduleName(tag)+' as Plug')
            db.startReadOnlyTransaction()
            Plug = __import__(str(db.payloadModules(tag)[0]))
            payload = Plug.Object(db)
            listOfIovElem = [iovElem for iovElem in db.iov(tag).elements]
            what = {'how': 'barrel'}
            w = inspect.setWhat(Plug.What(), what)
            exb = Plug.Extractor(w)
            what = {'how': 'endcap'}
            w = inspect.setWhat(Plug.What(), what)
            exe = Plug.Extractor(w)
            for elem in db.iov(tag).elements:
                if str(elem.since()) == str(since):
                    found = 1
                    payload.load(elem)
                    payload.extract(exb)
                    coeff_barl = [i for i in exb.values()]
                    payload.extract(exe)
                    coeff_endc = [i for i in exe.values()]
            db.commitTransaction()

        except Exception as er:
            print(" histo exception ", er)
        if not found:
            print("Could not retrieve payload for tag: ", tag, " since: ",
                  since)
            sys.exit(0)

    else:
        coeff_barl, coeff_endc = EcalPyUtils.fromXML(tag)

    savefile = TFile(filename, "RECREATE")

    ebmap, ebeta, ebphi, eePmap, ebdist, eeMmap, prof_eePL, prof_eePR, prof_eeML, prof_eeMR, ebBorderdist = makedist(
        coeff_barl, coeff_endc)

    gStyle.SetPalette(1)

    c = TCanvas("CCdist")
    c.Divide(2, 2)

    c.cd(1)
    ebmap.Draw("colz")
    c.cd(2)
    eePmap.Draw("colz")
    c.cd(3)
    ebdist.Draw()
    c.cd(4)
    eeMmap.Draw("colz")

    #    c.SaveAs(filename)

    prof_eb_eta = ebeta.ProfileX()
    prof_eb_phi = ebphi.ProfileX()

    c2 = TCanvas("CCprofiles")
    c2.Divide(2, 2)

    leg = TLegend(0.1, 0.7, 0.48, 0.9)

    c2.cd(1)
    prof_eb_eta.Draw()
    c2.cd(2)
    prof_eb_phi.Draw()
    c2.cd(3)
    prof_eePL.SetMarkerStyle(8)
    prof_eePL.Draw()
    prof_eePR.SetMarkerStyle(8)
    prof_eePR.SetMarkerColor(2)
    prof_eePR.Draw("same")
    prof_eeML.SetMarkerStyle(8)
    prof_eeML.SetMarkerColor(3)
    prof_eeML.Draw("same")
    prof_eeMR.SetMarkerStyle(8)
    prof_eeMR.SetMarkerColor(5)
    prof_eeMR.Draw("same")
    leg.AddEntry(prof_eePL, "Dee1", "lp")
    leg.AddEntry(prof_eePR, "Dee2", "lp")
    leg.AddEntry(prof_eeMR, "Dee3", "lp")
    leg.AddEntry(prof_eeML, "Dee4", "lp")
    leg.Draw()
    c2.cd(4)
    ebBorderdist.Draw()

    extrafilename = "profiles_" + filename
    #   c2.SaveAs(extrafilename)

    savefile.Write()
예제 #13
0
        except Exception, er:
            print " compare first set exception ", er
        if not found:
            print "Could not retrieve payload for tag: ", tag1, " since: ", since1
            sys.exit(0)

    else:
        coeff_1_b, coeff_1_e = EcalPyUtils.fromXML(tag1)

    if tag2.find(".xml") < 0:
        found = 0
        try:
            db2.startTransaction()
            Plug = __import__(str(db2.payloadModules(tag2)[0]))
            what = {'how': 'barrel'}
            w = inspect.setWhat(Plug.What(), what)
            exb = Plug.Extractor(w)
            what = {'how': 'endcap'}
            w = inspect.setWhat(Plug.What(), what)
            exe = Plug.Extractor(w)
            #        p = getObject(db2,tag2,since2)
            #        p.extract(ex)
            for elem in db2.iov(tag2).elements:
                if str(elem.since()) == str(since2):
                    found = 1
                    payload.load(elem)
                    payload.extract(exb)
                    coeff_2_b = [i for i in exb.values()
                                 ]  # second set of coefficients
                    payload.extract(exe)
                    coeff_2_e = [i for i in exe.values()]
예제 #14
0
def compare(tag1,db1,since1,
            tag2,db2,since2,filename='compare.root'):
  '''Produce comparison plots for two records. Save plots to file \
     according to format. tag can be an xml file'''
  print("EcalCondTools.py compare tag1 ", tag1, "since1 : ", since1, " tag2 ", tag2," s2 ", since2)

  coeff_1_b=[]
  coeff_2_b=[]

  coeff_1_e=[]
  coeff_2_e=[]
  
  if  tag1.find(".xml") < 0:
      found=0
      try:
        db1.startReadOnlyTransaction()
        Plug = __import__(str(db1.payloadModules(tag1)[0]))
        payload = Plug.Object(db1)
        listOfIovElem= [iovElem for iovElem in db1.iov(tag1).elements]
        what = {'how':'barrel'}
        w = inspect.setWhat(Plug.What(),what)
        exb = Plug.Extractor(w)
        what = {'how':'endcap'}
        w = inspect.setWhat(Plug.What(),what)
        exe = Plug.Extractor(w)
#        p = getObject(db1,tag1,since1,ex)
#        p.extract(ex)
        print(" before loop")
        for elem in db1.iov(tag1).elements :       
          if str(elem.since())==str(since1):
            found=1
            payload.load(elem)
            payload.extract(exb)
            coeff_1_b = [i for i in exb.values()]# first set of coefficients
            payload.extract(exe)
            coeff_1_e = [i for i in exe.values()]
        db1.commitTransaction()

      except Exception as er :
        print(" compare first set exception ",er)
      if not found :
        print("Could not retrieve payload for tag: " , tag1, " since: ", since1)
        sys.exit(0)

  else:
      coeff_1_b,coeff_1_e = EcalPyUtils.fromXML(tag1)

  if  tag2.find(".xml")<0:
      found=0
      try:  
        db2.startReadOnlyTransaction()
        Plug = __import__(str(db2.payloadModules(tag2)[0]))
        what = {'how':'barrel'}
        w = inspect.setWhat(Plug.What(),what)
        exb = Plug.Extractor(w)
        what = {'how':'endcap'}
        w = inspect.setWhat(Plug.What(),what)
        exe = Plug.Extractor(w)
#        p = getObject(db2,tag2,since2)
#        p.extract(ex)
        for elem in db2.iov(tag2).elements :       
          if str(elem.since())==str(since2):
            found=1
            payload.load(elem)
            payload.extract(exb)
            coeff_2_b = [i for i in exb.values()]# second set of coefficients
            payload.extract(exe)
            coeff_2_e = [i for i in exe.values()]
        db2.commitTransaction()
     
      except Exception as er :
          print(" compare second set exception ",er)
      if not found :
        print("Could not retrieve payload for tag: " , tag2, " since: ", since2)
        sys.exit(0)

  else:
      coeff_2_b,coeff_2_e = EcalPyUtils.fromXML(tag2)

  gStyle.SetPalette(1)    

  savefile = TFile(filename,"RECREATE")

  ebhisto,ebmap, profx, profy= compareBarrel(coeff_1_b,coeff_2_b)
  eephisto,eepmap,eemhisto,eemmap=compareEndcap(coeff_1_e,coeff_2_e)

#make more canvas (suppressed : use a root file)

#  cEBdiff = TCanvas("EBdiff","EBdiff")
#  cEBdiff.Divide(2,2)

#  cEBdiff.cd(1)
#  ebhisto.Draw()
#  cEBdiff.cd(2)
#  ebmap.Draw("colz")
#  cEBdiff.cd(3)
#  profx.Draw()
#  cEBdiff.cd(4)
#  profy.Draw()

#  EBfilename = "EB_"+filename
#  cEBdiff.SaveAs(EBfilename)

#  cEEdiff = TCanvas("EEdiff","EEdiff")
#  cEEdiff.Divide(2,2)
  
#  cEEdiff.cd(1)
#  eephisto.Draw()
#  cEEdiff.cd(2)
#  eepmap.Draw("colz")
#  cEEdiff.cd(3)
#  eemhisto.Draw()
#  cEEdiff.cd(4)
#  eemmap.Draw("colz")

#  EEfilename = "EE_"+filename
#  cEEdiff.SaveAs(EEfilename)


  eeborderphisto,eeborderpmap,eebordermhisto,eebordermmap=compareEndcapBorder(coeff_1_e,coeff_2_e)
  ebborderhisto,ebbordermap = compareBarrelBorder(coeff_1_b,coeff_2_b)

  border_diff_distro_can = TCanvas("border_difference","borders difference")
  border_diff_distro_can.Divide(2,3)

  border_diff_distro_can.cd(1)
  ebborderhisto.Draw()
  border_diff_distro_can.cd(2)
  ebbordermap.Draw("colz")
  border_diff_distro_can.cd(3)
  eeborderphisto.Draw()
  border_diff_distro_can.cd(4)
  eeborderpmap.Draw("colz")
  border_diff_distro_can.cd(5)
  eebordermhisto.Draw()
  border_diff_distro_can.cd(6)
  eebordermmap.Draw("colz")

  bordersfilename = "borders_"+filename
  prof_filename = "profiles_"+filename
  
#  border_diff_distro_can.SaveAs(bordersfilename)

  savefile.Write()
예제 #15
0
def histo (db, tag,since,filename='histo.root'):
    '''Make histograms and save to file. tag can be an xml file'''
    
    coeff_barl=[]
    coeff_endc=[]
    
    if  tag.find(".xml")< 0:
      found=0
      try:  
#          exec('import '+db.moduleName(tag)+' as Plug')
        db.startReadOnlyTransaction()
        Plug = __import__(str(db.payloadModules(tag)[0]))
        payload = Plug.Object(db)
        listOfIovElem= [iovElem for iovElem in db.iov(tag).elements]
        what = {'how':'barrel'}
        w = inspect.setWhat(Plug.What(),what)
        exb = Plug.Extractor(w)
        what = {'how':'endcap'}
        w = inspect.setWhat(Plug.What(),what)
        exe = Plug.Extractor(w)
        for elem in db.iov(tag).elements :       
          if str(elem.since())==str(since):
            found=1
            payload.load(elem)
            payload.extract(exb)
            coeff_barl = [i for i in exb.values()]
            payload.extract(exe)
            coeff_endc = [i for i in exe.values()]
        db.commitTransaction()

      except Exception as er :
          print(" histo exception ",er)
      if not found :
        print("Could not retrieve payload for tag: " , tag, " since: ", since)
        sys.exit(0)

    else :
      coeff_barl,coeff_endc=EcalPyUtils.fromXML(tag)

    savefile = TFile(filename,"RECREATE")

    ebmap, ebeta, ebphi, eePmap, ebdist, eeMmap, prof_eePL, prof_eePR, prof_eeML, prof_eeMR, ebBorderdist = makedist(coeff_barl, coeff_endc)

    gStyle.SetPalette(1)

    c =  TCanvas("CCdist")
    c.Divide(2,2)

    c.cd(1)  
    ebmap.Draw("colz")
    c.cd(2)
    eePmap.Draw("colz")
    c.cd(3)
    ebdist.Draw()
    c.cd(4)
    eeMmap.Draw("colz")

#    c.SaveAs(filename)

    prof_eb_eta = ebeta.ProfileX()
    prof_eb_phi = ebphi.ProfileX()

    c2 = TCanvas("CCprofiles")
    c2.Divide(2,2)

    leg = TLegend(0.1,0.7,0.48,0.9)

    c2.cd(1)
    prof_eb_eta.Draw()
    c2.cd(2)
    prof_eb_phi.Draw()
    c2.cd(3)
    prof_eePL.SetMarkerStyle(8)
    prof_eePL.Draw()
    prof_eePR.SetMarkerStyle(8)
    prof_eePR.SetMarkerColor(2)
    prof_eePR.Draw("same")
    prof_eeML.SetMarkerStyle(8)
    prof_eeML.SetMarkerColor(3)
    prof_eeML.Draw("same")
    prof_eeMR.SetMarkerStyle(8)
    prof_eeMR.SetMarkerColor(5)
    prof_eeMR.Draw("same")
    leg.AddEntry(prof_eePL,"Dee1","lp")
    leg.AddEntry(prof_eePR,"Dee2","lp")
    leg.AddEntry(prof_eeMR,"Dee3","lp")
    leg.AddEntry(prof_eeML,"Dee4","lp")
    leg.Draw()
    c2.cd(4)
    ebBorderdist.Draw()

    extrafilename = "profiles_"+filename
 #   c2.SaveAs(extrafilename)

    savefile.Write()      
예제 #16
0
        self.__how=h
    def set_which(self,vi) :
        self.__which = vi
    def set_lost(self,vi) :
        self.__lost= vi
    def descr_which(self):
        d = CondDB.VString()
        d.append('me')
        d.append('you')
        d.append('her')
        return d;

ts = TestWhat()
wd = inspect.WhatDescription(ts)
d = wd.describe()
print(d)

ret={}
for key in d.keys() :
    (mode,val) = d[key]
    if (mode=='single') :
        ret[key]=val[1]
    else :
        ret[key]=[0,2]

inspect.setWhat(ts,ret)

print(ts.how())
print([v for v in ts.which()])
print([v for v in ts.lost()])