Python beenden:
Ctrl-d
+, -, *, /, **
and, or, !, <, >, ...
>>> import ROOT >>> 5**2 25 >>> 25.1*3.5 87.85000000000001 >>> 25.1**3.5 79224.22969296658 >>> sin(2) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'sin' is not defined >>> import math >>> math.sin(2) 0.9092974268256817 >>> math.atan(1)*4 3.141592653589793 >>> math.log(2) 0.6931471805599453 >>> math.log(1) 0.0 >>> math.exp(1) 2.718281828459045 >>> 2<<10 2048 >>> math.atan2(1,1) 0.7853981633974483
>>> s=1. >>> for i in range(1,70): s *= i # Fakultaet ... >>> s 1.711224524281413e+98 >>> ROOT.TMath.Gamma(70) # Root Gamma Fkt 1.7112245242814127e+98
# file fak.py def fak( n = 1 ): t = 1.0 for i in range(1,n+1): t *= i return(t) >>> execfile("fak.py") # execute commands in file fak.py >>> fak(99) 9.33262154439441e+155
def fillH1( n=100000 ): h2 = ROOT.TH1F("h2","mytitle",100,0,1) for i in xrange(n): h2.Fill(ROOT.gRandom.Rndm()) h2.Draw() # fillH1( 100000 ) # histo wird gefuellt aber nach Draw() wieder weg
def fillH1( n=100000 ): h2 = ROOT.TH1F("h2","mytitle",100,0,1) for i in xrange(n): h2.Fill(ROOT.gRandom.Rndm()) h2.Draw() return h2 # h = fillH1( 100000 ) # histo wird gefuellt und histo Objekt zurueckgegeben # --> histo bleibt bestehen
>>> f1 = ROOT.TF1("f1","sin(x)", 0, 10 ) >>> f1.Draw() Info in <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 >>> f2 = ROOT.TF1("f2","cos(x)", 0, 10 ) >>> f2.Draw() Info in <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 >>> f1.Draw("same") >>> f4 = ROOT.TF1("f4","abs(f1)*exp(x)", 0, 10 ) >>> f4.Draw()
>>> h1 = ROOT.TH1F("h1","mytitle",100,0,1) >>> for i in xrange(1000000): ... x = float(i)/1e6 ... r=h1.Fill(x,x**3) ... >>> h1.Draw() >>> h2 = ROOT.TH1F("h2","uniform Random",100,0,1) >>> for i in xrange(1000000): r=h2.Fill(ROOT.gRandom.Rndm()) ... >>> h2.Draw() >>> h3 = ROOT.TH1F("h3","Random Gauss",100,-4,4) >>> for i in xrange(1000000): r=h3.Fill(ROOT.gRandom.Gaus()) ... >>> h3.Draw()
# file pgausf.py from array import array nit = 10 mean=array('d',nit*[0]) emean=array('d',nit*[0]) xv=array('d',nit*[0]) ex=array('d',nit*[0]) h3 = ROOT.TH1F("h3","Random Gauss",100,-4,4) for i in range(nit): nrnd = 100*pow(2,i) xv[i] = i ex[i] = 0.1 for j in xrange(nrnd): r=h3.Fill(ROOT.gRandom.Gaus()) h3.Fit("gaus","eq") h3.Draw() fit = h3.GetFunction("gaus") mean[i] = fit.GetParameter(1) emean[i] = fit.GetParError(1) print i , " Mean = " , mean[i] , " +- " , emean[i] ce = ROOT.TCanvas("ce", "ce") # TGraphErrors needs python array, not just list tg = ROOT.TGraphErrors( len(xv), xv, mean, ex, emean ) tg.Draw("AP"); # # in ROOT #>>> execfile(pgausf.py)
GDuckeck 2018-04-10