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")
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")
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)
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)
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)
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")
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)
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)
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")
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)
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")
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)
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")
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")
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)
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")