示例#1
0

def malowanieWykresuZbiorczego(wykres, ktoreZbocze, czas):
    poleWykresu = TCanvas("Odchylenia", "Odchylenia standardowe", 1280, 720)

    wykres.SetTitle("Odchylenia standardowe (zb. " + ktoreZbocze + ")")
    wykres.Draw()
    time.sleep(0.1)
    wykres.SetDirectory(plik)
    wykres.Write()
    poleWykresu.Print("Wykresy " + czas + "/Odchylenia " + ktoreZbocze +
                      ".png")


#odczyt danych z pliku przekonwertowanego na .root
nazwaPliku = pliki.wybierzPlik(pliki.listaPlikow("root", "./"))
plik = TFile(nazwaPliku)
drzewo = plik.Get("Zestawy")
liczbaDanych = drzewo.GetEntries()
liczbaKanalow = drzewo.GetBranch("Zestaw").GetNleaves() / 2
czas = nazwaPliku[nazwaPliku.index("["):nazwaPliku.index("]") + 1]

dane = odczytDanychZPliku(drzewo, liczbaDanych, liczbaKanalow)
plik.Close()

#tworzenie wykresów
plik = TFile("histogramy " + czas + ".root", "recreate")

#wykresy różnic między kanałami
wykresy = stworzZmienneWykresowe(plik, liczbaKanalow)
示例#2
0
def wezNumerKanalu(zestawTab):
    numerKanalu=0
    for i in range(7):
        numerKanalu=numerKanalu*2+zestawTab[i+1]
    return numerKanalu

struktura="struct DaneZKanalow {"
for i in range(52):
    struktura=struktura+"Bool_t kanal"+str(i)+"op[32]; "
    struktura=struktura+"Bool_t kanal"+str(i)+"nar[32]; "
struktura=struktura+"};"

gROOT.ProcessLine(struktura)
from ROOT import DaneZKanalow

plikZrodlowyDanych=pliki.wybierzPlik(pliki.listaPlikow("txt","./"))
plikDanych=open(plikZrodlowyDanych)
odczyt=plikDanych.read()
zestawyTekst=odczyt.split("\n\n")
liczbaZestawow=len(zestawyTekst)-1
if plikZrodlowyDanych.find("[")>=0:
    data=plikZrodlowyDanych[plikZrodlowyDanych.index("["):plikZrodlowyDanych.index("]")+1]
else:
    data="["+time.strftime("%d.%m.%Y %H:%M:%S")+"]"
    
plik=TFile('dane '+data+'.root', 'RECREATE')

drzewo=TTree("Zestawy","Drzewo z zestawami.")

kanalyD=DaneZKanalow()
struktura="kanal0op[32]/B:kanal0nar[32]"
            wykres.Fill(i,j, pojemnikOdchylen.wezWartosc(ktoreZbocze, i, j))
    for i in range(ileKanalow-1):
        wykres.GetXaxis().SetBinLabel(i+1,str(i+1))
        wykres.GetYaxis().SetBinLabel(i+1,str(i))
    
def malowanieWykresuZbiorczego(wykres, ktoreZbocze, czas, katalog):
    poleWykresu=TCanvas("Odchylenia","Odchylenia standardowe",1280,720)
    wykres.SetTitle("Odchylenia standardowe (zb. "+ktoreZbocze+")")
    wykres.SetDirectory(katalog)
    wykres.Write()
    wykres.Draw("COLZ")
    time.sleep(1)
    poleWykresu.Print("Wykresy "+czas+"/Odchylenia "+ktoreZbocze+".png")

#odczyt danych z pliku przekonwertowanego na .root
nazwaPliku=pliki.wybierzPlik(pliki.listaPlikow("root","./"))#"./daneGener [19.07.2018 02:24:53].root"
plik=TFile(nazwaPliku)
drzewo=plik.Get("FTAB_Timeslots")
liczbaDanych=drzewo.GetEntries()
liczbaKanalow=52#drzewo.GetBranch("Zestaw").GetNleaves()/2
czas=nazwaPliku[nazwaPliku.index("["):nazwaPliku.index("]")+1]
  
dane=odczytDanychZPliku(drzewo, liczbaDanych, liczbaKanalow)
plik.Close()

print dane

#tworzenie wykresów
#plik=TFile("histogramy "+czas+".root","recreate")

#wykresy różnic między kanałami
示例#4
0
# coding=utf-8
from ROOT import TFile, TTree
import pliki
import funkcjeGenKonw
    
liczbaKanalow=52    

#tworzenie i import struktury, która będzie wykorzystywana w drzewie
funkcjeGenKonw.stworzStrukturePomiaru(liczbaKanalow)
from ROOT import DaneZKanalow

#odczyt danych z pliku txt
sciezkaPlikuZrodlowego=pliki.wybierzPlik(pliki.listaPlikow("txt","./"))
plikDanych=open(sciezkaPlikuZrodlowego)
odczyt=plikDanych.read()
zestawyTekst=odczyt.split("\n\n")
liczbaZestawow=len(zestawyTekst)-1
data=funkcjeGenKonw.odczytajLubStworzDate(sciezkaPlikuZrodlowego)    

plik=TFile('dane '+data+'.root', 'RECREATE')
drzewo=TTree("Zestawy","Drzewo z zestawami.")
kanalyD=DaneZKanalow()
struktura=funkcjeGenKonw.lancuchFormatuDanych(liczbaKanalow)
galaz=drzewo.Branch("Zestaw",kanalyD,struktura)
galaz.SetBasketSize(240)

#konwersja odczytu pomiaru z konkretnych kanałów
funkcjeGenKonw.konwertujIZapiszDane(drzewo, kanalyD, liczbaZestawow, zestawyTekst)
    
#zapis przekonwertowanych danych w pliku root
plik.Write()