Exemplo n.º 1
0
def test_pass_arguments_to_base_class():
    tree = MockTree(entries=1000)
    events = Events(tree, 100)
    assert 100 == events.nEvents
    assert 0 == events.start

    events = Events(tree, 100, 20)
    assert 100 == events.nEvents
    assert 20 == events.start
Exemplo n.º 2
0
def test_getattr_same_objects():
    tree = MockTree()
    events = Events(tree)
    branchBuilder = MockBranchBuilder()
    events.buildBranch = branchBuilder

    branch1 = MockBranch()
    branchBuilder.next = branch1
    jet_pt1 = events.jet_pt
    assert branch1 is jet_pt1

    branch2 = MockBranch()
    branchBuilder.next = branch2
    jet_pt2 = events.jet_pt

    assert branch1 is jet_pt2
    assert branch2 is not jet_pt2

    it = iter(events)
    event = next(it)

    branch3 = MockBranch()
    branchBuilder.next = branch3
    jet_pt3 = event.jet_pt

    assert branch1 is jet_pt3
    assert branch3 is not jet_pt3
Exemplo n.º 3
0
def test_getattr_exception():
    tree = MockTree()
    events = Events(tree)
    events.buildBranch = MockBranchBuilder()

    with pytest.raises(AttributeError):
        events.no_such_branch
Exemplo n.º 4
0
def use_Events():
    inputFile = ROOT.TFile.Open(inputPath)
    tree = inputFile.Get(treeName)
    events = Events(tree)
    for event in events:
        for i in range(event.Jet.GetEntries()):
            event.Jet[i].PT
Exemplo n.º 5
0
    def test_nEvents(self):
        tree = MockTree(entries=100)
        events = Events(tree)
        self.assertEqual(100, events.nEvents)  # default the same as entries

        events = Events(tree, -1)
        self.assertEqual(100, events.nEvents)  # the same as entries

        events = Events(tree, 50)
        self.assertEqual(50, events.nEvents)

        events = Events(tree, 120)
        self.assertEqual(100, events.nEvents)

        events = Events(tree, 100)
        self.assertEqual(100, events.nEvents)
def test_iter_getattr():
    tree = MockTree(entries=5)
    events = Events(tree)
    it = iter(events)
    event = next(it)
    assert 1111 == event.branch1
    tree.branch1 = 2222
    assert 2222 == event.branch1
Exemplo n.º 7
0
 def test_iter_getattr(self):
     tree = MockTree(entries=5)
     events = Events(tree)
     it = iter(events)
     event = next(it)
     self.assertEqual(1111, event.branch1)
     tree.branch1 = 2222
     self.assertEqual(2222, event.branch1)
Exemplo n.º 8
0
    def test_nEvents_start(self):

        tree = MockTree(entries=100)

        events = Events(tree, maxEvents=-1, start=1)
        self.assertEqual(99, events.nEvents)

        events = Events(tree, maxEvents=10, start=1)
        self.assertEqual(10, events.nEvents)

        events = Events(tree, maxEvents=-1, start=99)
        self.assertEqual(1, events.nEvents)

        events = Events(tree, maxEvents=20, start=99)
        self.assertEqual(1, events.nEvents)

        events = Events(tree, maxEvents=-1, start=100)
        self.assertEqual(0, events.nEvents)

        events = Events(tree, maxEvents=-1, start=110)
        self.assertEqual(0, events.nEvents)

        events = Events(tree, maxEvents=10, start=110)
        self.assertEqual(0, events.nEvents)

        self.assertRaises(ValueError, Events, tree, maxEvents=-1, start=-10)
Exemplo n.º 9
0
    def setUp(self):
        inputFile = 'sample_03.root'
        treeName = 'tree'
        inputPath = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                                 inputFile)

        self.inputFile = ROOT.TFile.Open(inputPath)
        self.tree = self.inputFile.Get(treeName)
        self.events = Events(self.tree)
Exemplo n.º 10
0
def use_Events_SetBranchStatus_obj():
    inputFile = ROOT.TFile.Open(inputPath)
    tree = inputFile.Get(treeName)
    tree.SetBranchStatus("*", 0)
    tree.SetBranchStatus("Jet.*", 1)
    events = Events(tree)
    for event in events:
        for i in range(event.Jet.GetEntries()):
            event.Jet[i].PT
Exemplo n.º 11
0
def test_getattr():
    tree = MockTree()
    events = Events(tree)
    branchBuilder = MockBranchBuilder()
    events.buildBranch = branchBuilder

    branchBuilder.next = MockBranch()
    jet_pt = events.jet_pt
    assert isinstance(jet_pt, MockBranch)
Exemplo n.º 12
0
def use_Events():
    inputFile = ROOT.TFile.Open(inputPath)
    tree = inputFile.Get(treeName)
    tree.SetBranchStatus("*", 0)
    tree.SetBranchStatus("jet_pt", 1)
    events = Events(tree)
    for event in events:
        jet_pt = event.jet_pt
        for i in range(len(jet_pt)):
            jet_pt[i]
Exemplo n.º 13
0
def test_2_events(tree, events):
    jet_pt = events.jet_pt
    met_pt = events.met_pt
    _assert_contents(tree, jet_pt, met_pt)

    # the 2nd events object from the same tree
    events2 = Events(tree)
    jet_pt2 = events2.jet_pt
    met_pt2 = events2.met_pt
    assert jet_pt is jet_pt2
    assert met_pt is met_pt2
    _assert_contents(tree, jet_pt, met_pt)
Exemplo n.º 14
0
    def test_2_events(self):
        jet_pt = self.events.jet_pt
        met_pt = self.events.met_pt
        self._assert_contents(jet_pt, met_pt)

        # the 2nd events object from the same tree
        events2 = Events(self.tree)
        jet_pt2 = events2.jet_pt
        met_pt2 = events2.met_pt
        self.assertIs(jet_pt, jet_pt2)
        self.assertIs(met_pt, met_pt2)
        self._assert_contents(jet_pt, met_pt)
Exemplo n.º 15
0
    def test_getitem_start(self):
        tree = MockTree(entries=4)
        events = Events(tree, start=2)
        self.assertEqual(-1, events.iEvent)

        event = events[0]
        self.assertEqual(0, event.iEvent)
        self.assertEqual(2, tree.ievent)
        event = events[1]
        self.assertEqual(1, event.iEvent)
        self.assertEqual(3, tree.ievent)
        self.assertRaises(IndexError, events.__getitem__, 4)
        self.assertEqual(-1, events.iEvent)
Exemplo n.º 16
0
def test_getitem_start(Events):
    tree = MockTree(entries=4)
    events = Events(tree, start=2)
    assert -1 == events.iEvent

    event = events[0]
    assert 0 == event.iEvent
    assert 2 == tree.ievent
    event = events[1]
    assert 1 == event.iEvent
    assert 3 == tree.ievent
    with pytest.raises(IndexError):
        events[4]
    assert -1 == events.iEvent
Exemplo n.º 17
0
    def test_iter_iEvent_start(self):
        tree = MockTree(entries=4)
        events = Events(tree, start=2)
        self.assertEqual(-1, events.iEvent)

        it = iter(events)
        event = next(it)
        self.assertEqual(0, event.iEvent)
        self.assertEqual(2, tree.ievent)
        event = next(it)
        self.assertEqual(1, event.iEvent)
        self.assertEqual(3, tree.ievent)
        self.assertRaises(StopIteration, next, it)
        self.assertEqual(-1, event.iEvent)
Exemplo n.º 18
0
def test_iter_iEvent_start(Events):
    tree = MockTree(entries=4)
    events = Events(tree, start=2)
    assert -1 == events.iEvent

    it = iter(events)
    event = next(it)
    assert 0 == event.iEvent
    assert 2 == tree.ievent
    event = next(it)
    assert 1 == event.iEvent
    assert 3 == tree.ievent
    with pytest.raises(StopIteration):
        next(it)
    assert -1 == event.iEvent
Exemplo n.º 19
0
    def test_iter_maxEvents(self):
        tree = MockTree(entries=40)
        events = Events(tree, maxEvents=4)
        self.assertEqual(-1, events.iEvent)

        it = iter(events)
        event = next(it)
        self.assertEqual(0, event.iEvent)
        event = next(it)
        self.assertEqual(1, event.iEvent)
        event = next(it)
        self.assertEqual(2, event.iEvent)
        event = next(it)
        self.assertEqual(3, event.iEvent)
        self.assertRaises(StopIteration, next, it)
        self.assertEqual(-1, event.iEvent)
Exemplo n.º 20
0
def test_getattr_getentry():
    tree = MockTree()
    events = Events(tree, start=10)
    branchBuilder = MockBranchBuilder()
    events.buildBranch = branchBuilder

    assert -1 == events.iEvent
    assert -1 == tree.ievent
    assert not tree.getEntry_called
    branchBuilder.next = MockBranch()
    jet_pt = events.jet_pt
    assert not tree.getEntry_called

    it = iter(events)
    event = next(it)
    tree.getEntry_called = False
    assert 0 == events.iEvent
    assert 10 == tree.ievent
    assert not tree.getEntry_called
    jet_pt = event.jet_pt
    assert not tree.getEntry_called

    tree.getEntry_called = False
    met_pt = event.met_pt
    assert tree.getEntry_called
    assert 0 == events.iEvent
    assert 10 == tree.ievent

    event = next(it)
    tree.getEntry_called = False
    assert 1 == events.iEvent
    assert 11 == tree.ievent
    assert not tree.getEntry_called
    jet_pt = event.jet_pt
    assert not tree.getEntry_called

    tree.getEntry_called = False
    met_pt = event.met_pt
    assert not tree.getEntry_called
    assert 1 == events.iEvent
    assert 11 == tree.ievent

    tree.getEntry_called = False
    njets = event.njets
    assert tree.getEntry_called
    assert 1 == events.iEvent
    assert 11 == tree.ievent
Exemplo n.º 21
0
def test_iter_maxEvents(Events):
    tree = MockTree(entries=40)
    events = Events(tree, maxEvents=4)
    assert -1 == events.iEvent

    it = iter(events)
    event = next(it)
    assert 0 == event.iEvent
    event = next(it)
    assert 1 == event.iEvent
    event = next(it)
    assert 2 == event.iEvent
    event = next(it)
    assert 3 == event.iEvent
    with pytest.raises(StopIteration):
        next(it)
    assert -1 == event.iEvent
Exemplo n.º 22
0
    def test_vector(self):
        inputFile = 'sample_02.root'
        treeName = 'tree'
        inputPath = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                                 inputFile)

        inputFile = ROOT.TFile.Open(inputPath)
        tree = inputFile.Get(treeName)
        events = Events(tree)

        trigger_path = events.trigger_path
        trigger_decision = events.trigger_decision

        self.assertGreater(tree.GetEntry(0), 0)
        self.assertEqual(449, len(trigger_path))
        self.assertEqual('AlCa_EcalEtaEBonly', trigger_path[0])
        self.assertEqual('DST_Physics', trigger_path[12])
        self.assertEqual('HLT_SingleForJet25', trigger_path[438])
        self.assertEqual(449, len(trigger_decision))
        self.assertEqual(0, trigger_decision[0])
        self.assertEqual(0, trigger_decision[13])
        self.assertEqual(0, trigger_decision[438])

        self.assertGreater(tree.GetEntry(1), 0)
        self.assertEqual(438, len(trigger_path))
        self.assertEqual('AlCa_EcalEtaEBonly', trigger_path[0])
        self.assertEqual('DST_Ele8_CaloIdL_CaloIsoVL_TrkIdVL_TrkIsoVL_HT250',
                         trigger_path[12])
        self.assertRaises(IndexError, trigger_path.__getitem__, 438)
        self.assertEqual(438, len(trigger_decision))
        self.assertEqual(0, trigger_decision[0])
        self.assertEqual(1, trigger_decision[13])
        self.assertRaises(IndexError, trigger_decision.__getitem__, 438)

        # This sample file has only two entries. When the 3rd entry is
        # tried to be accessed, GetEntry(2) returns 0, but the vectors
        # won't be cleared. These have the previous contents.
        self.assertEqual(tree.GetEntry(2), 0)
        self.assertEqual(438, len(trigger_path))
        self.assertEqual(438, len(trigger_decision))
Exemplo n.º 23
0
def test_nEvents(Events, maxEvents, expected):
    tree = MockTree(entries=100)
    events = Events(tree, maxEvents)
    assert expected == events.nEvents
    assert expected == len(events)
Exemplo n.º 24
0
def test_repr():
    tree = MockTree()
    events = Events(tree)
    repr(events)
Exemplo n.º 25
0
def test_nEvents_start_raise(Events):
    tree = MockTree(entries=100)
    with pytest.raises(ValueError):
        Events(tree, maxEvents=-1, start=-10)
Exemplo n.º 26
0
def events(tree):
    yield Events(tree)
Exemplo n.º 27
0
def test_nEvents_default(Events):
    tree = MockTree(entries=100)
    events = Events(tree)
    assert 100 == events.nEvents  # default the same as entries
    assert 100 == len(events)
Exemplo n.º 28
0
def test_init(Events):
    tree = MockTree()
    events = Events(tree)
    events = Events(tree, 100)
    assert tree is events.tree
Exemplo n.º 29
0
def test_init_branch_status():
    tree = MockTree()
    assert [] == tree.branchstatus
    events = Events(tree)
    events.buildBranch = MockBranchBuilder()
    assert [('*', 0)] == tree.branchstatus
Exemplo n.º 30
0
def test_nEvents_start(Events, maxEvents, start, expected):
    tree = MockTree(entries=100)
    events = Events(tree, maxEvents=maxEvents, start=start)
    assert expected == events.nEvents
    assert expected == len(events)