ATLAS Offline Software
Loading...
Searching...
No Matches
EventSelectionConfigMetMwt_unitTest.py
Go to the documentation of this file.
1#!/usr/bin/env python
2# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3"""Unit tests for MET, MWT and MET+MWT selectors."""
4
5import unittest
6from EventSelectionAlgorithms.EventSelectionConfigTestSupport import run, named, prop
7
8
9class TestMET(unittest.TestCase):
10 def test_met(self):
11 algs = named(run("MET > 30000", containers={"met": "AnaMET"}, metTerm="Final"), "MET")
12 self.assertEqual(len(algs), 1)
13 self.assertEqual(algs[0].getType(), "CP::MissingETSelectorAlg")
14 self.assertEqual(prop(algs[0], "sign"), "GT")
15 self.assertEqual(prop(algs[0], "refMET"), 30000.0)
16 self.assertEqual(prop(algs[0], "metTerm"), "Final")
17
19 algs = named(run("MET >= 50000", containers={"met": "AnaMET"}, metTerm="NonInt"), "MET")
20 self.assertEqual(prop(algs[0], "metTerm"), "NonInt")
21
23 self.assertRaises(ValueError, run, "MET > 30000")
24
26 self.assertRaises(ValueError, run, "MET > 30000 50000", containers={"met": "AnaMET"})
27
28
29class TestMWT(unittest.TestCase):
30 def test_mwt(self):
31 algs = named(run("MWT > 50000",
32 containers={"met": "AnaMET", "electrons": "AnaElectrons", "muons": "AnaMuons"}), "MWT")
33 self.assertEqual(algs[0].getType(), "CP::TransverseMassSelectorAlg")
34 self.assertEqual(prop(algs[0], "sign"), "GT")
35 self.assertEqual(prop(algs[0], "refMWT"), 50000.0)
36
38 self.assertRaises(ValueError, run, "MWT > 50000", containers={"met": "AnaMET"})
39
40
41class TestMETMWT(unittest.TestCase):
42 def test_metmwt(self):
43 algs = named(run("MET+MWT > 60000",
44 containers={"met": "AnaMET", "electrons": "AnaElectrons", "muons": "AnaMuons"}), "METMWT")
45 self.assertEqual(algs[0].getType(), "CP::MissingETPlusTransverseMassSelectorAlg")
46 self.assertEqual(prop(algs[0], "sign"), "GT")
47 self.assertEqual(prop(algs[0], "refMETMWT"), 60000.0)
48
50 self.assertRaises(ValueError, run, "MET+MWT > 60000", containers={"electrons": "AnaElectrons"})
51
53 self.assertRaises(ValueError, run, "MET+MWT > 60000", containers={"met": "AnaMET"})
54
55
56if __name__ == "__main__":
57 unittest.main()
int run(int argc, char *argv[])