예제 #1
0
    def test_get_matching_cuts_path_with_asterisk(self):
        """
        Test getMatchingCuts when supplied with a cut path with an asterisk.
        """
        # beginning
        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "*/CutPreselectionSR")
        self.assertEqual(cuts.GetEntries(), 1)
        self.assertEqual(cuts.At(0).GetName(), "CutPreselectionSR")

        # mid
        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutTrigger/*/CutPreselectionSR")
        self.assertEqual(cuts.GetEntries(), 1)
        self.assertEqual(cuts.At(0).GetName(), "CutPreselectionSR")

        # end
        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutTrigger/CutOS/CutBVeto/*")
        self.assertEqual(cuts.GetEntries(), 4)
        self.assertEqual(cuts.At(0).GetName(), "CutBVeto")
        self.assertEqual(cuts.At(1).GetName(), "CutPreselectionSR")
        self.assertEqual(cuts.At(2).GetName(), "CutVbfSR")
        self.assertEqual(cuts.At(3).GetName(), "CutBoostedSR")
예제 #2
0
    def test_get_matching_cuts_path_with_question_mark(self):
        """
        Test getMatchingCuts when supplied with a cut path with a question
        mark.
        """
        # beginning
        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "?/CutOS")
        self.assertEqual(cuts.GetEntries(), 1)
        self.assertEqual(cuts.At(0).GetName(), "CutOS")

        # mid
        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutTrigger/CutOS/?/CutPreselectionSR")
        self.assertEqual(cuts.GetEntries(), 1)
        self.assertEqual(cuts.At(0).GetName(), "CutPreselectionSR")

        # end
        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutTrigger/CutOS/?")
        self.assertEqual(cuts.GetEntries(), 2)
        self.assertEqual(cuts.At(0).GetName(), "CutBVeto")
        self.assertEqual(cuts.At(1).GetName(), "CutBReq")
예제 #3
0
 def test_get_matching_cuts_two_astersik(self):
     """
     Test getMatchingCuts when supplied with a two asterisks.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(cuts, "*/*")
     self.assertEqual(cuts.GetEntries(), 11)
예제 #4
0
 def test_get_matching_cuts_question_mark_only(self):
     """
     Test getMatchingCuts when supplied with a single question mark.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(cuts, "?")
     self.assertEqual(cuts.GetEntries(), 11)
예제 #5
0
 def test_get_matching_cuts_single_name_non_existing(self):
     """
     Test getMatchingCuts when supplied with a single (non-existing) cut name.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(cuts, "CutNonExisting")
     self.assertEqual(cuts.GetEntries(), 0)
예제 #6
0
    def test_get_matching_cuts_path_non_base(self):
        """
        Test getMatchingCuts when supplied with a cut path not starting at the
        base cut.
        """
        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutPreselection*/*SR")
        self.assertEqual(cuts.GetEntries(), 2)
        self.assertEqual(cuts.At(0).GetName(), "CutVbfSR")
        self.assertEqual(cuts.At(1).GetName(), "CutBoostedSR")

        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutPreselectionSR/CutVbf?R")
        self.assertEqual(cuts.GetEntries(), 1)
        self.assertEqual(cuts.At(0).GetName(), "CutVbfSR")

        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutOS/?")
        self.assertEqual(cuts.GetEntries(), 2)
        self.assertEqual(cuts.At(0).GetName(), "CutBVeto")
        self.assertEqual(cuts.At(1).GetName(), "CutBReq")

        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutOS/*")
        self.assertEqual(cuts.GetEntries(), 9)
        self.assertEqual(cuts.At(0).GetName(), "CutOS")
        self.assertEqual(cuts.At(1).GetName(), "CutBVeto")
        self.assertEqual(cuts.At(2).GetName(), "CutPreselectionSR")
        self.assertEqual(cuts.At(3).GetName(), "CutVbfSR")
        self.assertEqual(cuts.At(4).GetName(), "CutBoostedSR")
        self.assertEqual(cuts.At(5).GetName(), "CutBReq")
        self.assertEqual(cuts.At(6).GetName(), "CutPreselectionTopCR")
        self.assertEqual(cuts.At(7).GetName(), "CutVbfTopCR")
        self.assertEqual(cuts.At(8).GetName(), "CutBoostedTopCR")

        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutOS/Cut*")
        self.assertEqual(cuts.GetEntries(), 2)
        self.assertEqual(cuts.At(0).GetName(), "CutBVeto")
        self.assertEqual(cuts.At(1).GetName(), "CutBReq")
예제 #7
0
 def test_get_matching_cuts_two_question_mark(self):
     """
     Test getMatchingCuts when supplied with two question marks.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(cuts, "?/?")
     # matches all except CutBase
     self.assertEqual(cuts.GetEntries(), 10)
예제 #8
0
 def test_get_matching_cuts_question_mark_asterisk(self):
     """
     Test getMatchingCuts when supplied with a question mark and an
     asterisk.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(cuts, "?/*")
     self.assertEqual(cuts.GetEntries(), 11)
예제 #9
0
 def test_get_matching_cuts_path_with_two_trailing_asterisk(self):
     """
     Test getMatchingCuts when supplied with a cut path with two trailing asterisk.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(cuts, "CutVbfTopCR/*/*")
     self.assertEqual(cuts.GetEntries(), 1)
     self.assertEqual(cuts.At(0).GetName(), "CutVbfTopCR")
예제 #10
0
 def test_get_matching_cuts_path_non_wildcards_non_existing(self):
     """
     Test getMatchingCuts when supplied with a cut path (non-existing).
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(
         cuts, "CutTrigger/CutNonExisting/CutOS/CutBVeto/CutPreselectionSR")
     self.assertEqual(cuts.GetEntries(), 0)
예제 #11
0
 def test_get_matching_cuts_single_name(self):
     """
     Test getMatchingCuts when supplied with a single (existing) cut name.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(cuts, "CutTrigger")
     self.assertEqual(cuts.GetEntries(), 1)
     self.assertEqual(cuts.At(0).GetName(), "CutTrigger")
예제 #12
0
 def test_get_matching_cuts_path_with_asterisk_non_existing(self):
     """
     Test getMatchingCuts when supplied with a cut path with an asterisk,
     which does not match any cut.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(
         cuts, "CutTrigger/CutNonExisting/*/CutBVeto/CutPreselectionSR")
     self.assertEqual(cuts.GetEntries(), 0)
예제 #13
0
 def test_get_matching_cuts_path_with_optional_asterisk(self):
     """
     Test getMatchingCuts when supplied with a cut path containing an
     optional asterisk
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(cuts, "CutPreselectionSR/*/CutVbfSR")
     self.assertEqual(cuts.GetEntries(), 1)
     self.assertEqual(cuts.At(0).GetName(), "CutVbfSR")
예제 #14
0
 def test_get_matching_cuts_path_non_wildcards(self):
     """
     Test getMatchingCuts when supplied with a cut path.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(cuts,
                          "CutTrigger/CutOS/CutBVeto/CutPreselectionSR")
     self.assertEqual(cuts.GetEntries(), 1)
     self.assertEqual(cuts.At(0).GetName(), "CutPreselectionSR")
예제 #15
0
 def test_get_matching_cuts_path_with_asterisk_inner_name_non_existing(
         self):
     """
     Test getMatchingCuts when supplied with a cut path with an asterisk in
     a cut name, which does not match any cut.
     """
     base = self.get_cut_hierarchy()
     cuts = TObjArray()
     base.getMatchingCuts(
         cuts, "CutTrigger/CutNonExisting/CutOS/CutB*/CutNonExisting")
     self.assertEqual(cuts.GetEntries(), 0)
예제 #16
0
    def test_get_matching_cuts_path_with_asterisk_inner_name(self):
        """
        Test getMatchingCuts when supplied with a cut path with an asterisk in
        a cut name.
        """
        # mid
        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutTrigger/CutOS/CutB*/CutPreselection*R")
        self.assertEqual(cuts.GetEntries(), 2)
        self.assertEqual(cuts.At(0).GetName(), "CutPreselectionSR")
        self.assertEqual(cuts.At(1).GetName(), "CutPreselectionTopCR")

        # end
        base = self.get_cut_hierarchy()
        cuts = TObjArray()
        base.getMatchingCuts(cuts, "CutTrigger/CutOS/CutB*")
        self.assertEqual(cuts.GetEntries(), 2)
        self.assertEqual(cuts.At(0).GetName(), "CutBVeto")
        self.assertEqual(cuts.At(1).GetName(), "CutBReq")