def testFilter(self): """ Test filtering of a set(run) object """ mask = Mask() mask.addRunWithLumiRanges(run=1, lumiList=[[1, 9], [12, 12], [31, 31], [38, 39], [49, 49]]) runs = set() runs.add(Run(1, 148, 166, 185, 195, 203, 212)) newRuns = mask.filterRunLumisByMask(runs = runs) self.assertEqual(len(newRuns), 0) runs = set() runs.add(Run(1, 2, 148, 166, 185, 195, 203, 212)) runs.add(Run(2, 148, 166, 185, 195, 203, 212)) newRuns = mask.filterRunLumisByMask(runs = runs) self.assertEqual(len(newRuns), 1) runs = set() runs.add(Run(1, 2, 148, 166, 185, 195, 203, 212)) newRuns = mask.filterRunLumisByMask(runs = runs) self.assertEqual(len(newRuns), 1) run = newRuns.pop() self.assertEqual(run.run, 1) self.assertEqual(run.lumis, [2])
def testFilter(self): """ Test filtering of a set(run) object """ mask = Mask() mask.addRunWithLumiRanges(run=1, lumiList=[[1, 9], [12, 12], [31, 31], [38, 39], [49, 49]]) runs = set() runs.add(Run(1, 148, 166, 185, 195, 203, 212)) newRuns = mask.filterRunLumisByMask(runs=runs) self.assertEqual(len(newRuns), 0) runs = set() runs.add(Run(1, 2, 148, 166, 185, 195, 203, 212)) runs.add(Run(2, 148, 166, 185, 195, 203, 212)) newRuns = mask.filterRunLumisByMask(runs=runs) self.assertEqual(len(newRuns), 1) runs = set() runs.add(Run(1, 2, 9, 148, 166, 185, 195, 203, 212)) newRuns = mask.filterRunLumisByMask(runs=runs) self.assertEqual(len(newRuns), 1) run = newRuns.pop() self.assertEqual(run.run, 1) self.assertEqual(run.lumis, [2, 9])
def testCreateFilesetFromDBS(self): """Test creating an analysis fileset from DBS""" rangesMask = Mask() rangesMask.addRunWithLumiRanges(run=1, lumiList=[[1, 9], [12, 12], [31, 31], [38, 39], [49, 49], [51, 52], [64, 65], [82, 82], [92, 98]]) fs, fl = self.acService.createFilesetFromDBS(self.collection, filesetName='test_fs', dbsURL=self.dbsURL, dataset=self.dataset, mask=rangesMask) self.assertTrue(fl['_id']) self.assertEqual(len(fl['files']), 21)
def testFilterRealCase(self): """ Test filtering of a set(run) object based on real cases from production """ mask = Mask() mask.addRunWithLumiRanges(run=1, lumiList=[[9, 9], [8, 8], [3, 4], [7, 7]]) mask.setMaxAndSkipLumis(0, 7) mask.setMaxAndSkipRuns(0, 1) runs = set() runs.add(Run(1, *[(9, 500), (10, 500)])) runs.add(Run(1, *[(3, 500), (4, 500)])) runs.add(Run(1, *[(7, 500), (8, 500)])) newRuns = mask.filterRunLumisByMask(runs=runs) self.assertEqual(len(newRuns), 1) run = newRuns.pop() self.assertEqual(run.run, 1) self.assertEqual(run.lumis, [3, 4, 7, 8, 9])
def testFilterRealCase(self): """ Test filtering of a set(run) object based on real cases from production """ mask = Mask() mask.addRunWithLumiRanges(run=1, lumiList=[[9, 9], [8, 8], [3, 4], [7, 7]]) mask.setMaxAndSkipLumis(0, 7) mask.setMaxAndSkipRuns(0, 1) runs = set() runs.add(Run(1, *[(9, 500), (10, 500)])) runs.add(Run(1, *[(3, 500), (4, 500)])) runs.add(Run(1, *[(7, 500), (8, 500)])) newRuns = mask.filterRunLumisByMask(runs=runs) self.assertEqual(len(newRuns), 1) run = newRuns.pop() self.assertEqual(run.run, 1) self.assertEqual(run.lumis, [3, 4, 7, 8, 9])
def testCreateFilesetFromDBS(self): """Test creating an analysis fileset from DBS""" rangesMask = Mask() rangesMask.addRunWithLumiRanges(run=1, lumiList=[[1, 9], [12, 12], [31, 31], [38, 39], [49, 49], [51, 52], [64, 65], [82, 82], [92, 98]]) fs, fl = self.acService.createFilesetFromDBS(self.collection, filesetName='test_fs', dbsURL=self.dbsURL, dataset=self.dataset, mask=rangesMask) self.assertTrue(fl['_id']) self.assertEqual(len(fl['files']), 21) for file in fl['files']: self.assertTrue(fl['files'][file]['merged'])
def testRunsAndLumis(self): """ Test several different ways of creating the same list of runs and lumis """ runMask = Mask() rangesMask = Mask() runAndLumisMask = Mask() runMask.addRun(Run(100,1,2,3,4,5,6,8,9,10)) runMask.addRun(Run(200,6,7,8)) runMask.addRun(Run(300,12)) rangesMask.addRunWithLumiRanges(run=100, lumiList=[[1, 6], [8, 10]]) rangesMask.addRunWithLumiRanges(run=200, lumiList=[[6, 8]]) rangesMask.addRunWithLumiRanges(run=300, lumiList=[[12, 12]]) runAndLumisMask.addRunAndLumis(run=100, lumis=[1, 6]) runAndLumisMask.addRunAndLumis(run=100, lumis=[8, 10]) runAndLumisMask.addRunAndLumis(run=200, lumis=[6, 8]) runAndLumisMask.addRunAndLumis(run=300, lumis=[12, 12]) self.assertEqual(runMask.getRunAndLumis(), rangesMask.getRunAndLumis()) # Note, this may break if the TODO in Mask.addRunAndLumis() is addressed self.assertEqual(runMask.getRunAndLumis(), runAndLumisMask.getRunAndLumis())
def testRunsAndLumis(self): """ Test several different ways of creating the same list of runs and lumis """ runMask = Mask() rangesMask = Mask() runAndLumisMask = Mask() runMask.addRun(Run(100, 1, 2, 3, 4, 5, 6, 8, 9, 10)) runMask.addRun(Run(200, 6, 7, 8)) runMask.addRun(Run(300, 12)) rangesMask.addRunWithLumiRanges(run=100, lumiList=[[1, 6], [8, 10]]) rangesMask.addRunWithLumiRanges(run=200, lumiList=[[6, 8]]) rangesMask.addRunWithLumiRanges(run=300, lumiList=[[12, 12]]) runAndLumisMask.addRunAndLumis(run=100, lumis=[1, 6]) runAndLumisMask.addRunAndLumis(run=100, lumis=[8, 10]) runAndLumisMask.addRunAndLumis(run=200, lumis=[6, 8]) runAndLumisMask.addRunAndLumis(run=300, lumis=[12, 12]) self.assertEqual(runMask.getRunAndLumis(), rangesMask.getRunAndLumis()) # Note, this may break if the TODO in Mask.addRunAndLumis() is addressed self.assertEqual(runMask.getRunAndLumis(), runAndLumisMask.getRunAndLumis())