Crombie Tools
FlatSkimmer.py
Go to the documentation of this file.
1 """ @package CrombieTools.SkimmingTools.FlatSkimmer
2 
3 Submodule of CrombieTools.SkimmingTools
4 Contains the constructor and default object for FlatSkimmer.
5 Also contains the constructor for and a function to return a filled GoodLumiFilter.
6 
7 @author Daniel Abercrombie <dabercro@mit.edu>
8 """
9 
10 
11 import json
12 from .. import Load
13 
14 
15 newFlatSkimmer = Load('FlatSkimmer')
16 """FlatSkimmer constructor"""
17 flatSkimmer = newFlatSkimmer()
18 """Default FlatSkimmer object"""
19 
20 newGoodLumiFilter = Load('GoodLumiFilter')
21 """GoodLumiFilter constructor"""
22 
23 
24 def MakeFilter(jsonFileName):
25  """Create a filled GoodLumiFilter
26 
27  @param jsonFileName is the name of the good runs JSON to use.
28  @returns a GoodLumiFilter object that is filled with that JSON file.
29  """
30  aFilter = newGoodLumiFilter()
31  if jsonFileName != '':
32  jsonFile = open(jsonFileName, 'r')
33  data = json.load(jsonFile)
34  jsonFile.close()
35 
36  for run, lumisecs in data.items():
37  for lumisec in lumisecs:
38  for lumi in range(lumisec[0], lumisec[1]+1):
39  aFilter.AddLumi(int(run), lumi)
40 
41  return aFilter