Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_weights():
from coffea.processor import Weights
counts, test_eta, test_pt = dummy_jagged_eta_pt()
scale_central = np.random.normal(loc=1.0, scale=0.01, size=counts.size)
scale_up = scale_central * 1.10
scale_down = scale_central * 0.95
scale_up_shift = 0.10 * scale_central
scale_down_shift = 0.05 * scale_central
weight = Weights(counts.size)
weight.add('test', scale_central, weightUp=scale_up, weightDown=scale_down)
weight.add('testShift', scale_central, weightUp=scale_up_shift,
weightDown=scale_down_shift, shift=True)
var_names = weight.variations
expected_names = ['testShiftUp', 'testShiftDown', 'testUp', 'testDown']
for name in expected_names:
assert(name in var_names)
test_central = weight.weight()
def dummy_four_momenta():
np.random.seed(12345)
nrows = 1000
counts = np.minimum(np.random.exponential(0.5, size=nrows).astype(int), 20)
px = np.random.normal(loc=20.0,scale=5.0,size=np.sum(counts))
py = np.random.normal(loc=20.0,scale=5.0,size=np.sum(counts))
pz = np.random.normal(loc=0, scale=55, size=np.sum(counts))
m_pi = np.full_like(px,fill_value=0.135)
energy = np.sqrt(px*px + py*py + pz*pz + m_pi*m_pi)
return (counts,px,py,pz,energy)
height,
# weight is a reserved keyword
hist.Bin("mass", "weight (g=9.81m/s**2) [kg]", np.power(10., np.arange(5)-1)),],
)
assert h_mascots_1._dense_shape == h_mascots_2._dense_shape
assert h_mascots_2._dense_shape == h_mascots_3._dense_shape
assert h_mascots_3._dense_shape == h_mascots_4._dense_shape
assert h_mascots_1._axes == h_mascots_2._axes
assert h_mascots_2._axes == h_mascots_3._axes
assert h_mascots_3._axes == h_mascots_4._axes
adult_bison_h = np.random.normal(loc=2.5, scale=0.2, size=40)
adult_bison_w = np.random.normal(loc=700, scale=100, size=40)
h_mascots_1.fill(animal="bison", vocalization="huff", height=adult_bison_h, mass=adult_bison_w)
goose_h = np.random.normal(loc=0.4, scale=0.05, size=1000)
goose_w = np.random.normal(loc=7, scale=1, size=1000)
h_mascots_1.fill(animal="goose", vocalization="honk", height=goose_h, mass=goose_w)
crane_h = np.random.normal(loc=1, scale=0.05, size=4)
crane_w = np.random.normal(loc=10, scale=1, size=4)
h_mascots_1.fill(animal="crane", vocalization="none", height=crane_h, mass=crane_w)
with pytest.raises(ValueError):
h_mascots_1.fill(beast="crane", yelling="none", tallness=crane_h, heavitivity=crane_w)
h_mascots_2 = h_mascots_1.copy()
h_mascots_2.clear()
baby_bison_h = np.random.normal(loc=.5, scale=0.1, size=20)
baby_bison_w = np.random.normal(loc=200, scale=10, size=20)
vocalization,
height,
# weight is a reserved keyword
hist.Bin("mass", "weight (g=9.81m/s**2) [kg]", np.power(10., np.arange(5)-1)),],
)
assert h_mascots_1._dense_shape == h_mascots_2._dense_shape
assert h_mascots_2._dense_shape == h_mascots_3._dense_shape
assert h_mascots_3._dense_shape == h_mascots_4._dense_shape
assert h_mascots_1._axes == h_mascots_2._axes
assert h_mascots_2._axes == h_mascots_3._axes
assert h_mascots_3._axes == h_mascots_4._axes
adult_bison_h = np.random.normal(loc=2.5, scale=0.2, size=40)
adult_bison_w = np.random.normal(loc=700, scale=100, size=40)
h_mascots_1.fill(animal="bison", vocalization="huff", height=adult_bison_h, mass=adult_bison_w)
goose_h = np.random.normal(loc=0.4, scale=0.05, size=1000)
goose_w = np.random.normal(loc=7, scale=1, size=1000)
h_mascots_1.fill(animal="goose", vocalization="honk", height=goose_h, mass=goose_w)
crane_h = np.random.normal(loc=1, scale=0.05, size=4)
crane_w = np.random.normal(loc=10, scale=1, size=4)
h_mascots_1.fill(animal="crane", vocalization="none", height=crane_h, mass=crane_w)
with pytest.raises(ValueError):
h_mascots_1.fill(beast="crane", yelling="none", tallness=crane_h, heavitivity=crane_w)
h_mascots_2 = h_mascots_1.copy()
h_mascots_2.clear()
baby_bison_h = np.random.normal(loc=.5, scale=0.1, size=20)
hist.Bin("mass", "weight (g=9.81m/s**2) [kg]", np.power(10., np.arange(5)-1)),],
)
assert h_mascots_1._dense_shape == h_mascots_2._dense_shape
assert h_mascots_2._dense_shape == h_mascots_3._dense_shape
assert h_mascots_3._dense_shape == h_mascots_4._dense_shape
assert h_mascots_1._axes == h_mascots_2._axes
assert h_mascots_2._axes == h_mascots_3._axes
assert h_mascots_3._axes == h_mascots_4._axes
adult_bison_h = np.random.normal(loc=2.5, scale=0.2, size=40)
adult_bison_w = np.random.normal(loc=700, scale=100, size=40)
h_mascots_1.fill(animal="bison", vocalization="huff", height=adult_bison_h, mass=adult_bison_w)
goose_h = np.random.normal(loc=0.4, scale=0.05, size=1000)
goose_w = np.random.normal(loc=7, scale=1, size=1000)
h_mascots_1.fill(animal="goose", vocalization="honk", height=goose_h, mass=goose_w)
crane_h = np.random.normal(loc=1, scale=0.05, size=4)
crane_w = np.random.normal(loc=10, scale=1, size=4)
h_mascots_1.fill(animal="crane", vocalization="none", height=crane_h, mass=crane_w)
with pytest.raises(ValueError):
h_mascots_1.fill(beast="crane", yelling="none", tallness=crane_h, heavitivity=crane_w)
h_mascots_2 = h_mascots_1.copy()
h_mascots_2.clear()
baby_bison_h = np.random.normal(loc=.5, scale=0.1, size=20)
baby_bison_w = np.random.normal(loc=200, scale=10, size=20)
baby_bison_cutefactor = 2.5*np.ones_like(baby_bison_w)
h_mascots_2.fill(animal="bison", vocalization="baa", height=baby_bison_h, mass=baby_bison_w, weight=baby_bison_cutefactor)
def dummy_four_momenta():
np.random.seed(12345)
nrows = 1000
counts = np.minimum(np.random.exponential(0.5, size=nrows).astype(int), 20)
px = np.random.normal(loc=20.0,scale=5.0,size=np.sum(counts))
py = np.random.normal(loc=20.0,scale=5.0,size=np.sum(counts))
pz = np.random.normal(loc=0, scale=55, size=np.sum(counts))
m_pi = np.full_like(px,fill_value=0.135)
energy = np.sqrt(px*px + py*py + pz*pz + m_pi*m_pi)
return (counts,px,py,pz,energy)
assert h_mascots_1._dense_shape == h_mascots_2._dense_shape
assert h_mascots_2._dense_shape == h_mascots_3._dense_shape
assert h_mascots_3._dense_shape == h_mascots_4._dense_shape
assert h_mascots_1._axes == h_mascots_2._axes
assert h_mascots_2._axes == h_mascots_3._axes
assert h_mascots_3._axes == h_mascots_4._axes
adult_bison_h = np.random.normal(loc=2.5, scale=0.2, size=40)
adult_bison_w = np.random.normal(loc=700, scale=100, size=40)
h_mascots_1.fill(animal="bison", vocalization="huff", height=adult_bison_h, mass=adult_bison_w)
goose_h = np.random.normal(loc=0.4, scale=0.05, size=1000)
goose_w = np.random.normal(loc=7, scale=1, size=1000)
h_mascots_1.fill(animal="goose", vocalization="honk", height=goose_h, mass=goose_w)
crane_h = np.random.normal(loc=1, scale=0.05, size=4)
crane_w = np.random.normal(loc=10, scale=1, size=4)
h_mascots_1.fill(animal="crane", vocalization="none", height=crane_h, mass=crane_w)
with pytest.raises(ValueError):
h_mascots_1.fill(beast="crane", yelling="none", tallness=crane_h, heavitivity=crane_w)
h_mascots_2 = h_mascots_1.copy()
h_mascots_2.clear()
baby_bison_h = np.random.normal(loc=.5, scale=0.1, size=20)
baby_bison_w = np.random.normal(loc=200, scale=10, size=20)
baby_bison_cutefactor = 2.5*np.ones_like(baby_bison_w)
h_mascots_2.fill(animal="bison", vocalization="baa", height=baby_bison_h, mass=baby_bison_w, weight=baby_bison_cutefactor)
h_mascots_2.fill(animal="fox", vocalization="none", height=1., mass=30.)
h_mascots = h_mascots_1 + h_mascots_2
h_mascots_1.fill(animal="bison", vocalization="huff", height=adult_bison_h, mass=adult_bison_w)
goose_h = np.random.normal(loc=0.4, scale=0.05, size=1000)
goose_w = np.random.normal(loc=7, scale=1, size=1000)
h_mascots_1.fill(animal="goose", vocalization="honk", height=goose_h, mass=goose_w)
crane_h = np.random.normal(loc=1, scale=0.05, size=4)
crane_w = np.random.normal(loc=10, scale=1, size=4)
h_mascots_1.fill(animal="crane", vocalization="none", height=crane_h, mass=crane_w)
with pytest.raises(ValueError):
h_mascots_1.fill(beast="crane", yelling="none", tallness=crane_h, heavitivity=crane_w)
h_mascots_2 = h_mascots_1.copy()
h_mascots_2.clear()
baby_bison_h = np.random.normal(loc=.5, scale=0.1, size=20)
baby_bison_w = np.random.normal(loc=200, scale=10, size=20)
baby_bison_cutefactor = 2.5*np.ones_like(baby_bison_w)
h_mascots_2.fill(animal="bison", vocalization="baa", height=baby_bison_h, mass=baby_bison_w, weight=baby_bison_cutefactor)
h_mascots_2.fill(animal="fox", vocalization="none", height=1., mass=30.)
h_mascots = h_mascots_1 + h_mascots_2
assert h_mascots.integrate("vocalization", "h*").sum("height", "mass", "animal").values()[()] == 1040.
species_class = hist.Cat("species_class", "where the subphylum is vertibrates")
classes = {
'birds': ['goose', 'crane'],
'mammals': ['bison', 'fox'],
}
h_species = h_mascots.group("animal", species_class, classes)
assert set(h_species.integrate("vocalization").values().keys()) == set([('birds',), ('mammals',)])
nbirds_bin = np.sum((goose_h>=0.5)&(goose_h<1)&(goose_w>10)&(goose_w<100))
adult_bison_w = np.random.normal(loc=700, scale=100, size=40)
h_mascots_1.fill(animal="bison", vocalization="huff", height=adult_bison_h, mass=adult_bison_w)
goose_h = np.random.normal(loc=0.4, scale=0.05, size=1000)
goose_w = np.random.normal(loc=7, scale=1, size=1000)
h_mascots_1.fill(animal="goose", vocalization="honk", height=goose_h, mass=goose_w)
crane_h = np.random.normal(loc=1, scale=0.05, size=4)
crane_w = np.random.normal(loc=10, scale=1, size=4)
h_mascots_1.fill(animal="crane", vocalization="none", height=crane_h, mass=crane_w)
with pytest.raises(ValueError):
h_mascots_1.fill(beast="crane", yelling="none", tallness=crane_h, heavitivity=crane_w)
h_mascots_2 = h_mascots_1.copy()
h_mascots_2.clear()
baby_bison_h = np.random.normal(loc=.5, scale=0.1, size=20)
baby_bison_w = np.random.normal(loc=200, scale=10, size=20)
baby_bison_cutefactor = 2.5*np.ones_like(baby_bison_w)
h_mascots_2.fill(animal="bison", vocalization="baa", height=baby_bison_h, mass=baby_bison_w, weight=baby_bison_cutefactor)
h_mascots_2.fill(animal="fox", vocalization="none", height=1., mass=30.)
h_mascots = h_mascots_1 + h_mascots_2
assert h_mascots.integrate("vocalization", "h*").sum("height", "mass", "animal").values()[()] == 1040.
species_class = hist.Cat("species_class", "where the subphylum is vertibrates")
classes = {
'birds': ['goose', 'crane'],
'mammals': ['bison', 'fox'],
}
h_species = h_mascots.group("animal", species_class, classes)
assert set(h_species.integrate("vocalization").values().keys()) == set([('birds',), ('mammals',)])