Beispiel #1
0
def test_illegal_add_raises_KeyError():
    nt0 = NTuple('A', 'B')
    nt1 = NTuple('C', 'D')
    try:
        nt2 = nt0 + nt1
    except KeyError:
        pass
Beispiel #2
0
def test_get_column():
    nt = NTuple('A', 'B')
    for x in range(100):
        nt.fill('A', x)
        nt.fill('B', x * 100)
        nt.write()
    A = nt.column('A')
    assert A == range(100)
    B = nt.column('B')
    assert B == [x * 100 for x in range(100)]
Beispiel #3
0
def test_get_with_cross_cut():
    nt = NTuple('A', 'B')
    for x in range(100):
        nt.fill('A', x)
        nt.fill('B', x * 100)
        nt.write()
    col = nt.column('B', lambda x: x.A > 50 and x.B < 8500)
    assert col == [x * 100 for x in xrange(51, 85)]
Beispiel #4
0
def test_get_with_cut():
    nt = NTuple('A', 'B')
    for x in range(100):
        nt.fill('A', x)
        nt.fill('B', x * 100)
        nt.write()
    col = nt.column('A', lambda x: x.A > 50)
    assert col == range(51, 100)
Beispiel #5
0
def reference_ntuple():
    nt = NTuple('x', 'sin', 'cos')
    import math
    for x in xrange(-50, 51):
        nt.fill('x', x)
        nt.fill('sin', math.sin(x))
        nt.fill('cos', math.cos(x))
        nt.write()
    return nt
Beispiel #6
0
def test_access_row():
    nt = NTuple('A', 'B')
    nt.fill('A', 5)
    rw = nt.row(0)
    assert rw.A == 5
    nt.fill('B', 6)
    assert rw.A == 5 and rw.B == 6
Beispiel #7
0
def test_access_latest_row():
    nt = NTuple('A', 'B')
    nt.fill('A', 5)
    rw = nt.row(0)
    assert rw.A == 5
    nt.fill('A', 7)
    rw = nt.row(0)
    assert rw.A == 7
    nt.write()
    nt.fill('A', 22)
    rw = nt.row(1)
    assert rw.A == 22
Beispiel #8
0
def test_fill_column_twice():
    nt = NTuple('A', 'B')
    nt.fill('A', 5)
    nt.fill('A', 7)
Beispiel #9
0
def test_illegal_tag_fails():
    nt = NTuple('A', 'B')
    raises(KeyError, nt.fill, 'C', 5)
Beispiel #10
0
def test_fill_column():
    nt = NTuple('A', 'B')
    nt.fill('A', 5)
Beispiel #11
0
def test_instantiate():
    nt = NTuple('A', 'B')
import sys
sys.path.append('../python')

import math
from random import gauss
from PyAna.pyntuple.ntuple import NTuple
from matplotlib import pyplot
from PyAna.pyhistoplots import ntuple_plot, histo_plot, ntuple_column_histo

mu_p = 15.
mu_pt = 5.
sigma_p = 10.
sigma_pt = 5.

nt = NTuple('x', 'p', 'pt')

for x in xrange(10000):
    nt.fill('x', x)
    nt.fill('p', gauss(mu_p, sigma_p))
    nt.fill('pt', gauss(mu_pt, sigma_pt))
    nt.write()


def test_ntuple_plot():
    pt_plot = ntuple_plot(nt, 'pt', show=False)
    p_plot = ntuple_plot(nt,
                         'p',
                         errorfunction=lambda x: x.height / 2.,
                         color='red',
                         linewidth='1.5',