Crombie Tools
LimitTreeMaker.py
Go to the documentation of this file.
1 """
2 @todo Clean up the LimitTreeMaker python file to not depend on these extra variables in cuts.py
3 """
4 
5 import os
6 from .. import Load, DirFromEnv
7 
8 newLimitTreeMaker = Load('LimitTreeMaker')
9 
10 
11 def SetupFromEnv(ltm):
12  """A function that sets up the LimitTreeMaker after sourcing a config file
13 
14  @param ltm The LimitTreeMaker object to set up
15  """
16  from ..CommonTools.FileConfigReader import SetupConfigFromEnv, SetFunctionFromEnv, LoadConfig
17 
19 
20  DirFromEnv('CrombieOutLimitTreeDir')
22  (ltm.SetOutDirectory, 'CrombieOutLimitTreeDir'),
23  ])
24 
25  for region in LoadConfig.cuts.regions:
26  if os.environ.get('CrombieExcept_' + region):
27  ltm.ReadExceptionConfig(os.environ['CrombieExcept_' + region], region)
28 
29 
30 def SetCuts(ltm, category):
31  from .. import LoadConfig
32  cuts = LoadConfig.cuts
33  for region in cuts.regions:
34  ltm.AddRegion(region,cuts.cut(category, region))
35  if region in cuts.additionKeys:
36  ltm.AddExceptionDataCut(region, cuts.additions[region][0])
37  ltm.AddExceptionWeightBranch(region, cuts.additions[region][1])